From 69a37065f9f523c25bc4edb9c70a9b21578d46f6 Mon Sep 17 00:00:00 2001 From: hukl Date: Fri, 27 Feb 2009 16:53:11 +0100 Subject: more tests and fixes. always write tests - they are so good! --- app/models/node.rb | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'app/models/node.rb') diff --git a/app/models/node.rb b/app/models/node.rb index 33c82c9..e2cb564 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -65,26 +65,34 @@ class Node < ActiveRecord::Base end def create_new_draft user - p = self.pages.create! + page = self.pages.create! - p.tag_list = self.head.tag_list.join(", ") + if self.head + clone_attributes_to page + end + + page.user = user + page.save + page.reload + page + end + + def clone_attributes_to page + page.tag_list = self.head.tag_list.join(", ") locale_before = I18n.locale I18n.available_locales.each do |l| next if l == :root I18n.locale = l - p.title = self.head.title - p.abstract = self.head.abstract - p.body = self.head.body + page.title = self.head.title + page.abstract = self.head.abstract + page.body = self.head.body end I18n.locale = locale_before - - p.user = user - p.save - p.reload - p + + page end def publish_draft! -- cgit v1.3