bsw/jbe@0: local member = Member:by_id(param.get_id()) bsw/jbe@0: bsw@286: if not member or not member.activated then bsw@286: error("access denied") bsw@286: end bsw@286: jorges@103: app.html_title.title = member.name jorges@103: app.html_title.subtitle = _("Member") jorges@103: bsw@564: slot.select("head", function() bsw@564: ui.container{ bsw@564: attr = { class = "title" }, bsw@564: content = _("Member '#{member}'", { member = member.name }) bsw@426: } bsw@564: bsw@564: ui.container{ attr = { class = "actions" }, content = function() bsw@564: bsw@564: if member.id == app.session.member_id then bsw@564: ui.link{ bsw@564: content = function() bsw@564: slot.put(encode.html(_"Edit profile")) bsw@564: end, bsw@564: module = "member", bsw@564: view = "edit" bsw@564: } bsw@564: slot.put(" · ") bsw@564: ui.link{ bsw@564: content = function() bsw@564: slot.put(encode.html(_"Upload avatar/photo")) bsw@564: end, bsw@564: module = "member", bsw@564: view = "edit_images" bsw@564: } bsw@564: slot.put(" · ") bsw@564: end bsw@564: ui.link{ bsw@564: content = function() bsw@564: slot.put(encode.html(_"Show member history")) bsw@564: end, bsw@564: module = "member", bsw@564: view = "history", bsw@564: id = member.id bsw@426: } bsw@564: if not member.active then bsw@564: slot.put(" · ") bsw@564: ui.tag{ bsw@564: attr = { class = "interest deactivated_member_info" }, bsw@609: content = _"This member is inactive" bsw@609: } bsw@609: end bsw@609: if member.locked then bsw@609: slot.put(" · ") bsw@609: ui.tag{ bsw@609: attr = { class = "interest deactivated_member_info" }, bsw@609: content = _"This member is locked" bsw@564: } bsw@564: end bsw@564: if not (member.id == app.session.member.id) then bsw@564: slot.put(" · ") bsw@564: --TODO performance bsw@564: local contact = Contact:by_pk(app.session.member.id, member.id) bsw@564: if contact then bsw@564: ui.link{ bsw@564: text = _"Remove from contacts", bsw@564: module = "contact", bsw@564: action = "remove_member", bsw@564: id = contact.other_member_id, bsw@564: routing = { bsw@564: default = { bsw@564: mode = "redirect", bsw@564: module = request.get_module(), bsw@564: view = request.get_view(), bsw@564: id = param.get_id_cgi(), bsw@564: params = param.get_all_cgi() bsw@564: } bsw@564: } bsw@564: } bsw@564: elseif member.activated then bsw@564: ui.link{ bsw@564: text = _"Add to my contacts", bsw@564: module = "contact", bsw@564: action = "add_member", bsw@564: id = member.id, bsw@564: routing = { bsw@564: default = { bsw@564: mode = "redirect", bsw@564: module = request.get_module(), bsw@564: view = request.get_view(), bsw@564: id = param.get_id_cgi(), bsw@564: params = param.get_all_cgi() bsw@564: } bsw@564: } bsw@564: } bsw@564: end bsw@564: end bsw@564: local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id) bsw@525: slot.put(" · ") bsw@564: if ignored_member then bsw@564: ui.tag{ bsw/jbe@4: attr = { class = "interest" }, bsw@564: content = _"You have ignored this member" bsw/jbe@4: } bsw@564: slot.put(" · ") bsw@3: ui.link{ bsw@564: text = _"Stop ignoring member", bsw@564: module = "member", bsw@564: action = "update_ignore_member", bsw@564: id = member.id, bsw@564: params = { delete = true }, bsw@3: routing = { bsw@3: default = { bsw@3: mode = "redirect", bsw@3: module = request.get_module(), bsw@3: view = request.get_view(), bsw@3: id = param.get_id_cgi(), bsw@3: params = param.get_all_cgi() bsw@3: } bsw@3: } bsw@3: } bsw@245: elseif member.activated then bsw@3: ui.link{ bsw@564: attr = { class = "interest" }, bsw@564: text = _"Ignore member", bsw@564: module = "member", bsw@564: action = "update_ignore_member", bsw@3: id = member.id, bsw@3: routing = { bsw@3: default = { bsw@3: mode = "redirect", bsw@3: module = request.get_module(), bsw@3: view = request.get_view(), bsw@3: id = param.get_id_cgi(), bsw@3: params = param.get_all_cgi() bsw@3: } bsw@3: } bsw@3: } bsw@57: end bsw@564: end } bsw@9: end) bsw@9: bsw/jbe@4: util.help("member.show", _"Member page") bsw/jbe@0: bsw/jbe@0: execute.view{ bsw/jbe@0: module = "member", bsw/jbe@0: view = "_show", bsw/jbe@0: params = { member = member } bsw/jbe@0: } bsw/jbe@0: