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.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.ruby-version +1 -1
  4. data/Gemfile.lock +62 -111
  5. data/app/assets/javascripts/{enjoy_cms → enjoy/cms}/flash.coffee +0 -0
  6. data/app/assets/javascripts/enjoy/cms/init.coffee +1 -0
  7. data/app/assets/javascripts/{enjoy_cms → enjoy/cms}/map.coffee +0 -0
  8. data/app/assets/javascripts/enjoy/cms.coffee +11 -0
  9. data/app/assets/javascripts/enjoy/rails_admin/cms.ui.coffee +26 -0
  10. data/app/assets/javascripts/{enjoy_cms → enjoy}/rails_admin/custom/ui.coffee +0 -0
  11. data/app/assets/javascripts/rails_admin/custom/ui.coffee +2 -2
  12. data/app/assets/stylesheets/{enjoy_cms → enjoy/cms}/flash.sass +0 -0
  13. data/app/assets/stylesheets/{enjoy_cms → enjoy/cms}/normalize.scss +0 -0
  14. data/app/assets/stylesheets/{enjoy_cms → enjoy/cms}/powered.sass +0 -0
  15. data/app/assets/stylesheets/{enjoy_cms.sass → enjoy/cms.sass} +3 -1
  16. data/app/assets/stylesheets/enjoy/rails_admin/cms.ui.sass +117 -0
  17. data/{lib/enjoy/controllers/sitemap_data.rb → app/assets/stylesheets/enjoy/rails_admin/custom/ui.sass} +0 -0
  18. data/app/assets/stylesheets/rails_admin/custom/theming.sass +2 -0
  19. data/app/controllers/concerns/enjoy/errors.rb +1 -1
  20. data/app/controllers/enjoy/registrations_controller.rb +20 -0
  21. data/app/controllers/enjoy/sessions_controller.rb +19 -0
  22. data/app/helpers/enjoy/home_helper.rb +2 -0
  23. data/app/helpers/enjoy/powered_helper.rb +1 -1
  24. data/app/models/concerns/enjoy/html_field.rb +3 -0
  25. data/app/views/blocks/_favicon.html.slim +60 -21
  26. data/app/views/devise/registrations/edit.html.slim +2 -2
  27. data/app/views/devise/registrations/new.html.slim +9 -3
  28. data/app/views/devise/sessions/new.html.slim +8 -2
  29. data/app/views/devise/shared/_links.html.slim +4 -4
  30. data/app/views/{errors → enjoy/errors}/_base.html.slim +0 -0
  31. data/app/views/{errors → enjoy/errors}/error_403.html.slim +0 -0
  32. data/app/views/{errors → enjoy/errors}/error_404.html.slim +0 -0
  33. data/app/views/{errors → enjoy/errors}/error_500.html.slim +0 -0
  34. data/app/views/{simple_captcha → enjoy/simple_captcha}/_simple_captcha.html.slim +0 -0
  35. data/app/views/layouts/application.html.slim +8 -4
  36. data/app/views/layouts/enjoy/devise/confirmations.html.slim +27 -0
  37. data/app/views/layouts/enjoy/devise/passwords.html.slim +27 -0
  38. data/app/views/layouts/enjoy/devise/registrations.html.slim +27 -0
  39. data/app/views/layouts/enjoy/devise/sessions.html.slim +27 -0
  40. data/app/views/layouts/enjoy/devise/unlocks.html.slim +27 -0
  41. data/app/views/rails_admin/main/_setting_value.html.haml +104 -0
  42. data/app/views/shared/_messages.html.slim +1 -1
  43. data/config/initializers/simple_captcha.rb +29 -20
  44. data/config/locales/en.enjoy.yml +1 -1
  45. data/config/locales/ru.enjoy.yml +0 -7
  46. data/config/locales/ru.models.yml +2 -39
  47. data/enjoy_cms.gemspec +7 -20
  48. data/lib/enjoy/configuration.rb +24 -40
  49. data/lib/enjoy/controller.rb +5 -3
  50. data/lib/enjoy/engine.rb +28 -28
  51. data/lib/enjoy/migration.rb +0 -19
  52. data/lib/enjoy/model.rb +5 -2
  53. data/lib/enjoy/rails_admin_ext/config.rb +112 -0
  54. data/lib/enjoy/rails_admin_ext/enjoy_hash.rb +0 -2
  55. data/lib/enjoy/rails_admin_ext/enjoy_slugs.rb +31 -0
  56. data/lib/enjoy/rails_admin_ext/group_patch.rb +2 -1
  57. data/lib/enjoy/rails_admin_settings_patch.rb +7 -0
  58. data/lib/enjoy/routes.rb +1 -26
  59. data/lib/enjoy/version.rb +1 -1
  60. data/lib/enjoy_cms.rb +25 -71
  61. data/lib/filename_to_slug.rb +20 -22
  62. data/lib/generators/enjoy/{ability_generator.rb → cms/ability_generator.rb} +3 -3
  63. data/lib/generators/enjoy/{admin_generator.rb → cms/admin_generator.rb} +2 -2
  64. data/lib/generators/enjoy/cms/application_generator.rb +14 -0
  65. data/lib/generators/enjoy/cms/assets_generator.rb +35 -0
  66. data/lib/generators/enjoy/{config/install_generator.rb → cms/config_generator.rb} +3 -3
  67. data/lib/generators/enjoy/cms/gemfile_generator.rb +13 -0
  68. data/lib/generators/enjoy/{layout_generator.rb → cms/layout_generator.rb} +2 -2
  69. data/lib/generators/enjoy/cms/paperclip_optimizer_generator.rb +13 -0
  70. data/lib/generators/enjoy/cms/rack_generator.rb +12 -0
  71. data/lib/generators/enjoy/cms/robots_generator.rb +12 -0
  72. data/lib/generators/enjoy/cms/scripts_generator.rb +25 -0
  73. data/lib/generators/enjoy/cms/templates/Gemfile.erb +69 -0
  74. data/lib/generators/enjoy/cms/templates/ability.erb +45 -0
  75. data/lib/generators/enjoy/{templates → cms/templates}/admin.erb +5 -26
  76. data/lib/generators/enjoy/cms/templates/application.erb +42 -0
  77. data/lib/generators/enjoy/cms/templates/assets/javascripts/application.coffee.erb +1 -0
  78. data/lib/generators/enjoy/cms/templates/assets/stylesheets/application.sass.erb +15 -0
  79. data/lib/generators/enjoy/cms/templates/assets/stylesheets/enjoy/rails_admin/custom/ui.sass.erb +106 -0
  80. data/lib/generators/enjoy/cms/templates/enjoy_cms.erb +28 -0
  81. data/lib/generators/enjoy/cms/templates/paperclip_optimizer.erb +80 -0
  82. data/lib/generators/enjoy/cms/templates/rack.erb +15 -0
  83. data/lib/generators/enjoy/cms/templates/robots.txt.erb +4 -0
  84. data/lib/generators/enjoy/cms/templates/scripts/assets_precompile.sh +3 -0
  85. data/lib/generators/enjoy/cms/templates/scripts/bundle_production.sh +4 -0
  86. data/lib/generators/enjoy/cms/templates/scripts/db_dump.sh.erb +3 -0
  87. data/lib/generators/enjoy/cms/templates/scripts/db_restore.sh +3 -0
  88. data/lib/generators/enjoy/cms/templates/scripts/full_assets_precompile.sh +4 -0
  89. data/lib/generators/enjoy/cms/templates/scripts/restart_thru_kill.sh +3 -0
  90. data/lib/generators/enjoy/cms/templates/scripts/send_hup.sh +3 -0
  91. data/lib/generators/enjoy/cms/templates/scripts/send_usr2.sh +3 -0
  92. data/lib/generators/enjoy/cms/templates/unicorn.erb +57 -0
  93. data/lib/generators/enjoy/cms/templates/unicorn.god.erb +59 -0
  94. data/lib/generators/enjoy/cms/unicorn_god_generator.rb +15 -0
  95. data/lib/generators/enjoy/{utils.rb → cms/utils.rb} +1 -1
  96. data/lib/rails_admin/custom_show_in_app.rb +13 -13
  97. data/template.rb +197 -543
  98. metadata +73 -325
  99. data/app/assets/javascripts/enjoy_cms/contacts.coffee +0 -11
  100. data/app/assets/javascripts/enjoy_cms/rails_admin/cms.ui.coffee +0 -6
  101. data/app/assets/javascripts/enjoy_cms.coffee +0 -7
  102. data/app/controllers/concerns/enjoy/blocksetable.rb +0 -37
  103. data/app/controllers/concerns/enjoy/decorators/contacts.rb +0 -5
  104. data/app/controllers/concerns/enjoy/decorators/news.rb +0 -5
  105. data/app/controllers/concerns/enjoy/decorators/pages.rb +0 -5
  106. data/app/controllers/concerns/enjoy/decorators/search.rb +0 -5
  107. data/app/controllers/concerns/enjoy/nav_menu.rb +0 -91
  108. data/app/controllers/concerns/enjoy/seo_pages.rb +0 -90
  109. data/app/controllers/enjoy/contacts_controller.rb +0 -7
  110. data/app/controllers/enjoy/news_controller.rb +0 -7
  111. data/app/controllers/enjoy/pages_controller.rb +0 -7
  112. data/app/controllers/enjoy/search_controller.rb +0 -8
  113. data/app/mailers/enjoy/contact_mailer.rb +0 -17
  114. data/app/models/concerns/enjoy/connectable.rb +0 -36
  115. data/app/models/concerns/enjoy/decorators/contact_message.rb +0 -5
  116. data/app/models/concerns/enjoy/decorators/embedded_gallery_image.rb +0 -5
  117. data/app/models/concerns/enjoy/decorators/gallery.rb +0 -5
  118. data/app/models/concerns/enjoy/decorators/gallery_image.rb +0 -5
  119. data/app/models/concerns/enjoy/decorators/menu.rb +0 -5
  120. data/app/models/concerns/enjoy/decorators/news.rb +0 -5
  121. data/app/models/concerns/enjoy/decorators/page.rb +0 -5
  122. data/app/models/concerns/enjoy/decorators/page_block.rb +0 -5
  123. data/app/models/concerns/enjoy/decorators/page_blockset.rb +0 -5
  124. data/app/models/concerns/enjoy/decorators/seo.rb +0 -5
  125. data/app/models/concerns/enjoy/decorators/sitemap_data.rb +0 -5
  126. data/app/models/concerns/enjoy/mongoid_paperclip.rb +0 -51
  127. data/app/models/concerns/enjoy/seoable.rb +0 -36
  128. data/app/models/concerns/enjoy/sitemap_data_field.rb +0 -17
  129. data/app/models/enjoy/contact_message.rb +0 -16
  130. data/app/models/enjoy/embedded_gallery_image.rb +0 -16
  131. data/app/models/enjoy/gallery.rb +0 -13
  132. data/app/models/enjoy/gallery_image.rb +0 -13
  133. data/app/models/enjoy/menu.rb +0 -16
  134. data/app/models/enjoy/news.rb +0 -16
  135. data/app/models/enjoy/page.rb +0 -16
  136. data/app/models/enjoy/page_block.rb +0 -13
  137. data/app/models/enjoy/page_blockset.rb +0 -13
  138. data/app/models/enjoy/seo.rb +0 -16
  139. data/app/models/enjoy/sitemap_data.rb +0 -16
  140. data/app/views/enjoy/contact_mailer/new_message_email.html.slim +0 -15
  141. data/app/views/enjoy/contacts/_form.html.slim +0 -7
  142. data/app/views/enjoy/contacts/_form_with_wrapper.html.slim +0 -2
  143. data/app/views/enjoy/contacts/_success.html.slim +0 -3
  144. data/app/views/enjoy/contacts/index.html.slim +0 -4
  145. data/app/views/enjoy/contacts/new.html.slim +0 -4
  146. data/app/views/enjoy/contacts/sent.html.slim +0 -3
  147. data/app/views/enjoy/news/index.html.slim +0 -9
  148. data/app/views/enjoy/news/show.html.slim +0 -8
  149. data/app/views/enjoy/pages/show.html.slim +0 -1
  150. data/app/views/enjoy/search/index.html.slim +0 -19
  151. data/app/views/rails_admin/main/_enjoy_connectable.html.slim +0 -56
  152. data/config/locales/ru.kaminari.yml +0 -17
  153. data/config/locales/ru.simple_captcha.yml +0 -3
  154. data/config/locales/ru.simple_form.yml +0 -9
  155. data/lib/enjoy/admin/contact_message.rb +0 -42
  156. data/lib/enjoy/admin/embedded_gallery_image.rb +0 -38
  157. data/lib/enjoy/admin/gallery.rb +0 -44
  158. data/lib/enjoy/admin/gallery_image.rb +0 -31
  159. data/lib/enjoy/admin/menu.rb +0 -27
  160. data/lib/enjoy/admin/news.rb +0 -89
  161. data/lib/enjoy/admin/page.rb +0 -96
  162. data/lib/enjoy/admin/page_block.rb +0 -49
  163. data/lib/enjoy/admin/page_blockset.rb +0 -50
  164. data/lib/enjoy/admin/seo.rb +0 -41
  165. data/lib/enjoy/admin/sitemap_data.rb +0 -29
  166. data/lib/enjoy/controllers/contacts.rb +0 -86
  167. data/lib/enjoy/controllers/news.rb +0 -36
  168. data/lib/enjoy/controllers/pages.rb +0 -22
  169. data/lib/enjoy/controllers/search.rb +0 -62
  170. data/lib/enjoy/elastic_search.rb +0 -31
  171. data/lib/enjoy/models/active_record/contact_message.rb +0 -14
  172. data/lib/enjoy/models/active_record/menu.rb +0 -17
  173. data/lib/enjoy/models/active_record/news.rb +0 -26
  174. data/lib/enjoy/models/active_record/page.rb +0 -20
  175. data/lib/enjoy/models/active_record/seo.rb +0 -17
  176. data/lib/enjoy/models/active_record/sitemap_data.rb +0 -11
  177. data/lib/enjoy/models/contact_message.rb +0 -41
  178. data/lib/enjoy/models/embedded_gallery_image.rb +0 -13
  179. data/lib/enjoy/models/gallery.rb +0 -21
  180. data/lib/enjoy/models/gallery_image.rb +0 -19
  181. data/lib/enjoy/models/menu.rb +0 -23
  182. data/lib/enjoy/models/mongoid/contact_message.rb +0 -23
  183. data/lib/enjoy/models/mongoid/embedded_gallery_image.rb +0 -24
  184. data/lib/enjoy/models/mongoid/gallery.rb +0 -32
  185. data/lib/enjoy/models/mongoid/gallery_image.rb +0 -29
  186. data/lib/enjoy/models/mongoid/menu.rb +0 -20
  187. data/lib/enjoy/models/mongoid/news.rb +0 -37
  188. data/lib/enjoy/models/mongoid/page.rb +0 -49
  189. data/lib/enjoy/models/mongoid/page_block.rb +0 -56
  190. data/lib/enjoy/models/mongoid/page_blockset.rb +0 -20
  191. data/lib/enjoy/models/mongoid/seo.rb +0 -35
  192. data/lib/enjoy/models/mongoid/sitemap_data.rb +0 -25
  193. data/lib/enjoy/models/news.rb +0 -58
  194. data/lib/enjoy/models/page.rb +0 -92
  195. data/lib/enjoy/models/page_block.rb +0 -22
  196. data/lib/enjoy/models/page_blockset.rb +0 -24
  197. data/lib/enjoy/models/seo.rb +0 -17
  198. data/lib/enjoy/models/sitemap_data.rb +0 -17
  199. data/lib/enjoy/rails_admin_ext/enjoy_connectable.rb +0 -33
  200. data/lib/enjoy/rails_admin_ext/menu.rb +0 -147
  201. data/lib/generators/enjoy/capify_generator.rb +0 -39
  202. data/lib/generators/enjoy/config/templates/enjoy_cms.erb +0 -27
  203. data/lib/generators/enjoy/migration_generator.rb +0 -18
  204. data/lib/generators/enjoy/templates/Capfile +0 -17
  205. data/lib/generators/enjoy/templates/ability.erb +0 -48
  206. data/lib/generators/enjoy/templates/deploy.erb +0 -47
  207. data/lib/generators/enjoy/templates/dl.erb +0 -30
  208. data/lib/generators/enjoy/templates/migration_contact_messages.rb +0 -15
  209. data/lib/generators/enjoy/templates/migration_news.rb +0 -26
  210. data/lib/generators/enjoy/templates/migration_pages.rb +0 -45
  211. data/lib/generators/enjoy/templates/migration_seos.rb +0 -14
  212. data/lib/generators/enjoy/templates/production.erb +0 -8
  213. data/lib/generators/enjoy/templates/unicorn.erb +0 -66
@@ -10,25 +10,23 @@ class String
10
10
  s
11
11
  end
12
12
  end
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
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 ability
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::Config
4
- class InstallGenerator < Rails::Generators::Base
3
+ module Enjoy::Cms
4
+ class ConfigGenerator < Rails::Generators::Base
5
5
  source_root File.expand_path('../templates', __FILE__)
6
6
 
7
- desc 'Enjoy::CMS Config generator'
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 do
64
- visible do
65
- ['Enjoy::Page'].include? bindings[:abstract_model].model_name
66
- end
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::EmbeddedGalleryImage', 'Enjoy::EmbeddedElement'
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,15 @@
1
+ @import 'compass'
2
+ @import 'enjoy/cms'
3
+
4
+ #wrapper
5
+ width: 960px
6
+ margin: 0 auto
7
+ #sidebar
8
+ float: left
9
+ width: 200px
10
+ #content
11
+ float: right
12
+ width: 750px
13
+
14
+ @import "compass/layout/sticky-footer"
15
+ +sticky-footer(50px)
@@ -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