# HG changeset patch # User bsw # Date 1330355357 -3600 # Node ID c695e2e2bb8778b070e1367472a04ee873c9e442 # Parent aebddf876f67d599d8fa58f89751f3196f771e21 Added membership/privilege filter to issue filters diff -r aebddf876f67 -r c695e2e2bb87 app/main/issue/_filters.lua --- a/app/main/issue/_filters.lua Sun Feb 26 22:29:52 2012 +0100 +++ b/app/main/issue/_filters.lua Mon Feb 27 16:09:17 2012 +0100 @@ -224,6 +224,32 @@ } end +if member then + filters[#filters+1] = { + name = "filter_membership", + { + name = "any", + label = _"All units", + selector_modifier = function() end + }, + { + name = "unit", + label = _"My units", + selector_modifier = function(selector) + selector:join("area", nil, "area.id = issue.area_id") + selector:join("privilege", nil, { "privilege.unit_id = area.unit_id AND privilege.member_id = ? AND privilege.voting_right", member.id }) + end + }, + { + name = "area", + label = _"My areas", + selector_modifier = function(selector) + selector:join("membership", nil, { "membership.area_id = issue.area_id AND membership.member_id = ?", member.id }) + end + }, + } +end + function filters:get_filter(group, name) for i,grp in ipairs(self) do if grp.name == group then