liquid_feedback_frontend
annotate app/main/initiative/_action/create.lua @ 4:80c215dbf076
Version alpha5
Many optical changes and improved usability
Support for different wiki-formatting-engines
Help system
Many optical changes and improved usability
Support for different wiki-formatting-engines
Help system
author | bsw/jbe |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 768faea1096d |
children | afd9f769c7ae |
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@3 | 26 |
bsw@3 | 27 param.update(initiative, "name", "discussion_url") |
bsw/jbe@0 | 28 initiative:save() |
bsw/jbe@0 | 29 |
bsw/jbe@0 | 30 local draft = Draft:new() |
bsw/jbe@0 | 31 draft.initiative_id = initiative.id |
bsw/jbe@4 | 32 local formatting_engine = param.get("formatting_engine") |
bsw/jbe@4 | 33 local formatting_engine_valid = false |
bsw/jbe@4 | 34 for fe, dummy in pairs(config.formatting_engine_executeables) do |
bsw/jbe@4 | 35 if formatting_engine == fe then |
bsw/jbe@4 | 36 formatting_engine_valid = true |
bsw/jbe@4 | 37 end |
bsw/jbe@4 | 38 end |
bsw/jbe@4 | 39 if not formatting_engine_valid then |
bsw/jbe@4 | 40 error("invalid formatting engine!") |
bsw/jbe@4 | 41 end |
bsw/jbe@4 | 42 draft.formatting_engine = formatting_engine |
bsw/jbe@0 | 43 draft.content = param.get("draft") |
bsw/jbe@0 | 44 draft.author_id = app.session.member.id |
bsw/jbe@0 | 45 draft:save() |
bsw/jbe@0 | 46 |
bsw/jbe@0 | 47 local initiator = Initiator:new() |
bsw/jbe@0 | 48 initiator.initiative_id = initiative.id |
bsw/jbe@0 | 49 initiator.member_id = app.session.member.id |
bsw/jbe@0 | 50 initiator:save() |
bsw/jbe@0 | 51 |
bsw/jbe@0 | 52 local supporter = Supporter:new() |
bsw/jbe@0 | 53 supporter.initiative_id = initiative.id |
bsw/jbe@0 | 54 supporter.member_id = app.session.member.id |
bsw/jbe@0 | 55 supporter.draft_id = draft.id |
bsw/jbe@0 | 56 supporter:save() |
bsw/jbe@0 | 57 |
bsw/jbe@0 | 58 db:query("COMMIT") |
bsw/jbe@0 | 59 |
bsw/jbe@0 | 60 slot.put_into("notice", _"Initiative successfully created") |
bsw/jbe@0 | 61 |
bsw/jbe@0 | 62 request.redirect{ |
bsw/jbe@0 | 63 module = "initiative", |
bsw/jbe@0 | 64 view = "show", |
bsw/jbe@0 | 65 id = initiative.id |
bsw/jbe@0 | 66 } |