liquid_feedback_frontend
view app/main/area/show.lua @ 925:815995d95962
Do not trim wiki formatted voting comment input
| author | bsw | 
|---|---|
| date | Mon Oct 15 21:43:46 2012 +0200 (2012-10-15) | 
| parents | cf0b64e101d9 | 
| children | 701a5cf6b067 | 
 line source
     1 local area = Area:by_id(param.get_id())
     4 app.html_title.title = area.name
     5 app.html_title.subtitle = _("Area")
     7 util.help("area.show")
     9 slot.select("head", function()
    10   execute.view{ module = "area", view = "_head", params = { area = area, show_content = true, member = app.session.member } }
    11 end)
    13 ui.container{
    14   attr = { class = "vertical"},
    15   content = function()
    16     ui.field.text{ value = area.description }
    17   end
    18 }
    20 local open_issues_selector = area:get_reference_selector("issues")
    21   :add_where("issue.closed ISNULL")
    22   :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()")
    24 local closed_issues_selector = area:get_reference_selector("issues")
    25   :add_where("issue.closed NOTNULL")
    26   :add_order_by("issue.closed DESC")
    28 local members_selector = area:get_reference_selector("members"):add_where("member.active")
    29 local delegations_selector = area:get_reference_selector("delegations")
    30   :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
    31   :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active")
    33 local tabs = {
    34   module = "area",
    35   view = "show_tab",
    36   static_params = { area_id = area.id },
    37 }
    39 tabs[#tabs+1] = {
    40   name = "timeline",
    41   label = _"Latest events",
    42   module = "event",
    43   view = "_list",
    44   params = { for_area = area }
    45 }
    47 tabs[#tabs+1] = {
    48   name = "open",
    49   label = _"Open issues",
    50   module = "issue",
    51   view = "_list",
    52   params = {
    53     for_state = "open",
    54     issues_selector = open_issues_selector, for_area = true
    55   }
    56 }
    57 tabs[#tabs+1] = {
    58   name = "closed",
    59   label = _"Closed issues",
    60   module = "issue",
    61   view = "_list",
    62   params = {
    63     for_state = "closed",
    64     issues_selector = closed_issues_selector, for_area = true
    65   }
    66 }
    68 if app.session:has_access("all_pseudonymous") then
    69   tabs[#tabs+1] =
    70     {
    71       name = "members",
    72       label = _"Participants" .. " (" .. tostring(members_selector:count()) .. ")",
    73       icon = { static = "icons/16/group.png" },
    74       module = "member",
    75       view = "_list",
    76       params = { members_selector = members_selector }
    77     }
    79   tabs[#tabs+1] =
    80     {
    81       name = "delegations",
    82       label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")",
    83       icon = { static = "icons/16/table_go.png" },
    84       module = "delegation",
    85       view = "_list",
    86       params = { delegations_selector = delegations_selector }
    87     }
    88 end
    90 ui.tabs(tabs)
