bsw/jbe@0: local id = param.get_id() bsw/jbe@0: bsw@193: local member = Member:by_id(id) bsw@193: bsw@193: if member then bsw/jbe@0: slot.put_into("title", encode.html(_("Member: '#{login}' (#{name})", { login = member.login, name = member.name }))) bsw/jbe@0: else bsw/jbe@0: slot.put_into("title", encode.html(_"Register new member")) bsw/jbe@0: end bsw/jbe@0: bsw@513: local units_selector = Unit:new_selector() bsw@512: bsw@513: if member then bsw@513: units_selector bsw@513: :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id }) bsw@513: :add_field("privilege.voting_right", "voting_right") bsw@513: end bsw@513: bsw@513: local units = units_selector:exec() bsw@512: bsw/jbe@0: ui.form{ bsw/jbe@0: attr = { class = "vertical" }, bsw/jbe@0: module = "admin", bsw/jbe@0: action = "member_update", bsw/jbe@0: id = member and member.id, bsw/jbe@0: record = member, bsw/jbe@0: readonly = not app.session.member.admin, bsw/jbe@0: routing = { bsw/jbe@0: default = { bsw/jbe@0: mode = "redirect", bsw/jbe@0: modules = "admin", bsw/jbe@0: view = "member_list" bsw/jbe@0: } bsw/jbe@0: }, bsw/jbe@0: content = function() bsw@254: ui.field.text{ label = _"Identification", name = "identification" } bsw@286: ui.field.text{ label = _"Notification email", name = "notify_email" } bsw/jbe@0: ui.field.boolean{ label = _"Admin?", name = "admin" } bsw@310: bsw@512: slot.put("
") bsw@512: bsw@512: for i, unit in ipairs(units) do bsw@512: ui.field.boolean{ bsw@512: name = "unit_" .. unit.id, bsw@512: label = unit.name, bsw@512: value = unit.voting_right bsw@512: } bsw@512: end bsw@310: slot.put("

") bsw@310: bsw@286: ui.field.boolean{ label = _"Send invite?", name = "invite_member" } bsw/jbe@0: ui.submit{ text = _"Save" } bsw/jbe@0: end bsw/jbe@0: }