annotate app/main/issue/show_tab.lua @ 297:c4dd225578d4
Show only member with voting rights in unit for delegation
 | author | 
 bsw | 
 | date | 
 Sat Feb 25 22:25:46 2012 +0100 (2012-02-25) | 
 | parents | 
 7196685f9dd7  | 
 | children | 
 2c977a63edeb  | 
 
 | rev | 
   line source | 
| 
bsw/jbe@19
 | 
     1 local issue
 | 
| 
bsw/jbe@19
 | 
     2 if request.get_json_request_slots() then
 | 
| 
bsw/jbe@19
 | 
     3   issue = Issue:by_id(param.get("issue_id"))
 | 
| 
bsw/jbe@19
 | 
     4 else
 | 
| 
bsw/jbe@19
 | 
     5   issue = param.get("issue", "table")
 | 
| 
bsw/jbe@19
 | 
     6 end
 | 
| 
bsw/jbe@19
 | 
     7 
 | 
| 
bsw/jbe@19
 | 
     8 local interested_members_selector = issue:get_reference_selector("interested_members_snapshot")
 | 
| 
bsw/jbe@19
 | 
     9   :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id")
 | 
| 
bsw/jbe@19
 | 
    10   :add_field("direct_interest_snapshot.weight")
 | 
| 
bsw/jbe@19
 | 
    11   :add_where("direct_interest_snapshot.event = issue.latest_snapshot_event")
 | 
| 
bsw/jbe@19
 | 
    12 
 | 
| 
bsw/jbe@19
 | 
    13 local delegations_selector = issue:get_reference_selector("delegations")
 | 
| 
bsw/jbe@19
 | 
    14 
 | 
| 
bsw@51
 | 
    15 local tabs = {
 | 
| 
bsw/jbe@19
 | 
    16   module = "issue",
 | 
| 
bsw/jbe@19
 | 
    17   view = "show_tab",
 | 
| 
bsw/jbe@19
 | 
    18   static_params = { issue_id = issue.id },
 | 
| 
bsw@51
 | 
    19 }
 | 
| 
bsw@51
 | 
    20 
 | 
| 
bsw@273
 | 
    21 tabs[#tabs+1] =
 | 
| 
bsw@273
 | 
    22   {
 | 
| 
bsw@273
 | 
    23     name = "initiatives",
 | 
| 
bsw@273
 | 
    24     label = _"Initiatives",
 | 
| 
bsw@273
 | 
    25     icon = { static = "icons/16/script.png" },
 | 
| 
bsw@273
 | 
    26     module = "issue",
 | 
| 
bsw@273
 | 
    27     view = "_list_initiatives",
 | 
| 
bsw@273
 | 
    28     params = {
 | 
| 
bsw@273
 | 
    29       issue = issue
 | 
| 
bsw@273
 | 
    30     }
 | 
| 
bsw@273
 | 
    31   }
 | 
| 
bsw@273
 | 
    32 
 | 
| 
bsw@273
 | 
    33     
 | 
| 
bsw@51
 | 
    34 if app.session.member_id then
 | 
| 
bsw@51
 | 
    35   tabs[#tabs+1] =
 | 
| 
bsw@51
 | 
    36     {
 | 
| 
bsw@51
 | 
    37       name = "interested_members",
 | 
| 
bsw@51
 | 
    38       label = _"Interested members" .. " (" .. tostring(interested_members_selector:count()) .. ")" ,
 | 
| 
bsw@51
 | 
    39       icon = { static = "icons/16/eye.png" },
 | 
| 
bsw@51
 | 
    40       module = "member",
 | 
| 
bsw@51
 | 
    41       view = "_list",
 | 
| 
bsw@51
 | 
    42       params = {
 | 
| 
bsw@51
 | 
    43         issue = issue,
 | 
| 
bsw@51
 | 
    44         members_selector = interested_members_selector
 | 
| 
bsw@51
 | 
    45       }
 | 
| 
bsw/jbe@19
 | 
    46     }
 | 
| 
bsw@51
 | 
    47 
 | 
| 
bsw@51
 | 
    48   tabs[#tabs+1] =
 | 
| 
bsw@51
 | 
    49     {
 | 
| 
bsw@51
 | 
    50       name = "delegations",
 | 
| 
bsw@51
 | 
    51       label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")" ,
 | 
| 
bsw@51
 | 
    52       icon = { static = "icons/16/table_go.png" },
 | 
| 
bsw@51
 | 
    53       module = "delegation",
 | 
| 
bsw@51
 | 
    54       view = "_list",
 | 
| 
bsw@51
 | 
    55       params = { delegations_selector = delegations_selector }
 | 
| 
bsw@51
 | 
    56     }
 | 
| 
bsw@51
 | 
    57 end
 | 
| 
bsw@51
 | 
    58 
 | 
| 
bsw@51
 | 
    59 tabs[#tabs+1] =
 | 
| 
bsw/jbe@19
 | 
    60   {
 | 
| 
bsw/jbe@19
 | 
    61     name = "details",
 | 
| 
bsw/jbe@19
 | 
    62     label = _"Details",
 | 
| 
bsw/jbe@19
 | 
    63     icon = { static = "icons/16/magnifier.png" },
 | 
| 
bsw/jbe@19
 | 
    64     module = "issue",
 | 
| 
bsw/jbe@19
 | 
    65     view = "_details",
 | 
| 
bsw/jbe@19
 | 
    66     params = { issue = issue }
 | 
| 
bsw@51
 | 
    67   }
 | 
| 
bsw@51
 | 
    68 
 | 
| 
bsw@51
 | 
    69 ui.tabs(tabs)
 | 
| 
bsw/jbe@19
 | 
    70 
 | 
| 
bsw/jbe@19
 | 
    71 
 |