liquid_feedback_frontend
annotate app/main/delegation/new.lua @ 210:2c422bcb79de
Added tag beta31 for changeset bfd8d88f72fc
- Added support to lock inactive member
- Added esperanto translations for new phrases
- Improved and corrected some esperanto phrases
- Display delegation warnings only for open issues
- Refactored code: admin, area, contact and delegation module
- Translated admin menu
- Added policy editor to admin area
- Save and display last login date
- Small fixes
- Added support to lock inactive member
- Added esperanto translations for new phrases
- Improved and corrected some esperanto phrases
- Display delegation warnings only for open issues
- Refactored code: admin, area, contact and delegation module
- Translated admin menu
- Added policy editor to admin area
- Save and display last login date
- Small fixes
author | bsw |
---|---|
date | Sat Feb 05 20:01:09 2011 +0100 (2011-02-05) |
parents | e60a26bf535b |
children | e3613831cd1e |
rev | line source |
---|---|
bsw/jbe@0 | 1 local area = Area:by_id(param.get("area_id", atom.integer)) |
bsw/jbe@0 | 2 if area then |
bsw/jbe@0 | 3 slot.put_into("title", encode.html(_"Set delegation for Area '#{name}'":gsub("#{name}", area.name))) |
bsw/jbe@4 | 4 util.help("delegation.new.area") |
bsw/jbe@0 | 5 end |
bsw/jbe@0 | 6 |
bsw/jbe@0 | 7 local issue = Issue:by_id(param.get("issue_id", atom.integer)) |
bsw/jbe@0 | 8 if issue then |
bsw/jbe@0 | 9 slot.put_into("title", encode.html(_"Set delegation for Issue ##{number} in Area '#{area_name}'":gsub("#{number}", issue.id):gsub("#{area_name}", issue.area.name))) |
bsw/jbe@4 | 10 util.help("delegation.new.issue") |
bsw/jbe@0 | 11 end |
bsw/jbe@0 | 12 |
poelzi@111 | 13 local initiative = Initiative:by_id(param.get("initiative_id", atom.integer)) |
poelzi@111 | 14 |
bsw/jbe@4 | 15 if not area and not issue then |
bsw/jbe@4 | 16 slot.put_into("title", encode.html(_"Set global delegation")) |
bsw/jbe@4 | 17 util.help("delegation.new.global") |
bsw/jbe@4 | 18 end |
bsw/jbe@4 | 19 |
bsw/jbe@4 | 20 slot.select("actions", function() |
bsw/jbe@4 | 21 if issue then |
bsw/jbe@4 | 22 ui.link{ |
bsw/jbe@4 | 23 module = "issue", |
bsw/jbe@4 | 24 view = "show", |
bsw/jbe@4 | 25 id = issue.id, |
bsw/jbe@4 | 26 content = function() |
bsw/jbe@4 | 27 ui.image{ static = "icons/16/cancel.png" } |
bsw/jbe@4 | 28 slot.put(_"Cancel") |
bsw/jbe@4 | 29 end, |
bsw/jbe@4 | 30 } |
bsw/jbe@4 | 31 elseif area then |
bsw/jbe@4 | 32 ui.link{ |
bsw/jbe@4 | 33 module = "area", |
bsw/jbe@4 | 34 view = "show", |
bsw/jbe@4 | 35 id = area.id, |
bsw/jbe@4 | 36 content = function() |
bsw/jbe@4 | 37 ui.image{ static = "icons/16/cancel.png" } |
bsw/jbe@4 | 38 slot.put(_"Cancel") |
bsw/jbe@4 | 39 end, |
bsw/jbe@4 | 40 } |
bsw/jbe@4 | 41 else |
bsw/jbe@4 | 42 ui.link{ |
bsw/jbe@4 | 43 module = "index", |
bsw/jbe@4 | 44 view = "index", |
bsw/jbe@4 | 45 content = function() |
bsw/jbe@4 | 46 ui.image{ static = "icons/16/cancel.png" } |
bsw/jbe@4 | 47 slot.put(_"Cancel") |
bsw/jbe@4 | 48 end, |
bsw/jbe@4 | 49 } |
bsw/jbe@4 | 50 end |
bsw/jbe@4 | 51 end) |
bsw/jbe@4 | 52 |
bsw/jbe@4 | 53 |
bsw@199 | 54 local contact_members = Member:build_selector{ |
bsw@199 | 55 is_contact_of_member_id = app.session.member_id, |
bsw@199 | 56 order = "name" |
bsw@199 | 57 }:exec() |
bsw/jbe@0 | 58 |
bsw/jbe@0 | 59 ui.form{ |
bsw/jbe@0 | 60 attr = { class = "vertical" }, |
bsw/jbe@0 | 61 module = "delegation", |
bsw/jbe@0 | 62 action = "update", |
bsw/jbe@0 | 63 params = { |
bsw/jbe@0 | 64 area_id = area and area.id or nil, |
bsw/jbe@0 | 65 issue_id = issue and issue.id or nil, |
bsw/jbe@0 | 66 }, |
bsw/jbe@0 | 67 routing = { |
bsw/jbe@0 | 68 default = { |
bsw/jbe@0 | 69 mode = "redirect", |
bsw/jbe@4 | 70 module = area and "area" or issue and "issue" or "index", |
bsw/jbe@4 | 71 view = (area or issue) and "show" or "index", |
bsw/jbe@4 | 72 id = area and area.id or issue and issue.id or nil, |
bsw/jbe@0 | 73 } |
bsw/jbe@0 | 74 }, |
bsw/jbe@0 | 75 content = function() |
bsw@180 | 76 local records |
bsw@180 | 77 |
bsw@180 | 78 if issue then |
bsw@183 | 79 local delegate_name = "" |
bsw@183 | 80 local scope = "no delegation set" |
bsw@183 | 81 local area_delegation = Delegation:by_pk(app.session.member_id, issue.area_id) |
bsw@183 | 82 if area_delegation then |
bsw@187 | 83 delegate_name = area_delegation.trustee and area_delegation.trustee.name or _"abandoned" |
bsw@183 | 84 scope = _"area" |
bsw@183 | 85 else |
bsw@183 | 86 local global_delegation = Delegation:by_pk(app.session.member_id) |
bsw@183 | 87 if global_delegation then |
bsw@183 | 88 delegate_name = global_delegation.trustee.name |
bsw@183 | 89 scope = _"global" |
bsw@183 | 90 end |
bsw@183 | 91 end |
bsw@180 | 92 records = { |
bsw@180 | 93 { |
bsw@180 | 94 id = -1, |
bsw@183 | 95 name = _("Apply global or area delegation for this issue (Currently: #{delegate_name} [#{scope}])", { delegate_name = delegate_name, scope = scope }) |
bsw@180 | 96 }, |
bsw@180 | 97 { |
bsw@180 | 98 id = 0, |
bsw@183 | 99 name = _"Abandon global and area delegations for this issue" |
bsw@180 | 100 }, |
bsw@180 | 101 |
bsw/jbe@4 | 102 } |
bsw@180 | 103 elseif area then |
bsw@183 | 104 local delegate_name = "" |
bsw@183 | 105 local scope = "no delegation set" |
bsw@183 | 106 local global_delegation = Delegation:by_pk(app.session.member_id) |
bsw@183 | 107 if global_delegation then |
bsw@183 | 108 delegate_name = global_delegation.trustee.name |
bsw@183 | 109 scope = _"global" |
bsw@183 | 110 end |
bsw@180 | 111 records = { |
bsw@180 | 112 { |
bsw@180 | 113 id = -1, |
bsw@183 | 114 name = _("Apply global delegation for this area (Currently: #{delegate_name} [#{scope}])", { delegate_name = delegate_name, scope = scope }) |
bsw@180 | 115 }, |
bsw@180 | 116 { |
bsw@180 | 117 id = 0, |
bsw@183 | 118 name = _"Abandon global delegation for this area" |
bsw@180 | 119 } |
bsw@180 | 120 } |
bsw@180 | 121 |
bsw@180 | 122 else |
bsw@180 | 123 records = { |
bsw@180 | 124 { |
bsw@180 | 125 id = -1, |
bsw@180 | 126 name = _"No delegation" |
bsw@180 | 127 } |
bsw@180 | 128 } |
bsw@180 | 129 |
bsw@180 | 130 end |
bsw@183 | 131 -- add saved members |
bsw@183 | 132 records[#records+1] = {id="_", name= "--- " .. _"Saved contacts" .. " ---"} |
bsw/jbe@4 | 133 for i, record in ipairs(contact_members) do |
bsw/jbe@4 | 134 records[#records+1] = record |
bsw/jbe@4 | 135 end |
poelzi@111 | 136 -- add initiative authors |
poelzi@111 | 137 if initiative then |
bsw@183 | 138 records[#records+1] = {id="_", name= "--- " .. _"Initiators" .. " ---"} |
poelzi@111 | 139 for i,record in ipairs(initiative.initiators) do |
poelzi@111 | 140 records[#records+1] = record.member |
poelzi@111 | 141 end |
poelzi@111 | 142 end |
bsw/jbe@4 | 143 |
bsw@183 | 144 disabled_records = {} |
bsw@183 | 145 disabled_records["_"] = true |
bsw@183 | 146 |
bsw/jbe@0 | 147 ui.field.select{ |
bsw/jbe@0 | 148 label = _"Trustee", |
bsw/jbe@0 | 149 name = "trustee_id", |
bsw/jbe@4 | 150 foreign_records = records, |
bsw/jbe@0 | 151 foreign_id = "id", |
bsw/jbe@4 | 152 foreign_name = "name", |
poelzi@111 | 153 disabled_records = disabled_records |
bsw/jbe@0 | 154 } |
poelzi@111 | 155 |
bsw/jbe@0 | 156 ui.submit{ text = _"Save" } |
bsw/jbe@0 | 157 end |
bsw/jbe@4 | 158 } |