liquid_feedback_frontend
annotate app/main/initiative/_action/create.lua @ 2:5c601807d397
Version alpha3
Dark green part of issue supporter bargraph represents all satisfied supporters, regardless of having seen the latest draft
Wiki formatting for drafts
Showing differences between two drafts of the same initiative
Display of outgoing delegation chains
Many other improvements
Dark green part of issue supporter bargraph represents all satisfied supporters, regardless of having seen the latest draft
Wiki formatting for drafts
Showing differences between two drafts of the same initiative
Display of outgoing delegation chains
Many other improvements
author | bsw |
---|---|
date | Mon Nov 23 12:00:00 2009 +0100 (2009-11-23) |
parents | 3bfb2fcf7ab9 |
children | 768faea1096d |
rev | line source |
---|---|
bsw/jbe@0 | 1 local issue |
bsw/jbe@0 | 2 local area |
bsw/jbe@0 | 3 |
bsw/jbe@0 | 4 db:query("BEGIN") |
bsw/jbe@0 | 5 |
bsw/jbe@0 | 6 local issue_id = param.get("issue_id", atom.integer) |
bsw/jbe@0 | 7 if issue_id then |
bsw/jbe@0 | 8 issue = Issue:new_selector():add_where{"id=?",issue_id}:single_object_mode():exec() |
bsw/jbe@0 | 9 area = issue.area |
bsw/jbe@0 | 10 |
bsw/jbe@0 | 11 else |
bsw/jbe@0 | 12 local area_id = param.get("area_id", atom.integer) |
bsw/jbe@0 | 13 area = Area:new_selector():add_where{"id=?",area_id}:single_object_mode():exec() |
bsw/jbe@0 | 14 end |
bsw/jbe@0 | 15 |
bsw/jbe@0 | 16 local initiative = Initiative:new() |
bsw/jbe@0 | 17 |
bsw/jbe@0 | 18 if not issue then |
bsw/jbe@0 | 19 issue = Issue:new() |
bsw/jbe@0 | 20 issue.area_id = area.id |
bsw/jbe@0 | 21 issue.policy_id = param.get("policy_id", atom.integer) |
bsw/jbe@0 | 22 issue:save() |
bsw/jbe@0 | 23 end |
bsw/jbe@0 | 24 |
bsw/jbe@0 | 25 initiative.issue_id = issue.id |
bsw/jbe@0 | 26 param.update(initiative, "name") |
bsw/jbe@0 | 27 initiative:save() |
bsw/jbe@0 | 28 |
bsw/jbe@0 | 29 local draft = Draft:new() |
bsw/jbe@0 | 30 draft.initiative_id = initiative.id |
bsw/jbe@0 | 31 draft.content = param.get("draft") |
bsw/jbe@0 | 32 draft.author_id = app.session.member.id |
bsw/jbe@0 | 33 draft:save() |
bsw/jbe@0 | 34 |
bsw/jbe@0 | 35 local initiator = Initiator:new() |
bsw/jbe@0 | 36 initiator.initiative_id = initiative.id |
bsw/jbe@0 | 37 initiator.member_id = app.session.member.id |
bsw/jbe@0 | 38 initiator:save() |
bsw/jbe@0 | 39 |
bsw/jbe@0 | 40 local supporter = Supporter:new() |
bsw/jbe@0 | 41 supporter.initiative_id = initiative.id |
bsw/jbe@0 | 42 supporter.member_id = app.session.member.id |
bsw/jbe@0 | 43 supporter.draft_id = draft.id |
bsw/jbe@0 | 44 supporter:save() |
bsw/jbe@0 | 45 |
bsw/jbe@0 | 46 db:query("COMMIT") |
bsw/jbe@0 | 47 |
bsw/jbe@0 | 48 slot.put_into("notice", _"Initiative successfully created") |
bsw/jbe@0 | 49 |
bsw/jbe@0 | 50 request.redirect{ |
bsw/jbe@0 | 51 module = "initiative", |
bsw/jbe@0 | 52 view = "show", |
bsw/jbe@0 | 53 id = initiative.id |
bsw/jbe@0 | 54 } |