<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -152,7 +152,8 @@ class Admin::ArticlesController &lt; Admin::BaseController
         raise t(:'adva.articles.exception.missing_timestamp')
       end
       
-      if @article.updated_at &amp;&amp; (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 &amp;&amp; (Time.zone.parse(updated_at) != Time.zone.parse(@article.updated_at.to_s))
         flash[:error] = t(:'adva.articles.flash.optimistic_lock.failure')
         render :action =&gt; :edit
       end</diff>
      <filename>engines/adva_cms/app/controllers/admin/articles_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -100,13 +100,14 @@ class Admin::WikipagesController &lt; Admin::BaseController
 
     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 &amp;&amp; (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 &amp;&amp; (Time.zone.parse(updated_at) != Time.zone.parse(@wikipage.updated_at.to_s))
         flash[:error] = t(:'adva.wiki.flash.optimistic_lock.failure')
         render :action =&gt; :edit
       end</diff>
      <filename>engines/adva_wiki/app/controllers/admin/wikipages_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -154,7 +154,8 @@ class WikiController &lt; BaseController
         raise t(:'adva.wiki.exception.missing_timestamp')
       end
 
-      if @wikipage.updated_at &amp;&amp; (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 &amp;&amp; (Time.zone.parse(updated_at) != Time.zone.parse(@wikipage.updated_at.to_s))
         flash[:error] = t(:'adva.wiki.flash.optimistic_lock.failure')
         render :action =&gt; :edit
       end</diff>
      <filename>engines/adva_wiki/app/controllers/wiki_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 &lt;h2&gt;&lt;%= t(:'adva.wikipage.view.edit.header', :title =&gt; @wikipage.title) %&gt;&lt;/h2&gt;
 
 &lt;% split_form_for :wikipage, @wikipage, :url =&gt; admin_wikipage_path, :html =&gt; {:multipart =&gt; true, :method =&gt; :put, :id =&gt; 'content_form'} do |f| -%&gt;
+  &lt;%= f.hidden_field :updated_at, :value =&gt; @wikipage.updated_at %&gt;
 	&lt;%= render :partial =&gt; &quot;form&quot;, :locals =&gt; {:f =&gt; f} %&gt;
 	
 	&lt;% save_or_cancel_links(f, :cancel_url =&gt; admin_wikipage_path) %&gt;</diff>
      <filename>engines/adva_wiki/app/views/admin/wikipages/edit.html.erb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f7f814ea80c05e44c8baf6378e0bdb5d741f9bbc</id>
    </parent>
  </parents>
  <author>
    <name>Marko Seppae</name>
    <email>marko.seppa@gmail.com</email>
  </author>
  <url>http://github.com/svenfuchs/adva_cms/commit/032aec10e4044c76f26c71f246956f4111a06790</url>
  <id>032aec10e4044c76f26c71f246956f4111a06790</id>
  <committed-date>2009-09-29T02:04:19-07:00</committed-date>
  <authored-date>2009-09-29T02:04:19-07:00</authored-date>
  <message>fixed optimistic locking with postgresql - added timestamp field to admin wikipage edit form</message>
  <tree>5629bf42812277c2f4e8aeda92b486e98f01553f</tree>
  <committer>
    <name>Marko Seppae</name>
    <email>marko.seppa@gmail.com</email>
  </committer>
</commit>
