From 955524ef5e5165a71c67b66abaad2c9e2797efd6 Mon Sep 17 00:00:00 2001 From: hukl Date: Sun, 22 Feb 2009 16:03:09 +0100 Subject: cloning tags from heads to new drafts. splitted the find_or_create_draft method to make it easier to read. fixed a bug in the importer which caused tag loss --- app/models/node.rb | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'app') diff --git a/app/models/node.rb b/app/models/node.rb index 2820f30..b04aeba 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -60,22 +60,27 @@ class Node < ActiveRecord::Base elsif draft && draft.user != user raise "Page is locked" else - # TODO clone tags later on - p = self.pages.create! - - 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 - end + create_new_draft user + end + end + + def create_new_draft user + p = self.pages.create! + + p.tag_list = self.head.tag_list.join(", ") + + I18n.available_locales.each do |l| + next if l == :root + I18n.locale = l - p.user = user - p.save - p + p.title = self.head.title + p.abstract = self.head.abstract + p.body = self.head.body end + + p.user = user + p.save + p end def publish_draft! -- cgit v1.3