# 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