liquid_feedback_frontend
annotate app/main/timeline/_action/update.lua @ 156:74f1d4abf19e
fix that bailout can not be seen after the vote
linkify title
linkify title
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Fri Oct 08 20:06:23 2010 +0200 (2010-10-08) |
parents | 90520c9fca44 |
children | 3d0b6f87d8e5 |
rev | line source |
---|---|
bsw@11 | 1 execute.view{ |
bsw@11 | 2 module = "timeline", |
bsw@11 | 3 view = "_constants" |
bsw@11 | 4 } |
bsw@11 | 5 |
bsw@11 | 6 local options_string = param.get("options_string") |
bsw@11 | 7 |
bsw@11 | 8 if not options_string then |
bsw@11 | 9 local active_options = "" |
bsw@11 | 10 for event_ident, event_name in pairs(event_names) do |
bsw@11 | 11 if param.get("option_" .. event_ident, atom.boolean) then |
bsw@11 | 12 active_options = active_options .. event_ident .. ":" |
bsw@11 | 13 local filter_idents = {} |
bsw@11 | 14 for filter_ident, filter_name in pairs(filter_names) do |
bsw@11 | 15 if param.get("option_" .. event_ident .. "_" .. filter_ident, atom.boolean) then |
bsw@11 | 16 filter_idents[#filter_idents+1] = filter_ident |
bsw@11 | 17 end |
bsw@11 | 18 end |
bsw@11 | 19 if #filter_idents > 0 then |
bsw@11 | 20 active_options = active_options .. table.concat(filter_idents, "|") .. " " |
bsw@11 | 21 else |
bsw@11 | 22 active_options = active_options .. "* " |
bsw@11 | 23 end |
bsw@11 | 24 end |
bsw@11 | 25 end |
bsw@11 | 26 if #active_options > 0 then |
bsw@11 | 27 options_string = active_options |
bsw@11 | 28 end |
bsw@11 | 29 end |
bsw@11 | 30 |
poelzi@145 | 31 if param.get_list("option_ignore_area", atom.string) then |
poelzi@145 | 32 options_string = options_string.." ignore_area:"..table.concat(param.get_list("option_ignore_area", atom.string), "|") |
poelzi@145 | 33 end |
poelzi@145 | 34 |
bsw@11 | 35 if not options_string then |
bsw@11 | 36 options_string = "issue_created:* issue_finished_after_voting:* issue_accepted:* issue_voting_started:* suggestion_created:* issue_canceled:* initiative_created:* issue_finished_without_voting:* draft_created:* initiative_revoked:* issue_half_frozen:* " |
bsw@11 | 37 end |
bsw@11 | 38 |
bsw@11 | 39 local setting_key = "liquidfeedback_frontend_timeline_current_options" |
bsw@11 | 40 local setting = Setting:by_pk(app.session.member.id, setting_key) |
bsw@11 | 41 |
bsw@11 | 42 if not setting or setting.value ~= options_string then |
bsw@11 | 43 if not setting then |
bsw@11 | 44 setting = Setting:new() |
bsw@11 | 45 setting.member_id = app.session.member_id |
bsw@11 | 46 setting.key = setting_key |
bsw@11 | 47 end |
bsw@11 | 48 if options_string then |
bsw@11 | 49 setting.value = options_string |
bsw@11 | 50 setting:save() |
bsw@11 | 51 end |
bsw@11 | 52 end |
bsw@11 | 53 |
bsw@11 | 54 local date = param.get("date") |
bsw/jbe@19 | 55 |
bsw/jbe@19 | 56 if param.get("search_from") == "last_24h" then |
bsw/jbe@19 | 57 date = "last_24h" |
bsw/jbe@19 | 58 end |
bsw@11 | 59 |
bsw@11 | 60 if date and #date > 0 then |
bsw@11 | 61 local setting_key = "liquidfeedback_frontend_timeline_current_date" |
bsw@11 | 62 local setting = Setting:by_pk(app.session.member.id, setting_key) |
bsw@11 | 63 if not setting or setting.value ~= date then |
bsw@11 | 64 if not setting then |
bsw@11 | 65 setting = Setting:new() |
bsw@11 | 66 setting.member_id = app.session.member.id |
bsw@11 | 67 setting.key = setting_key |
bsw@11 | 68 end |
bsw@11 | 69 setting.value = date |
bsw@11 | 70 setting:save() |
bsw@11 | 71 end |
bsw@11 | 72 end |
bsw@11 | 73 |
bsw@11 | 74 local setting_key = "liquidfeedback_frontend_timeline_current_options" |
bsw@11 | 75 local setting = Setting:by_pk(app.session.member.id, setting_key) |
bsw@11 | 76 |
bsw@11 | 77 local timeline_params = {} |
bsw@11 | 78 if setting and setting.value then |
bsw@11 | 79 for event_ident, filter_idents in setting.value:gmatch("(%S+):(%S+)") do |
bsw@11 | 80 timeline_params["option_" .. event_ident] = true |
bsw@11 | 81 if filter_idents ~= "*" then |
bsw@11 | 82 for filter_ident in filter_idents:gmatch("([^\|]+)") do |
bsw@11 | 83 timeline_params["option_" .. event_ident .. "_" .. filter_ident] = true |
bsw@11 | 84 end |
bsw@11 | 85 end |
bsw@11 | 86 end |
bsw@11 | 87 end |
bsw@11 | 88 |
bsw@11 | 89 local setting_key = "liquidfeedback_frontend_timeline_current_date" |
bsw@11 | 90 local setting = Setting:by_pk(app.session.member.id, setting_key) |
bsw@11 | 91 |
bsw@11 | 92 if setting then |
bsw@11 | 93 timeline_params.date = setting.value |
bsw@11 | 94 end |
bsw@11 | 95 |
bsw@11 | 96 timeline_params.show_options = param.get("show_options", atom.boolean) |
bsw@11 | 97 |
bsw@11 | 98 if param.get("save", atom.boolean) then |
bsw@11 | 99 request.redirect{ |
bsw@11 | 100 module = "timeline", |
poelzi@144 | 101 view = "save_filter", |
poelzi@144 | 102 params = { |
poelzi@144 | 103 current_name = param.get("current_name") |
poelzi@144 | 104 } |
bsw@11 | 105 } |
bsw@11 | 106 else |
bsw@11 | 107 request.redirect{ |
bsw@11 | 108 module = "timeline", |
bsw@11 | 109 view = "index", |
bsw@11 | 110 params = timeline_params |
bsw@11 | 111 } |
bsw@11 | 112 end |