liquid_feedback_frontend

diff app/main/suggestion/show.lua @ 1062:f03fbffc1800

New layout for suggestion details view
author bsw
date Wed Jul 16 21:52:17 2014 +0200 (2014-07-16)
parents cc64a4fc6ab6
children 4188405c2425
line diff
     1.1 --- a/app/main/suggestion/show.lua	Wed Jul 16 21:51:08 2014 +0200
     1.2 +++ b/app/main/suggestion/show.lua	Wed Jul 16 21:52:17 2014 +0200
     1.3 @@ -17,29 +17,112 @@
     1.4    return
     1.5  end
     1.6  
     1.7 +local initiative = suggestion.initiative
     1.8  
     1.9 -app.html_title.title = suggestion.name
    1.10 -app.html_title.subtitle = _("Suggestion ##{id}", { id = suggestion.id })
    1.11 +initiative:load_everything_for_member_id(app.session.member_id)
    1.12 +initiative.issue:load_everything_for_member_id(app.session.member_id)
    1.13 +
    1.14  
    1.15 -ui.title(_"Suggestion for initiative: '#{name}'":gsub("#{name}", suggestion.initiative.name))
    1.16 +execute.view{ module = "issue", view = "_sidebar_state", params = {
    1.17 +  initiative = initiative
    1.18 +} }
    1.19  
    1.20 -ui.actions(function()
    1.21 -  ui.link{
    1.22 -    content = function()
    1.23 -        ui.image{ static = "icons/16/resultset_previous.png" }
    1.24 -        slot.put(_"Back")
    1.25 -    end,
    1.26 -    module = "initiative",
    1.27 -    view = "show",
    1.28 -    id = suggestion.initiative.id,
    1.29 -    params = { tab = "suggestions" }
    1.30 +execute.view { 
    1.31 +  module = "issue", view = "_sidebar_issue", 
    1.32 +  params = {
    1.33 +    issue = initiative.issue,
    1.34 +    highlight_initiative_id = initiative.id
    1.35    }
    1.36 -end)
    1.37 +}
    1.38 +
    1.39 +execute.view {
    1.40 +  module = "issue", view = "_sidebar_whatcanido",
    1.41 +  params = { initiative = initiative }
    1.42 +}
    1.43  
    1.44 -execute.view{
    1.45 -  module = "suggestion",
    1.46 -  view = "show_tab",
    1.47 -  params = {
    1.48 -    suggestion = suggestion
    1.49 +execute.view { 
    1.50 +  module = "issue", view = "_sidebar_members", params = {
    1.51 +    issue = initiative.issue, initiative = initiative
    1.52 +  }
    1.53 +}
    1.54 +
    1.55 +
    1.56 +
    1.57 +execute.view {
    1.58 +  module = "issue", view = "_head", params = {
    1.59 +    issue = initiative.issue
    1.60    }
    1.61  }
    1.62 +
    1.63 +
    1.64 +ui.section( function()
    1.65 +  ui.sectionHead( function()
    1.66 +    ui.link{
    1.67 +      module = "initiative", view = "show", id = initiative.id,
    1.68 +      content = function ()
    1.69 +        ui.heading { 
    1.70 +          level = 1,
    1.71 +          content = initiative.display_name
    1.72 +        }
    1.73 +      end
    1.74 +    }
    1.75 +    ui.heading { level = 2, content = _("Suggestion for improvement #{id}", { id = suggestion.id }) }
    1.76 +  end )
    1.77 +  ui.sectionRow( function()
    1.78 +
    1.79 +    ui.heading{ level = 2, content = suggestion.name }
    1.80 +    if app.session:has_access("authors_pseudonymous") and suggestion.author then 
    1.81 +      util.micro_avatar(suggestion.author)
    1.82 +    end
    1.83 +  end )
    1.84 +  ui.sectionRow( function()
    1.85 +    ui.container{
    1.86 +      attr = { class = "suggestion_content wiki" },
    1.87 +      content = function()
    1.88 +        slot.put(suggestion:get_content("html"))
    1.89 +      end
    1.90 +    }
    1.91 +    
    1.92 +  end )
    1.93 +end )
    1.94 +
    1.95 +ui.section( function()
    1.96 +  ui.sectionHead( function()
    1.97 +    ui.heading { level = 2, content = _"Collective rating" }
    1.98 +  end )
    1.99 +  ui.sectionRow( function()
   1.100 +
   1.101 +    execute.view{
   1.102 +      module = "suggestion",
   1.103 +      view = "_list_element",
   1.104 +      params = {
   1.105 +        suggestions_selector = Suggestion:new_selector():add_where{ "id = ?", suggestion.id },
   1.106 +        initiative = suggestion.initiative,
   1.107 +        show_name = false,
   1.108 +        show_filter = false
   1.109 +      }
   1.110 +    }
   1.111 +  end)
   1.112 +end)
   1.113 +  
   1.114 +if app.session:has_access("all_pseudonymous") then
   1.115 +  ui.section( function()
   1.116 +    ui.sectionHead( function()
   1.117 +      ui.heading { level = 2, content = _"Individual ratings" }
   1.118 +    end )
   1.119 +    ui.sectionRow( function()
   1.120 +
   1.121 +      execute.view{
   1.122 +        module = "opinion",
   1.123 +        view = "_list",
   1.124 +        params = { 
   1.125 +          opinions_selector = Opinion:new_selector()
   1.126 +            :add_where{ "suggestion_id = ?", suggestion.id }
   1.127 +            :join("member", nil, "member.id = opinion.member_id")
   1.128 +            :add_order_by("member.id DESC")
   1.129 +        }
   1.130 +      }
   1.131 +
   1.132 +    end)
   1.133 +  end)
   1.134 +end
   1.135 \ No newline at end of file

Impressum / About Us