Hi all,
Just wanted to email the list as my ticket has not been addressed and I'm
finding more holes in the state model... just looked at the
publication_pending state, and found this:

    def change_published_state(content, published)
      content[:published] = published

      if published && content.published_at <= Time.now
        content.state = JustPublished.instance
      end
    end

    def set_published_at(content, new_time)
      content[:published_at] = new_time
      Trigger.remove(content, :trigger_method => 'publish!')
      if new_time.nil?
        content.state = Draft.instance
      elsif new_time <= Time.now
        content.state = JustPublished.instance
      end
    end

Unless I'm mistaken, these are called when published and pubished_at are set
in the model, right?

In the metaweblog service, the new post and edit post functions set
published and published_at respectively as:

    article.published   = publish
    article.author      = username
    article.published_at = struct['dateCreated'].to_time.getlocal rescue
Time.now


    article.published   = publish
    article.author      = username
    article.published_at  = struct['dateCreated'].to_time.getlocal unless
struct['dateCreated'].blank?

So in other words, as a client of the API I have to know that unless I set
dateCreated to the future when creating a post, and then never set it at all
when editing a post, my post will always be marked for publication even
though I'm explicitly sending published=false.

Please let me know if I'm off here, but I'd love to see this addressed as my
ticket has been stale for 2-3 weeks. Thanks,

Ben
_______________________________________________
Typo-list mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/typo-list

Reply via email to