tb_cms 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/admin/cms/pages.js +43 -23
- data/app/controllers/admin/pages_controller.rb +17 -12
- data/app/views/admin/pages/_form.html.erb +8 -5
- data/app/views/admin/pages/_page_partials_form.html.erb +4 -1
- data/app/views/admin/pages/edit.html.erb +1 -26
- data/app/views/admin/pages/new.html.erb +0 -27
- data/lib/spud_cms/engine.rb +0 -1
- data/lib/spud_cms/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29ed12dca3e942e4ee2e13842af13957f9ddbd78
|
4
|
+
data.tar.gz: 4437788f0073809f050876e5595e192aabf87e96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d64be12a48126572e2b31dec5aa5ed13305e11c415d9ea30a1286337a42c76f8d221731dd9b95f5446cde01b18b8b56d60a96c2b84e151b918cc404061187de6
|
7
|
+
data.tar.gz: cc7cf7203a6963802c198ee3869fc3b531a9b2032dedaa933ba32860a72d01e4879cbfab42e0e43e19892ba524e48f225d117e7aca08cf9e5f8900ee802f4935
|
@@ -1,29 +1,49 @@
|
|
1
1
|
spud.admin.cms.pages = {};
|
2
2
|
|
3
3
|
(function(){
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
4
|
+
|
5
|
+
spud.admin.cms.pages = {
|
6
|
+
edit: function(){
|
7
|
+
$(".btn-preview").on('click', clickedPreviewButton);
|
8
|
+
}
|
9
|
+
};
|
10
|
+
|
11
|
+
var clickedPreviewButton = function(e){
|
12
|
+
var button = $(this);
|
13
|
+
var previewInput = $('input#preview');
|
14
|
+
var form = button.parents('form')[0];
|
15
|
+
|
16
|
+
button.button('reset');
|
17
|
+
form.target = '_blank';
|
18
|
+
previewInput.val(1);
|
19
|
+
|
20
|
+
setTimeout(function(){
|
21
|
+
form.target = '';
|
22
|
+
form.onSubmit = null;
|
23
|
+
previewInput.val(0);
|
24
|
+
}, 200);
|
25
|
+
};
|
26
|
+
|
27
|
+
spud.admin.cms.pages.initFormTabs = function(){
|
28
|
+
var tabNames = [];
|
29
|
+
|
30
|
+
$('.formtabs .formtab').each(function(tabind) {
|
31
|
+
if(tabind === 0) {
|
32
|
+
$(this).addClass('active');
|
33
|
+
}
|
34
|
+
this.id = 'tab-' + tabind;
|
35
|
+
tabNames.push($('.tab_name',this).first().val());
|
36
|
+
});
|
37
|
+
|
38
|
+
var tabButtons = $('.formtabs .formtab_buttons').first();
|
39
|
+
for(var x=0;x<tabNames.length;x++)
|
40
|
+
{
|
41
|
+
var tabButton = $('<li><a href="#tab-' + x + '" data-toggle="tab">' + tabNames[x] + '</a></li>');
|
42
|
+
if(x === 0) {
|
43
|
+
tabButton.addClass('active');
|
26
44
|
}
|
45
|
+
tabButtons.append(tabButton);
|
46
|
+
}
|
47
|
+
};
|
27
48
|
|
28
|
-
};
|
29
49
|
})();
|
@@ -68,7 +68,7 @@ class Admin::PagesController < Admin::ApplicationController
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def update
|
71
|
-
@page.
|
71
|
+
@page.assign_attributes(page_params)
|
72
72
|
if params[:preview] && params[:preview].to_i == 1
|
73
73
|
preview
|
74
74
|
return
|
@@ -108,11 +108,19 @@ class Admin::PagesController < Admin::ApplicationController
|
|
108
108
|
template = params[:template] && !params[:template].blank? ? layouts[params[:template]] : nil
|
109
109
|
page = SpudPage.where(:id => params[:page]).includes(:spud_page_partials).first
|
110
110
|
page = SpudPage.new if page.blank?
|
111
|
+
|
111
112
|
old_page_partials = Array.new(page.spud_page_partials)
|
112
113
|
new_page_partials = []
|
114
|
+
|
113
115
|
if !template.blank?
|
114
116
|
template[:partials].each do |page_part|
|
115
|
-
|
117
|
+
old_partial = old_page_partials.find{|pp| page_part.strip == pp.name }
|
118
|
+
if old_partial
|
119
|
+
new_page_partials << old_partial
|
120
|
+
old_page_partials.delete(old_partial)
|
121
|
+
else
|
122
|
+
new_page_partials << page.spud_page_partials.build(:name => page_part.strip)
|
123
|
+
end
|
116
124
|
end
|
117
125
|
else
|
118
126
|
layout, layout_info = layouts.select{|k,v| v[:default]}.flatten
|
@@ -121,17 +129,14 @@ class Admin::PagesController < Admin::ApplicationController
|
|
121
129
|
new_page_partials << page.spud_page_partials.build(:name => part)
|
122
130
|
end
|
123
131
|
end
|
124
|
-
new_page_partials.each do |partial|
|
125
|
-
old_partial = old_page_partials.select {|pp| partial.name.strip.downcase == pp.name.strip.downcase }
|
126
|
-
logger.debug "testing content swap"
|
127
|
-
partial.content = old_partial[0].content if !old_partial.blank?
|
128
|
-
logger.debug partial.content
|
129
|
-
end
|
130
132
|
|
131
133
|
respond_to do |format|
|
132
134
|
format.js {
|
133
135
|
if response.status == 200
|
134
|
-
render(:partial => 'page_partials_form', :locals => {
|
136
|
+
render(:partial => 'page_partials_form', :locals => {
|
137
|
+
:spud_page_partials => new_page_partials,
|
138
|
+
:remove_page_partials => old_page_partials
|
139
|
+
})
|
135
140
|
else
|
136
141
|
render(:text => message)
|
137
142
|
end
|
@@ -145,8 +150,6 @@ class Admin::PagesController < Admin::ApplicationController
|
|
145
150
|
redirect_to admin_pages_url
|
146
151
|
end
|
147
152
|
|
148
|
-
|
149
|
-
|
150
153
|
private
|
151
154
|
def load_page
|
152
155
|
@page = SpudPage.where(:id => params[:id]).includes(:spud_page_partials).first
|
@@ -161,7 +164,9 @@ private
|
|
161
164
|
end
|
162
165
|
|
163
166
|
def page_params
|
164
|
-
params.require(:spud_page).permit(:name, :url_name, :created_by, :updated_by, :layout, :visibility, :spud_page_id,
|
167
|
+
params.require(:spud_page).permit(:name, :url_name, :created_by, :updated_by, :layout, :visibility, :spud_page_id,
|
168
|
+
:publish_at, :format, :meta_description, :meta_keywords, :page_order, :spud_page_partials_attributes, :use_custom_url_name,
|
169
|
+
:published, :notes, :spud_page_partials_attributes => [:id, :name, :content, :format, :_destroy])
|
165
170
|
end
|
166
171
|
|
167
172
|
end
|
@@ -11,12 +11,12 @@
|
|
11
11
|
<div id="page_partials_form" class="formtabs tab-content">
|
12
12
|
<ul class="formtab_buttons nav nav-tabs">
|
13
13
|
</ul>
|
14
|
-
<%=f.fields_for :spud_page_partials do |b
|
14
|
+
<%= f.fields_for :spud_page_partials do |b| %>
|
15
15
|
<div class="formtab tab-pane">
|
16
|
-
<%=b.hidden_field :name,:class => "tab_name"%>
|
17
|
-
<%=b.text_area :content,:class => "tinymce"%>
|
16
|
+
<%= b.hidden_field :name,:class => "tab_name" %>
|
17
|
+
<%= b.text_area :content,:class => "tinymce" %>
|
18
18
|
</div>
|
19
|
-
<%end%>
|
19
|
+
<% end %>
|
20
20
|
</div>
|
21
21
|
<br />
|
22
22
|
<fieldset>
|
@@ -90,6 +90,9 @@
|
|
90
90
|
<span class="help-inline">Have a note to make about this page while you work? Place it here for later.</span>
|
91
91
|
</div>
|
92
92
|
</div>
|
93
|
-
<%=hidden_field_tag "preview"
|
93
|
+
<%= hidden_field_tag "preview", 0 %>
|
94
94
|
</fieldset>
|
95
95
|
|
96
|
+
<script type="text/javascript">
|
97
|
+
$(document).ready(spud.admin.cms.pages.edit);
|
98
|
+
</script>
|
@@ -5,7 +5,10 @@
|
|
5
5
|
<% spud_page_partials.each_with_index do |spud_page_partial, index| %>
|
6
6
|
<div class="formtab tab-pane">
|
7
7
|
<input type="hidden" class="tab_name" name="spud_page[spud_page_partials_attributes][<%= index %>][name]" value="<%= spud_page_partial.name %>" />
|
8
|
-
|
8
|
+
<% if spud_page_partial.id %>
|
9
|
+
<%= hidden_field_tag "spud_page[spud_page_partials_attributes][#{index}][id]", spud_page_partial.id %>
|
10
|
+
<% end %>
|
11
|
+
<textarea class="tinymce" name="spud_page[spud_page_partials_attributes][<%= index %>][content]">
|
9
12
|
<%= spud_page_partial.content %>
|
10
13
|
</textarea>
|
11
14
|
</div>
|
@@ -1,32 +1,7 @@
|
|
1
|
-
<%=form_for @page,:url => admin_page_path(:id => @page.id),:html=>{:class=>"form-horizontal page_form"
|
1
|
+
<%=form_for @page,:url => admin_page_path(:id => @page.id),:html=>{:class=>"form-horizontal page_form"} do |f|%>
|
2
2
|
<%=render :partial => "form",:locals => {:f => f}%>
|
3
3
|
<div class="form-actions">
|
4
4
|
<%=f.submit "Save Page", :class=>"btn btn-primary btn-save" %> <%=f.submit "Preview", :class=>"btn btn-info btn-preview"%> or <%=link_to "cancel",admin_pages_path,:class => "btn"%>
|
5
5
|
</div>
|
6
6
|
<%end%>
|
7
7
|
<br />
|
8
|
-
<script type="text/javascript">
|
9
|
-
$(document).ready(function() {
|
10
|
-
$('input[type=submit].btn-preview').click(function(evt) {
|
11
|
-
|
12
|
-
$(this).button('reset')
|
13
|
-
$('#preview').val(1);
|
14
|
-
var form = $('form.page_form')[0];
|
15
|
-
form.onsubmit = function() {
|
16
|
-
window.open('about:blank','preview_window','width=500,height=400')
|
17
|
-
};
|
18
|
-
form.target = 'preview_window';
|
19
|
-
|
20
|
-
});
|
21
|
-
|
22
|
-
$('input[type=submit].btn-save').click(function(evt) {
|
23
|
-
$('#preview').val(0);
|
24
|
-
var form = $('form.page_form')[0];
|
25
|
-
form.onsubmit = null;
|
26
|
-
form.target = null;
|
27
|
-
});
|
28
|
-
|
29
|
-
});
|
30
|
-
|
31
|
-
</script>
|
32
|
-
|
@@ -5,30 +5,3 @@
|
|
5
5
|
</div>
|
6
6
|
|
7
7
|
<%end%>
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
<script type="text/javascript">
|
12
|
-
$(document).ready(function() {
|
13
|
-
$('input[type=submit].btn-preview').click(function(evt) {
|
14
|
-
|
15
|
-
$(this).button('reset')
|
16
|
-
$('#preview').val(1);
|
17
|
-
var form = $('form.page_form')[0];
|
18
|
-
form.onsubmit = function() {
|
19
|
-
window.open('about:blank','preview_window','width=500,height=400')
|
20
|
-
};
|
21
|
-
form.target = 'preview_window';
|
22
|
-
|
23
|
-
});
|
24
|
-
|
25
|
-
$('input[type=submit].btn-save').click(function(evt) {
|
26
|
-
$('#preview').val(0);
|
27
|
-
var form = $('form.page_form')[0];
|
28
|
-
form.onsubmit = null;
|
29
|
-
form.target = null;
|
30
|
-
});
|
31
|
-
|
32
|
-
});
|
33
|
-
|
34
|
-
</script>
|
data/lib/spud_cms/engine.rb
CHANGED
data/lib/spud_cms/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tb_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Westlake Design
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|