liquid_feedback_frontend

annotate app/main/member/_sidebar_contacts.lua @ 1315:4c6165d43981

Show instance name in header
author bsw
date Wed Aug 01 17:32:19 2018 +0200 (2018-08-01)
parents 32cc544d5a5b
children
rev   line source
bsw@1045 1 local member = param.get("member", "table")
bsw@1045 2
bsw@1045 3 local public_contacts_selector = Contact:build_selector{
bsw@1045 4 public = true,
bsw@1045 5 member_id = member.id,
bsw@1045 6 order = "name"
bsw@1045 7 }
bsw@1045 8
bsw@1045 9 local private_contacts_selector = Contact:build_selector{
bsw@1045 10 public = false,
bsw@1045 11 member_id = member.id,
bsw@1045 12 order = "name"
bsw@1045 13 }
bsw@1045 14
bsw/jbe@1309 15 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
bsw/jbe@1309 16 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
bsw/jbe@1309 17 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Published contacts" }
bsw/jbe@1309 18 end }
bsw@1045 19
bsw/jbe@1309 20 ui.container { attr = { class = "mdl-card__content mdl-card--border" }, content = function()
bsw/jbe@1309 21 ui.container{ content = _"Published contacts" }
bsw@1045 22 if public_contacts_selector:count() == 0 then
bsw/jbe@1309 23 ui.container{ content = _"No published contacts" }
bsw@1045 24 else
bsw@1045 25 ui.paginate{
bsw@1045 26 selector = public_contacts_selector,
bsw@1045 27 name = "contacts",
bsw@1045 28 content = function()
bsw@1045 29 local contacts = public_contacts_selector:exec()
bsw@1045 30 for i, contact in ipairs(contacts) do
bsw/jbe@1309 31 ui.container{ content = function()
bsw@1045 32 execute.view{ module = "member_image", view = "_show", params = {
bsw@1045 33 member_id = contact.other_member.id, class = "micro_avatar",
bsw@1045 34 popup_text = contact.other_member.name,
bsw@1045 35 image_type = "avatar", show_dummy = true,
bsw@1045 36 } }
bsw@1045 37 slot.put(" ")
bsw@1045 38 ui.link{
bsw@1045 39 content = contact.other_member.name,
bsw@1045 40 module = "member",
bsw@1045 41 view = "show",
bsw@1045 42 id = contact.other_member.id
bsw@1045 43 }
bsw/jbe@1309 44 if app.session.member_id == member.id then
bsw/jbe@1309 45 ui.link{
bsw/jbe@1309 46 content = function()
bsw/jbe@1309 47 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "get_app" }
bsw/jbe@1309 48 end,
bsw/jbe@1309 49 module = "contact",
bsw/jbe@1309 50 action = "add_member",
bsw/jbe@1309 51 id = contact.other_member_id,
bsw/jbe@1309 52 params = { public = false },
bsw/jbe@1309 53 routing = {
bsw/jbe@1309 54 default = {
bsw/jbe@1309 55 mode = "redirect",
bsw/jbe@1309 56 module = request.get_module(),
bsw/jbe@1309 57 view = request.get_view(),
bsw/jbe@1309 58 id = request.get_id_string(),
bsw/jbe@1309 59 params = request.get_param_strings()
bsw/jbe@1309 60 }
bsw/jbe@1309 61 }
bsw/jbe@1309 62 }
bsw/jbe@1309 63 ui.link{
bsw/jbe@1309 64 content = function()
bsw/jbe@1309 65 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "delete" }
bsw/jbe@1309 66 end,
bsw/jbe@1309 67 module = "contact",
bsw/jbe@1309 68 action = "remove_member",
bsw/jbe@1309 69 id = contact.other_member_id,
bsw/jbe@1309 70 routing = {
bsw/jbe@1309 71 default = {
bsw/jbe@1309 72 mode = "redirect",
bsw/jbe@1309 73 module = request.get_module(),
bsw/jbe@1309 74 view = request.get_view(),
bsw/jbe@1309 75 id = request.get_id_string(),
bsw/jbe@1309 76 params = request.get_param_strings()
bsw/jbe@1309 77 }
bsw/jbe@1309 78 }
bsw/jbe@1309 79 }
bsw/jbe@1309 80 end
bsw/jbe@1309 81 end }
bsw@1045 82 end
bsw@1045 83 end
bsw@1045 84 }
bsw@1045 85 end
bsw/jbe@1309 86 end }
bsw/jbe@1309 87
bsw/jbe@1309 88 if member.id == app.session.member_id then
bsw/jbe@1309 89 ui.container { attr = { class = "mdl-card__content mdl-card--border" }, content = function()
bsw/jbe@1309 90 ui.tag{ content = _"Private contacts" }
bsw/jbe@1309 91
bsw/jbe@1309 92 if app.session.member_id and app.session.member_id == member.id
bsw/jbe@1309 93 and private_contacts_selector:count() > 0
bsw/jbe@1309 94 then
bsw@1045 95
bsw/jbe@1309 96 ui.paginate{
bsw/jbe@1309 97 selector = private_contacts_selector,
bsw/jbe@1309 98 name = "contacts",
bsw/jbe@1309 99 content = function()
bsw/jbe@1309 100 local contacts = private_contacts_selector:exec()
bsw/jbe@1309 101 for i, contact in ipairs(contacts) do
bsw/jbe@1309 102 ui.container{ content = function()
bsw/jbe@1309 103 execute.view{ module = "member_image", view = "_show", params = {
bsw/jbe@1309 104 member_id = contact.other_member.id, class = "micro_avatar",
bsw/jbe@1309 105 popup_text = contact.other_member.name,
bsw/jbe@1309 106 image_type = "avatar", show_dummy = true,
bsw/jbe@1309 107 } }
bsw/jbe@1309 108 slot.put(" ")
bsw/jbe@1309 109 ui.link{
bsw/jbe@1309 110 content = contact.other_member.name,
bsw/jbe@1309 111 module = "member",
bsw/jbe@1309 112 view = "show",
bsw/jbe@1309 113 id = contact.other_member.id
bsw/jbe@1309 114 }
bsw/jbe@1309 115 slot.put(" ")
bsw/jbe@1309 116 ui.link{
bsw/jbe@1309 117 content = function()
bsw/jbe@1309 118 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "publish" }
bsw/jbe@1309 119 end,
bsw/jbe@1309 120 module = "contact",
bsw/jbe@1309 121 action = "add_member",
bsw/jbe@1309 122 id = contact.other_member_id,
bsw/jbe@1309 123 params = { public = true },
bsw/jbe@1309 124 routing = {
bsw/jbe@1309 125 default = {
bsw/jbe@1309 126 mode = "redirect",
bsw/jbe@1309 127 module = request.get_module(),
bsw/jbe@1309 128 view = request.get_view(),
bsw/jbe@1309 129 id = request.get_id_string(),
bsw/jbe@1309 130 params = request.get_param_strings()
bsw/jbe@1309 131 }
bsw/jbe@1309 132 }
bsw/jbe@1309 133 }
bsw/jbe@1309 134 ui.link{
bsw/jbe@1309 135 content = function()
bsw/jbe@1309 136 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "delete" }
bsw/jbe@1309 137 end,
bsw/jbe@1309 138 module = "contact",
bsw/jbe@1309 139 action = "remove_member",
bsw/jbe@1309 140 id = contact.other_member_id,
bsw/jbe@1309 141 routing = {
bsw/jbe@1309 142 default = {
bsw/jbe@1309 143 mode = "redirect",
bsw/jbe@1309 144 module = request.get_module(),
bsw/jbe@1309 145 view = request.get_view(),
bsw/jbe@1309 146 id = request.get_id_string(),
bsw/jbe@1309 147 params = request.get_param_strings()
bsw/jbe@1309 148 }
bsw/jbe@1309 149 }
bsw/jbe@1309 150 }
bsw/jbe@1309 151 end }
bsw/jbe@1309 152 end
bsw/jbe@1309 153 end
bsw/jbe@1309 154 }
bsw@1045 155 end
bsw/jbe@1309 156 end }
bsw@1045 157 end
bsw/jbe@1309 158 end }

Impressum / About Us