liquid_feedback_frontend

diff app/main/issue/_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 cb9e75ac968f
children 64229f002a47
line diff
     1.1 --- a/app/main/issue/_sidebar_members.lua	Thu Jun 23 03:30:57 2016 +0200
     1.2 +++ b/app/main/issue/_sidebar_members.lua	Sun Jul 15 14:07:29 2018 +0200
     1.3 @@ -1,21 +1,25 @@
     1.4  local issue = param.get("issue", "table")
     1.5  local initiative = param.get("initiative", "table")
     1.6  
     1.7 +if config.voting_only and not issue.closed then
     1.8 +  return
     1.9 +end
    1.10 +
    1.11 +
    1.12  if app.session:has_access("all_pseudonymous") then
    1.13 -  ui.sidebar ( "tab-members", function ()
    1.14  
    1.15 +  ui.container{ attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function()
    1.16 +    
    1.17      ui.tag { tag = "a", attr = { name = "members" }, content = "" }
    1.18 -    local text = _"Interested members"
    1.19 -    if issue.state == "finished_with_winner" or issue.state == "finished_without_winner" then
    1.20 -      text = _"Voters"
    1.21 -    end
    1.22 -    
    1.23 -    ui.sidebarHead( function()
    1.24 -      ui.heading{
    1.25 -        level = 2, content = text
    1.26 -      }
    1.27 -    end )
    1.28 -    
    1.29 +    ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    1.30 +      local text = _"Interested members"
    1.31 +      if issue.state == "finished_with_winner" or issue.state == "finished_without_winner" then
    1.32 +        text = _"Voters"
    1.33 +      end
    1.34 +      
    1.35 +      ui.container{ attr = { class = "mdl-card__title-text" }, content = text }
    1.36 +    end }
    1.37 +
    1.38      local interested_members_selector
    1.39      
    1.40      if issue.state == "finished_with_winner" or issue.state == "finished_without_winner" then
    1.41 @@ -38,28 +42,29 @@
    1.42        interested_members_selector = issue:get_reference_selector("interested_members_snapshot")
    1.43          :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id")
    1.44          :add_field("direct_interest_snapshot.weight")
    1.45 -        :add_where("direct_interest_snapshot.event = issue.latest_snapshot_event")
    1.46 +        :add_where("direct_interest_snapshot.snapshot_id = issue.latest_snapshot_id")
    1.47  
    1.48        if initiative then
    1.49 -        interested_members_selector:left_join("direct_supporter_snapshot", nil, { "direct_supporter_snapshot.initiative_id = ? AND direct_interest_snapshot.issue_id = direct_supporter_snapshot.issue_id AND direct_supporter_snapshot.member_id = direct_interest_snapshot.member_id AND direct_supporter_snapshot.event = issue.latest_snapshot_event", initiative.id })
    1.50 +        interested_members_selector:left_join("direct_supporter_snapshot", nil, { "direct_supporter_snapshot.initiative_id = ? AND direct_interest_snapshot.issue_id = direct_supporter_snapshot.issue_id AND direct_supporter_snapshot.member_id = direct_interest_snapshot.member_id AND direct_supporter_snapshot.snapshot_id = issue.latest_snapshot_id", initiative.id })
    1.51          interested_members_selector:add_field("direct_supporter_snapshot.member_id NOTNULL", "supporter")
    1.52          interested_members_selector:add_field("satisfied", "supporter_satisfied")
    1.53        end
    1.54      end
    1.55      
    1.56 -    execute.view{
    1.57 -      module = "member",
    1.58 -      view = "_list",
    1.59 -      params = {
    1.60 -        issue = issue,
    1.61 -        initiative = initiative,
    1.62 -        members_selector = interested_members_selector,
    1.63 -        paginator_name = "members",
    1.64 -        member_class = "sidebarRow sidebarRowNarrow",
    1.65 -        for_votes = issue.state == "finished_with_winner" or issue.state == "finished_without_winner"
    1.66 +    ui.container{ attr = { class = "mdl-card__content" }, content = function()
    1.67 +      execute.view{
    1.68 +        module = "member",
    1.69 +        view = "_list",
    1.70 +        params = {
    1.71 +          issue = issue,
    1.72 +          initiative = initiative,
    1.73 +          members_selector = interested_members_selector,
    1.74 +          paginator_name = "members",
    1.75 +          member_class = "sidebarRow sidebarRowNarrow",
    1.76 +          for_votes = issue.state == "finished_with_winner" or issue.state == "finished_without_winner",
    1.77 +          no_filter = true
    1.78 +        }
    1.79        }
    1.80 -    }
    1.81 -
    1.82 -  end )
    1.83 -  
    1.84 +    end }
    1.85 +  end }
    1.86  end

Impressum / About Us