liquid_feedback_frontend
annotate app/main/initiative/remove_initiator.lua @ 161:ff6162022615
add more suggestion api fields
fixes bug #325
fixes bug #325
| author | Daniel Poelzleithner <poelzi@poelzi.org> | 
|---|---|
| date | Sat Oct 09 14:29:19 2010 +0200 (2010-10-09) | 
| parents | 72c5e0ee7c98 | 
| children | 701a5cf6b067 | 
| rev | line source | 
|---|---|
| bsw@10 | 1 local initiative = Initiative:by_id(param.get("initiative_id")) | 
| bsw@10 | 2 | 
| bsw@10 | 3 local initiator = Initiator:by_pk(initiative.id, app.session.member.id) | 
| bsw@10 | 4 if not initiator or initiator.accepted ~= true then | 
| bsw@10 | 5 error("access denied") | 
| bsw@10 | 6 end | 
| bsw@10 | 7 | 
| bsw@10 | 8 slot.put_into("title", _"Remove initiator from initiative") | 
| bsw@10 | 9 | 
| bsw@10 | 10 slot.select("actions", function() | 
| bsw@10 | 11 ui.link{ | 
| bsw@10 | 12 content = function() | 
| bsw@10 | 13 ui.image{ static = "icons/16/cancel.png" } | 
| bsw@10 | 14 slot.put(_"Cancel") | 
| bsw@10 | 15 end, | 
| bsw@10 | 16 module = "initiative", | 
| bsw@10 | 17 view = "show", | 
| bsw@10 | 18 id = initiative.id, | 
| bsw@10 | 19 params = { | 
| bsw@10 | 20 tab = "initiators" | 
| bsw@10 | 21 } | 
| bsw@10 | 22 } | 
| bsw@10 | 23 end) | 
| bsw@10 | 24 | 
| bsw@10 | 25 util.help("initiative.remove_initiator", _"Remove initiator from initiative") | 
| bsw@10 | 26 | 
| bsw@10 | 27 ui.form{ | 
| bsw@10 | 28 attr = { class = "vertical" }, | 
| bsw@10 | 29 module = "initiative", | 
| bsw@10 | 30 action = "remove_initiator", | 
| bsw@10 | 31 params = { | 
| bsw@10 | 32 initiative_id = initiative.id, | 
| bsw@10 | 33 }, | 
| bsw@10 | 34 routing = { | 
| bsw@10 | 35 ok = { | 
| bsw@10 | 36 mode = "redirect", | 
| bsw@10 | 37 module = "initiative", | 
| bsw@10 | 38 view = "show", | 
| bsw@10 | 39 id = initiative.id, | 
| bsw@10 | 40 params = { | 
| bsw@10 | 41 tab = "initiators", | 
| bsw@10 | 42 } | 
| bsw@10 | 43 } | 
| bsw@10 | 44 }, | 
| bsw@10 | 45 content = function() | 
| bsw@10 | 46 local records = { | 
| bsw@10 | 47 { | 
| bsw@10 | 48 id = "-1", | 
| bsw@10 | 49 name = _"Choose initiator" | 
| bsw@10 | 50 } | 
| bsw@10 | 51 } | 
| bsw@10 | 52 local members = initiative:get_reference_selector("initiating_members"):add_where("accepted OR accepted ISNULL"):exec() | 
| bsw@10 | 53 for i, record in ipairs(members) do | 
| bsw@10 | 54 records[#records+1] = record | 
| bsw@10 | 55 end | 
| bsw@10 | 56 ui.field.select{ | 
| bsw@10 | 57 label = _"Member", | 
| bsw@10 | 58 name = "member_id", | 
| bsw@10 | 59 foreign_records = records, | 
| bsw@10 | 60 foreign_id = "id", | 
| bsw@10 | 61 foreign_name = "name" | 
| bsw@10 | 62 } | 
| bsw@10 | 63 ui.submit{ text = _"Save" } | 
| bsw@10 | 64 end | 
| bsw@10 | 65 } |