Skip to content

Commit

Permalink
Added a popup to change the version and give it a name.
Browse files Browse the repository at this point in the history
  • Loading branch information
Doug Youch committed Sep 9, 2010
1 parent 0e3b6d8 commit f30b01d
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 29 deletions.
15 changes: 11 additions & 4 deletions app/controllers/edit_controller.rb
Expand Up @@ -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


Expand Down Expand Up @@ -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',
Expand All @@ -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'
Expand Down
16 changes: 14 additions & 2 deletions app/models/page_revision.rb
Expand Up @@ -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')
Expand All @@ -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)
Expand Down
12 changes: 12 additions & 0 deletions app/views/edit/_change_version.html.erb
@@ -0,0 +1,12 @@
<div class="cms_form">

<h3><%= "Save as a new version".t %></h3>

<% admin_form_for :page_revision, @page_revision, :html => {:onsubmit => 'cmsEdit.saveAsSpecificSubmit(this); return false;'} do |f| -%>
<%= f.custom_field :version_name, :value => text_field_tag(:name, '') %>
<%= f.custom_field :version, :value => text_field_tag(:version, @page_revision.get_next_version) %>
<%= f.spacer %>
<%= f.cancel_submit_buttons "Cancel", "Submit", { :onclick => 'RedBox.close(); return false;' } %>
<% end -%>

</div>
13 changes: 2 additions & 11 deletions app/views/edit/page.rhtml
Expand Up @@ -97,14 +97,6 @@ tinyMCE.init({
<input class='cms_button' type='button' value='<%= vh "Cancel".t %>' onclick='cmsEdit.cancelAction();' />
</div>
</div>
<div id='cms_save_as_specific' class='cms_form' style='display:none;'>
<h3><%= "Save as a custom version".t %></h3>
<form onsubmit='cmsEdit.saveAsSpecificSubmit(this); return false;'>
<%= "New Version Number: ".t %><input type='text' size='30' value='' />
<input type='submit' value='<%= "Save".t %>'/>
<input type='submit' value='<%= "Cancel".t %>' onclick='cmsEdit.closeBox(); return false;'/>
</form>
</div>

<div id="cms_header">
<div id='cms_info_line'>
Expand Down Expand Up @@ -201,9 +193,8 @@ tinyMCE.init({
<input type='submit' id='cms_save_changes' value='<%= vh "Save Changes".t %>' disabled='true' onclick='cmsEdit.saveChanges(); return false;' />
<input type='submit' id='cms_save_as_button' value='<%= vh "Save As...".t %>' onclick='cmsEdit.saveAs(); return false;' />
<div id='cms_save_as' onmouseover='delayedHideShow(this)' onmouseout='delayedHide(this);' class='cms_popup' style='display:none; right:1px; top:25px; <%= Locale.language_code == 'fr' ? 'width:450px;' : 'width:200px;' %> '>
<a class='cms_ajax_link' href='javascript:void(0);' onclick='cmsEdit.saveAsSend("minor")'><%= "Save As a New Minor Version".t %></a><br/>
<a class='cms_ajax_link' href='javascript:void(0);' onclick='cmsEdit.saveAsSend("major")'><%= "Save As a New Major Version".t %></a><br/>
<a class='cms_ajax_link' href='javascript:void(0);' onclick='cmsEdit.saveAsSpecific()'><%= "Save As a Custom Version".t %></a><br/>
<a class='cms_ajax_link' href='javascript:void(0);' onclick='cmsEdit.changeVersion("minor")'><%= "Save As a New Minor Version".t %></a><br/>
<a class='cms_ajax_link' href='javascript:void(0);' onclick='cmsEdit.changeVersion("major")'><%= "Save As a New Major Version".t %></a><br/>
</div>
<a href='javascript:void(0);' onclick='cmsEdit.pageMenu();'>
<img src='<%= theme_src("framework/page_title_menu_icon.gif") %>' width='24' height='24' align='absmiddle'/>
Expand Down
23 changes: 11 additions & 12 deletions public/javascripts/edit.js
Expand Up @@ -687,11 +687,13 @@ var cmsEdit = {

},

saveAsSend: function(version) {
saveAsSend: function(version, name) {
cmsEdit.hideSaveAs();
cmsEdit.pageModified=false;
$('cms_save_changes').disabled = true;
cmsEdit.sendChanges('save_as',"version=" + version);
var params = "version=" + version
if(name) { params += "&name=" + name; }
cmsEdit.sendChanges('save_as',params);
},

sendChanges: function(action,params,cleanup,callback) {
Expand Down Expand Up @@ -935,16 +937,11 @@ var cmsEdit = {
SCMS.hidePopupDiv('cms_save_as');
},

saveAsSpecific: function() {
SCMS.hidePopupDiv('cms_save_as');
SCMS.setKeyHandler(null);
RedBox.showInline('cms_save_as_specific');
},

saveAsSpecificSubmit: function(frm) {
// Get Value
var elem = Form.findFirstElement(frm);
var elem = frm.version;
var value = elem.value;
var name = frm.name.value;

regexp = /^[0-9]*\.[0-9]{1,2}$/
if(!regexp.test(value)) {
Expand All @@ -953,7 +950,7 @@ var cmsEdit = {
}
else {
cmsEdit.closeBox();
cmsEdit.saveAsSend(value);
cmsEdit.saveAsSend(value, name);
}


Expand Down Expand Up @@ -1367,9 +1364,11 @@ var cmsEdit = {
$('cms_paragraph_display_'+elem_id).innerHTML = "<div class='cms_paragraph_editor_cover'></div>" + html;

cmsEdit.pageChanged();
}

},

changeVersion: function(version) {
SCMS.remoteOverlay(cmsEdit.editURL + 'change_version' + "/" + cmsEdit.pageType + "/" + cmsEdit.pageId + "/" + cmsEdit.revisionId + '?version=' + version);
}

}

Expand Down

0 comments on commit f30b01d

Please sign in to comment.