liquid_feedback_frontend

annotate app/main/area/_head.lua @ 525:63d6549cc00b

Delegation chain preview improved, better visualisation of current context, code cleanup
author bsw
date Fri May 18 19:07:07 2012 +0200 (2012-05-18)
parents
children 18cd8595459b
rev   line source
bsw@525 1 local area = param.get("area", "table")
bsw@525 2
bsw@525 3 execute.view{ module = "unit", view = "_head", params = { unit = area.unit } }
bsw@525 4
bsw@525 5 slot.select("head", function()
bsw@525 6
bsw@525 7 ui.container{ attr = { class = "area_head" }, content = function()
bsw@525 8
bsw@525 9 execute.view{ module = "delegation", view = "_info", params = { area = area } }
bsw@525 10
bsw@525 11 ui.container{ attr = { class = "title" }, content = function()
bsw@525 12 -- area name
bsw@525 13 ui.link{
bsw@525 14 module = "area", view = "show", id = area.id,
bsw@525 15 attr = { class = "area_name" }, content = area.name
bsw@525 16 }
bsw@525 17 end }
bsw@525 18
bsw@525 19 ui.container{ attr = { class = "content" }, content = function()
bsw@525 20
bsw@525 21 -- actions (members with appropriate voting right only)
bsw@525 22 if app.session.member_id then
bsw@525 23
bsw@525 24 -- membership
bsw@525 25 local membership = Membership:by_pk(area.id, app.session.member.id)
bsw@525 26
bsw@525 27 if membership then
bsw@525 28
bsw@525 29 ui.tag{ content = _"You are member" }
bsw@525 30
bsw@525 31 slot.put(" ")
bsw@525 32
bsw@525 33 ui.tag{ content = function()
bsw@525 34 slot.put("(")
bsw@525 35 ui.link{
bsw@525 36 text = _"Withdraw",
bsw@525 37 module = "membership",
bsw@525 38 action = "update",
bsw@525 39 params = { area_id = area.id, delete = true },
bsw@525 40 routing = { default = { mode = "redirect", module = "area", view = "show", id = area.id } }
bsw@525 41 }
bsw@525 42 slot.put(")")
bsw@525 43 end }
bsw@525 44
bsw@525 45 slot.put(" · ")
bsw@525 46
bsw@525 47 elseif app.session.member:has_voting_right_for_unit_id(area.unit_id) then
bsw@525 48 ui.link{
bsw@525 49 text = _"Become a member",
bsw@525 50 module = "membership",
bsw@525 51 action = "update",
bsw@525 52 params = { area_id = area.id },
bsw@525 53 routing = {
bsw@525 54 default = {
bsw@525 55 mode = "redirect",
bsw@525 56 module = "area",
bsw@525 57 view = "show",
bsw@525 58 id = area.id
bsw@525 59 }
bsw@525 60 }
bsw@525 61 }
bsw@525 62
bsw@525 63 slot.put(" · ")
bsw@525 64
bsw@525 65 end
bsw@525 66
bsw@525 67 -- create new issue
bsw@525 68 if app.session.member:has_voting_right_for_unit_id(area.unit_id) then
bsw@525 69 ui.link{
bsw@525 70 content = function()
bsw@525 71 slot.put(_"Create new issue")
bsw@525 72 end,
bsw@525 73 module = "initiative",
bsw@525 74 view = "new",
bsw@525 75 params = { area_id = area.id }
bsw@525 76 }
bsw@525 77 end
bsw@525 78
bsw@525 79 end
bsw@525 80
bsw@525 81 end }
bsw@525 82
bsw@525 83 end }
bsw@525 84
bsw@525 85 end)

Impressum / About Us