comfortable_mexican_sofa 1.6.31 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +7 -2
- data/Gemfile +11 -2
- data/README.md +2 -3
- data/Rakefile +18 -0
- data/VERSION +1 -0
- data/app/assets/images/comfortable_mexican_sofa/bootstrap/glyphicons-halflings-white.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/bootstrap/glyphicons-halflings.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/{icon_regular.gif → icon_file.gif} +0 -0
- data/app/assets/images/comfortable_mexican_sofa/icon_page.gif +0 -0
- data/app/assets/images/comfortable_mexican_sofa/icon_site.gif +0 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/application.js +61 -93
- data/app/assets/javascripts/comfortable_mexican_sofa/lib/bootstrap-datetimepicker.js +21 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/lib/bootstrap-wysihtml5.js +492 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/lib/bootstrap.js +6 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/lib/codemirror.js +10 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/lib/wysihtml5.js +261 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/application.css.sass +9 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/base.css.sass +328 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/base_overrides.css.sass +6 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/bootstrap_overrides.css.sass +43 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/codemirror_overrides.css.sass +27 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/lib/bootstrap-datetimepicker.css +9 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/lib/bootstrap-wysihtml5.css +102 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/lib/bootstrap.css +9 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/lib/codemirror.css +240 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/wysihtml5_overrides.css.sass +5 -0
- data/app/controllers/cms_admin/files_controller.rb +3 -3
- data/app/controllers/cms_admin/layouts_controller.rb +3 -3
- data/app/controllers/cms_admin/pages_controller.rb +3 -3
- data/app/controllers/cms_admin/revisions_controller.rb +1 -1
- data/app/controllers/cms_admin/sites_controller.rb +3 -3
- data/app/controllers/cms_admin/snippets_controller.rb +3 -3
- data/app/models/cms/file.rb +5 -3
- data/app/models/cms/page.rb +1 -14
- data/app/models/cms/site.rb +2 -2
- data/app/views/cms_admin/categories/_categories.html.haml +3 -0
- data/app/views/cms_admin/categories/_edit.html.haml +6 -0
- data/app/views/cms_admin/categories/_form.html.haml +8 -0
- data/app/views/cms_admin/categories/_index.html.haml +24 -0
- data/app/views/cms_admin/categories/_show.html.haml +13 -0
- data/app/views/cms_admin/categories/create.js.erb +3 -3
- data/app/views/cms_admin/categories/update.js.erb +1 -1
- data/app/views/cms_admin/files/_file.html.haml +14 -0
- data/app/views/cms_admin/files/_form.html.haml +13 -0
- data/app/views/cms_admin/files/_index.html.haml +12 -0
- data/app/views/cms_admin/files/_page_form.html.haml +9 -0
- data/app/views/cms_admin/files/create.js.erb +1 -1
- data/app/views/cms_admin/files/edit.html.haml +5 -0
- data/app/views/cms_admin/files/index.html.haml +26 -0
- data/app/views/cms_admin/files/new.html.haml +5 -0
- data/app/views/cms_admin/layouts/_form.html.haml +17 -0
- data/app/views/cms_admin/layouts/_index_branch.html.haml +23 -0
- data/app/views/cms_admin/layouts/edit.html.haml +9 -0
- data/app/views/cms_admin/layouts/index.html.haml +9 -0
- data/app/views/cms_admin/layouts/new.html.haml +5 -0
- data/app/views/cms_admin/pages/_form.html.haml +35 -0
- data/app/views/cms_admin/pages/_form_blocks.html.haml +28 -0
- data/app/views/cms_admin/pages/_index_branch.html.haml +35 -0
- data/app/views/cms_admin/pages/edit.html.haml +9 -0
- data/app/views/cms_admin/pages/form_blocks.js.erb +2 -3
- data/app/views/cms_admin/pages/index.html.haml +11 -0
- data/app/views/cms_admin/pages/new.html.haml +5 -0
- data/app/views/cms_admin/revisions/show.html.haml +28 -0
- data/app/views/cms_admin/sites/_form.html.haml +10 -0
- data/app/views/cms_admin/sites/_mirrors.html.haml +17 -0
- data/app/views/cms_admin/sites/edit.html.haml +5 -0
- data/app/views/cms_admin/sites/index.html.haml +24 -0
- data/app/views/cms_admin/sites/new.html.haml +5 -0
- data/app/views/cms_admin/snippets/_form.html.haml +11 -0
- data/app/views/cms_admin/snippets/edit.html.haml +9 -0
- data/app/views/cms_admin/snippets/index.html.haml +28 -0
- data/app/views/cms_admin/snippets/new.html.haml +5 -0
- data/app/views/layouts/cms_admin.html.haml +4 -0
- data/app/views/layouts/cms_admin/_body.html.haml +16 -0
- data/app/views/layouts/cms_admin/_center.html.haml +7 -0
- data/app/views/layouts/cms_admin/_head.html.haml +13 -0
- data/app/views/layouts/cms_admin/_left.html.haml +10 -0
- data/app/views/layouts/cms_admin/_right.html.haml +1 -0
- data/comfortable_mexican_sofa.gemspec +323 -21
- data/config/application.rb +22 -14
- data/config/environments/development.rb +16 -2
- data/config/environments/production.rb +22 -7
- data/config/environments/test.rb +6 -6
- data/config/initializers/comfortable_mexican_sofa.rb +1 -1
- data/db/migrate/01_create_cms.rb +1 -1
- data/doc/preview.png +0 -0
- data/lib/comfortable_mexican_sofa.rb +0 -5
- data/lib/comfortable_mexican_sofa/configuration.rb +1 -1
- data/lib/comfortable_mexican_sofa/engine.rb +8 -2
- data/lib/comfortable_mexican_sofa/extensions/rails.rb +2 -2
- data/lib/comfortable_mexican_sofa/form_builder.rb +27 -82
- data/lib/comfortable_mexican_sofa/tag.rb +1 -1
- data/lib/comfortable_mexican_sofa/tags/page_markdown.rb +22 -0
- data/lib/comfortable_mexican_sofa/version.rb +6 -2
- data/lib/comfortable_mexican_sofa/view_methods.rb +5 -8
- data/test/functional/cms_admin/files_controller_test.rb +4 -4
- data/test/functional/cms_admin/layouts_controller_test.rb +3 -3
- data/test/functional/cms_admin/pages_controller_test.rb +20 -12
- data/test/functional/cms_admin/revisions_controller_test.rb +3 -3
- data/test/functional/cms_admin/sites_controller_test.rb +3 -3
- data/test/functional/cms_admin/snippets_controller_test.rb +3 -3
- data/test/functional/cms_content_controller_test.rb +1 -1
- data/test/gemfiles/Gemfile.rails.3.1 +10 -4
- data/test/gemfiles/Gemfile.rails.3.2 +10 -4
- data/test/gemfiles/Gemfile.rails.4.0 +16 -0
- data/test/test_helper.rb +1 -16
- data/test/unit/configuration_test.rb +1 -3
- data/test/unit/models/page_test.rb +1 -19
- data/test/unit/models/site_test.rb +1 -5
- data/test/unit/tags/page_file_test.rb +6 -5
- data/test/unit/tags/page_files_test.rb +5 -3
- data/test/unit/tags/page_markdown_test.rb +48 -0
- metadata +195 -131
- checksums.yaml +0 -7
- data/.gitignore +0 -14
- data/app/assets/images/comfortable_mexican_sofa/elrte/elrte-toolbar.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/google-maps.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/iframe.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-director.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-flash.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-quicktime.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-realaudio.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-rutube.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-vimeo.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-winmedia.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/media-youtube.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/outline-div.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/outline-p.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/pagebreak.gif +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/pixel.gif +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/evilgrin.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/grin.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/happy.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/smile.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/surprised.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/tongue.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/unhappy.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/waii.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/elrte/smileys/wink.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/images/comfortable_mexican_sofa/x.png +0 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/codemirror/codemirror.js +0 -1
- data/app/assets/javascripts/comfortable_mexican_sofa/elrte/elrte.codemirror.js +0 -36
- data/app/assets/javascripts/comfortable_mexican_sofa/elrte/elrte.js +0 -267
- data/app/assets/javascripts/comfortable_mexican_sofa/elrte/elrte.sofa_image.js +0 -69
- data/app/assets/javascripts/comfortable_mexican_sofa/elrte/elrte.sofa_link.js +0 -58
- data/app/assets/javascripts/comfortable_mexican_sofa/jquery.js +0 -4
- data/app/assets/javascripts/comfortable_mexican_sofa/jquery_ui.js +0 -791
- data/app/assets/javascripts/comfortable_mexican_sofa/jquery_ui_timepicker.js +0 -12
- data/app/assets/javascripts/comfortable_mexican_sofa/rails.js +0 -315
- data/app/assets/stylesheets/comfortable_mexican_sofa/application.css +0 -13
- data/app/assets/stylesheets/comfortable_mexican_sofa/codemirror.css +0 -121
- data/app/assets/stylesheets/comfortable_mexican_sofa/content.css +0 -271
- data/app/assets/stylesheets/comfortable_mexican_sofa/dialogs.css +0 -45
- data/app/assets/stylesheets/comfortable_mexican_sofa/elrte.css +0 -173
- data/app/assets/stylesheets/comfortable_mexican_sofa/files.css +0 -82
- data/app/assets/stylesheets/comfortable_mexican_sofa/form.css +0 -232
- data/app/assets/stylesheets/comfortable_mexican_sofa/jquery_ui.css +0 -568
- data/app/assets/stylesheets/comfortable_mexican_sofa/reset.css +0 -1
- data/app/assets/stylesheets/comfortable_mexican_sofa/structure.css +0 -157
- data/app/assets/stylesheets/comfortable_mexican_sofa/typography.css +0 -39
- data/app/assets/stylesheets/comfortable_mexican_sofa/widgets.css +0 -29
- data/app/controllers/cms_admin/dialogs_controller.rb +0 -13
- data/app/views/cms_admin/categories/_categories.html.erb +0 -6
- data/app/views/cms_admin/categories/_edit.html.erb +0 -7
- data/app/views/cms_admin/categories/_form.html.erb +0 -12
- data/app/views/cms_admin/categories/_index.html.erb +0 -31
- data/app/views/cms_admin/categories/_show.html.erb +0 -16
- data/app/views/cms_admin/dialogs/image.html.erb +0 -7
- data/app/views/cms_admin/dialogs/link.html.erb +0 -5
- data/app/views/cms_admin/files/_file.html.erb +0 -18
- data/app/views/cms_admin/files/_form.html.erb +0 -16
- data/app/views/cms_admin/files/_index.html.erb +0 -16
- data/app/views/cms_admin/files/_page_form.html.erb +0 -12
- data/app/views/cms_admin/files/edit.html.erb +0 -5
- data/app/views/cms_admin/files/index.html.erb +0 -29
- data/app/views/cms_admin/files/new.html.erb +0 -5
- data/app/views/cms_admin/layouts/_form.html.erb +0 -20
- data/app/views/cms_admin/layouts/_index_branch.html.erb +0 -27
- data/app/views/cms_admin/layouts/edit.html.erb +0 -11
- data/app/views/cms_admin/layouts/index.html.erb +0 -10
- data/app/views/cms_admin/layouts/new.html.erb +0 -5
- data/app/views/cms_admin/pages/_form.html.erb +0 -39
- data/app/views/cms_admin/pages/_form_blocks.html.erb +0 -41
- data/app/views/cms_admin/pages/_index_branch.html.erb +0 -43
- data/app/views/cms_admin/pages/edit.html.erb +0 -11
- data/app/views/cms_admin/pages/index.html.erb +0 -12
- data/app/views/cms_admin/pages/new.html.erb +0 -5
- data/app/views/cms_admin/revisions/show.html.erb +0 -36
- data/app/views/cms_admin/sites/_form.html.erb +0 -10
- data/app/views/cms_admin/sites/_mirrors.html.erb +0 -20
- data/app/views/cms_admin/sites/edit.html.erb +0 -5
- data/app/views/cms_admin/sites/index.html.erb +0 -23
- data/app/views/cms_admin/sites/new.html.erb +0 -5
- data/app/views/cms_admin/snippets/_form.html.erb +0 -13
- data/app/views/cms_admin/snippets/edit.html.erb +0 -10
- data/app/views/cms_admin/snippets/index.html.erb +0 -33
- data/app/views/cms_admin/snippets/new.html.erb +0 -5
- data/app/views/layouts/cms_admin.html.erb +0 -5
- data/app/views/layouts/cms_admin/_body.html.erb +0 -23
- data/app/views/layouts/cms_admin/_center.html.erb +0 -6
- data/app/views/layouts/cms_admin/_head.html.erb +0 -43
- data/app/views/layouts/cms_admin/_left.html.erb +0 -10
- data/app/views/layouts/cms_admin/_right.html.erb +0 -1
- data/test/functional/cms_admin/dialogs_controller_test.rb +0 -24
- data/test/gemfiles/Gemfile.rails.3.0 +0 -10
- data/test/unit/form_builder_test.rb +0 -69
@@ -28,7 +28,7 @@ class CmsAdmin::FilesController < CmsAdmin::BaseController
|
|
28
28
|
@file = @site.files.create!(file_params.merge(:label => label))
|
29
29
|
end
|
30
30
|
|
31
|
-
flash[:
|
31
|
+
flash[:success] = I18n.t('cms.files.created')
|
32
32
|
redirect_to :action => :edit, :id => @file
|
33
33
|
end
|
34
34
|
format.js do
|
@@ -74,7 +74,7 @@ class CmsAdmin::FilesController < CmsAdmin::BaseController
|
|
74
74
|
|
75
75
|
def update
|
76
76
|
@file.update_attributes!(params[:file])
|
77
|
-
flash[:
|
77
|
+
flash[:success] = I18n.t('cms.files.updated')
|
78
78
|
redirect_to :action => :edit, :id => @file
|
79
79
|
rescue ActiveRecord::RecordInvalid
|
80
80
|
logger.detailed_error($!)
|
@@ -87,7 +87,7 @@ class CmsAdmin::FilesController < CmsAdmin::BaseController
|
|
87
87
|
respond_to do |format|
|
88
88
|
format.js
|
89
89
|
format.html do
|
90
|
-
flash[:
|
90
|
+
flash[:success] = I18n.t('cms.files.deleted')
|
91
91
|
redirect_to :action => :index
|
92
92
|
end
|
93
93
|
end
|
@@ -18,7 +18,7 @@ class CmsAdmin::LayoutsController < CmsAdmin::BaseController
|
|
18
18
|
|
19
19
|
def create
|
20
20
|
@layout.save!
|
21
|
-
flash[:
|
21
|
+
flash[:success] = I18n.t('cms.layouts.created')
|
22
22
|
redirect_to :action => :edit, :id => @layout
|
23
23
|
rescue ActiveRecord::RecordInvalid
|
24
24
|
logger.detailed_error($!)
|
@@ -28,7 +28,7 @@ class CmsAdmin::LayoutsController < CmsAdmin::BaseController
|
|
28
28
|
|
29
29
|
def update
|
30
30
|
@layout.update_attributes!(params[:layout])
|
31
|
-
flash[:
|
31
|
+
flash[:success] = I18n.t('cms.layouts.updated')
|
32
32
|
redirect_to :action => :edit, :id => @layout
|
33
33
|
rescue ActiveRecord::RecordInvalid
|
34
34
|
logger.detailed_error($!)
|
@@ -38,7 +38,7 @@ class CmsAdmin::LayoutsController < CmsAdmin::BaseController
|
|
38
38
|
|
39
39
|
def destroy
|
40
40
|
@layout.destroy
|
41
|
-
flash[:
|
41
|
+
flash[:success] = I18n.t('cms.layouts.deleted')
|
42
42
|
redirect_to :action => :index
|
43
43
|
end
|
44
44
|
|
@@ -26,7 +26,7 @@ class CmsAdmin::PagesController < CmsAdmin::BaseController
|
|
26
26
|
|
27
27
|
def create
|
28
28
|
@page.save!
|
29
|
-
flash[:
|
29
|
+
flash[:success] = I18n.t('cms.pages.created')
|
30
30
|
redirect_to :action => :edit, :id => @page
|
31
31
|
rescue ActiveRecord::RecordInvalid
|
32
32
|
logger.detailed_error($!)
|
@@ -36,7 +36,7 @@ class CmsAdmin::PagesController < CmsAdmin::BaseController
|
|
36
36
|
|
37
37
|
def update
|
38
38
|
@page.save!
|
39
|
-
flash[:
|
39
|
+
flash[:success] = I18n.t('cms.pages.updated')
|
40
40
|
redirect_to :action => :edit, :id => @page
|
41
41
|
rescue ActiveRecord::RecordInvalid
|
42
42
|
logger.detailed_error($!)
|
@@ -46,7 +46,7 @@ class CmsAdmin::PagesController < CmsAdmin::BaseController
|
|
46
46
|
|
47
47
|
def destroy
|
48
48
|
@page.destroy
|
49
|
-
flash[:
|
49
|
+
flash[:success] = I18n.t('cms.pages.deleted')
|
50
50
|
redirect_to :action => :index
|
51
51
|
end
|
52
52
|
|
@@ -20,7 +20,7 @@ class CmsAdmin::RevisionsController < CmsAdmin::BaseController
|
|
20
20
|
|
21
21
|
def revert
|
22
22
|
@record.restore_from_revision(@revision)
|
23
|
-
flash[:
|
23
|
+
flash[:success] = I18n.t('cms.revisions.reverted')
|
24
24
|
redirect_to_record
|
25
25
|
end
|
26
26
|
|
@@ -22,7 +22,7 @@ class CmsAdmin::SitesController < CmsAdmin::BaseController
|
|
22
22
|
|
23
23
|
def create
|
24
24
|
@site.save!
|
25
|
-
flash[:
|
25
|
+
flash[:success] = I18n.t('cms.sites.created')
|
26
26
|
redirect_to cms_admin_site_layouts_path(@site)
|
27
27
|
rescue ActiveRecord::RecordInvalid
|
28
28
|
logger.detailed_error($!)
|
@@ -32,7 +32,7 @@ class CmsAdmin::SitesController < CmsAdmin::BaseController
|
|
32
32
|
|
33
33
|
def update
|
34
34
|
@site.update_attributes!(params[:site])
|
35
|
-
flash[:
|
35
|
+
flash[:success] = I18n.t('cms.sites.updated')
|
36
36
|
redirect_to :action => :edit, :id => @site
|
37
37
|
rescue ActiveRecord::RecordInvalid
|
38
38
|
logger.detailed_error($!)
|
@@ -42,7 +42,7 @@ class CmsAdmin::SitesController < CmsAdmin::BaseController
|
|
42
42
|
|
43
43
|
def destroy
|
44
44
|
@site.destroy
|
45
|
-
flash[:
|
45
|
+
flash[:success] = I18n.t('cms.sites.deleted')
|
46
46
|
redirect_to :action => :index
|
47
47
|
end
|
48
48
|
|
@@ -18,7 +18,7 @@ class CmsAdmin::SnippetsController < CmsAdmin::BaseController
|
|
18
18
|
|
19
19
|
def create
|
20
20
|
@snippet.save!
|
21
|
-
flash[:
|
21
|
+
flash[:success] = I18n.t('cms.snippets.created')
|
22
22
|
redirect_to :action => :edit, :id => @snippet
|
23
23
|
rescue ActiveRecord::RecordInvalid
|
24
24
|
logger.detailed_error($!)
|
@@ -28,7 +28,7 @@ class CmsAdmin::SnippetsController < CmsAdmin::BaseController
|
|
28
28
|
|
29
29
|
def update
|
30
30
|
@snippet.update_attributes!(params[:snippet])
|
31
|
-
flash[:
|
31
|
+
flash[:success] = I18n.t('cms.snippets.updated')
|
32
32
|
redirect_to :action => :edit, :id => @snippet
|
33
33
|
rescue ActiveRecord::RecordInvalid
|
34
34
|
logger.detailed_error($!)
|
@@ -38,7 +38,7 @@ class CmsAdmin::SnippetsController < CmsAdmin::BaseController
|
|
38
38
|
|
39
39
|
def destroy
|
40
40
|
@snippet.destroy
|
41
|
-
flash[:
|
41
|
+
flash[:success] = I18n.t('cms.snippets.deleted')
|
42
42
|
redirect_to :action => :index
|
43
43
|
end
|
44
44
|
|
data/app/models/cms/file.rb
CHANGED
@@ -22,9 +22,11 @@ class Cms::File < ActiveRecord::Base
|
|
22
22
|
has_attached_file :file, ComfortableMexicanSofa.config.upload_file_options.merge(
|
23
23
|
# dimensions accessor needs to be set before file assignment for this to work
|
24
24
|
:styles => lambda { |f|
|
25
|
-
|
26
|
-
:
|
27
|
-
|
25
|
+
if f.respond_to?(:instance) && f.instance.respond_to?(:dimensions)
|
26
|
+
(f.instance.dimensions.blank?? { } : { :original => f.instance.dimensions }).merge(
|
27
|
+
:cms_thumb => '80x60#'
|
28
|
+
)
|
29
|
+
end
|
28
30
|
}
|
29
31
|
)
|
30
32
|
before_post_process :is_image?
|
data/app/models/cms/page.rb
CHANGED
@@ -1,16 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
class ColumnLimitValidator < ActiveModel::EachValidator
|
4
|
-
# Ensuring that slug and full path are not longer than what database
|
5
|
-
# can store. We want to avoid magical invisible truncation
|
6
|
-
def validate_each(record, attribute, value)
|
7
|
-
column_limit = record.class.columns_hash[attribute.to_s].limit
|
8
|
-
if value.to_s.length > column_limit
|
9
|
-
record.errors.add(attribute, :too_long, :count => column_limit)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
3
|
class Cms::Page < ActiveRecord::Base
|
15
4
|
|
16
5
|
ComfortableMexicanSofa.establish_connection(self)
|
@@ -66,9 +55,7 @@ class Cms::Page < ActiveRecord::Base
|
|
66
55
|
:presence => true
|
67
56
|
validate :validate_target_page
|
68
57
|
validate :validate_format_of_unescaped_slug
|
69
|
-
|
70
|
-
:column_limit => true
|
71
|
-
|
58
|
+
|
72
59
|
# -- Scopes ---------------------------------------------------------------
|
73
60
|
default_scope order('cms_pages.position')
|
74
61
|
scope :published, where(:is_published => true)
|
data/app/models/cms/site.rb
CHANGED
@@ -50,7 +50,7 @@ class Cms::Site < ActiveRecord::Base
|
|
50
50
|
Cms::Site.find_all_by_hostname(real_host_from_aliases(host)).each do |site|
|
51
51
|
if site.path.blank?
|
52
52
|
cms_site = site
|
53
|
-
elsif "#{path
|
53
|
+
elsif "#{path}/".match /^\/#{Regexp.escape(site.path.to_s)}\//
|
54
54
|
cms_site = site
|
55
55
|
break
|
56
56
|
end
|
@@ -78,7 +78,7 @@ protected
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def assign_identifier
|
81
|
-
self.identifier = self.identifier.blank?? self.hostname.try(:
|
81
|
+
self.identifier = self.identifier.blank?? self.hostname.try(:slugify) : self.identifier
|
82
82
|
end
|
83
83
|
|
84
84
|
def assign_hostname
|
@@ -0,0 +1,8 @@
|
|
1
|
+
- object = form.object
|
2
|
+
- if (categories = @site.categories.of_type(object.class.to_s)).present?
|
3
|
+
= form.element t('.label'), nil, :class => 'categories' do
|
4
|
+
- categories.each do |category|
|
5
|
+
= hidden_field_tag "#{object.class.to_s.demodulize.underscore.downcase}[category_ids][#{category.id}]", 0, :id => nil
|
6
|
+
%label.checkbox.inline
|
7
|
+
= check_box_tag "#{object.class.to_s.demodulize.underscore.downcase}[category_ids][#{category.id}]", 1, object.categories.member?(category), :id => nil
|
8
|
+
= category.label
|
@@ -0,0 +1,24 @@
|
|
1
|
+
- type ||= index
|
2
|
+
|
3
|
+
.categories-widget
|
4
|
+
.categories-widget-label= t('.label')
|
5
|
+
|
6
|
+
.action-links
|
7
|
+
.edit= link_to t('.edit'), '#', :class => 'btn btn-mini'
|
8
|
+
.done= link_to t('.done'), '#', :class => 'btn btn-mini'
|
9
|
+
|
10
|
+
.categories.read
|
11
|
+
.category.all{:class => params[:category].blank?? 'active' : nil}
|
12
|
+
= link_to t('.all'), :category => nil
|
13
|
+
- @site.categories.of_type(type).each do |category|
|
14
|
+
= render :partial => 'cms_admin/categories/show', :object => category, :locals => { :read => true }
|
15
|
+
|
16
|
+
.categories.editable
|
17
|
+
- @site.categories.of_type(type).each do |category|
|
18
|
+
= render :partial => 'cms_admin/categories/show', :object => category
|
19
|
+
|
20
|
+
= form_for :category, :url => cms_admin_site_categories_path(@site), :remote => true, :html => {:id => 'new_category'} do |form|
|
21
|
+
= form.hidden_field :categorized_type, :value => type
|
22
|
+
.input-append
|
23
|
+
= form.text_field :label, :placeholder => 'Add Category'
|
24
|
+
%button.btn.btn-mini= t('.add')
|
@@ -0,0 +1,13 @@
|
|
1
|
+
- category ||= show
|
2
|
+
- read ||= false
|
3
|
+
- categories = [params[:category]].flatten.compact
|
4
|
+
- active = categories.flatten.member?(category.label)
|
5
|
+
|
6
|
+
.category{:class => (read && active ? 'active' : nil), :id => dom_id(category)}
|
7
|
+
- if read
|
8
|
+
- categories = active ? categories.reject{|c| c == category.label} : categories << category.label
|
9
|
+
= link_to category.label, "?#{{:category => categories}.to_param}"
|
10
|
+
- else
|
11
|
+
= link_to category.label, edit_cms_admin_site_category_path(@site, category), :remote => true
|
12
|
+
= link_to cms_admin_site_category_path(@site, category), :method => :delete, :remote => true, :data => {:confirm => t('.are_you_sure')}, :class => 'delete' do
|
13
|
+
%i.icon-remove-circle
|
@@ -1,7 +1,7 @@
|
|
1
|
-
$('.
|
1
|
+
$('.categories-widget .categories.editable form#new_category').before(
|
2
2
|
'<%= escape_javascript(render :partial => "show", :object => @category ) %>'
|
3
3
|
);
|
4
|
-
$('.
|
4
|
+
$('.categories-widget .categories.read').append(
|
5
5
|
'<%= escape_javascript(render :partial => "show", :object => @category, :locals => { :read => true }) %>'
|
6
6
|
);
|
7
|
-
$('.
|
7
|
+
$('.categories-widget .categories.editable form#new_category input#category_label').val('');
|
@@ -1,4 +1,4 @@
|
|
1
|
-
$('.categories.editable
|
1
|
+
$('.categories.editable form#<%= dom_id(@category) %>').replaceWith(
|
2
2
|
'<%= escape_javascript(render :partial => "show", :object => @category ) %>'
|
3
3
|
);
|
4
4
|
$('.categories.read .category#<%= dom_id(@category) %>').replaceWith(
|
@@ -0,0 +1,14 @@
|
|
1
|
+
.file{:class => "#{dom_id(file)} #{file.is_image?? 'image' : nil}"}
|
2
|
+
.file-name
|
3
|
+
|
4
|
+
= link_to cms_admin_site_file_path(@site, file), :method => :delete, :remote => true, :data => {:confirm => t('.are_you_sure')}, :class => 'delete' do
|
5
|
+
%i.icon-remove-circle
|
6
|
+
= link_to file.file_file_name, file.file.url, :target => '_blank', :class => 'filename'
|
7
|
+
|
8
|
+
.file-info{:data => {:url => file.file.url}}
|
9
|
+
.thumb
|
10
|
+
= image_tag file.file.url(:cms_thumb) if file.is_image?
|
11
|
+
.details
|
12
|
+
%input{:type => 'text', :value => file.file.url}
|
13
|
+
.file-type= file.file_content_type
|
14
|
+
.file-size= number_to_human_size(file.file_file_size, :locale => :en)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
= form.text_field :label
|
2
|
+
= form.file_field :file, :multiple => @file.new_record?
|
3
|
+
|
4
|
+
- unless @file.new_record?
|
5
|
+
= form.element t('.current_file'), nil do
|
6
|
+
= link_to @file.file.url, @file.file.url, :target => '_blank'
|
7
|
+
|
8
|
+
= form.text_area :description
|
9
|
+
|
10
|
+
= render :partial => 'cms_admin/categories/form', :object => form
|
11
|
+
|
12
|
+
.form-actions
|
13
|
+
= form.submit t(@file.new_record?? '.create' : '.update'), :class => 'btn btn-primary'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
- type ||= nil
|
2
|
+
- files_scope = (type == 'image') ? @site.files.images : @site.files
|
3
|
+
|
4
|
+
.box.file-uploader
|
5
|
+
= form_for :file, :url => cms_admin_site_files_path(@site), :html => {:multipart => true} do |form|
|
6
|
+
%span.btn.btn-file
|
7
|
+
= t('.button')
|
8
|
+
= form.file_field :file, :multiple => true, :id => nil
|
9
|
+
|
10
|
+
.uploaded-files
|
11
|
+
- files_scope.order(:label).each do |file|
|
12
|
+
= render :partial => 'cms_admin/files/file', :object => file
|
@@ -0,0 +1,9 @@
|
|
1
|
+
- block ||= page_form
|
2
|
+
|
3
|
+
- if (files = block.files).present?
|
4
|
+
.files
|
5
|
+
- files.each do |file|
|
6
|
+
.file{:class => dom_id(file)}
|
7
|
+
= link_to file.file_file_name, file.file.url, :target => '_blank'
|
8
|
+
= link_to cms_admin_site_file_path(@site, file), :method => :delete, :remote => true, :confirm => t('.are_you_sure'), :class => 'delete' do
|
9
|
+
%i.icon-remove-circle
|
@@ -0,0 +1,26 @@
|
|
1
|
+
.page-header
|
2
|
+
= link_to t('.new_link'), new_cms_admin_site_file_path(@site), :class => 'btn pull-right'
|
3
|
+
%h2= t('.title')
|
4
|
+
|
5
|
+
= render :partial => 'cms_admin/categories/index', :object => 'Cms::File'
|
6
|
+
|
7
|
+
%table.table.table-hover.table-bordered
|
8
|
+
%tbody.sortable
|
9
|
+
- @files.each do |file|
|
10
|
+
%tr{:id => dom_id(file)}
|
11
|
+
%td
|
12
|
+
.icon
|
13
|
+
- if !params[:category].present? && @site.files.count > 1
|
14
|
+
.dragger
|
15
|
+
%span ⇅
|
16
|
+
%td.main
|
17
|
+
.item-title
|
18
|
+
= link_to file.label, edit_cms_admin_site_file_path(@site, file)
|
19
|
+
= render :partial => '/cms_admin/categories/categories', :object => file
|
20
|
+
.item-meta
|
21
|
+
= link_to file.file_file_name, file.file.url, :target => '_blank'
|
22
|
+
|
23
|
+
%td
|
24
|
+
.btn-group
|
25
|
+
= link_to t('.edit'), edit_cms_admin_site_file_path(@site, file), :class => 'btn btn-small'
|
26
|
+
= link_to t('.delete'), cms_admin_site_file_path(@site, file), :method => :delete, :data => {:confirm => t('.are_you_sure')}, :class => 'btn btn-small btn-danger'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
- content_for :right_column do
|
2
|
+
= render :partial => 'cms_admin/files/index'
|
3
|
+
|
4
|
+
= form.text_field :label, :data => {:slugify => @layout.new_record?}
|
5
|
+
= form.text_field :identifier, :data => {:slug => true}
|
6
|
+
- if (options = Cms::Layout.options_for_select(@site, @layout)).present?
|
7
|
+
= form.select :parent_id, [["---- #{t('.select_parent_layout')} ----", nil]] + options
|
8
|
+
|
9
|
+
- if (options = Cms::Layout.app_layouts_for_select).present?
|
10
|
+
= form.select :app_layout, [["---- #{t('.select_app_layout')} ----", nil]] + options
|
11
|
+
|
12
|
+
= form.text_area :content, :data => {:cm_mode => 'text/html'}
|
13
|
+
= form.text_area :css, :data => {:cm_mode => 'css'}
|
14
|
+
= form.text_area :js, :data => {:cm_mode => 'javascript'}
|
15
|
+
|
16
|
+
.form-actions
|
17
|
+
= form.submit t(@layout.new_record?? '.create' : '.update'), :class => 'btn btn-primary'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
- layout ||= index_branch
|
2
|
+
- has_siblings = layout.siblings.select{|l| l.site_id == @site.id}.size > 0
|
3
|
+
|
4
|
+
%li{:id => dom_id(layout)}
|
5
|
+
.item
|
6
|
+
.icon
|
7
|
+
- if !params[:category].present? && has_siblings
|
8
|
+
.dragger
|
9
|
+
%span ⇅
|
10
|
+
|
11
|
+
.btn-group
|
12
|
+
= link_to t('.add_child_layout'), new_cms_admin_site_layout_path(@site, :parent_id => layout.id), :class => 'btn btn-small'
|
13
|
+
= link_to t('.edit'), edit_cms_admin_site_layout_path(@site, layout), :class => 'btn btn-small'
|
14
|
+
= link_to t('.delete'), cms_admin_site_layout_path(@site, layout), :method => :delete, :data => {:confirm => t('.are_you_sure')}, :class => 'btn btn-small btn-danger'
|
15
|
+
|
16
|
+
.item-content
|
17
|
+
.item-title
|
18
|
+
= link_to layout.label, edit_cms_admin_site_layout_path(@site, layout)
|
19
|
+
.item-meta
|
20
|
+
= layout.identifier
|
21
|
+
|
22
|
+
- if layout.children.present?
|
23
|
+
%ul= render :partial => 'index_branch', :collection => layout.children
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.page-header
|
2
|
+
= link_to pluralize(@layout.revisions.count, t('.revision')), cms_admin_site_layout_revisions_path(@site, @layout), :class => 'btn pull-right'
|
3
|
+
%h2= t('.title')
|
4
|
+
|
5
|
+
- content_for :right_column do
|
6
|
+
= render :partial => 'cms_admin/sites/mirrors', :object => @layout
|
7
|
+
|
8
|
+
= comfy_form_for @layout, :as => :layout, :url => {:action => :update} do |form|
|
9
|
+
= render form
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.page-header
|
2
|
+
= link_to t('.new_link'), new_cms_admin_site_layout_path(@site), :class => 'btn pull-right'
|
3
|
+
%h2= t('.title')
|
4
|
+
|
5
|
+
- content_for :right_column do
|
6
|
+
= render :partial => 'cms_admin/sites/mirrors'
|
7
|
+
|
8
|
+
%ul.list.sortable
|
9
|
+
= render :partial => 'index_branch', :collection => @layouts
|