liquid_feedback_frontend

annotate app/main/suggestion/show.lua @ 1478:8c9f7f9152ce

Fixed redirecting after delegation change
author bsw
date Thu Oct 18 17:54:48 2018 +0200 (2018-10-18)
parents f03fbffc1800
children 4188405c2425
rev   line source
bsw/jbe@0 1 local suggestion = Suggestion:by_id(param.get_id())
bsw/jbe@0 2
poelzi@142 3 -- redirect to initiative if suggestion does not exist anymore
poelzi@142 4 if not suggestion then
poelzi@142 5 local initiative_id = param.get('initiative_id', atom.integer)
poelzi@142 6 if initiative_id then
poelzi@142 7 slot.reset_all{except={"notice", "error"}}
poelzi@142 8 request.redirect{
poelzi@142 9 module='initiative',
poelzi@142 10 view='show',
poelzi@142 11 id=initiative_id,
poelzi@142 12 params = { tab = "suggestions" }
poelzi@142 13 }
poelzi@142 14 else
poelzi@142 15 slot.put_into('error', _"Suggestion does not exist anymore")
poelzi@142 16 end
poelzi@142 17 return
poelzi@142 18 end
poelzi@142 19
bsw@1062 20 local initiative = suggestion.initiative
poelzi@142 21
bsw@1062 22 initiative:load_everything_for_member_id(app.session.member_id)
bsw@1062 23 initiative.issue:load_everything_for_member_id(app.session.member_id)
bsw@1062 24
jorges@103 25
bsw@1062 26 execute.view{ module = "issue", view = "_sidebar_state", params = {
bsw@1062 27 initiative = initiative
bsw@1062 28 } }
bsw/jbe@0 29
bsw@1062 30 execute.view {
bsw@1062 31 module = "issue", view = "_sidebar_issue",
bsw@1062 32 params = {
bsw@1062 33 issue = initiative.issue,
bsw@1062 34 highlight_initiative_id = initiative.id
bsw/jbe@6 35 }
bsw@1062 36 }
bsw@1062 37
bsw@1062 38 execute.view {
bsw@1062 39 module = "issue", view = "_sidebar_whatcanido",
bsw@1062 40 params = { initiative = initiative }
bsw@1062 41 }
bsw/jbe@6 42
bsw@1062 43 execute.view {
bsw@1062 44 module = "issue", view = "_sidebar_members", params = {
bsw@1062 45 issue = initiative.issue, initiative = initiative
bsw@1062 46 }
bsw@1062 47 }
bsw@1062 48
bsw@1062 49
bsw@1062 50
bsw@1062 51 execute.view {
bsw@1062 52 module = "issue", view = "_head", params = {
bsw@1062 53 issue = initiative.issue
bsw/jbe@0 54 }
jorges@103 55 }
bsw@1062 56
bsw@1062 57
bsw@1062 58 ui.section( function()
bsw@1062 59 ui.sectionHead( function()
bsw@1062 60 ui.link{
bsw@1062 61 module = "initiative", view = "show", id = initiative.id,
bsw@1062 62 content = function ()
bsw@1062 63 ui.heading {
bsw@1062 64 level = 1,
bsw@1062 65 content = initiative.display_name
bsw@1062 66 }
bsw@1062 67 end
bsw@1062 68 }
bsw@1062 69 ui.heading { level = 2, content = _("Suggestion for improvement #{id}", { id = suggestion.id }) }
bsw@1062 70 end )
bsw@1062 71 ui.sectionRow( function()
bsw@1062 72
bsw@1062 73 ui.heading{ level = 2, content = suggestion.name }
bsw@1062 74 if app.session:has_access("authors_pseudonymous") and suggestion.author then
bsw@1062 75 util.micro_avatar(suggestion.author)
bsw@1062 76 end
bsw@1062 77 end )
bsw@1062 78 ui.sectionRow( function()
bsw@1062 79 ui.container{
bsw@1062 80 attr = { class = "suggestion_content wiki" },
bsw@1062 81 content = function()
bsw@1062 82 slot.put(suggestion:get_content("html"))
bsw@1062 83 end
bsw@1062 84 }
bsw@1062 85
bsw@1062 86 end )
bsw@1062 87 end )
bsw@1062 88
bsw@1062 89 ui.section( function()
bsw@1062 90 ui.sectionHead( function()
bsw@1062 91 ui.heading { level = 2, content = _"Collective rating" }
bsw@1062 92 end )
bsw@1062 93 ui.sectionRow( function()
bsw@1062 94
bsw@1062 95 execute.view{
bsw@1062 96 module = "suggestion",
bsw@1062 97 view = "_list_element",
bsw@1062 98 params = {
bsw@1062 99 suggestions_selector = Suggestion:new_selector():add_where{ "id = ?", suggestion.id },
bsw@1062 100 initiative = suggestion.initiative,
bsw@1062 101 show_name = false,
bsw@1062 102 show_filter = false
bsw@1062 103 }
bsw@1062 104 }
bsw@1062 105 end)
bsw@1062 106 end)
bsw@1062 107
bsw@1062 108 if app.session:has_access("all_pseudonymous") then
bsw@1062 109 ui.section( function()
bsw@1062 110 ui.sectionHead( function()
bsw@1062 111 ui.heading { level = 2, content = _"Individual ratings" }
bsw@1062 112 end )
bsw@1062 113 ui.sectionRow( function()
bsw@1062 114
bsw@1062 115 execute.view{
bsw@1062 116 module = "opinion",
bsw@1062 117 view = "_list",
bsw@1062 118 params = {
bsw@1062 119 opinions_selector = Opinion:new_selector()
bsw@1062 120 :add_where{ "suggestion_id = ?", suggestion.id }
bsw@1062 121 :join("member", nil, "member.id = opinion.member_id")
bsw@1062 122 :add_order_by("member.id DESC")
bsw@1062 123 }
bsw@1062 124 }
bsw@1062 125
bsw@1062 126 end)
bsw@1062 127 end)
bsw@1062 128 end

Impressum / About Us