# HG changeset patch # User bsw # Date 1408121603 -7200 # Node ID c80ac323dee7ff5d3eb3518b31cf299cec82a218 # Parent 3a344182f7a49949500fb95bc42910e7ff837c24 Added deactivate member feature to admin area diff -r 3a344182f7a4 -r c80ac323dee7 app/main/admin/member_edit.lua --- a/app/main/admin/member_edit.lua Fri Aug 15 12:44:33 2014 +0200 +++ b/app/main/admin/member_edit.lua Fri Aug 15 18:53:23 2014 +0200 @@ -2,7 +2,9 @@ local member = Member:by_id(id) -ui.title(_"member") +local deactivated = member and member.locked and member.login == nil and member.authority_login == nil + +ui.title(_"Member") local units_selector = Unit:new_selector() @@ -31,7 +33,7 @@ content = function() ui.sectionHead( function() - ui.heading { level = 1, content = member and member.name or _"New member" } + ui.heading { level = 1, content = member and (member.name or member.id) or _"New member" } if member and member.identification then ui.heading { level = 3, content = member.identification } end @@ -42,9 +44,12 @@ ui.field.text{ label = _"Notification email", name = "notify_email" } if member and member.activated then ui.field.text{ label = _"Screen name", name = "name" } + end + + if member and member.activated and not deactivated then ui.field.text{ label = _"Login name", name = "login" } end - + for i, unit in ipairs(units) do ui.field.boolean{ name = "unit_" .. unit.id, @@ -54,25 +59,40 @@ end slot.put("

") + if member then + ui.field.text{ label = _"Activated", name = "activated", readonly = true } + end + if not member or not member.activated then ui.field.boolean{ label = _"Send invite?", name = "invite_member" } end - if member and member.activated then - ui.field.boolean{ label = _"Lock member?", name = "locked" } + if member then + ui.field.boolean{ + label = _"Member inactive?", name = "deactivate", + readonly = true, + value = member and member.active == false + } end - ui.field.boolean{ - label = _"Member inactive?", name = "deactivate", - readonly = member and member.active, value = member and member.active == false - } + if member then + ui.field.boolean{ + label = _"Lock member?", name = "locked", + readonly = deactivated + } + end slot.put("
") - ui.field.boolean{ label = _"Admin?", name = "admin" } + ui.field.boolean{ label = _"Admin?", name = "admin", readonly = deactivated } slot.put("
") ui.submit{ text = _"update member" } slot.put(" ") + if member then + ui.link { module = "admin", view = "member_deactivate", content = _"Deactivate member", id = member.id } + slot.put(" ") + end ui.link { module = "admin", view = "index", content = _"cancel" } end ) end } + diff -r 3a344182f7a4 -r c80ac323dee7 model/member.lua --- a/model/member.lua Fri Aug 15 12:44:33 2014 +0200 +++ b/model/member.lua Fri Aug 15 18:53:23 2014 +0200 @@ -735,3 +735,6 @@ return selector:exec() end +function Member.object:delete() + db:query{ "SELECT delete_member(?)", self.id } +end