liquid_feedback_frontend

changeset 1088:c80ac323dee7

Added deactivate member feature to admin area
author bsw
date Fri Aug 15 18:53:23 2014 +0200 (2014-08-15)
parents 3a344182f7a4
children fbdc08a28c74
files app/main/admin/member_edit.lua model/member.lua
line diff
     1.1 --- a/app/main/admin/member_edit.lua	Fri Aug 15 12:44:33 2014 +0200
     1.2 +++ b/app/main/admin/member_edit.lua	Fri Aug 15 18:53:23 2014 +0200
     1.3 @@ -2,7 +2,9 @@
     1.4  
     1.5  local member = Member:by_id(id)
     1.6  
     1.7 -ui.title(_"member")
     1.8 +local deactivated = member and member.locked and member.login == nil and member.authority_login == nil
     1.9 +
    1.10 +ui.title(_"Member")
    1.11  
    1.12  local units_selector = Unit:new_selector()
    1.13    
    1.14 @@ -31,7 +33,7 @@
    1.15    content = function()
    1.16  
    1.17      ui.sectionHead( function()
    1.18 -      ui.heading { level = 1, content = member and member.name or _"New member" }
    1.19 +      ui.heading { level = 1, content = member and (member.name or member.id) or _"New member" }
    1.20        if member and member.identification then
    1.21          ui.heading { level = 3, content = member.identification }
    1.22        end
    1.23 @@ -42,9 +44,12 @@
    1.24        ui.field.text{     label = _"Notification email", name = "notify_email" }
    1.25        if member and member.activated then
    1.26          ui.field.text{     label = _"Screen name",        name = "name" }
    1.27 +      end
    1.28 +      
    1.29 +      if member and member.activated and not deactivated then
    1.30          ui.field.text{     label = _"Login name",        name = "login" }
    1.31        end
    1.32 -      
    1.33 +
    1.34        for i, unit in ipairs(units) do
    1.35          ui.field.boolean{
    1.36            name = "unit_" .. unit.id,
    1.37 @@ -54,25 +59,40 @@
    1.38        end
    1.39        slot.put("<br /><br />")
    1.40  
    1.41 +      if member then
    1.42 +        ui.field.text{  label = _"Activated",       name = "activated", readonly = true }
    1.43 +      end
    1.44 +         
    1.45        if not member or not member.activated then
    1.46          ui.field.boolean{  label = _"Send invite?",       name = "invite_member" }
    1.47        end
    1.48        
    1.49 -      if member and member.activated then
    1.50 -        ui.field.boolean{  label = _"Lock member?",       name = "locked" }
    1.51 +      if member then
    1.52 +        ui.field.boolean{ 
    1.53 +          label = _"Member inactive?", name = "deactivate",
    1.54 +          readonly = true, 
    1.55 +          value = member and member.active == false
    1.56 +        }
    1.57        end
    1.58        
    1.59 -      ui.field.boolean{ 
    1.60 -        label = _"Member inactive?", name = "deactivate",
    1.61 -        readonly = member and member.active, value = member and member.active == false
    1.62 -      }
    1.63 +      if member then
    1.64 +        ui.field.boolean{
    1.65 +          label = _"Lock member?", name = "locked",
    1.66 +          readonly = deactivated
    1.67 +        }
    1.68 +      end
    1.69        
    1.70        slot.put("<br />")
    1.71 -      ui.field.boolean{  label = _"Admin?",       name = "admin" }
    1.72 +      ui.field.boolean{  label = _"Admin?",       name = "admin", readonly = deactivated }
    1.73        slot.put("<br />")
    1.74        ui.submit{         text  = _"update member" }
    1.75        slot.put(" ")
    1.76 +      if member then
    1.77 +        ui.link { module = "admin", view = "member_deactivate", content = _"Deactivate member", id = member.id }
    1.78 +        slot.put(" ")
    1.79 +      end
    1.80        ui.link { module = "admin", view = "index", content = _"cancel" }
    1.81      end )
    1.82    end
    1.83  }
    1.84 +
     2.1 --- a/model/member.lua	Fri Aug 15 12:44:33 2014 +0200
     2.2 +++ b/model/member.lua	Fri Aug 15 18:53:23 2014 +0200
     2.3 @@ -735,3 +735,6 @@
     2.4    return selector:exec()
     2.5  end
     2.6  
     2.7 +function Member.object:delete()
     2.8 +  db:query{ "SELECT delete_member(?)", self.id }
     2.9 +end

Impressum / About Us