diff --git a/app/controllers/edit_controller.rb b/app/controllers/edit_controller.rb index 80e52f42..2df2171d 100644 --- a/app/controllers/edit_controller.rb +++ b/app/controllers/edit_controller.rb @@ -54,9 +54,9 @@ def save_temporary_revision(revision) revision.make_real() end - def save_temporary_revision_as(revision,version) + def save_temporary_revision_as(revision,version,name=nil) revision.updated_by = myself - revision.make_new_version(version) + revision.make_new_version(version, name) end @@ -400,13 +400,15 @@ def save_as generate_paragraph_types version = params[:version] + version_name = params[:name] + get_container edit_page_info(@container_type,@container_id,params[:path][2],false) sort_paragraphs(params[:zone] || {}) update_paragraphs(params[:paragraph] || {}) - save_temporary_revision_as(@revision,version) + save_temporary_revision_as(@revision,version,version_name) @old_revision=@revision edit_page_info(params[:path][0] == 'page' ? 'site_node' : 'site_node_modifier', @@ -417,7 +419,12 @@ def save_as render :action => 'save_changes' end - + def change_version + get_container + @site_node = @container_cls.find_page(@container_id) + @page_revision = @site_node.page_revisions.find(params[:path][2]) + render :partial => 'change_version' + end def backup_changes raise 'NotOk' diff --git a/app/models/page_revision.rb b/app/models/page_revision.rb index 83425621..b622c42d 100644 --- a/app/models/page_revision.rb +++ b/app/models/page_revision.rb @@ -224,8 +224,19 @@ def make_real() end end - - def make_new_version(version = 'minor') + + def get_next_version(version='minor') + container = self.revision_container + max_revision = container.page_revisions.find(:first,:order => 'page_revisions.revision DESC') + + if version == 'major' + max_revision.revision.floor + 1 + elsif version == 'minor' + max_revision.revision + 0.01 + end + end + + def make_new_version(version = 'minor', version_name=nil) container = self.revision_container max_revision = container.page_revisions.find(:first,:order => 'page_revisions.revision DESC') @@ -245,6 +256,7 @@ def make_new_version(version = 'minor') end self.update_attributes(:revision => new_version, + :version_name => version_name, :active => false, :revision_type => 'real', :updated_at => Time.now) diff --git a/app/views/edit/_change_version.html.erb b/app/views/edit/_change_version.html.erb new file mode 100644 index 00000000..5bd43011 --- /dev/null +++ b/app/views/edit/_change_version.html.erb @@ -0,0 +1,12 @@ +