annotate app/main/issue/show_tab.lua @ 624:0c756a7fb8e7
More optical enhancements...
 | author | 
 bsw | 
 | date | 
 Mon Jun 25 16:34:47 2012 +0200 (2012-06-25) | 
 | parents | 
 4cee33ad5e16  | 
 | children | 
  | 
 
 | 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@527
 | 
    21 if app.session.member_id or config.public_access == "full" then
 | 
| 
bsw@51
 | 
    22   tabs[#tabs+1] =
 | 
| 
bsw@51
 | 
    23     {
 | 
| 
bsw@51
 | 
    24       name = "interested_members",
 | 
| 
bsw@525
 | 
    25       label = _"Interested" .. " (" .. tostring(interested_members_selector:count()) .. ")" ,
 | 
| 
bsw@51
 | 
    26       module = "member",
 | 
| 
bsw@51
 | 
    27       view = "_list",
 | 
| 
bsw@51
 | 
    28       params = {
 | 
| 
bsw@51
 | 
    29         issue = issue,
 | 
| 
bsw@51
 | 
    30         members_selector = interested_members_selector
 | 
| 
bsw@51
 | 
    31       }
 | 
| 
bsw/jbe@19
 | 
    32     }
 | 
| 
bsw@51
 | 
    33 
 | 
| 
bsw@51
 | 
    34   tabs[#tabs+1] =
 | 
| 
bsw@51
 | 
    35     {
 | 
| 
bsw@51
 | 
    36       name = "delegations",
 | 
| 
bsw@51
 | 
    37       label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")" ,
 | 
| 
bsw@51
 | 
    38       module = "delegation",
 | 
| 
bsw@51
 | 
    39       view = "_list",
 | 
| 
bsw@51
 | 
    40       params = { delegations_selector = delegations_selector }
 | 
| 
bsw@51
 | 
    41     }
 | 
| 
bsw@51
 | 
    42 end
 | 
| 
bsw@51
 | 
    43 
 | 
| 
bsw@51
 | 
    44 tabs[#tabs+1] =
 | 
| 
bsw/jbe@19
 | 
    45   {
 | 
| 
bsw/jbe@19
 | 
    46     name = "details",
 | 
| 
bsw/jbe@19
 | 
    47     label = _"Details",
 | 
| 
bsw/jbe@19
 | 
    48     module = "issue",
 | 
| 
bsw/jbe@19
 | 
    49     view = "_details",
 | 
| 
bsw/jbe@19
 | 
    50     params = { issue = issue }
 | 
| 
bsw@51
 | 
    51   }
 | 
| 
bsw@525
 | 
    52   
 | 
| 
bsw@527
 | 
    53 if config.etherpad and app.session.member_id then
 | 
| 
bsw@525
 | 
    54   tabs[#tabs+1] =
 | 
| 
bsw@525
 | 
    55     {
 | 
| 
bsw@525
 | 
    56       name = "pad",
 | 
| 
bsw@525
 | 
    57       label = _"Pad",
 | 
| 
bsw@525
 | 
    58       module = "issue",
 | 
| 
bsw@525
 | 
    59       view = "_pad",
 | 
| 
bsw@525
 | 
    60       params = { issue = issue }
 | 
| 
bsw@525
 | 
    61     }
 | 
| 
bsw@525
 | 
    62 end
 | 
| 
bsw@51
 | 
    63 
 | 
| 
bsw@51
 | 
    64 ui.tabs(tabs)
 | 
| 
bsw/jbe@19
 | 
    65 
 | 
| 
bsw/jbe@19
 | 
    66 
 |