enjoy_cms 0.3.7.4 → 0.4.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.ruby-version +1 -1
- data/Gemfile.lock +62 -111
- data/app/assets/javascripts/{enjoy_cms → enjoy/cms}/flash.coffee +0 -0
- data/app/assets/javascripts/enjoy/cms/init.coffee +1 -0
- data/app/assets/javascripts/{enjoy_cms → enjoy/cms}/map.coffee +0 -0
- data/app/assets/javascripts/enjoy/cms.coffee +11 -0
- data/app/assets/javascripts/enjoy/rails_admin/cms.ui.coffee +26 -0
- data/app/assets/javascripts/{enjoy_cms → enjoy}/rails_admin/custom/ui.coffee +0 -0
- data/app/assets/javascripts/rails_admin/custom/ui.coffee +2 -2
- data/app/assets/stylesheets/{enjoy_cms → enjoy/cms}/flash.sass +0 -0
- data/app/assets/stylesheets/{enjoy_cms → enjoy/cms}/normalize.scss +0 -0
- data/app/assets/stylesheets/{enjoy_cms → enjoy/cms}/powered.sass +0 -0
- data/app/assets/stylesheets/{enjoy_cms.sass → enjoy/cms.sass} +3 -1
- data/app/assets/stylesheets/enjoy/rails_admin/cms.ui.sass +117 -0
- data/{lib/enjoy/controllers/sitemap_data.rb → app/assets/stylesheets/enjoy/rails_admin/custom/ui.sass} +0 -0
- data/app/assets/stylesheets/rails_admin/custom/theming.sass +2 -0
- data/app/controllers/concerns/enjoy/errors.rb +1 -1
- data/app/controllers/enjoy/registrations_controller.rb +20 -0
- data/app/controllers/enjoy/sessions_controller.rb +19 -0
- data/app/helpers/enjoy/home_helper.rb +2 -0
- data/app/helpers/enjoy/powered_helper.rb +1 -1
- data/app/models/concerns/enjoy/html_field.rb +3 -0
- data/app/views/blocks/_favicon.html.slim +60 -21
- data/app/views/devise/registrations/edit.html.slim +2 -2
- data/app/views/devise/registrations/new.html.slim +9 -3
- data/app/views/devise/sessions/new.html.slim +8 -2
- data/app/views/devise/shared/_links.html.slim +4 -4
- data/app/views/{errors → enjoy/errors}/_base.html.slim +0 -0
- data/app/views/{errors → enjoy/errors}/error_403.html.slim +0 -0
- data/app/views/{errors → enjoy/errors}/error_404.html.slim +0 -0
- data/app/views/{errors → enjoy/errors}/error_500.html.slim +0 -0
- data/app/views/{simple_captcha → enjoy/simple_captcha}/_simple_captcha.html.slim +0 -0
- data/app/views/layouts/application.html.slim +8 -4
- data/app/views/layouts/enjoy/devise/confirmations.html.slim +27 -0
- data/app/views/layouts/enjoy/devise/passwords.html.slim +27 -0
- data/app/views/layouts/enjoy/devise/registrations.html.slim +27 -0
- data/app/views/layouts/enjoy/devise/sessions.html.slim +27 -0
- data/app/views/layouts/enjoy/devise/unlocks.html.slim +27 -0
- data/app/views/rails_admin/main/_setting_value.html.haml +104 -0
- data/app/views/shared/_messages.html.slim +1 -1
- data/config/initializers/simple_captcha.rb +29 -20
- data/config/locales/en.enjoy.yml +1 -1
- data/config/locales/ru.enjoy.yml +0 -7
- data/config/locales/ru.models.yml +2 -39
- data/enjoy_cms.gemspec +7 -20
- data/lib/enjoy/configuration.rb +24 -40
- data/lib/enjoy/controller.rb +5 -3
- data/lib/enjoy/engine.rb +28 -28
- data/lib/enjoy/migration.rb +0 -19
- data/lib/enjoy/model.rb +5 -2
- data/lib/enjoy/rails_admin_ext/config.rb +112 -0
- data/lib/enjoy/rails_admin_ext/enjoy_hash.rb +0 -2
- data/lib/enjoy/rails_admin_ext/enjoy_slugs.rb +31 -0
- data/lib/enjoy/rails_admin_ext/group_patch.rb +2 -1
- data/lib/enjoy/rails_admin_settings_patch.rb +7 -0
- data/lib/enjoy/routes.rb +1 -26
- data/lib/enjoy/version.rb +1 -1
- data/lib/enjoy_cms.rb +25 -71
- data/lib/filename_to_slug.rb +20 -22
- data/lib/generators/enjoy/{ability_generator.rb → cms/ability_generator.rb} +3 -3
- data/lib/generators/enjoy/{admin_generator.rb → cms/admin_generator.rb} +2 -2
- data/lib/generators/enjoy/cms/application_generator.rb +14 -0
- data/lib/generators/enjoy/cms/assets_generator.rb +35 -0
- data/lib/generators/enjoy/{config/install_generator.rb → cms/config_generator.rb} +3 -3
- data/lib/generators/enjoy/cms/gemfile_generator.rb +13 -0
- data/lib/generators/enjoy/{layout_generator.rb → cms/layout_generator.rb} +2 -2
- data/lib/generators/enjoy/cms/paperclip_optimizer_generator.rb +13 -0
- data/lib/generators/enjoy/cms/rack_generator.rb +12 -0
- data/lib/generators/enjoy/cms/robots_generator.rb +12 -0
- data/lib/generators/enjoy/cms/scripts_generator.rb +25 -0
- data/lib/generators/enjoy/cms/templates/Gemfile.erb +69 -0
- data/lib/generators/enjoy/cms/templates/ability.erb +45 -0
- data/lib/generators/enjoy/{templates → cms/templates}/admin.erb +5 -26
- data/lib/generators/enjoy/cms/templates/application.erb +42 -0
- data/lib/generators/enjoy/cms/templates/assets/javascripts/application.coffee.erb +1 -0
- data/lib/generators/enjoy/cms/templates/assets/stylesheets/application.sass.erb +15 -0
- data/lib/generators/enjoy/cms/templates/assets/stylesheets/enjoy/rails_admin/custom/ui.sass.erb +106 -0
- data/lib/generators/enjoy/cms/templates/enjoy_cms.erb +28 -0
- data/lib/generators/enjoy/cms/templates/paperclip_optimizer.erb +80 -0
- data/lib/generators/enjoy/cms/templates/rack.erb +15 -0
- data/lib/generators/enjoy/cms/templates/robots.txt.erb +4 -0
- data/lib/generators/enjoy/cms/templates/scripts/assets_precompile.sh +3 -0
- data/lib/generators/enjoy/cms/templates/scripts/bundle_production.sh +4 -0
- data/lib/generators/enjoy/cms/templates/scripts/db_dump.sh.erb +3 -0
- data/lib/generators/enjoy/cms/templates/scripts/db_restore.sh +3 -0
- data/lib/generators/enjoy/cms/templates/scripts/full_assets_precompile.sh +4 -0
- data/lib/generators/enjoy/cms/templates/scripts/restart_thru_kill.sh +3 -0
- data/lib/generators/enjoy/cms/templates/scripts/send_hup.sh +3 -0
- data/lib/generators/enjoy/cms/templates/scripts/send_usr2.sh +3 -0
- data/lib/generators/enjoy/cms/templates/unicorn.erb +57 -0
- data/lib/generators/enjoy/cms/templates/unicorn.god.erb +59 -0
- data/lib/generators/enjoy/cms/unicorn_god_generator.rb +15 -0
- data/lib/generators/enjoy/{utils.rb → cms/utils.rb} +1 -1
- data/lib/rails_admin/custom_show_in_app.rb +13 -13
- data/template.rb +197 -543
- metadata +73 -325
- data/app/assets/javascripts/enjoy_cms/contacts.coffee +0 -11
- data/app/assets/javascripts/enjoy_cms/rails_admin/cms.ui.coffee +0 -6
- data/app/assets/javascripts/enjoy_cms.coffee +0 -7
- data/app/controllers/concerns/enjoy/blocksetable.rb +0 -37
- data/app/controllers/concerns/enjoy/decorators/contacts.rb +0 -5
- data/app/controllers/concerns/enjoy/decorators/news.rb +0 -5
- data/app/controllers/concerns/enjoy/decorators/pages.rb +0 -5
- data/app/controllers/concerns/enjoy/decorators/search.rb +0 -5
- data/app/controllers/concerns/enjoy/nav_menu.rb +0 -91
- data/app/controllers/concerns/enjoy/seo_pages.rb +0 -90
- data/app/controllers/enjoy/contacts_controller.rb +0 -7
- data/app/controllers/enjoy/news_controller.rb +0 -7
- data/app/controllers/enjoy/pages_controller.rb +0 -7
- data/app/controllers/enjoy/search_controller.rb +0 -8
- data/app/mailers/enjoy/contact_mailer.rb +0 -17
- data/app/models/concerns/enjoy/connectable.rb +0 -36
- data/app/models/concerns/enjoy/decorators/contact_message.rb +0 -5
- data/app/models/concerns/enjoy/decorators/embedded_gallery_image.rb +0 -5
- data/app/models/concerns/enjoy/decorators/gallery.rb +0 -5
- data/app/models/concerns/enjoy/decorators/gallery_image.rb +0 -5
- data/app/models/concerns/enjoy/decorators/menu.rb +0 -5
- data/app/models/concerns/enjoy/decorators/news.rb +0 -5
- data/app/models/concerns/enjoy/decorators/page.rb +0 -5
- data/app/models/concerns/enjoy/decorators/page_block.rb +0 -5
- data/app/models/concerns/enjoy/decorators/page_blockset.rb +0 -5
- data/app/models/concerns/enjoy/decorators/seo.rb +0 -5
- data/app/models/concerns/enjoy/decorators/sitemap_data.rb +0 -5
- data/app/models/concerns/enjoy/mongoid_paperclip.rb +0 -51
- data/app/models/concerns/enjoy/seoable.rb +0 -36
- data/app/models/concerns/enjoy/sitemap_data_field.rb +0 -17
- data/app/models/enjoy/contact_message.rb +0 -16
- data/app/models/enjoy/embedded_gallery_image.rb +0 -16
- data/app/models/enjoy/gallery.rb +0 -13
- data/app/models/enjoy/gallery_image.rb +0 -13
- data/app/models/enjoy/menu.rb +0 -16
- data/app/models/enjoy/news.rb +0 -16
- data/app/models/enjoy/page.rb +0 -16
- data/app/models/enjoy/page_block.rb +0 -13
- data/app/models/enjoy/page_blockset.rb +0 -13
- data/app/models/enjoy/seo.rb +0 -16
- data/app/models/enjoy/sitemap_data.rb +0 -16
- data/app/views/enjoy/contact_mailer/new_message_email.html.slim +0 -15
- data/app/views/enjoy/contacts/_form.html.slim +0 -7
- data/app/views/enjoy/contacts/_form_with_wrapper.html.slim +0 -2
- data/app/views/enjoy/contacts/_success.html.slim +0 -3
- data/app/views/enjoy/contacts/index.html.slim +0 -4
- data/app/views/enjoy/contacts/new.html.slim +0 -4
- data/app/views/enjoy/contacts/sent.html.slim +0 -3
- data/app/views/enjoy/news/index.html.slim +0 -9
- data/app/views/enjoy/news/show.html.slim +0 -8
- data/app/views/enjoy/pages/show.html.slim +0 -1
- data/app/views/enjoy/search/index.html.slim +0 -19
- data/app/views/rails_admin/main/_enjoy_connectable.html.slim +0 -56
- data/config/locales/ru.kaminari.yml +0 -17
- data/config/locales/ru.simple_captcha.yml +0 -3
- data/config/locales/ru.simple_form.yml +0 -9
- data/lib/enjoy/admin/contact_message.rb +0 -42
- data/lib/enjoy/admin/embedded_gallery_image.rb +0 -38
- data/lib/enjoy/admin/gallery.rb +0 -44
- data/lib/enjoy/admin/gallery_image.rb +0 -31
- data/lib/enjoy/admin/menu.rb +0 -27
- data/lib/enjoy/admin/news.rb +0 -89
- data/lib/enjoy/admin/page.rb +0 -96
- data/lib/enjoy/admin/page_block.rb +0 -49
- data/lib/enjoy/admin/page_blockset.rb +0 -50
- data/lib/enjoy/admin/seo.rb +0 -41
- data/lib/enjoy/admin/sitemap_data.rb +0 -29
- data/lib/enjoy/controllers/contacts.rb +0 -86
- data/lib/enjoy/controllers/news.rb +0 -36
- data/lib/enjoy/controllers/pages.rb +0 -22
- data/lib/enjoy/controllers/search.rb +0 -62
- data/lib/enjoy/elastic_search.rb +0 -31
- data/lib/enjoy/models/active_record/contact_message.rb +0 -14
- data/lib/enjoy/models/active_record/menu.rb +0 -17
- data/lib/enjoy/models/active_record/news.rb +0 -26
- data/lib/enjoy/models/active_record/page.rb +0 -20
- data/lib/enjoy/models/active_record/seo.rb +0 -17
- data/lib/enjoy/models/active_record/sitemap_data.rb +0 -11
- data/lib/enjoy/models/contact_message.rb +0 -41
- data/lib/enjoy/models/embedded_gallery_image.rb +0 -13
- data/lib/enjoy/models/gallery.rb +0 -21
- data/lib/enjoy/models/gallery_image.rb +0 -19
- data/lib/enjoy/models/menu.rb +0 -23
- data/lib/enjoy/models/mongoid/contact_message.rb +0 -23
- data/lib/enjoy/models/mongoid/embedded_gallery_image.rb +0 -24
- data/lib/enjoy/models/mongoid/gallery.rb +0 -32
- data/lib/enjoy/models/mongoid/gallery_image.rb +0 -29
- data/lib/enjoy/models/mongoid/menu.rb +0 -20
- data/lib/enjoy/models/mongoid/news.rb +0 -37
- data/lib/enjoy/models/mongoid/page.rb +0 -49
- data/lib/enjoy/models/mongoid/page_block.rb +0 -56
- data/lib/enjoy/models/mongoid/page_blockset.rb +0 -20
- data/lib/enjoy/models/mongoid/seo.rb +0 -35
- data/lib/enjoy/models/mongoid/sitemap_data.rb +0 -25
- data/lib/enjoy/models/news.rb +0 -58
- data/lib/enjoy/models/page.rb +0 -92
- data/lib/enjoy/models/page_block.rb +0 -22
- data/lib/enjoy/models/page_blockset.rb +0 -24
- data/lib/enjoy/models/seo.rb +0 -17
- data/lib/enjoy/models/sitemap_data.rb +0 -17
- data/lib/enjoy/rails_admin_ext/enjoy_connectable.rb +0 -33
- data/lib/enjoy/rails_admin_ext/menu.rb +0 -147
- data/lib/generators/enjoy/capify_generator.rb +0 -39
- data/lib/generators/enjoy/config/templates/enjoy_cms.erb +0 -27
- data/lib/generators/enjoy/migration_generator.rb +0 -18
- data/lib/generators/enjoy/templates/Capfile +0 -17
- data/lib/generators/enjoy/templates/ability.erb +0 -48
- data/lib/generators/enjoy/templates/deploy.erb +0 -47
- data/lib/generators/enjoy/templates/dl.erb +0 -30
- data/lib/generators/enjoy/templates/migration_contact_messages.rb +0 -15
- data/lib/generators/enjoy/templates/migration_news.rb +0 -26
- data/lib/generators/enjoy/templates/migration_pages.rb +0 -45
- data/lib/generators/enjoy/templates/migration_seos.rb +0 -14
- data/lib/generators/enjoy/templates/production.erb +0 -8
- data/lib/generators/enjoy/templates/unicorn.erb +0 -66
data/lib/filename_to_slug.rb
CHANGED
@@ -10,25 +10,23 @@ class String
|
|
10
10
|
s
|
11
11
|
end
|
12
12
|
end
|
13
|
-
|
14
|
-
module FilenameToSlug
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
|
13
|
+
#
|
14
|
+
# module FilenameToSlug
|
15
|
+
# extend ActiveSupport::Concern
|
16
|
+
# included do
|
17
|
+
# before_post_process :filename_to_slug
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# def filename_to_slug
|
21
|
+
# if self.class.attachment_definitions
|
22
|
+
# self.class.attachment_definitions.each do |k,v|
|
23
|
+
# if self.send(k).file?
|
24
|
+
# full_file_name = self.send("#{k}_file_name")
|
25
|
+
# extension = File.extname(full_file_name)[1..-1]
|
26
|
+
# file_name = full_file_name[0..full_file_name.size-extension.size-1]
|
27
|
+
# self.send("#{k}").instance_write(:file_name, "#{file_name.filename_to_slug}.#{extension.filename_to_slug}")
|
28
|
+
# end
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
# end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'rails/generators'
|
2
2
|
require File.expand_path('../utils', __FILE__)
|
3
3
|
|
4
|
-
module Enjoy
|
4
|
+
module Enjoy::Cms
|
5
5
|
class AbilityGenerator < Rails::Generators::Base
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
include Generators::Utils::InstanceMethods
|
8
8
|
|
9
|
-
desc 'Enjoy CanCan Ability config generator'
|
10
|
-
def
|
9
|
+
desc 'Enjoy CMS CanCan Ability config generator'
|
10
|
+
def install
|
11
11
|
template 'ability.erb', 'app/models/ability.rb'
|
12
12
|
end
|
13
13
|
end
|
@@ -3,13 +3,13 @@
|
|
3
3
|
require 'rails/generators'
|
4
4
|
require File.expand_path('../utils', __FILE__)
|
5
5
|
|
6
|
-
module Enjoy
|
6
|
+
module Enjoy::Cms
|
7
7
|
class AdminGenerator < Rails::Generators::Base
|
8
8
|
source_root File.expand_path('../templates', __FILE__)
|
9
9
|
include Generators::Utils::InstanceMethods
|
10
10
|
|
11
11
|
#argument :_namespace, type: :string, required: false, desc: 'RailsAdmin url namespace'
|
12
|
-
desc 'Enjoy RailsAdmin config generator'
|
12
|
+
desc 'Enjoy CMS RailsAdmin config generator'
|
13
13
|
|
14
14
|
def install
|
15
15
|
#namespace = ask_for('Where do you want to mount rails_admin?', 'admin', _namespace)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class ApplicationGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
argument :app_name, type: :string
|
8
|
+
|
9
|
+
desc 'Enjoy CMS application.rb generator'
|
10
|
+
def install
|
11
|
+
template "application.erb", "config/application.rb"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class AssetsGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates/assets', __FILE__)
|
6
|
+
|
7
|
+
desc 'Enjoy CMS assets generator'
|
8
|
+
def install
|
9
|
+
assets_files.each do |f|
|
10
|
+
template "#{f}.erb", "app/assets/#{f}"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
def rails_admin_theming_sass_path
|
16
|
+
"stylesheets/enjoy/rails_admin/custom/ui.sass"
|
17
|
+
end
|
18
|
+
|
19
|
+
def application_sass_path
|
20
|
+
"stylesheets/application.sass"
|
21
|
+
end
|
22
|
+
|
23
|
+
def application_coffee_path
|
24
|
+
"javascripts/application.coffee"
|
25
|
+
end
|
26
|
+
|
27
|
+
def assets_files
|
28
|
+
[
|
29
|
+
rails_admin_theming_sass_path,
|
30
|
+
application_sass_path,
|
31
|
+
application_coffee_path
|
32
|
+
]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'rails/generators'
|
2
2
|
|
3
|
-
module Enjoy::
|
4
|
-
class
|
3
|
+
module Enjoy::Cms
|
4
|
+
class ConfigGenerator < Rails::Generators::Base
|
5
5
|
source_root File.expand_path('../templates', __FILE__)
|
6
6
|
|
7
|
-
desc 'Enjoy
|
7
|
+
desc 'Enjoy CMS Config generator'
|
8
8
|
def install
|
9
9
|
template 'enjoy_cms.erb', "config/initializers/enjoy_cms.rb"
|
10
10
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class GemfileGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
desc 'Enjoy CMS Gemfile generator'
|
8
|
+
def install
|
9
|
+
template 'Gemfile.erb', "Gemfile"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'rails/generators'
|
2
2
|
require File.expand_path('../utils', __FILE__)
|
3
3
|
|
4
|
-
module Enjoy
|
4
|
+
module Enjoy::Cms
|
5
5
|
class LayoutGenerator < Rails::Generators::Base
|
6
6
|
source_root File.expand_path("../../../..", __FILE__)
|
7
7
|
include Generators::Utils::InstanceMethods
|
8
8
|
|
9
|
-
desc 'Enjoy Layout generator'
|
9
|
+
desc 'Enjoy CMS Layout generator'
|
10
10
|
def layout
|
11
11
|
template('app/views/layouts/application.html.slim', 'app/views/layouts/application.html.slim')
|
12
12
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class PaperclipOptimizerGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates', __FILE__)
|
6
|
+
|
7
|
+
desc 'Enjoy CMS paperclip_optimizer Config generator'
|
8
|
+
def install
|
9
|
+
template 'paperclip_optimizer.erb', "config/initializers/paperclip_optimizer.rb"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class RackGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path("../templates", __FILE__)
|
6
|
+
|
7
|
+
desc 'Enjoy CMS Rack generator'
|
8
|
+
def install
|
9
|
+
template('rack.erb', 'config/initializers/rack.rb')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class RobotsGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path("../templates", __FILE__)
|
6
|
+
|
7
|
+
desc 'Enjoy CMS robots.txt generator'
|
8
|
+
def install
|
9
|
+
template('robots.txt.erb', 'public/robots.txt')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Enjoy::Cms
|
4
|
+
class ScriptsGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('../templates/scripts', __FILE__)
|
6
|
+
|
7
|
+
argument :app_name, type: :string
|
8
|
+
|
9
|
+
desc 'Enjoy CMS scripts generator'
|
10
|
+
def install
|
11
|
+
%w( assets_precompile.sh
|
12
|
+
bundle_production.sh
|
13
|
+
full_assets_precompile.sh
|
14
|
+
restart_thru_kill.sh
|
15
|
+
send_usr2.sh
|
16
|
+
send_hup.sh
|
17
|
+
db_dump.sh.erb
|
18
|
+
db_restore.sh
|
19
|
+
).each do |template_name|
|
20
|
+
script_name = template_name.match(/.+\.sh/)[0]
|
21
|
+
template template_name, "scripts/#{script_name}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'rails', '4.2.4' #'~> 5.0.0.beta3'
|
4
|
+
#{if mongoid then "gem 'mongoid'" else "gem 'pg'" end}
|
5
|
+
|
6
|
+
gem 'sass'
|
7
|
+
gem 'sass-rails'
|
8
|
+
gem 'compass-rails'
|
9
|
+
gem 'compass'
|
10
|
+
|
11
|
+
#{if mongoid then "gem 'enjoy_cms_mongoid'" else "gem 'enjoy_cms_activerecord'" end}, path: '/home/ack/www/enjoy_cms' #'~> 0.3.7'
|
12
|
+
|
13
|
+
gem 'devise'
|
14
|
+
|
15
|
+
gem 'slim-rails'
|
16
|
+
gem 'rs_russian'
|
17
|
+
gem 'cancancan'
|
18
|
+
|
19
|
+
# gem 'cloner'
|
20
|
+
gem 'unicorn'
|
21
|
+
gem 'x-real-ip'
|
22
|
+
|
23
|
+
#temp
|
24
|
+
#gem 'sentry-raven'
|
25
|
+
|
26
|
+
group :development do
|
27
|
+
gem 'better_errors'
|
28
|
+
gem 'binding_of_caller'
|
29
|
+
gem 'pry-rails'
|
30
|
+
gem 'spring'
|
31
|
+
|
32
|
+
gem 'capistrano', require: false
|
33
|
+
|
34
|
+
gem 'rvm1-capistrano3', require: false
|
35
|
+
gem 'glebtv-capistrano-unicorn', require: false
|
36
|
+
gem 'capistrano-bundler', require: false
|
37
|
+
gem 'capistrano-rails', require: false
|
38
|
+
|
39
|
+
gem 'hipchat'
|
40
|
+
# gem 'coffee-rails-source-maps'
|
41
|
+
# gem 'compass-rails-source-maps'
|
42
|
+
|
43
|
+
gem 'favicon_maker', '0.3'
|
44
|
+
gem 'favicon_maker_rails'
|
45
|
+
|
46
|
+
gem 'rails_email_preview', '~> 0.2.29'
|
47
|
+
|
48
|
+
gem 'image_optim_pack'
|
49
|
+
end
|
50
|
+
|
51
|
+
group :test do
|
52
|
+
gem 'rspec-rails'
|
53
|
+
gem 'database_cleaner'
|
54
|
+
gem 'email_spec'
|
55
|
+
#{if mongoid then "gem 'mongoid-rspec'" else "" end}
|
56
|
+
gem 'ffaker'
|
57
|
+
gem 'factory_girl_rails'
|
58
|
+
end
|
59
|
+
|
60
|
+
#{if mongoid then "gem 'mongo_session_store-rails4'" else "gem 'activerecord-session_store'" end}
|
61
|
+
|
62
|
+
gem 'slim'
|
63
|
+
gem 'sprockets'
|
64
|
+
|
65
|
+
gem 'uglifier'
|
66
|
+
|
67
|
+
group :production do
|
68
|
+
gem "god"
|
69
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
class Ability
|
2
|
+
include CanCan::Ability
|
3
|
+
|
4
|
+
def initialize(user)
|
5
|
+
if !user.nil? and (user.admin? or user.manager?)
|
6
|
+
can :access, :rails_admin # grant access to rails_admin
|
7
|
+
can :dashboard # grant access to the dashboard
|
8
|
+
|
9
|
+
if user.admin?
|
10
|
+
admin_ui(user)
|
11
|
+
elsif user.manager?
|
12
|
+
manager_ui(user)
|
13
|
+
end
|
14
|
+
|
15
|
+
can :index, :all
|
16
|
+
can :read, :all
|
17
|
+
can :history, :all
|
18
|
+
can :export, :all
|
19
|
+
|
20
|
+
can :comments, :all #RailsAdminComments::Comments
|
21
|
+
can :model_comments, :all #RailsAdminComments::ModelComments
|
22
|
+
|
23
|
+
user.ability.to_cancancan(self) if user.respond_to?(:ability) and user.ability
|
24
|
+
|
25
|
+
if defined?(RailsAdminUserAbilities)
|
26
|
+
cannot :manage, RailsAdminUserAbilities::UserAbility
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def admin_ui(user)
|
32
|
+
can :manage, User
|
33
|
+
can :user_abilities, User
|
34
|
+
|
35
|
+
Enjoy.cancancan_admin_rules self
|
36
|
+
end
|
37
|
+
|
38
|
+
def manager_ui(user)
|
39
|
+
cannot [:edit, :destroy, :new, :create], User
|
40
|
+
can :edit, User, _id: user._id
|
41
|
+
cannot :user_abilities, :all
|
42
|
+
|
43
|
+
Enjoy.cancancan_manager_rules self
|
44
|
+
end
|
45
|
+
end
|
@@ -40,32 +40,11 @@ RailsAdmin.config do |config|
|
|
40
40
|
history_index
|
41
41
|
history_show
|
42
42
|
|
43
|
-
nested_set do
|
44
|
-
visible do
|
45
|
-
['Enjoy::Page', 'Enjoy::Gallery', 'Enjoy::GalleryImage'].include? bindings[:abstract_model].model_name
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
custom_show_in_app do
|
50
|
-
visible do
|
51
|
-
#temporary
|
52
|
-
false #['Enjoy::Page', 'Enjoy::News'].include? bindings[:abstract_model].model_name
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
sort_embedded do
|
57
|
-
visible do
|
58
|
-
['Enjoy::PageBlockset'].include? bindings[:abstract_model].model_name
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
43
|
toggle
|
63
|
-
toggle_menu
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
end
|
68
|
-
sitemap
|
44
|
+
# toggle_menu # for Enjoy::Pages
|
45
|
+
# sitemap # for Enjoy::Seo
|
46
|
+
|
47
|
+
Enjoy.rails_admin_config_for_actions(self)
|
69
48
|
end
|
70
49
|
|
71
50
|
config.main_app_name = ['<%= Rails.application.class.name.split('::')[0] %>', 'Админка']
|
@@ -74,7 +53,7 @@ RailsAdmin.config do |config|
|
|
74
53
|
config.excluded_models << [
|
75
54
|
'RailsAdmin::CustomShowInApp', 'HistoryTracker',
|
76
55
|
'Ckeditor::Asset', 'Ckeditor::AttachmentFile', 'Ckeditor::Picture',
|
77
|
-
'Enjoy::
|
56
|
+
'Enjoy::EmbeddedElement'
|
78
57
|
]
|
79
58
|
config.excluded_models.flatten!
|
80
59
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
# Pick the frameworks you want:
|
4
|
+
require "active_model/railtie"
|
5
|
+
#{'#' if Enjoy.mongoid?}require "active_record/railtie"
|
6
|
+
require "action_controller/railtie"
|
7
|
+
# require "action_mailer/railtie" # mailer is off by default
|
8
|
+
require "action_view/railtie"
|
9
|
+
require "sprockets/railtie"
|
10
|
+
# require "rails/test_unit/railtie"
|
11
|
+
|
12
|
+
# Require the gems listed in Gemfile, including any gems
|
13
|
+
# you've limited to :test, :development, or :production.
|
14
|
+
Bundler.require(*Rails.groups)
|
15
|
+
|
16
|
+
module #{app_name.camelize}
|
17
|
+
class Application < Rails::Application
|
18
|
+
config.generators do |g|
|
19
|
+
g.test_framework :rspec
|
20
|
+
g.view_specs false
|
21
|
+
g.helper_specs false
|
22
|
+
g.feature_specs false
|
23
|
+
g.template_engine :slim
|
24
|
+
g.stylesheets false
|
25
|
+
g.javascripts false
|
26
|
+
g.helper false
|
27
|
+
g.fixture_replacement :factory_girl, :dir => 'spec/factories'
|
28
|
+
end
|
29
|
+
|
30
|
+
config.i18n.locale = :ru
|
31
|
+
config.i18n.default_locale = :ru
|
32
|
+
config.i18n.available_locales = [:ru, :en]
|
33
|
+
config.i18n.enforce_available_locales = true
|
34
|
+
#{'config.active_record.schema_format = :sql' if Enjoy.active_record?}
|
35
|
+
|
36
|
+
#{'config.autoload_paths += %W(#{config.root}/extra)'}
|
37
|
+
#{'config.eager_load_paths += %W(#{config.root}/extra)'}
|
38
|
+
|
39
|
+
config.time_zone = 'Europe/Moscow'
|
40
|
+
config.assets.paths << Rails.root.join("app", "assets", "fonts")
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
#= require enjoy/cms
|
data/lib/generators/enjoy/cms/templates/assets/stylesheets/enjoy/rails_admin/custom/ui.sass.erb
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
.navbar-brand
|
2
|
+
margin-left: 0 !important
|
3
|
+
|
4
|
+
.input-small
|
5
|
+
width: 150px
|
6
|
+
|
7
|
+
.container-fluid
|
8
|
+
input[type=text]
|
9
|
+
width: 380px !important
|
10
|
+
input.ra-filtering-select-input[type=text]
|
11
|
+
width: 180px !important
|
12
|
+
input.hasDatepicker
|
13
|
+
width: 180px !important
|
14
|
+
|
15
|
+
.sidebar-nav
|
16
|
+
a
|
17
|
+
padding: 6px 10px !important
|
18
|
+
.dropdown-header
|
19
|
+
padding: 10px 0px 3px 9px
|
20
|
+
|
21
|
+
.label-important
|
22
|
+
background-color: #d9534f
|
23
|
+
.alert-notice
|
24
|
+
color: #5bc0de
|
25
|
+
|
26
|
+
.page-header
|
27
|
+
display: none
|
28
|
+
.breadcrumb
|
29
|
+
margin-top: 20px
|
30
|
+
|
31
|
+
.control-group
|
32
|
+
clear: both
|
33
|
+
|
34
|
+
.container-fluid
|
35
|
+
padding-left: 0
|
36
|
+
> .row
|
37
|
+
margin: 51px 0px 0px 0px !important
|
38
|
+
|
39
|
+
.last.links
|
40
|
+
a
|
41
|
+
display: inline-block
|
42
|
+
padding: 3px
|
43
|
+
font-size: 20px
|
44
|
+
|
45
|
+
.remove_nested_fields
|
46
|
+
opacity: 1 !important
|
47
|
+
|
48
|
+
body.rails_admin .modal
|
49
|
+
margin: 0 auto !important
|
50
|
+
.modal-dialog
|
51
|
+
width: 990px !important
|
52
|
+
|
53
|
+
input[type=checkbox]
|
54
|
+
width: 30px !important
|
55
|
+
|
56
|
+
.nav.root_links
|
57
|
+
|
58
|
+
> li
|
59
|
+
display: inline-block
|
60
|
+
|
61
|
+
.dropdown-header
|
62
|
+
border-top: 2px solid #777777
|
63
|
+
text-align: right
|
64
|
+
|
65
|
+
&:first-child
|
66
|
+
border-top: none
|
67
|
+
|
68
|
+
.bank_row .logo_field, #edit_bank img
|
69
|
+
background: #ccc !important
|
70
|
+
|
71
|
+
.ui-menu-item
|
72
|
+
border: 1px solid transparent
|
73
|
+
|
74
|
+
.content > .alert
|
75
|
+
margin-top: 20px
|
76
|
+
|
77
|
+
.badge-important
|
78
|
+
background: red
|
79
|
+
.badge-success
|
80
|
+
background: green
|
81
|
+
|
82
|
+
.sidebar-nav
|
83
|
+
// margin-top: 51px
|
84
|
+
i
|
85
|
+
margin-right: 5px
|
86
|
+
|
87
|
+
body.rails_admin .table td.paperclip_type, body.rails_admin .table td.carrierwave_type, body.rails_admin .table td.jcrop_type
|
88
|
+
img
|
89
|
+
max-width: 150px
|
90
|
+
max-height: 100p
|
91
|
+
|
92
|
+
|
93
|
+
#list
|
94
|
+
.input-group
|
95
|
+
.input-group-btn
|
96
|
+
.btn-info
|
97
|
+
height: 33px
|
98
|
+
|
99
|
+
.table-condensed
|
100
|
+
> tbody, > thead
|
101
|
+
> tr
|
102
|
+
> td
|
103
|
+
padding: 6px 4px 0px 5px
|
104
|
+
|
105
|
+
&.toggle_type
|
106
|
+
padding-top: 14px
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Enjoy.configure do |config|
|
2
|
+
##### defaults #####
|
3
|
+
# config.main_index_layout = 'application'
|
4
|
+
# config.menu_max_depth = 2
|
5
|
+
# config.error_layout = 'application'
|
6
|
+
#
|
7
|
+
# config.localize = false
|
8
|
+
#
|
9
|
+
# config.recaptcha_support = defined?(Recaptcha)
|
10
|
+
# config.simple_captcha_support = defined?(SimpleCaptcha)
|
11
|
+
#
|
12
|
+
# config.admin_enter_captcha = config.recaptcha_support or config.simple_captcha_support
|
13
|
+
# config.registration_captcha = config.admin_enter_captcha
|
14
|
+
#
|
15
|
+
#
|
16
|
+
#
|
17
|
+
#
|
18
|
+
# config.ability_manager_config << {
|
19
|
+
# method: :can,
|
20
|
+
# model: MODEL,
|
21
|
+
# actions: ACTIONS_ARRAY
|
22
|
+
# }
|
23
|
+
# config.ability_admin_config << {
|
24
|
+
# method: :can,
|
25
|
+
# model: MODEL,
|
26
|
+
# actions: ACTIONS_ARRAY
|
27
|
+
# }
|
28
|
+
end
|