diff --git a/engines/adva_cms/app/controllers/admin/articles_controller.rb b/engines/adva_cms/app/controllers/admin/articles_controller.rb index 60b086d0f..5e28ebfb2 100644 --- a/engines/adva_cms/app/controllers/admin/articles_controller.rb +++ b/engines/adva_cms/app/controllers/admin/articles_controller.rb @@ -152,7 +152,8 @@ def optimistic_lock raise t(:'adva.articles.exception.missing_timestamp') end - if @article.updated_at && (Time.zone.parse(updated_at) != @article.updated_at) + # We parse the timestamp of article too so we can get rid of those microseconds postgresql adds + if @article.updated_at && (Time.zone.parse(updated_at) != Time.zone.parse(@article.updated_at.to_s)) flash[:error] = t(:'adva.articles.flash.optimistic_lock.failure') render :action => :edit end diff --git a/engines/adva_wiki/app/controllers/admin/wikipages_controller.rb b/engines/adva_wiki/app/controllers/admin/wikipages_controller.rb index 271449642..4cf98d4e4 100644 --- a/engines/adva_wiki/app/controllers/admin/wikipages_controller.rb +++ b/engines/adva_wiki/app/controllers/admin/wikipages_controller.rb @@ -100,13 +100,14 @@ def set_wikipage_param(key, value) def optimistic_lock return unless params[:wikipage] - + unless updated_at = params[:wikipage].delete(:updated_at) # TODO raise something more explicit here raise t(:'adva.wiki.exception.missing_timestamp') end - - if @wikipage.updated_at && (Time.zone.parse(updated_at) != @wikipage.updated_at) + + # We parse the timestamp of wikipage too so we can get rid of those microseconds postgresql adds + if @wikipage.updated_at && (Time.zone.parse(updated_at) != Time.zone.parse(@wikipage.updated_at.to_s)) flash[:error] = t(:'adva.wiki.flash.optimistic_lock.failure') render :action => :edit end diff --git a/engines/adva_wiki/app/controllers/wiki_controller.rb b/engines/adva_wiki/app/controllers/wiki_controller.rb index 39f23af18..660bb977b 100644 --- a/engines/adva_wiki/app/controllers/wiki_controller.rb +++ b/engines/adva_wiki/app/controllers/wiki_controller.rb @@ -154,7 +154,8 @@ def optimistic_lock raise t(:'adva.wiki.exception.missing_timestamp') end - if @wikipage.updated_at && (Time.zone.parse(updated_at) != @wikipage.updated_at) + # We parse the timestamp of wikipage too so we can get rid of those microseconds postgresql adds + if @wikipage.updated_at && (Time.zone.parse(updated_at) != Time.zone.parse(@wikipage.updated_at.to_s)) flash[:error] = t(:'adva.wiki.flash.optimistic_lock.failure') render :action => :edit end diff --git a/engines/adva_wiki/app/views/admin/wikipages/edit.html.erb b/engines/adva_wiki/app/views/admin/wikipages/edit.html.erb index d327a0e97..9b3235a60 100644 --- a/engines/adva_wiki/app/views/admin/wikipages/edit.html.erb +++ b/engines/adva_wiki/app/views/admin/wikipages/edit.html.erb @@ -1,6 +1,7 @@