liquid_feedback_frontend

diff app/main/index/_sidebar_members.lua @ 1309:32cc544d5a5b

Cumulative patch for upcoming frontend version 4
author bsw/jbe
date Sun Jul 15 14:07:29 2018 +0200 (2018-07-15)
parents a85f7ea61ef6
children a964cf74e02f
line diff
     1.1 --- a/app/main/index/_sidebar_members.lua	Thu Jun 23 03:30:57 2016 +0200
     1.2 +++ b/app/main/index/_sidebar_members.lua	Sun Jul 15 14:07:29 2018 +0200
     1.3 @@ -1,38 +1,60 @@
     1.4 +local limit = 50
     1.5 +
     1.6  if not app.session:has_access("all_pseudonymous") then
     1.7    return
     1.8  end
     1.9  
    1.10 -local member_count = MemberCount:get()
    1.11 +local unit_id = request.get_param{ name = "unit" }
    1.12 +if unit_id == "all" then
    1.13 +  unit_id = nil
    1.14 +end
    1.15  
    1.16 -if not member_count then
    1.17 -  return
    1.18 +local selector = Member:new_selector()
    1.19 +  :add_where("active")
    1.20 +  :add_order_by("last_login DESC NULLS LAST, id DESC")
    1.21 +  
    1.22 +if unit_id then
    1.23 +  selector:join("privilege", nil, "privilege.member_id = member.id")
    1.24 +  selector:add_where{ "privilege.unit_id = ?", unit_id }
    1.25  end
    1.26  
    1.27 -ui.sidebar ( "tab-members", function ()
    1.28 -  ui.sidebarHead( function()
    1.29 -    ui.heading {
    1.30 -      level = 2,
    1.31 -      content = _("Registered members (#{count})", { count = member_count })
    1.32 +local member_count = selector:count()
    1.33 +
    1.34 +selector:limit(limit)
    1.35 +
    1.36 +
    1.37 +ui.container{ attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function()
    1.38 +
    1.39 +  ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    1.40 +    local text
    1.41 +    if unit_id then
    1.42 +      text = _("Eligible members (#{count})", { count = selector:count() })
    1.43 +    else
    1.44 +      text = _("Registered members (#{count})", { count = selector:count() })
    1.45 +    end
    1.46 +    ui.container{
    1.47 +      attr = { class = "mdl-card__title-text" }, 
    1.48 +      content = text
    1.49      }
    1.50 -  end )
    1.51 -
    1.52 -  local selector = Member:new_selector()
    1.53 -    :add_where("active")
    1.54 -    :add_order_by("last_login DESC NULLS LAST, id DESC")
    1.55 -    :limit(50)
    1.56 +  end }
    1.57    
    1.58 -  execute.view {
    1.59 -    module = 'member', view   = '_list', params = {
    1.60 -      members_selector = selector,
    1.61 -      no_filter = true, no_paginate = true,
    1.62 -      member_class = "sidebarRow sidebarRowNarrow"
    1.63 +  ui.container{ attr = { class = "mdl-card__content" }, content = function()
    1.64 +    execute.view {
    1.65 +      module = 'member', view   = '_list', params = {
    1.66 +        members_selector = selector,
    1.67 +        no_filter = true, no_paginate = true,
    1.68 +        member_class = "sidebarRow sidebarRowNarrow"
    1.69 +      }
    1.70      }
    1.71 -  }
    1.72 +  end }
    1.73    
    1.74 -  ui.link {
    1.75 -    attr = { class = "sidebarRow moreLink" },
    1.76 -    text = _"Show full member list",
    1.77 -    module = "member", view = "list"
    1.78 -  }
    1.79 -  
    1.80 -end )
    1.81 +  if member_count > limit then
    1.82 +    ui.container{ attr = { class = "mdl-card__actions mdl-card--border" }, content = function()
    1.83 +      ui.link {
    1.84 +        attr = { class = "mdl-button mdl-js-button" },
    1.85 +        text = _"Show full member list",
    1.86 +        module = "member", view = "list"
    1.87 +      }
    1.88 +    end }
    1.89 +  end
    1.90 +end }

Impressum / About Us