Commit fb7ddece50f690b437b2a22474003dcdc8d3695d
1 parent
b853d6c3
Exists in
master
and in
27 other branches
[publish] Fixes last cucumber tests
Now all tests pass. A couple aditional changes: - Replacing flash notice for session notice; - Cancel a task if it fails. A task can fail for many reasons, including for validation, so I thought it would make sense to cancel a task to publish an article if it fails. For example if the title is too big validation will fail, the task will fail and the user will get a message saying publish request couldn't be sent, so naturally the user will try to publish again, hopefully this time succeding.
Showing
1 changed file
with
9 additions
and
3 deletions
Show diff stats
app/controllers/my_profile/cms_controller.rb
@@ -274,6 +274,7 @@ class CmsController < MyProfileController | @@ -274,6 +274,7 @@ class CmsController < MyProfileController | ||
274 | task.finish | 274 | task.finish |
275 | rescue Exception => ex | 275 | rescue Exception => ex |
276 | @failed[ex.message] ? @failed[ex.message] << @article.name : @failed[ex.message] = [@article.name] | 276 | @failed[ex.message] ? @failed[ex.message] << @article.name : @failed[ex.message] = [@article.name] |
277 | + task.cancel | ||
277 | end | 278 | end |
278 | if @failed.blank? | 279 | if @failed.blank? |
279 | session[:notice] = _("Your publish request was sent successfully") | 280 | session[:notice] = _("Your publish request was sent successfully") |
@@ -304,6 +305,7 @@ class CmsController < MyProfileController | @@ -304,6 +305,7 @@ class CmsController < MyProfileController | ||
304 | task.finish unless item.moderated_articles? | 305 | task.finish unless item.moderated_articles? |
305 | rescue Exception => ex | 306 | rescue Exception => ex |
306 | @failed[ex.message] ? @failed[ex.message] << item.name : @failed[ex.message] = [item.name] | 307 | @failed[ex.message] ? @failed[ex.message] << item.name : @failed[ex.message] = [item.name] |
308 | + task.cancel | ||
307 | end | 309 | end |
308 | end | 310 | end |
309 | if @failed.blank? | 311 | if @failed.blank? |
@@ -313,6 +315,9 @@ class CmsController < MyProfileController | @@ -313,6 +315,9 @@ class CmsController < MyProfileController | ||
313 | else | 315 | else |
314 | redirect_to @article.view_url | 316 | redirect_to @article.view_url |
315 | end | 317 | end |
318 | + else | ||
319 | + session[:notice] = _("Some of your publish requests couldn't be sent.") | ||
320 | + render :action => 'publish' | ||
316 | end | 321 | end |
317 | end | 322 | end |
318 | end | 323 | end |
@@ -324,12 +329,13 @@ class CmsController < MyProfileController | @@ -324,12 +329,13 @@ class CmsController < MyProfileController | ||
324 | task = ApproveArticle.create!(:article => @article, :name => params[:name], :target => environment.portal_community, :requestor => user) | 329 | task = ApproveArticle.create!(:article => @article, :name => params[:name], :target => environment.portal_community, :requestor => user) |
325 | begin | 330 | begin |
326 | task.finish unless environment.portal_community.moderated_articles? | 331 | task.finish unless environment.portal_community.moderated_articles? |
327 | - flash[:notice] = _("Your publish request was sent successfully") | 332 | + session[:notice] = _("Your publish request was sent successfully") |
328 | rescue | 333 | rescue |
329 | - flash[:error] = _("Your publish request couldn't be sent.") | 334 | + session[:notice] = _("Your publish request couldn't be sent.") |
335 | + task.cancel | ||
330 | end | 336 | end |
331 | else | 337 | else |
332 | - flash[:notice] = _("There is no portal community to publish your article.") | 338 | + session[:notice] = _("There is no portal community to publish your article.") |
333 | end | 339 | end |
334 | 340 | ||
335 | if @back_to | 341 | if @back_to |