rev |
line source |
bsw/jbe@0
|
1 local issues_selector = param.get("issues_selector", "table")
|
bsw@459
|
2 local member = param.get("for_member", "table") or app.session.member
|
bsw@459
|
3 local for_member = param.get("for_member", "table")
|
bsw@414
|
4 local for_state = param.get("for_state")
|
bsw@414
|
5 local for_unit = param.get("for_unit", atom.boolean)
|
bsw@414
|
6 local for_area = param.get("for_area", atom.boolean)
|
bsw@414
|
7
|
bsw@414
|
8
|
bsw@414
|
9 if for_state == "open" then
|
bsw@414
|
10 issues_selector:add_where("issue.closed ISNULL")
|
bsw@414
|
11 elseif for_state == "closed" then
|
bsw@414
|
12 issues_selector:add_where("issue.closed NOTNULL")
|
bsw@414
|
13 end
|
bsw/jbe@0
|
14
|
bsw/jbe@19
|
15 ui.add_partial_param_names{
|
bsw/jbe@19
|
16 "filter",
|
bsw/jbe@19
|
17 "filter_open",
|
bsw/jbe@19
|
18 "filter_voting",
|
bsw/jbe@19
|
19 "filter_interest",
|
bsw/jbe@19
|
20 "issue_list"
|
bsw/jbe@19
|
21 }
|
bsw/jbe@0
|
22
|
bsw@414
|
23 local filters = execute.load_chunk{module="issue", chunk="_filters.lua", params = {
|
bsw@459
|
24 member = member, for_member = for_member, state = for_state, for_unit = for_unit, for_area = for_area
|
bsw@414
|
25 }}
|
bsw/jbe@19
|
26
|
bsw/jbe@19
|
27 filters.content = function()
|
bsw@275
|
28 ui.paginate{
|
bsw@422
|
29 per_page = tonumber(param.get("per_page") or 25),
|
bsw/jbe@19
|
30 selector = issues_selector,
|
bsw/jbe@19
|
31 content = function()
|
bsw/jbe@19
|
32 local highlight_string = param.get("highlight_string", "string")
|
bsw@547
|
33 local issues = issues_selector:exec()
|
bsw@551
|
34 issues:load_everything_for_member_id(member and member.id or nil)
|
bsw@547
|
35
|
bsw@273
|
36 ui.container{ attr = { class = "issues" }, content = function()
|
bsw@273
|
37
|
bsw@273
|
38 for i, issue in ipairs(issues) do
|
bsw@273
|
39
|
bsw@547
|
40 execute.view{ module = "issue", view = "_show", params = {
|
bsw@547
|
41 issue = issue, for_listing = true
|
bsw@547
|
42 } }
|
bsw@525
|
43
|
bsw@273
|
44 end
|
bsw@273
|
45 end }
|
bsw/jbe@19
|
46 end
|
bsw/jbe@19
|
47 }
|
bsw/jbe@19
|
48 end
|
bsw/jbe@19
|
49
|
bsw@275
|
50 filters.opened = true
|
bsw/jbe@19
|
51 filters.selector = issues_selector
|
bsw/jbe@19
|
52
|
bsw/jbe@19
|
53 if param.get("no_filter", atom.boolean) then
|
bsw/jbe@19
|
54 filters.content()
|
bsw/jbe@19
|
55 else
|
bsw/jbe@19
|
56 ui.filters(filters)
|
bsw/jbe@19
|
57 end
|