liquid_feedback_frontend
annotate app/main/member/_list.lua @ 154:6b6c82f9ca9f
speedup member image loading when non set
we can add the location of the default file directy instead of going through another slow request
we can add the location of the default file directy instead of going through another slow request
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Fri Oct 08 15:25:10 2010 +0200 (2010-10-08) |
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 } |