liquid_feedback_frontend

annotate app/main/index/search.lua @ 1508:64b0e610fe8e

Fixed search by role to member API endpoint
author bsw
date Fri Jul 31 12:38:37 2020 +0200 (2020-07-31)
parents 6b4deab5160a
children
rev   line source
bsw/jbe@19 1 local search_for = param.get("search_for", atom.string) or "global"
bsw@1045 2 local search_string = param.get("q", atom.string)
bsw/jbe@0 3
bsw@480 4 if search_string then
bsw@1045 5 ui.title ( _("Search results for: '#{search}'", { search = search_string } ) )
bsw@480 6 else
bsw@1045 7 ui.title ( _"Search" )
bsw/jbe@0 8 end
bsw/jbe@0 9
bsw@1493 10 ui.grid{ content = function()
bsw@1493 11 ui.cell_main{ content = function()
bsw@1493 12
bsw@1493 13 if not search_string then
bsw@1493 14 return
bsw@1493 15 end
bsw@1493 16
bsw@1493 17 local issues_selector = Issue:get_search_selector(search_string)
bsw@1493 18 local count = issues_selector:count()
bsw@1493 19 local text
bsw@1493 20 if count == 0 then
bsw@1493 21 text = _"No matching issues found"
bsw@1493 22 elseif count == 1 then
bsw@1493 23 text = _"1 matching issue found"
bsw@1493 24 else
bsw@1493 25 text = _"#{count} matching issues found"
bsw@1493 26 end
bsw@1493 27
bsw@1493 28 ui.section( function()
bsw@1493 29 ui.sectionHead( function()
bsw@1493 30 ui.heading { level = 1, content = _(text, { count = count }) }
bsw@1493 31 end )
bsw@1493 32 if count > 0 then
bsw@1493 33 execute.view{
bsw@1493 34 module = "issue",
bsw@1493 35 view = "_list",
bsw@1493 36 params = {
bsw@1493 37 search = search_string,
bsw@1493 38 no_filter = true
bsw@1493 39 },
bsw@1493 40 }
bsw@1493 41 end
bsw@1045 42 end)
bsw@1493 43
bsw@1493 44 slot.put("<br />")
bsw@480 45
bsw@1493 46 local members_selector = Member:get_search_selector(search_string)
bsw@1493 47 local count = members_selector:count()
bsw@1493 48 local text
bsw@1493 49 if count == 0 then
bsw@1493 50 text = _"No matching members found"
bsw@1493 51 elseif count == 1 then
bsw@1493 52 text = _"1 matching member found"
bsw@1493 53 else
bsw@1493 54 text = _"#{count} matching members found"
bsw@1493 55 end
bsw@1493 56 if app.session:has_access("everything") then
bsw@1493 57 ui.section( function()
bsw@1493 58 ui.sectionHead( function()
bsw@1493 59 ui.heading { level = 1, content = _(text, { count = count }) }
bsw@1493 60 end )
bsw@1493 61 if count > 0 then
bsw@1493 62 execute.view{
bsw@1493 63 module = "member",
bsw@1493 64 view = "_list",
bsw@1493 65 params = {
bsw@1493 66 members_selector = members_selector,
bsw@1493 67 no_filter = true
bsw@1493 68 },
bsw@1493 69 }
bsw@1493 70 end
bsw@1493 71 end )
bsw@1493 72 end
bsw@1045 73
bsw/jbe@19 74
bsw@1493 75 end }
bsw@1493 76 end }

Impressum / About Us