| 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 voting_requested_percentage = 0
 | 
| 
bsw/jbe@19
 | 
     9 if issue.vote_later and issue.population and issue.population > 0 then
 | 
| 
bsw/jbe@19
 | 
    10   voting_requested_percentage = math.ceil(issue.vote_later  / issue.population * 100)
 | 
| 
bsw/jbe@19
 | 
    11 end
 | 
| 
bsw/jbe@19
 | 
    12 
 | 
| 
bsw/jbe@19
 | 
    13 local interested_members_selector = issue:get_reference_selector("interested_members_snapshot")
 | 
| 
bsw/jbe@19
 | 
    14   :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id")
 | 
| 
bsw/jbe@19
 | 
    15   :add_field("direct_interest_snapshot.weight")
 | 
| 
bsw/jbe@19
 | 
    16   :add_where("direct_interest_snapshot.event = issue.latest_snapshot_event")
 | 
| 
bsw/jbe@19
 | 
    17 
 | 
| 
bsw/jbe@19
 | 
    18 local voting_requests_selector = issue:get_reference_selector("interested_members_snapshot")
 | 
| 
bsw/jbe@19
 | 
    19   :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id")
 | 
| 
bsw/jbe@19
 | 
    20   :add_where("direct_interest_snapshot.voting_requested = false")
 | 
| 
bsw@41
 | 
    21   :add_where("direct_interest_snapshot.event = issue.latest_snapshot_event")
 | 
| 
bsw/jbe@19
 | 
    22 
 | 
| 
bsw/jbe@19
 | 
    23 local delegations_selector = issue:get_reference_selector("delegations")
 | 
| 
bsw/jbe@19
 | 
    24 
 | 
| 
bsw/jbe@19
 | 
    25 
 | 
| 
bsw/jbe@19
 | 
    26 ui.tabs{
 | 
| 
bsw/jbe@19
 | 
    27   module = "issue",
 | 
| 
bsw/jbe@19
 | 
    28   view = "show_tab",
 | 
| 
bsw/jbe@19
 | 
    29   static_params = { issue_id = issue.id },
 | 
| 
bsw/jbe@19
 | 
    30   {
 | 
| 
bsw/jbe@19
 | 
    31     name = "interested_members",
 | 
| 
bsw/jbe@19
 | 
    32     label = _"Interested members" .. " (" .. tostring(interested_members_selector:count()) .. ")" ,
 | 
| 
bsw/jbe@19
 | 
    33     icon = { static = "icons/16/eye.png" },
 | 
| 
bsw/jbe@19
 | 
    34     module = "member",
 | 
| 
bsw/jbe@19
 | 
    35     view = "_list",
 | 
| 
bsw/jbe@19
 | 
    36     params = {
 | 
| 
bsw/jbe@19
 | 
    37       issue = issue,
 | 
| 
bsw/jbe@19
 | 
    38       members_selector = interested_members_selector
 | 
| 
bsw/jbe@19
 | 
    39     }
 | 
| 
bsw/jbe@19
 | 
    40   },
 | 
| 
bsw/jbe@19
 | 
    41   {
 | 
| 
bsw/jbe@19
 | 
    42     name = "voting_requests",
 | 
| 
bsw/jbe@19
 | 
    43     label = _"Vote later requests" .. " (" .. tostring(voting_requests_selector:count()) .. ") (" .. tostring(voting_requested_percentage) ..  "%)",
 | 
| 
bsw/jbe@19
 | 
    44     icon = { static = "icons/16/clock_play.png" },
 | 
| 
bsw/jbe@19
 | 
    45     module = "member",
 | 
| 
bsw/jbe@19
 | 
    46     view = "_list",
 | 
| 
bsw/jbe@19
 | 
    47     params = {
 | 
| 
bsw/jbe@19
 | 
    48       issue = issue,
 | 
| 
bsw/jbe@19
 | 
    49       members_selector = voting_requests_selector
 | 
| 
bsw/jbe@19
 | 
    50     }
 | 
| 
bsw/jbe@19
 | 
    51   },
 | 
| 
bsw/jbe@19
 | 
    52   {
 | 
| 
bsw/jbe@19
 | 
    53     name = "delegations",
 | 
| 
bsw/jbe@19
 | 
    54     label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")" ,
 | 
| 
bsw/jbe@19
 | 
    55     icon = { static = "icons/16/table_go.png" },
 | 
| 
bsw/jbe@19
 | 
    56     module = "delegation",
 | 
| 
bsw/jbe@19
 | 
    57     view = "_list",
 | 
| 
bsw/jbe@19
 | 
    58     params = { delegations_selector = delegations_selector }
 | 
| 
bsw/jbe@19
 | 
    59   },
 | 
| 
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/jbe@19
 | 
    67   },
 | 
| 
bsw/jbe@19
 | 
    68 }
 | 
| 
bsw/jbe@19
 | 
    69 
 | 
| 
bsw/jbe@19
 | 
    70 
 |