liquid_feedback_frontend

view app/main/index/search.lua @ 725:344e5fdce8c9

Fixed public search, made draft history available again
author bsw
date Thu Jun 28 13:52:42 2012 +0200 (2012-06-28)
parents c4b878748205
children ea2449916c12
line source
1 local search_for = param.get("search_for", atom.string) or "global"
2 local search_string = param.get("search", atom.string)
4 if search_string then
5 slot.put_into("title", encode.html(_("Search results for: '#{search}'", { search = search_string })))
6 else
7 slot.put_into("title", encode.html(_"Search"))
8 end
10 ui.form{
11 method = "get", module = "index", view = "search",
12 routing = { default = { mode = "redirect",
13 module = "index", view = "search", search_for = search_for, search = search_string
14 } },
15 attr = { class = "vertical" },
16 content = function()
18 if app.session.member_id or config.public_access == "full" then
19 ui.field.select{
20 label = _"Search context",
21 name = "search_for",
22 value = search_for,
23 foreign_records = {
24 { id = "global", name = _"Global search" },
25 { id = "member", name = _"Search for members" },
26 { id = "issue", name = _"Search for issues" }
27 },
28 foreign_id = "id",
29 foreign_name = "name",
30 }
31 end
32 ui.field.text{ label = _"Search term (only complete words)", name = "search", value = search_string }
33 ui.submit{ value = _"Start search" }
34 end
35 }
37 slot.put("<br />")
39 if search_string then
41 if app.session.member_id or config.public_access == "full" then
42 if search_for == "global" or search_for == "member" then
43 local members_selector = Member:get_search_selector(search_string)
44 execute.view{
45 module = "member",
46 view = "_list",
47 params = { members_selector = members_selector },
48 }
49 end
50 end
52 if search_for == "global" or search_for == "issue" then
53 local issues_selector = Issue:get_search_selector(search_string)
54 execute.view{
55 module = "issue",
56 view = "_list",
57 params = {
58 issues_selector = issues_selector,
59 highlight_string = search_string,
60 no_filter = true
61 },
62 }
63 end
65 end

Impressum / About Us