mcms_pages 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/assets/stylesheets/mcms_pages/page_styles.css +1 -1
- data/app/controllers/admin/pages_controller.rb +5 -2
- data/app/controllers/pages_controller.rb +24 -14
- data/app/helpers/pages_helper.rb +1 -1
- data/app/models/page.rb +0 -7
- data/app/views/mcms_pages/admin/layouts/index.html.erb +3 -1
- data/app/views/mcms_pages/admin/pages/_action.html.erb +5 -0
- data/app/views/mcms_pages/admin/pages/_form.html.erb +1 -1
- data/app/views/mcms_pages/admin/pages/_page.html.erb +1 -1
- data/app/views/mcms_pages/admin/pages/_page_part_edit_form.html.erb +7 -2
- data/app/views/mcms_pages/admin/pages/_page_part_form_field.html.erb +6 -6
- data/app/views/mcms_pages/admin/pages/add_page_part.js.erb +6 -1
- data/app/views/mcms_pages/admin/pages/edit.html.erb +1 -0
- data/app/views/mcms_pages/admin/pages/index.html.erb +1 -0
- data/app/views/mcms_pages/admin/pages/new.html.erb +1 -0
- data/app/views/mcms_pages/pages/_menu.html.erb +3 -1
- data/app/views/mcms_pages/pages/_menubar.html.erb +9 -5
- data/app/views/mcms_pages/pages/home.html.erb +1 -1
- data/app/views/mcms_pages/pages/show.html.erb +1 -0
- data/config/routes.rb +5 -3
- data/lib/generators/mcms_pages/assets_generator.rb +2 -2
- data/lib/generators/mcms_pages/views_generator.rb +3 -2
- metadata +2 -19
- data/lib/tasks/mcms_pages_tasks.rake +0 -4
@@ -173,9 +173,12 @@ class Admin::PagesController < AdminController
|
|
173
173
|
respond_to do |format|
|
174
174
|
|
175
175
|
if @page.update_attributes(params[:page]) #page updated successfully
|
176
|
+
|
176
177
|
format.html { redirect_to admin_pages_path, notice: 'Page was successfully updated.' }
|
177
178
|
format.json { head :no_content }
|
179
|
+
|
178
180
|
else #page saving failed, re-renders edit template
|
181
|
+
|
179
182
|
format.html { render action: "edit", :template => 'mcms_pages/admin/pages/edit' }
|
180
183
|
format.json { render json: @page.errors, status: :unprocessable_entity }
|
181
184
|
|
@@ -194,6 +197,7 @@ class Admin::PagesController < AdminController
|
|
194
197
|
# find the page with with
|
195
198
|
@page = Page.find(params[:id])
|
196
199
|
|
200
|
+
# calling class method of PagePart model to delete page parts of a page
|
197
201
|
PagePart.delete_page_parts(@page)
|
198
202
|
|
199
203
|
#destroy the page
|
@@ -215,10 +219,9 @@ class Admin::PagesController < AdminController
|
|
215
219
|
# @purpose : To find a child page
|
216
220
|
def find_child
|
217
221
|
|
222
|
+
# find page based on path or slug
|
218
223
|
@page = Page.find_by_slug(params[:path])
|
219
224
|
|
220
|
-
logger.debug @page
|
221
|
-
|
222
225
|
#sends in data in different format to index action
|
223
226
|
respond_to do |format|
|
224
227
|
|
@@ -13,6 +13,7 @@
|
|
13
13
|
|
14
14
|
class PagesController < ApplicationController
|
15
15
|
|
16
|
+
# define layout to be used by controller
|
16
17
|
layout "mcms_pages/layouts/mcms_layout"
|
17
18
|
|
18
19
|
#finding page based on url
|
@@ -24,6 +25,7 @@ class PagesController < ApplicationController
|
|
24
25
|
# @purpose : To show the home page
|
25
26
|
def home
|
26
27
|
|
28
|
+
# send data in different format
|
27
29
|
respond_to do |format|
|
28
30
|
|
29
31
|
format.html{ render :template => 'mcms_pages/pages/home'}# home.html.erb
|
@@ -116,27 +118,35 @@ class PagesController < ApplicationController
|
|
116
118
|
# @purpose : To find a page if it exists or show the page not found error
|
117
119
|
def get_page(page_not_found = true)
|
118
120
|
|
119
|
-
|
121
|
+
if params[:path] == "mcms" or params[:id] == "mcms"
|
122
|
+
|
123
|
+
redirect_to mcms_users_login_path
|
124
|
+
|
125
|
+
else
|
126
|
+
|
127
|
+
@menu_pages = Page.where("published = ? and show_in_menu = ?", true, true)
|
128
|
+
|
129
|
+
# case statement based on current action and assign the result to instance variable
|
130
|
+
case action_name
|
120
131
|
|
121
|
-
|
122
|
-
|
132
|
+
# when action is home
|
133
|
+
when "home"
|
123
134
|
|
124
|
-
|
125
|
-
|
135
|
+
# find page bbased on link url
|
136
|
+
@page = Page.where(:link_url => '/').first
|
126
137
|
|
127
|
-
#
|
128
|
-
|
138
|
+
# when action is show or preview
|
139
|
+
when "show", "preview"
|
129
140
|
|
130
|
-
|
131
|
-
|
141
|
+
# find page using path or id of page
|
142
|
+
@page = Page.find_by_slug_or_id(params[:path], params[:id])
|
132
143
|
|
133
|
-
|
134
|
-
@page = Page.find_by_slug_or_id(params[:path], params[:id])
|
144
|
+
end # end case statement
|
135
145
|
|
136
|
-
|
146
|
+
# return page or page not found error
|
147
|
+
@page || ( page_404_error if page_not_found)
|
137
148
|
|
138
|
-
|
139
|
-
@page || ( page_404_error if page_not_found)
|
149
|
+
end
|
140
150
|
|
141
151
|
end # end method
|
142
152
|
|
data/app/helpers/pages_helper.rb
CHANGED
@@ -87,7 +87,7 @@ module PagesHelper
|
|
87
87
|
# create a PagePart object and assign it to a variable
|
88
88
|
page = PagePartsPage.new
|
89
89
|
|
90
|
-
#make the page part form
|
90
|
+
#make the page part pages form
|
91
91
|
builder = ActionView::Helpers::FormBuilder.new( "page[page_parts_pages_attributes][#{index}]", page, self, {}, proc {})
|
92
92
|
|
93
93
|
#return form object
|
data/app/models/page.rb
CHANGED
@@ -39,13 +39,6 @@ class Page < ActiveRecord::Base
|
|
39
39
|
# Nested pages, i.e. page underneath another page
|
40
40
|
acts_as_nested_set :dependent => :destroy
|
41
41
|
|
42
|
-
#Associating table "mcms_pages" with table "mcms_page_parts" using has_many relation
|
43
|
-
# has_many :page_parts,
|
44
|
-
# :foreign_key => :page_id,
|
45
|
-
# :class_name => 'PagePart',
|
46
|
-
# :inverse_of => :page,
|
47
|
-
# :dependent => :destroy
|
48
|
-
|
49
42
|
#defining has_many :through relationship
|
50
43
|
has_many :page_parts_pages, :class_name => 'PagePartsPage'
|
51
44
|
|
@@ -29,7 +29,8 @@
|
|
29
29
|
</div>
|
30
30
|
<div class="layout-image">
|
31
31
|
|
32
|
-
<%= image_tag("layouts/#{layout.name.tr(' ', '-')}.png", :size => "400x400",
|
32
|
+
<%= image_tag("layouts/#{layout.name.tr(' ', '-')}.png", :size => "400x400",
|
33
|
+
:alt => "#{layout.name}", :title => "click to view large") %>
|
33
34
|
|
34
35
|
</div>
|
35
36
|
<div class="layout-link">
|
@@ -53,5 +54,6 @@
|
|
53
54
|
|
54
55
|
</div>
|
55
56
|
|
57
|
+
<!-- render partial _head.html.erb to include JS and CSS for specific page-->
|
56
58
|
<%= render :partial => "mcms_pages/layouts/head" %>
|
57
59
|
|
@@ -23,12 +23,17 @@
|
|
23
23
|
<ul class="repo-list">
|
24
24
|
|
25
25
|
<li class="public source">
|
26
|
+
|
26
27
|
<a href="/" target="_blank">
|
28
|
+
|
27
29
|
<span class="mini-icon"></span>
|
28
30
|
<span class="owner">Switch to Website</span><span class="repo"></span>
|
29
31
|
<span class="arrow"></span>
|
32
|
+
|
30
33
|
</a>
|
34
|
+
|
31
35
|
</li>
|
36
|
+
|
32
37
|
</ul>
|
33
38
|
|
34
39
|
<div class="bottom-bar">
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<!-- displaying form for creating pages -->
|
15
15
|
<%= form_for [:admin, @page] do |f| %>
|
16
16
|
|
17
|
-
<!-- render partial for error messages -->
|
17
|
+
<!-- render partial for error messages with some locals -->
|
18
18
|
<%= render :partial => "mcms_pages/admin/pages/error_messages",
|
19
19
|
:locals => {
|
20
20
|
:object => f.object,
|
@@ -45,7 +45,7 @@
|
|
45
45
|
<%= link_to image_tag("mcms_pages/icons/page_add.png", :title => "add a child page", :alt => "add a child"),
|
46
46
|
new_admin_page_path(:parent_id => page.id) %>
|
47
47
|
<%= link_to image_tag("mcms_pages/icons/application_go.png", :title => "preview this page", :alt => "preview this page"),
|
48
|
-
|
48
|
+
preview_page_path(page.nested_url), :target => "_blank" %>
|
49
49
|
|
50
50
|
</span>
|
51
51
|
|
@@ -10,6 +10,7 @@
|
|
10
10
|
|
11
11
|
-->
|
12
12
|
|
13
|
+
<!-- calling helper method to arrange page part of a page -->
|
13
14
|
<% page = arrange_page_part(@page) %>
|
14
15
|
|
15
16
|
<div id='page-tabs' class="page-tabs clearfix ui-tabs ui-widget ui-widget-content ui-corner-all" >
|
@@ -91,14 +92,18 @@
|
|
91
92
|
:title => title[loop_index]
|
92
93
|
%>
|
93
94
|
|
94
|
-
<%= p.hidden_field :id ,
|
95
|
+
<%= p.hidden_field :id ,
|
96
|
+
:value => "#{page[title[loop_index]].page_parts_pages.where(:page_id => @page.id).first.id}" unless loop_index.nil?
|
97
|
+
%>
|
95
98
|
|
96
99
|
<!-- increment loop_index by 1 -->
|
97
100
|
<% loop_index += 1 %>
|
98
101
|
|
99
102
|
<% else %>
|
100
103
|
|
101
|
-
<%= p.hidden_field :id ,
|
104
|
+
<%= p.hidden_field :id ,
|
105
|
+
:value => "#{page[title[loop_index]].page_parts_pages.where(:page_id => @page.id).first.id}" unless loop_index.nil?
|
106
|
+
%>
|
102
107
|
|
103
108
|
<!-- increment loop_index by 1 -->
|
104
109
|
<% loop_index += 1 %>
|
@@ -38,14 +38,14 @@
|
|
38
38
|
|
39
39
|
<% unless title == "main body" %>
|
40
40
|
|
41
|
-
|
41
|
+
OR
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
<%= link_to "Choose Existing #{title}",
|
44
|
+
{:controller=>"pages", :action => 'add_page_part', :title => "#{title}", :index => "#{part_index}"},
|
45
|
+
:remote => true, :id => "create-page-part-page-link-#{part_index}", :class => "create-page-part-page-link"
|
46
|
+
%>
|
47
47
|
|
48
|
-
|
48
|
+
<% end %>
|
49
49
|
|
50
50
|
</div>
|
51
51
|
|
@@ -19,7 +19,10 @@ $(document).ready(function(){
|
|
19
19
|
builder = build_page_part(@index)
|
20
20
|
%>
|
21
21
|
|
22
|
+
// remove html element with given id
|
22
23
|
$("#page_page_parts_pages_attributes_<%= @index %>__destroy").remove();
|
24
|
+
|
25
|
+
// insert a hidden field for destroying the page part page with default value 1.
|
23
26
|
$("#page-part-fields-<%= @index %>").after('<%= hidden_field_tag "page[page_parts_pages_attributes][#{@index}][_destroy]", "1" %>');
|
24
27
|
|
25
28
|
var html = "<%= escape_javascript(render 'mcms_pages/admin/pages/page_part_form_field',
|
@@ -37,11 +40,13 @@ $(document).ready(function(){
|
|
37
40
|
var html = "<%= escape_javascript(render 'mcms_pages/admin/pages/page_part_page_form_field',
|
38
41
|
:part_index => @index, :f => builder, :title => @title, :fragment => fragment) %>";
|
39
42
|
|
43
|
+
// reset the value in hidden field for destroying page part pages to 0.
|
40
44
|
$("#page_page_parts_pages_attributes_<%= @index %>__destroy").val("0");
|
41
45
|
|
42
46
|
<% end %>
|
43
47
|
|
48
|
+
// change the html content of div page-part-fields
|
44
49
|
$("#page-part-fields-<%= @index %>").html(html);
|
45
50
|
|
46
|
-
});
|
51
|
+
}); // end ready function
|
47
52
|
|
@@ -14,7 +14,9 @@
|
|
14
14
|
<ul class="pages-menu-ul">
|
15
15
|
|
16
16
|
<!-- include menubar page for the application-->
|
17
|
-
<%=
|
17
|
+
<%=
|
18
|
+
render :partial => 'mcms_pages/pages/menubar', :collection => @menu_pages.select{|p| p.parent_id.nil? and p.link_url != '/404'}
|
19
|
+
%>
|
18
20
|
|
19
21
|
</ul>
|
20
22
|
|
@@ -13,21 +13,25 @@
|
|
13
13
|
|
14
14
|
<% if controller.action_name == "preview" %>
|
15
15
|
|
16
|
-
<%= link_to menubar.title, preview_page_path(menubar.
|
16
|
+
<%= link_to menubar.title, preview_page_path(menubar.nested_url) %>
|
17
17
|
|
18
18
|
<% else %>
|
19
19
|
|
20
|
-
<%= link_to menubar.title, menubar.
|
20
|
+
<%= link_to menubar.title, show_page_path(menubar.nested_url) %>
|
21
21
|
|
22
22
|
<% end %>
|
23
23
|
|
24
24
|
<% if menubar.children.present? and menubar.link_url != "/" %>
|
25
|
-
|
26
|
-
|
25
|
+
|
26
|
+
<ul class="pages-nested-menu-ul">
|
27
|
+
|
28
|
+
<!-- render partial _menubar.html.erb if pages have children -->
|
27
29
|
<%=
|
28
30
|
render(:partial => 'mcms_pages/pages/menubar', :collection => menubar.children.select{|p| p.show_in_menu? and p.published?})
|
29
31
|
%>
|
30
|
-
|
32
|
+
|
33
|
+
</ul>
|
34
|
+
|
31
35
|
<% end %>
|
32
36
|
|
33
37
|
</li>
|
data/config/routes.rb
CHANGED
@@ -14,7 +14,7 @@ Rails.application.routes.draw do
|
|
14
14
|
|
15
15
|
mount Ckeditor::Engine => '/ckeditor'
|
16
16
|
|
17
|
-
resources :pages
|
17
|
+
#resources :pages
|
18
18
|
|
19
19
|
# defining root path for the application
|
20
20
|
#root :to => "pages#home"
|
@@ -25,8 +25,6 @@ Rails.application.routes.draw do
|
|
25
25
|
# match pages/**/preview to action preview of pages controller
|
26
26
|
match 'pages/*path/preview' => 'pages#preview', :as => :preview_page, :via => [:get, :put]
|
27
27
|
|
28
|
-
match '/:path', :to=> 'pages#show'
|
29
|
-
|
30
28
|
# define route for namespace admin for different resources to have
|
31
29
|
# path prefixed with "mcms"
|
32
30
|
namespace :admin, :path => "mcms" do
|
@@ -53,5 +51,9 @@ Rails.application.routes.draw do
|
|
53
51
|
|
54
52
|
end # end namespace
|
55
53
|
|
54
|
+
match '/:path' => "pages#show"
|
55
|
+
|
56
|
+
match '*path', :to=> 'pages#show', :as => :show_page unless Gem.available?("mcms")
|
57
|
+
|
56
58
|
end
|
57
59
|
|
@@ -30,7 +30,7 @@ module McmsPages
|
|
30
30
|
# @Purpose : To copy stylesheets
|
31
31
|
def copy_assets
|
32
32
|
|
33
|
-
|
33
|
+
asset_directory :mcms_pages
|
34
34
|
|
35
35
|
end # end method
|
36
36
|
|
@@ -39,7 +39,7 @@ module McmsPages
|
|
39
39
|
# @Params : None
|
40
40
|
# @Returns : None
|
41
41
|
# @Purpose : To define the source path to copy views
|
42
|
-
def
|
42
|
+
def asset_directory(name, _target_path = nil)
|
43
43
|
|
44
44
|
directory name.to_s, _target_path || "#{target_path}/#{name}"
|
45
45
|
|
@@ -6,7 +6,8 @@
|
|
6
6
|
@Date Created : 2012-07-09
|
7
7
|
@Date Modified :
|
8
8
|
@Last Modification Details :
|
9
|
-
@Purpose : This file is responsible to install assets and views for mcms_pages
|
9
|
+
@Purpose : This file is responsible to install assets and views for mcms_pages
|
10
|
+
module in other application/module
|
10
11
|
|
11
12
|
=end
|
12
13
|
|
@@ -30,7 +31,7 @@ module McmsPages
|
|
30
31
|
# @Purpose : To copy views
|
31
32
|
def copy_views
|
32
33
|
|
33
|
-
view_directory
|
34
|
+
view_directory "mcms_pages/pages"
|
34
35
|
|
35
36
|
end # end method
|
36
37
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mcms_pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -27,22 +27,6 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: jquery-rails
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
30
|
- !ruby/object:Gem::Dependency
|
47
31
|
name: ckeditor
|
48
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -292,7 +276,6 @@ files:
|
|
292
276
|
- db/migrate/20120614125619_create_layouts.rb
|
293
277
|
- db/migrate/20120606150656_add_title_position_to_page_parts.rb
|
294
278
|
- db/seeds.rb
|
295
|
-
- lib/tasks/mcms_pages_tasks.rake
|
296
279
|
- lib/mcms_pages.rb
|
297
280
|
- lib/mcms_pages/engine.rb
|
298
281
|
- lib/mcms_pages/version.rb
|