liquid_feedback_frontend
view app/main/index/search.lua @ 577:fd41ff8d9563
Fixed display of turned off delegations in delegation form
| author | bsw | 
|---|---|
| date | Wed Jun 20 00:24:36 2012 +0200 (2012-06-20) | 
| parents | af496baa9bda | 
| children | c4b878748205 | 
 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()
    17     ui.field.select{
    18       label = _"Search context",
    19       name = "search_for",
    20       value = search_for,
    21       foreign_records = {
    22         { id = "global", name = _"Global search" },
    23         { id = "member", name = _"Search for members" },
    24         { id = "issue", name = _"Search for issues" },
    25         { id = "initiative", name = _"Search for initiatives" },
    26       },
    27       foreign_id = "id",
    28       foreign_name = "name",
    29     }
    30     ui.field.text{ label = _"Search term (only complete words)", name = "search", value = search_string }
    31     ui.submit{ value = _"Start search" }
    32   end
    33 }
    35 slot.put("<br />")
    37 if search_string then
    39   if search_for == "global" or search_for == "member" then
    40     local members_selector = Member:get_search_selector(search_string)
    41     execute.view{
    42       module = "member",
    43       view = "_list",
    44       params = { members_selector = members_selector },
    45     }
    46   end
    48   if search_for == "global" or search_for == "initiative" then
    49     local initiatives_selector = Initiative:get_search_selector(search_string)
    50     execute.view{
    51       module = "initiative",
    52       view = "_list",
    53       params = { initiatives_selector = initiatives_selector },
    54     }
    55   end
    57   if search_for == "issue" then
    58     local issues_selector = Issue:get_search_selector(search_string)
    59     execute.view{
    60       module = "issue",
    61       view = "_list",
    62       params = {
    63         issues_selector = issues_selector,
    64         highlight_string = search_string,
    65         no_filter = true
    66       },
    67     }
    68   end
    70 end
