# HG changeset patch # User Daniel Poelzleithner # Date 1286374734 -7200 # Node ID 44ba7995261043f741c8f726997d42a91467e070 # Parent 20e0b64cc1f9e718fe0ae8e11bcbb84489f130d8 redirect to initiative if suggestion got deleted when changing to neutral fixes bug #240 diff -r 20e0b64cc1f9 -r 44ba79952610 app/main/suggestion/_list.lua --- a/app/main/suggestion/_list.lua Wed Oct 06 14:34:45 2010 +0200 +++ b/app/main/suggestion/_list.lua Wed Oct 06 16:18:54 2010 +0200 @@ -158,12 +158,16 @@ } end else + -- we need to put initiative_id into the parameters to have a redirect target in case the suggestion is gone after the action + params = param.get_all_cgi() + params['initiative_id'] = initiative.id + ui.link{ attr = { class = "action" .. (degree == 2 and " active_green2" or "") }, text = _"must", module = "opinion", action = "update", - routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, + routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = params } }, params = { suggestion_id = record.id, degree = 2 @@ -176,7 +180,7 @@ text = _"should", module = "opinion", action = "update", - routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, + routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = params} }, params = { suggestion_id = record.id, degree = 1 @@ -189,7 +193,7 @@ text = _"neutral", module = "opinion", action = "update", - routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, + routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = params } }, params = { suggestion_id = record.id, delete = true @@ -202,7 +206,7 @@ text = _"should not", module = "opinion", action = "update", - routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, + routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = params } }, params = { suggestion_id = record.id, degree = -1 @@ -215,7 +219,7 @@ text = _"must not", module = "opinion", action = "update", - routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, + routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = params } }, params = { suggestion_id = record.id, degree = -2 diff -r 20e0b64cc1f9 -r 44ba79952610 app/main/suggestion/show.lua --- a/app/main/suggestion/show.lua Wed Oct 06 14:34:45 2010 +0200 +++ b/app/main/suggestion/show.lua Wed Oct 06 16:18:54 2010 +0200 @@ -1,5 +1,23 @@ local suggestion = Suggestion:by_id(param.get_id()) +-- redirect to initiative if suggestion does not exist anymore +if not suggestion then + local initiative_id = param.get('initiative_id', atom.integer) + if initiative_id then + slot.reset_all{except={"notice", "error"}} + request.redirect{ + module='initiative', + view='show', + id=initiative_id, + params = { tab = "suggestions" } + } + else + slot.put_into('error', _"Suggestion does not exist anymore") + end + return +end + + app.html_title.title = suggestion.name app.html_title.subtitle = _("Suggestion ##{id}", { id = suggestion.id })