liquid_feedback_frontend
annotate app/main/member/_list.lua @ 172:165f4bd02cf3
don't show the first draft of a new initiative as a new draft event in the timeline
new draft should only show changes of drafts drafts of new initiatives as they are handled by the new initiative event
new draft should only show changes of drafts drafts of new initiatives as they are handled by the new initiative event
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Sun Oct 10 19:40:32 2010 +0200 (2010-10-10) |
| parents | 00d1004545f1 |
| children | b9c8503feff7 |
| rev | line source |
|---|---|
| bsw/jbe@0 | 1 local members_selector = param.get("members_selector", "table") |
| bsw@3 | 2 local initiative = param.get("initiative", "table") |
| bsw@3 | 3 local issue = param.get("issue", "table") |
| bsw@3 | 4 local trustee = param.get("trustee", "table") |
| bsw@10 | 5 local initiator = param.get("initiator", "table") |
| bsw@3 | 6 |
| bsw/jbe@19 | 7 ui.add_partial_param_names{ "member_list" } |
| bsw/jbe@19 | 8 |
| bsw/jbe@19 | 9 local filter = { |
| bsw/jbe@19 | 10 label = _"Order by", |
| bsw/jbe@19 | 11 name = "member_list", |
| bsw/jbe@19 | 12 { |
| bsw/jbe@19 | 13 name = "name", |
| bsw/jbe@19 | 14 label = _"A-Z", |
| bsw/jbe@19 | 15 selector_modifier = function(selector) selector:add_order_by("name") end |
| bsw/jbe@19 | 16 }, |
| bsw/jbe@19 | 17 { |
| bsw/jbe@19 | 18 name = "name_desc", |
| bsw/jbe@19 | 19 label = _"Z-A", |
| bsw/jbe@19 | 20 selector_modifier = function(selector) selector:add_order_by("name DESC") end |
| bsw/jbe@19 | 21 }, |
| bsw@3 | 22 { |
| bsw@10 | 23 name = "newest", |
| bsw@10 | 24 label = _"Newest", |
| bsw/jbe@19 | 25 selector_modifier = function(selector) selector:add_order_by("created DESC, id DESC") end |
| bsw@10 | 26 }, |
| bsw@10 | 27 { |
| bsw@10 | 28 name = "oldest", |
| bsw@10 | 29 label = _"Oldest", |
| bsw/jbe@19 | 30 selector_modifier = function(selector) selector:add_order_by("created, id") end |
| bsw@3 | 31 }, |
| bsw@3 | 32 } |
| bsw@3 | 33 |
| bsw@3 | 34 if initiative then |
| bsw/jbe@19 | 35 filter[#filter] = { |
| bsw@3 | 36 name = "delegations", |
| bsw@3 | 37 label = _"Delegations", |
| bsw/jbe@19 | 38 selector_modifier = function(selector) selector:add_order_by("weight DESC") end |
| bsw@3 | 39 } |
| bsw@3 | 40 end |
| bsw/jbe@0 | 41 |
| bsw/jbe@19 | 42 ui.filters{ |
| bsw/jbe@19 | 43 label = _"Change order", |
| bsw/jbe@0 | 44 selector = members_selector, |
| bsw/jbe@19 | 45 filter, |
| bsw@2 | 46 content = function() |
| bsw@2 | 47 ui.paginate{ |
| bsw@2 | 48 selector = members_selector, |
| bsw@2 | 49 per_page = 100, |
| bsw@2 | 50 content = function() |
| bsw@2 | 51 ui.container{ |
| bsw@2 | 52 attr = { class = "member_list" }, |
| bsw@2 | 53 content = function() |
| bsw@3 | 54 local members = members_selector:exec() |
| bsw@3 | 55 local columns = { |
| bsw@3 | 56 { |
| bsw@3 | 57 label = _"Name", |
| bsw@3 | 58 content = function(member) |
| bsw@3 | 59 ui.link{ |
| bsw@3 | 60 module = "member", |
| bsw@3 | 61 view = "show", |
| bsw@3 | 62 id = member.id, |
| bsw@3 | 63 content = function() |
| bsw@3 | 64 ui.image{ |
| bsw@3 | 65 attr = { width = 48, height = 48 }, |
| bsw@3 | 66 module = "member", |
| bsw@3 | 67 view = "avatar", |
| bsw@3 | 68 id = member.id, |
| bsw@3 | 69 extension = "jpg" |
| bsw@3 | 70 } |
| bsw@3 | 71 end |
| bsw@3 | 72 } |
| bsw@3 | 73 end |
| bsw@3 | 74 }, |
| bsw@3 | 75 { |
| bsw@3 | 76 label = _"Name", |
| bsw@3 | 77 content = function(member) |
| bsw@3 | 78 ui.link{ |
| bsw@3 | 79 module = "member", |
| bsw@3 | 80 view = "show", |
| bsw@3 | 81 id = member.id, |
| bsw@3 | 82 content = member.name |
| bsw@3 | 83 } |
| bsw@3 | 84 if member.admin then |
| bsw@3 | 85 ui.image{ |
| bsw@3 | 86 attr = { |
| bsw@3 | 87 alt = _"Administrator", |
| bsw@3 | 88 title = _"Administrator" |
| bsw@3 | 89 }, |
| bsw@3 | 90 static = "icons/16/cog.png" |
| bsw@3 | 91 } |
| bsw@3 | 92 end |
| bsw@3 | 93 -- TODO performance |
| bsw@3 | 94 local contact = Contact:by_pk(app.session.member.id, member.id) |
| bsw@3 | 95 if contact then |
| bsw@3 | 96 ui.image{ |
| bsw@3 | 97 attr = { |
| bsw@3 | 98 alt = _"Saved as contact", |
| bsw@3 | 99 title = _"Saved as contact" |
| bsw@3 | 100 }, |
| bsw@3 | 101 static = "icons/16/book_edit.png" |
| bsw@3 | 102 } |
| bsw@3 | 103 end |
| bsw@3 | 104 end |
| bsw@3 | 105 } |
| bsw@3 | 106 } |
| bsw@3 | 107 |
| bsw@3 | 108 if initiative then |
| bsw@3 | 109 columns[#columns+1] = { |
| bsw@3 | 110 label = _"Delegations", |
| bsw@3 | 111 field_attr = { style = "text-align: right;" }, |
| bsw@3 | 112 content = function(member) |
| bsw@3 | 113 if member.weight > 1 then |
| bsw@3 | 114 ui.link{ |
| bsw@3 | 115 content = member.weight, |
| bsw@3 | 116 module = "support", |
| bsw@3 | 117 view = "show_incoming", |
| bsw@3 | 118 params = { member_id = member.id, initiative_id = initiative.id } |
| bsw@3 | 119 } |
| bsw@3 | 120 end |
| bsw@3 | 121 end |
| bsw@3 | 122 } |
| bsw@3 | 123 end |
| bsw@3 | 124 |
| bsw@3 | 125 for i, member in ipairs(members) do |
| bsw@2 | 126 execute.view{ |
| bsw@2 | 127 module = "member", |
| bsw@2 | 128 view = "_show_thumb", |
| bsw@10 | 129 params = { |
| bsw@10 | 130 member = member, |
| bsw@10 | 131 initiative = initiative, |
| bsw@10 | 132 issue = issue, |
| bsw@10 | 133 trustee = trustee, |
| bsw@10 | 134 initiator = initiator |
| bsw@10 | 135 } |
| bsw/jbe@0 | 136 } |
| bsw@2 | 137 end |
| bsw/jbe@19 | 138 |
| bsw/jbe@0 | 139 end |
| bsw/jbe@0 | 140 } |
| bsw@3 | 141 slot.put('<br style="clear: left;" />') |
| bsw@2 | 142 end |
| bsw/jbe@0 | 143 } |
| bsw/jbe@0 | 144 end |
| bsw/jbe@19 | 145 } |