liquid_feedback_frontend
view app/main/unit/show.lua @ 467:ba9639bcadb0
Fixed errors with top navigation bar in ie9
| author | bsw | 
|---|---|
| date | Wed Mar 14 11:12:26 2012 +0100 (2012-03-14) | 
| parents | 699b9fa7bc36 | 
| children | 63d6549cc00b | 
 line source
     1 local unit_id = config.single_unit_id or param.get_id()
     3 local unit = Unit:by_id(unit_id)
     5 if not config.single_unit_id then
     6   slot.put_into("title", unit.name)
     7 else
     8   slot.put_into("title", encode.html(config.app_title))
     9 end
    11 if config.single_unit_id and not app.session.member_id and config.motd_public then
    12   local help_text = config.motd_public
    13   ui.container{
    14     attr = { class = "wiki motd" },
    15     content = function()
    16       slot.put(format.wiki_text(help_text))
    17     end
    18   }
    19 end
    21 util.help("unit.show", _"Unit")
    23 if app.session.member_id then
    24   execute.view{
    25     module = "delegation",
    26     view = "_show_box",
    27     params = { unit_id = unit_id }
    28   }
    29 end
    32 local areas_selector = Area:build_selector{ active = true, unit_id = unit_id }
    33 areas_selector:add_order_by("member_weight DESC")
    35 local members_selector = Member:build_selector{
    36   active = true,
    37   voting_right_for_unit_id = unit.id
    38 }
    40 local delegations_selector = Delegation:new_selector()
    41   :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
    42   :join("privilege", "truster_privilege", "truster_privilege.member_id = truster.id AND truster_privilege.unit_id = delegation.unit_id AND truster_privilege.voting_right")
    43   :join("member", "trustee", "trustee.id = delegation.trustee_id AND truster.active")
    44   :join("privilege", "trustee_privilege", "trustee_privilege.member_id = trustee.id AND trustee_privilege.unit_id = delegation.unit_id AND trustee_privilege.voting_right")
    45   :add_where{ "delegation.unit_id = ?", unit.id }
    47 local open_issues_selector = Issue:new_selector()
    48   :join("area", nil, "area.id = issue.area_id")
    49   :add_where{ "area.unit_id = ?", unit.id }
    50   :add_where("issue.closed ISNULL")
    51   :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()")
    53 local closed_issues_selector = Issue:new_selector()
    54   :join("area", nil, "area.id = issue.area_id")
    55   :add_where{ "area.unit_id = ?", unit.id }
    56   :add_where("issue.closed NOTNULL")
    57   :add_order_by("issue.closed DESC")
    59 local tabs = {
    60   module = "unit",
    61   view = "show",
    62   id = unit.id
    63 }
    65 tabs[#tabs+1] = {
    66   name = "areas",
    67   label = _"Areas",
    68   module = "area",
    69   view = "_list",
    70   params = { areas_selector = areas_selector }
    71 }
    73 tabs[#tabs+1] = {
    74   name = "timeline",
    75   label = _"Events",
    76   module = "event",
    77   view = "_list",
    78   params = { for_unit = unit }
    79 }
    81 tabs[#tabs+1] = {
    82   name = "open",
    83   label = _"Open issues",
    84   module = "issue",
    85   view = "_list",
    86   params = {
    87     for_state = "open",
    88     issues_selector = open_issues_selector, for_unit = true
    89   }
    90 }
    91 tabs[#tabs+1] = {
    92   name = "closed",
    93   label = _"Closed issues",
    94   module = "issue",
    95   view = "_list",
    96   params = {
    97     for_state = "closed",
    98     issues_selector = closed_issues_selector, for_unit = true
    99   }
   100 }
   102 if app.session.member_id then
   103   tabs[#tabs+1] = {
   104     name = "members",
   105     label = _"Members",
   106     module = "member",
   107     view = "_list",
   108     params = { members_selector = members_selector }
   109   }
   111   tabs[#tabs+1] = {
   112     name = "delegations",
   113     label = _"Delegations",
   114     module = "delegation",
   115     view = "_list",
   116     params = { delegations_selector = delegations_selector }
   117   }
   118 end
   120 ui.tabs(tabs)
