liquid_feedback_frontend

annotate app/main/admin/member_edit.lua @ 1437:9d15d509b5f6

Fixed disable delegations and update member without login name
author bsw
date Wed Oct 17 14:11:10 2018 +0200 (2018-10-17)
parents 32cc544d5a5b
children d55f506f032b
rev   line source
bsw/jbe@0 1 local id = param.get_id()
bsw/jbe@0 2
bsw@193 3 local member = Member:by_id(id)
bsw@193 4
bsw@1088 5 local deactivated = member and member.locked and member.login == nil and member.authority_login == nil
bsw@1088 6
bsw@1184 7 ui.titleAdmin(_"Member")
bsw/jbe@0 8
bsw@513 9 local units_selector = Unit:new_selector()
bsw@512 10
bsw@513 11 if member then
bsw@513 12 units_selector
bsw@513 13 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
bsw@513 14 :add_field("privilege.voting_right", "voting_right")
bsw@513 15 end
bsw@513 16
bsw@513 17 local units = units_selector:exec()
bsw@512 18
bsw/jbe@0 19 ui.form{
bsw@1045 20 attr = { class = "vertical section" },
bsw/jbe@0 21 module = "admin",
bsw/jbe@0 22 action = "member_update",
bsw/jbe@0 23 id = member and member.id,
bsw/jbe@0 24 record = member,
bsw/jbe@0 25 readonly = not app.session.member.admin,
bsw/jbe@0 26 routing = {
bsw/jbe@0 27 default = {
bsw/jbe@0 28 mode = "redirect",
bsw/jbe@0 29 modules = "admin",
bsw@1045 30 view = "index"
bsw/jbe@0 31 }
bsw/jbe@0 32 },
bsw/jbe@0 33 content = function()
bsw@310 34
bsw@1045 35 ui.sectionHead( function()
bsw@1088 36 ui.heading { level = 1, content = member and (member.name or member.id) or _"New member" }
bsw@1045 37 if member and member.identification then
bsw@1045 38 ui.heading { level = 3, content = member.identification }
bsw@1045 39 end
bsw@1045 40 end )
bsw@1045 41
bsw@1045 42 ui.sectionRow( function()
bsw@1045 43 ui.field.text{ label = _"Identification", name = "identification" }
bsw/jbe@1309 44 ui.field.text{ label = _"Notification email (confirmed)", name = "notify_email" }
bsw/jbe@1309 45 ui.field.text{ label = _"Notification email (unconfirmed)", name = "notify_email_unconfirmed" }
bsw@1045 46 if member and member.activated then
bsw@1045 47 ui.field.text{ label = _"Screen name", name = "name" }
bsw@1088 48 end
bsw@1088 49
bsw@1088 50 if member and member.activated and not deactivated then
bsw@1045 51 ui.field.text{ label = _"Login name", name = "login" }
bsw@1045 52 end
bsw@1088 53
bsw@1045 54 for i, unit in ipairs(units) do
bsw@1045 55 ui.field.boolean{
bsw@1045 56 name = "unit_" .. unit.id,
bsw@1045 57 label = unit.name,
bsw@1045 58 value = unit.voting_right
bsw@1045 59 }
bsw@1045 60 end
bsw@1045 61 slot.put("<br /><br />")
bsw@1045 62
bsw@1088 63 if member then
bsw@1088 64 ui.field.text{ label = _"Activated", name = "activated", readonly = true }
bsw@1088 65 end
bsw@1088 66
bsw@1045 67 if not member or not member.activated then
bsw@1045 68 ui.field.boolean{ label = _"Send invite?", name = "invite_member" }
bsw@1045 69 end
bsw@1045 70
bsw@1088 71 if member then
bsw@1088 72 ui.field.boolean{
bsw@1088 73 label = _"Member inactive?", name = "deactivate",
bsw@1088 74 readonly = true,
bsw@1088 75 value = member and member.active == false
bsw@1088 76 }
bsw@1045 77 end
bsw@1045 78
bsw@1088 79 if member then
bsw@1088 80 ui.field.boolean{
bsw@1088 81 label = _"Lock member?", name = "locked",
bsw@1088 82 }
bsw@1088 83 end
bsw@1045 84
bsw@1045 85 slot.put("<br />")
bsw@1193 86 ui.field.boolean{ label = _"Admin?", name = "admin" }
bsw@1045 87 slot.put("<br />")
bsw@1045 88 ui.submit{ text = _"update member" }
bsw@1045 89 slot.put(" ")
bsw@1088 90 if member then
bsw@1088 91 ui.link { module = "admin", view = "member_deactivate", content = _"Deactivate member", id = member.id }
bsw@1088 92 slot.put(" ")
bsw@1088 93 end
bsw@1045 94 ui.link { module = "admin", view = "index", content = _"cancel" }
bsw@1045 95 end )
bsw/jbe@0 96 end
bsw/jbe@0 97 }
bsw@1088 98

Impressum / About Us