coalla-cms 0.5.2.4 → 0.6.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +8 -8
  2. data/Gemfile +1 -1
  3. data/app/assets/javascripts/admin/admin.js +233 -34
  4. data/app/assets/stylesheets/admin/admin.scss +1 -2
  5. data/app/assets/stylesheets/admin/vendor/bootstrap.min.css +6242 -4
  6. data/app/assets/stylesheets/admin/vendor/token-input-bootstrap.scss +144 -0
  7. data/app/controllers/admin/autocomplete_controller.rb +3 -1
  8. data/app/controllers/admin/base_controller.rb +35 -0
  9. data/app/controllers/concerns/admin/editable_columns.rb +55 -0
  10. data/app/controllers/concerns/admin/sortable_columns.rb +16 -0
  11. data/app/controllers/{admin/sortable_controller.rb → concerns/admin/sortable_models.rb} +1 -5
  12. data/app/helpers/admin/alerts_helper.rb +31 -0
  13. data/app/helpers/admin/content_helper.rb +29 -0
  14. data/app/helpers/admin/form_helper.rb +50 -0
  15. data/app/helpers/admin/resource_helpers.rb +102 -0
  16. data/app/helpers/admin/search_helper.rb +44 -40
  17. data/app/helpers/admin/table_helper.rb +40 -0
  18. data/app/helpers/common_helper.rb +2 -2
  19. data/app/models/file_upload.rb +1 -1
  20. data/app/models/lookup.rb +1 -1
  21. data/app/models/site_meta_tags.rb +2 -2
  22. data/app/views/admin/common/_menu_section.haml +1 -1
  23. data/app/views/admin/common/_nested_fields_for.html.haml +10 -5
  24. data/app/views/admin/common/_nested_fields_for_element.html.haml +21 -5
  25. data/app/views/admin/common/_table_template.html.haml +26 -7
  26. data/app/views/admin/common/_upload_form.html.haml +2 -1
  27. data/app/views/admin/editable_columns/edit/_boolean.haml +2 -0
  28. data/app/views/admin/editable_columns/edit/_date.haml +2 -0
  29. data/app/views/admin/editable_columns/edit/_datetime.haml +3 -0
  30. data/app/views/admin/editable_columns/edit/_enumerize.haml +2 -0
  31. data/app/views/admin/editable_columns/edit/_string.haml +2 -0
  32. data/app/views/admin/editable_columns/edit/_text.haml +2 -0
  33. data/app/views/admin/editable_columns/edit/_time.haml +3 -0
  34. data/app/views/admin/editable_columns/edit_column.haml +8 -0
  35. data/app/views/admin/editable_columns/result/_boolean.haml +2 -0
  36. data/app/views/admin/editable_columns/result/_date.haml +1 -0
  37. data/app/views/admin/editable_columns/result/_datetime.haml +1 -0
  38. data/app/views/admin/editable_columns/result/_enumerize.haml +1 -0
  39. data/app/views/admin/editable_columns/result/_string.haml +1 -0
  40. data/app/views/admin/editable_columns/result/_text.haml +1 -0
  41. data/app/views/admin/editable_columns/result/_time.haml +1 -0
  42. data/app/views/admin/site_meta_tags/index.html.haml +2 -2
  43. data/app/views/layouts/admin.html.haml +12 -0
  44. data/app/views/structure/_section.haml +2 -9
  45. data/coalla-cms.gemspec +10 -11
  46. data/lib/coalla/builders/actions_column_definition.rb +44 -0
  47. data/lib/coalla/builders/admin_structure.rb +86 -0
  48. data/lib/coalla/builders/column_definition.rb +9 -0
  49. data/lib/coalla/builders/form_builder.rb +291 -0
  50. data/lib/coalla/builders/link_renderer.rb +43 -0
  51. data/lib/coalla/builders/policy.rb +30 -0
  52. data/lib/coalla/builders/table_builder.rb +99 -0
  53. data/lib/coalla/builders/table_formatter.rb +133 -0
  54. data/lib/coalla/builders/text_formatter.rb +22 -0
  55. data/lib/coalla/cms/engine.rb +3 -2
  56. data/lib/coalla/cms/version.rb +2 -2
  57. data/lib/coalla/ext/mapper.rb +7 -0
  58. data/lib/coalla/orm/{relation.rb → multi_field.rb} +7 -8
  59. data/lib/coalla/orm/page_slider.rb +2 -28
  60. data/lib/coalla/orm/sanitized.rb +1 -5
  61. data/lib/coalla/orm/sortable_association.rb +30 -0
  62. data/lib/coalla/uploaders/file_uploader.rb +9 -0
  63. data/lib/coalla/uploaders/image_uploader.rb +62 -0
  64. data/lib/coalla/uploaders/meta_image_uploader.rb +7 -0
  65. data/lib/coalla-cms.rb +10 -0
  66. data/lib/generators/coalla/cms/create_admin_administrators_generator.rb +5 -7
  67. data/lib/generators/coalla/cms/create_admin_generator.rb +9 -7
  68. data/lib/generators/coalla/cms/create_admin_login_view_generator.rb +4 -6
  69. data/lib/generators/coalla/cms/create_markup_generator.rb +2 -2
  70. data/lib/generators/coalla/cms/file_uploads/install_generator.rb +0 -17
  71. data/lib/generators/coalla/cms/file_uploads/mount_generator.rb +4 -7
  72. data/lib/generators/coalla/cms/image/install_generator.rb +0 -3
  73. data/lib/generators/coalla/cms/image/mount_generator.rb +0 -3
  74. data/lib/generators/coalla/cms/image/templates/mount/uploader.rb.erb +1 -1
  75. data/lib/generators/coalla/cms/image/templates/uploader.rb.erb +1 -1
  76. data/lib/generators/coalla/cms/init_generator.rb +42 -49
  77. data/lib/generators/coalla/cms/lookups/install_generator.rb +0 -3
  78. data/lib/generators/coalla/cms/meta_tags/install_generator.rb +0 -2
  79. data/lib/generators/coalla/cms/scaffold_generator.rb +7 -7
  80. data/lib/generators/coalla/cms/setup_admin_generator.rb +9 -9
  81. data/lib/generators/coalla/cms/setup_routes_generator.rb +3 -3
  82. data/lib/generators/coalla/cms/slider/init_generator.rb +1 -3
  83. data/lib/generators/coalla/cms/slider/templates/slider_image.rb.erb +0 -1
  84. data/lib/generators/coalla/cms/slider/templates/slider_image_uploader.rb.erb +1 -1
  85. data/lib/generators/coalla/cms/templates/.gitignore +3 -3
  86. data/lib/generators/coalla/cms/templates/controllers/admin/administrators_controller.rb +2 -40
  87. data/lib/generators/coalla/cms/templates/controllers/admin/scaffold_controller_template.rb.erb +0 -39
  88. data/lib/generators/coalla/cms/templates/initializers/carrierwave.rb +0 -90
  89. data/lib/generators/coalla/cms/templates/locales/activerecord.en.yml +14 -1
  90. data/lib/generators/coalla/cms/templates/views/admin/administrators/_form.html.haml +1 -1
  91. data/lib/generators/coalla/cms/templates/views/admin/administrators/edit.html.haml +1 -1
  92. data/lib/generators/coalla/cms/templates/views/admin/administrators/index.html.haml +5 -5
  93. data/lib/generators/coalla/cms/templates/views/admin/administrators/new.html.haml +1 -1
  94. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/_form.html.haml.erb +1 -1
  95. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/edit.html.haml.erb +1 -1
  96. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/index.html.haml.erb +5 -5
  97. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/new.html.haml.erb +1 -1
  98. data/lib/generators/coalla/cms/templates/views/administrators/sessions/new.html.haml +1 -1
  99. data/lib/generators/coalla/cms/utils/orm.rb +29 -0
  100. data/lib/generators/coalla/cms/utils/scaffold.rb +11 -0
  101. metadata +57 -100
  102. data/Gemfile.lock +0 -198
  103. data/app/assets/stylesheets/admin/vendor/token-input-facebook.patched.css +0 -126
  104. data/app/assets/stylesheets/admin/vendor/token-input.patched.css +0 -116
  105. data/app/controllers/admin/notifier_controller.rb +0 -7
  106. data/app/helpers/admin_helper.rb +0 -29
  107. data/app/helpers/nested_fields_helper.rb +0 -12
  108. data/app/helpers/static_text_formatter.rb +0 -25
  109. data/app/helpers/twitter_builder_helper.rb +0 -253
  110. data/app/helpers/twitter_form_builder.rb +0 -202
  111. data/app/uploaders/file_uploader.rb +0 -10
  112. data/app/uploaders/generic_image_uploader.rb +0 -75
  113. data/app/uploaders/meta_tags_image_uploader.rb +0 -5
  114. data/app/utils/admin_structure.rb +0 -82
  115. data/app/utils/bootstrap_link_renderer.rb +0 -40
  116. data/app/utils/table_helpers.rb +0 -196
  117. data/lib/generators/coalla/cms/market/install_generator.rb +0 -71
  118. data/lib/generators/coalla/cms/market/templates/controllers/categories_controller.rb +0 -47
  119. data/lib/generators/coalla/cms/market/templates/controllers/products_controller.rb +0 -50
  120. data/lib/generators/coalla/cms/market/templates/controllers/properties_controller.rb +0 -59
  121. data/lib/generators/coalla/cms/market/templates/market.rb +0 -5
  122. data/lib/generators/coalla/cms/market/templates/market.ru.yml +0 -53
  123. data/lib/generators/coalla/cms/market/templates/migrations/create_categories.rb +0 -15
  124. data/lib/generators/coalla/cms/market/templates/migrations/create_product_properties.rb +0 -18
  125. data/lib/generators/coalla/cms/market/templates/migrations/create_products.rb +0 -18
  126. data/lib/generators/coalla/cms/market/templates/migrations/create_properties.rb +0 -11
  127. data/lib/generators/coalla/cms/market/templates/models/category.rb +0 -36
  128. data/lib/generators/coalla/cms/market/templates/models/product.rb +0 -16
  129. data/lib/generators/coalla/cms/market/templates/models/product_property.rb +0 -14
  130. data/lib/generators/coalla/cms/market/templates/models/property.rb +0 -7
  131. data/lib/generators/coalla/cms/market/templates/views/categories/_form.html.haml +0 -10
  132. data/lib/generators/coalla/cms/market/templates/views/categories/edit.html.haml +0 -5
  133. data/lib/generators/coalla/cms/market/templates/views/categories/index.html.haml +0 -17
  134. data/lib/generators/coalla/cms/market/templates/views/categories/new.html.haml +0 -4
  135. data/lib/generators/coalla/cms/market/templates/views/products/_form.html.haml +0 -17
  136. data/lib/generators/coalla/cms/market/templates/views/products/_product_property_fields.html.haml +0 -13
  137. data/lib/generators/coalla/cms/market/templates/views/products/edit.html.haml +0 -5
  138. data/lib/generators/coalla/cms/market/templates/views/products/index.html.haml +0 -17
  139. data/lib/generators/coalla/cms/market/templates/views/products/new.html.haml +0 -4
  140. data/lib/generators/coalla/cms/market/templates/views/properties/_form.html.haml +0 -9
  141. data/lib/generators/coalla/cms/market/templates/views/properties/edit.html.haml +0 -5
  142. data/lib/generators/coalla/cms/market/templates/views/properties/index.html.haml +0 -15
  143. data/lib/generators/coalla/cms/market/templates/views/properties/new.html.haml +0 -4
  144. data/lib/generators/coalla/cms/news/scaffold_generator.rb +0 -50
  145. data/lib/generators/coalla/cms/news/templates/entity.rb.erb +0 -10
  146. data/lib/generators/coalla/cms/news/templates/entity_controller_template.rb.erb +0 -47
  147. data/lib/generators/coalla/cms/news/templates/entity_image_uploader.rb.erb +0 -7
  148. data/lib/generators/coalla/cms/news/templates/migration.rb.erb +0 -15
  149. data/lib/generators/coalla/cms/news/templates/views/_form.haml.erb +0 -16
  150. data/lib/generators/coalla/cms/news/templates/views/edit.haml.erb +0 -5
  151. data/lib/generators/coalla/cms/news/templates/views/index.haml.erb +0 -18
  152. data/lib/generators/coalla/cms/news/templates/views/new.haml.erb +0 -5
  153. data/lib/generators/coalla/cms/orm_helpers.rb +0 -31
  154. data/lib/generators/coalla/cms/scaffold_helper.rb +0 -11
  155. data/lib/generators/coalla/cms/templates/controllers/admin/base_controller.rb.erb +0 -35
  156. /data/{lib/generators/coalla/cms/templates/controllers/admin/home_controller.rb.erb → app/controllers/admin/home_controller.rb} +0 -0
@@ -1,7 +1,5 @@
1
1
  module Coalla
2
-
3
2
  module PageSlider
4
-
5
3
  def slider(collection_name, options = {})
6
4
  class_name = options.delete(:class_name) || 'SliderImage'
7
5
  slider_type = slider_type(collection_name)
@@ -10,6 +8,7 @@ module Coalla
10
8
  define_method "sorted_#{collection_name}" do
11
9
  send(collection_name).sort_by(&:position)
12
10
  end
11
+ sortable_association(collection_name.to_sym)
13
12
  end
14
13
 
15
14
  def slider_type(collection_name)
@@ -24,32 +23,7 @@ module Coalla
24
23
  @@slider_metadata << slider_type
25
24
  slider_type
26
25
  end
27
-
28
- def self.extended(klass)
29
- klass.class_eval <<-EOV
30
- include ::Coalla::PageSlider::InstanceMethods
31
- EOV
32
- end
33
-
34
- module InstanceMethods
35
-
36
- def assign_nested_attributes_for_collection_association(association_name, attributes_collection)
37
- association_class = self.class.reflect_on_association(association_name).klass
38
- if association_class.attribute_names.include?('position')
39
- attributes_collection.each_with_index do |(key, value), index|
40
- if value.is_a?(Hash)
41
- value[:position] = index
42
- end
43
- end
44
- end
45
- super
46
- end
47
-
48
- end
49
26
  end
50
-
51
27
  end
52
28
 
53
- unless Rails.configuration.try(:disable_page_slider)
54
- ActiveRecord::Base.extend Coalla::PageSlider
55
- end
29
+ ActiveRecord::Base.extend(Coalla::PageSlider)
@@ -1,16 +1,12 @@
1
1
  module Coalla
2
-
3
2
  module Sanitized
4
-
5
3
  def sanitize_html(attribute, config = Sanitize::Config::DEFAULT)
6
4
  before_save do
7
5
  sanitize_attr = Sanitize.fragment(send(attribute), config)
8
6
  send("#{attribute}=", sanitize_attr)
9
7
  end
10
8
  end
11
-
12
9
  end
13
-
14
10
  end
15
11
 
16
- ActiveRecord::Base.extend Coalla::Sanitized
12
+ ActiveRecord::Base.extend(Coalla::Sanitized)
@@ -0,0 +1,30 @@
1
+ module Coalla
2
+ module SortableAssociation
3
+ def sortable_association(*args)
4
+ unless respond_to?(:sortable_associations)
5
+ class_attribute :sortable_associations, instance_writer: false
6
+ self.sortable_associations = []
7
+ end
8
+
9
+ self.sortable_associations += args
10
+
11
+ class_eval do
12
+ def assign_nested_attributes_for_collection_association(association_name, attributes_collection)
13
+ association_class = self.class.reflect_on_association(association_name).klass
14
+ if sortable_associations.include?(association_name) && association_class.attribute_names.include?('position')
15
+ attributes_collection.each_with_index do |(key, value), index|
16
+ if key.is_a?(Hash)
17
+ key[:position] = index
18
+ elsif value.is_a?(Hash)
19
+ value[:position] = index
20
+ end
21
+ end
22
+ end
23
+ super
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ ActiveRecord::Base.extend(Coalla::SortableAssociation)
@@ -0,0 +1,9 @@
1
+ module Coalla
2
+ class FileUploader < CarrierWave::Uploader::Base
3
+ storage :file
4
+
5
+ def store_dir
6
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,62 @@
1
+ #encoding: utf-8
2
+ require 'shellwords'
3
+
4
+ module Coalla
5
+ class ImageUploader < CarrierWave::Uploader::Base
6
+ include CarrierWave::RMagick
7
+
8
+ storage :file
9
+
10
+ def store_dir
11
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
12
+ end
13
+
14
+ # You can call this method in your model
15
+ # For example
16
+ # before_save if: :image_changed? do
17
+ # image.set_image_properties
18
+ # end
19
+ def set_image_properties
20
+ return if !model || !file
21
+
22
+ model.send(setter(:file_name), file.filename) if model.respond_to?(setter(:file_name))
23
+ model.send(setter(:size), file.size) if model.respond_to?(setter(:size))
24
+ model.send(setter(:content_type), file.content_type) if model.respond_to?(setter(:content_type))
25
+ if model.respond_to?(setter(:width)) && model.respond_to?(setter(:height))
26
+ w, h = `identify -format "%wx %h" #{file.path.shellescape}`.split(/x/).map { |dim| dim.to_i }
27
+ model.send(setter(:width), w)
28
+ model.send(setter(:height), h)
29
+ end
30
+ end
31
+
32
+ # You can call this method with process in your uploader
33
+ def watermark
34
+ return if !model || !model.respond_to?(getter(:watermarked?)) || !model.send(getter(:watermarked?))
35
+
36
+ manipulate! do |img|
37
+ logo = Magick::Image.read(Rails.root.join('app/assets/images/watermark.png')).first
38
+ img.composite(logo, Magick::SouthEastGravity, 0, 0, Magick::OverCompositeOp)
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def setter(name)
45
+ opt = model.class.uploader_options[mounted_as] || {}
46
+ if opt[:prefixed]
47
+ "#{mounted_as}_#{name}="
48
+ else
49
+ "#{name}="
50
+ end
51
+ end
52
+
53
+ def getter(name)
54
+ opt = model.class.uploader_options[mounted_as] || {}
55
+ if opt[:prefixed]
56
+ "#{mounted_as}_#{name}"
57
+ else
58
+ "#{name}"
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,7 @@
1
+ module Coalla
2
+ class MetaImageUploader < ImageUploader
3
+ version :main do
4
+ resize_to_limit 1024, 1024
5
+ end
6
+ end
7
+ end
data/lib/coalla-cms.rb CHANGED
@@ -15,3 +15,13 @@ require 'will_paginate'
15
15
  require 'coalla/cms/engine'
16
16
  require 'coalla/cms/version'
17
17
  require 'coalla/ext/mapper'
18
+
19
+ require 'coalla/uploaders/file_uploader'
20
+ require 'coalla/uploaders/image_uploader'
21
+ require 'coalla/uploaders/meta_image_uploader'
22
+
23
+ require 'coalla/builders/policy'
24
+ require 'coalla/builders/form_builder'
25
+ require 'coalla/builders/table_builder'
26
+ require 'coalla/builders/link_renderer'
27
+ require 'coalla/builders/admin_structure'
@@ -1,11 +1,10 @@
1
- require 'rails/generators/active_record'
1
+ require 'rails/generators/named_base'
2
2
 
3
3
  module Coalla
4
4
  module Cms
5
-
6
- class CreateAdminAdministratorsGenerator < ActiveRecord::Generators::Base
7
- argument :name, type: :string, default: ""
8
- source_root File.expand_path("../templates", __FILE__)
5
+ class CreateAdminAdministratorsGenerator < Rails::Generators::NamedBase
6
+ argument :name, type: :string, default: ''
7
+ source_root File.expand_path('../templates', __FILE__)
9
8
 
10
9
  def setup_directory
11
10
  copy_file 'controllers/admin/administrators_controller.rb', 'app/controllers/admin/administrators_controller.rb'
@@ -16,12 +15,11 @@ module Coalla
16
15
  def setup_routes
17
16
  sentinel = /namespace :admin do\s*$/
18
17
 
19
- routing_code = " resources :administrators"
18
+ routing_code = ' resources :administrators'
20
19
  in_root do
21
20
  inject_into_file 'config/routes.rb', "\n #{routing_code}", {after: sentinel}
22
21
  end
23
22
  end
24
-
25
23
  end
26
24
  end
27
25
  end
@@ -1,25 +1,27 @@
1
+ require 'rails'
1
2
  require 'rails/generators/active_record'
2
- require 'generators/coalla/cms/orm_helpers'
3
+ require 'generators/coalla/cms/utils/orm'
3
4
 
4
5
  module Coalla
5
6
  module Cms
6
7
  class CreateAdminGenerator < ActiveRecord::Generators::Base
7
- argument :name, :type => :string, :default => "Administrator"
8
+ include Coalla::Cms::Utils::Orm
8
9
 
9
- include Coalla::Cms::OrmHelpers
10
- source_root File.expand_path("../templates", __FILE__)
10
+ argument :name, :type => :string, :default => 'Administrator'
11
+
12
+ source_root File.expand_path('../templates', __FILE__)
11
13
 
12
14
  def copy_devise_migration
13
15
  if (behavior == :invoke && model_exists?) || (behavior == :revoke && migration_exists?(table_name))
14
- migration_template "migration_existing.rb", "db/migrate/add_admin_role_to_#{table_name}.rb"
16
+ migration_template 'migration_existing.rb', "db/migrate/add_admin_role_to_#{table_name}.rb"
15
17
  else
16
- migration_template "migration.rb", "db/migrate/create_#{table_name}_model.rb"
18
+ migration_template 'migration.rb', "db/migrate/create_#{table_name}_model.rb"
17
19
  end
18
20
  end
19
21
 
20
22
  def generate_model
21
23
  unless model_exists? && behavior == :invoke
22
- invoke "active_record:model", [name],
24
+ invoke 'active_record:model', [name],
23
25
  migration: false,
24
26
  fixture: false,
25
27
  test_framework: false
@@ -1,18 +1,16 @@
1
- require 'rails/generators/active_record'
1
+ require 'rails/generators/named_base'
2
2
 
3
3
  module Coalla
4
4
  module Cms
5
5
 
6
- class CreateAdminLoginViewGenerator < ActiveRecord::Generators::Base
7
- argument :name, type: :string, default: ""
8
- source_root File.expand_path("../templates", __FILE__)
6
+ class CreateAdminLoginViewGenerator < Rails::Generators::NamedBase
7
+ argument :name, type: :string, default: ''
8
+ source_root File.expand_path('../templates', __FILE__)
9
9
 
10
10
  def setup_directory
11
11
  empty_directory 'app/views/administrators/sessions'
12
12
  empty_directory 'app/controllers/admin'
13
13
 
14
- template 'controllers/admin/base_controller.rb.erb', 'app/controllers/admin/base_controller.rb'
15
- template 'controllers/admin/home_controller.rb.erb', 'app/controllers/admin/home_controller.rb'
16
14
  template 'views/administrators/sessions/new.html.haml', 'app/views/administrators/sessions/new.html.haml'
17
15
  end
18
16
 
@@ -1,9 +1,9 @@
1
- require 'rails/generators/active_record'
1
+ require 'rails/generators/named_base'
2
2
 
3
3
  module Coalla
4
4
  module Cms
5
5
 
6
- class CreateMarkupGenerator < ActiveRecord::Generators::Base
6
+ class CreateMarkupGenerator < Rails::Generators::NamedBase
7
7
  argument :name, type: :string, default: ""
8
8
  source_root File.expand_path('../templates', __FILE__)
9
9
 
@@ -4,7 +4,6 @@ require 'rails/generators/active_record'
4
4
  module Coalla
5
5
  module Cms
6
6
  module FileUploads
7
-
8
7
  class InstallGenerator < ActiveRecord::Generators::Base
9
8
  argument :name, type: :string, default: ""
10
9
  source_root File.expand_path("../templates", __FILE__)
@@ -12,24 +11,8 @@ module Coalla
12
11
 
13
12
  def copy_files
14
13
  migration_template "migration.rb", "db/migrate/create_file_upload.rb"
15
-
16
- #if options.copy?
17
- # [ 'app/views/admin/lookups/_form.html.haml',
18
- # 'app/views/admin/lookups/edit.html.haml',
19
- # 'app/views/admin/lookups/index.html.haml',
20
- # 'app/views/admin/lookups/new.html.haml',
21
- # 'app/views/admin/lookups/show.html.haml',
22
- # 'app/controllers/admin/lookups_controller.rb',
23
- # 'app/models/lookup.rb',
24
- # 'app/helpers/lookup_helper.rb'
25
- # ].each do |path|
26
- # copy_file path, path
27
- # end
28
- #end
29
14
  end
30
-
31
15
  end
32
-
33
16
  end
34
17
  end
35
18
  end
@@ -4,11 +4,10 @@ require 'rails/generators/active_record'
4
4
  module Coalla
5
5
  module Cms
6
6
  module FileUploads
7
-
8
7
  class MountGenerator < ActiveRecord::Generators::Base
9
8
  argument :name, type: :string
10
9
  argument :field_name, type: :string
11
- source_root File.expand_path("../templates", __FILE__)
10
+ source_root File.expand_path('../templates', __FILE__)
12
11
 
13
12
  def setup_names
14
13
  @model_name = name.camelize
@@ -21,14 +20,12 @@ module Coalla
21
20
 
22
21
  def mount_uploader
23
22
  inject_into_class "app/models/#{@model_name.underscore}.rb", @model_name.constantize do
24
- """
25
- mount_uploader :#{@field_name}, FileUploader
26
- """
23
+ "
24
+ mount_uploader :#{@field_name}, Coalla::FileUploader
25
+ "
27
26
  end
28
27
  end
29
-
30
28
  end
31
-
32
29
  end
33
30
  end
34
31
  end
@@ -4,7 +4,6 @@ require 'rails/generators/active_record'
4
4
  module Coalla
5
5
  module Cms
6
6
  module Image
7
-
8
7
  class InstallGenerator < ActiveRecord::Generators::Base
9
8
  argument :name, type: :string, default: ""
10
9
  source_root File.expand_path("../templates", __FILE__)
@@ -31,9 +30,7 @@ module Coalla
31
30
  template "model.rb.erb", "app/models/#{name.underscore}.rb"
32
31
  template "uploader.rb.erb", "app/uploaders/#{name.underscore}_uploader.rb"
33
32
  end
34
-
35
33
  end
36
-
37
34
  end
38
35
  end
39
36
  end
@@ -4,7 +4,6 @@ require 'rails/generators/active_record'
4
4
  module Coalla
5
5
  module Cms
6
6
  module Image
7
-
8
7
  class MountGenerator < ActiveRecord::Generators::Base
9
8
  argument :name, type: :string
10
9
  argument :field, type: :string
@@ -42,9 +41,7 @@ module Coalla
42
41
  " mount_uploader :#{@image_field}, #{@class_name}#{@image_field.camelize}Uploader#{@prefixed? ", prefixed: true" : ""}\n"
43
42
  end
44
43
  end
45
-
46
44
  end
47
-
48
45
  end
49
46
  end
50
47
  end
@@ -1,3 +1,3 @@
1
- class <%= @class_name %><%= @image_field.camelize %>Uploader < GenericImageUploader
1
+ class <%= @class_name %><%= @image_field.camelize %>Uploader < Coalla::ImageUploader
2
2
 
3
3
  end
@@ -1,3 +1,3 @@
1
- class <%= name %>Uploader < GenericImageUploader
1
+ class <%= name %>Uploader < Coalla::ImageUploader
2
2
 
3
3
  end
@@ -1,52 +1,18 @@
1
- require 'rails/generators/active_record'
1
+ require 'rails/generators/named_base'
2
2
  require 'securerandom'
3
3
 
4
4
  module Coalla
5
5
  module Cms
6
6
 
7
- class InitGenerator < ActiveRecord::Generators::Base
7
+ class InitGenerator < Rails::Generators::NamedBase
8
8
  argument :name, type: :string
9
- source_root File.expand_path("../templates", __FILE__)
9
+ source_root File.expand_path('../templates', __FILE__)
10
10
 
11
11
  def setup_names
12
12
  @name = name.underscore
13
13
  end
14
14
 
15
- def include_common_gems
16
- #add_source 'http://gems.coalla.ru'
17
-
18
- gem 'pg', '0.18.1'
19
- gem 'russian', '0.6.0'
20
- gem 'acts_as_list', '0.6.0'
21
- gem 'remotipart', '1.2.1'
22
- gem 'rmagick', '2.15.4', require: false
23
- gem 'cancancan', '1.13.1'
24
- gem 'active_attr', '0.8.5'
25
- gem 'sitemap_generator', '5.0.5'
26
- gem 'whenever', '0.9.4'
27
- gem 'holder_rails', '2.6.0'
28
- gem 'tzinfo-data', '~> 1.2015.7'
29
- gem 'jbuilder', '2.2.13'
30
- gem 'uglifier', '2.7.1'
31
- gem 'sprockets', '3.5.2'
32
- gem 'meta-tags', '2.1.0'
33
-
34
- gem_group :development do
35
- gem 'ruby-prof', '0.15.9'
36
- gem 'thin', '1.6.4'
37
- gem 'eventmachine', '1.0.8'
38
- gem 'haml-rails', '0.9.0'
39
- gem 'letter_opener', '1.4.1'
40
- gem 'quiet_assets', '1.1.0'
41
- gem 'byebug', '8.2.1'
42
- gem 'web-console', '2.2.1'
43
- gem 'spring', '1.6.2'
44
- end
45
-
46
- gem_group :production, :staging do
47
- gem 'exception_notification', '4.1.4'
48
- end
49
-
15
+ def setup_common_parts
50
16
  copy_file 'locales/activerecord.ru.yml', 'config/locales/activerecord.ru.yml'
51
17
  copy_file 'locales/activerecord.en.yml', 'config/locales/activerecord.en.yml'
52
18
  copy_file 'initializers/carrierwave.rb', 'config/initializers/carrierwave.rb'
@@ -73,20 +39,14 @@ module Coalla
73
39
 
74
40
  remove_file 'config/database.yml'
75
41
  template 'database.yml.erb', 'config/database.yml'
76
-
77
- inside ::Rails.root do
78
- run "bundle update"
79
- end
80
-
81
- rake "db:create"
82
42
  end
83
43
 
84
44
  def setup_devise
85
- generate "devise:install"
86
- gsub_file 'config/initializers/devise.rb', "please-change-me-at-config-initializers-devise@example.com", "no-reply@#{name}.ru"
87
- gsub_file 'config/initializers/devise.rb', "# config.password_length = 6..128", "config.password_length = 4..128"
88
- gsub_file 'config/initializers/devise.rb', "# config.scoped_views = false", "config.scoped_views = true"
89
- gsub_file 'config/initializers/devise.rb', "# config.sign_out_all_scopes = true", "config.sign_out_all_scopes = false"
45
+ generate 'devise:install'
46
+ gsub_file 'config/initializers/devise.rb', 'please-change-me-at-config-initializers-devise@example.com', "no-reply@#{name}.ru"
47
+ gsub_file 'config/initializers/devise.rb', '# config.password_length = 6..128', 'config.password_length = 4..128'
48
+ gsub_file 'config/initializers/devise.rb', '# config.scoped_views = false', 'config.scoped_views = true'
49
+ gsub_file 'config/initializers/devise.rb', '# config.sign_out_all_scopes = true', 'config.sign_out_all_scopes = false'
90
50
  remove_file 'config/locales/devise.ru.yml'
91
51
  copy_file 'locales/devise.ru.yml', 'config/locales/devise.ru.yml'
92
52
  end
@@ -123,6 +83,39 @@ module Coalla
123
83
  template 'assets.rb', 'config/initializers/assets.rb'
124
84
  end
125
85
 
86
+ def include_common_gems
87
+ add_source 'http://gems.coalla.ru'
88
+
89
+ gem 'russian'
90
+ gem 'acts_as_list'
91
+ gem 'enumerize'
92
+ gem 'remotipart'
93
+ gem 'rmagick', require: false
94
+ gem 'cancancan'
95
+ gem 'sitemap_generator'
96
+ gem 'whenever'
97
+ gem 'tzinfo-data'
98
+ gem 'uglifier'
99
+ gem 'sprockets'
100
+ gem 'meta-tags'
101
+
102
+ gem_group :development do
103
+ gem 'ruby-prof'
104
+ gem 'thin'
105
+ gem 'haml-rails'
106
+ gem 'letter_opener'
107
+ gem 'byebug'
108
+ gem 'web-console'
109
+ gem 'spring'
110
+ gem 'awesome_print', require: 'ap'
111
+ gem 'annotate'
112
+ end
113
+
114
+ gem_group :production, :staging do
115
+ gem 'exception_notification'
116
+ end
117
+ end
118
+
126
119
  private
127
120
 
128
121
  def generate_password(ln=15)
@@ -4,7 +4,6 @@ require 'rails/generators/active_record'
4
4
  module Coalla
5
5
  module Cms
6
6
  module Lookups
7
-
8
7
  class InstallGenerator < ActiveRecord::Generators::Base
9
8
  argument :name, type: :string, default: ''
10
9
  source_root File.expand_path('../../../../../../', __FILE__)
@@ -46,9 +45,7 @@ module Coalla
46
45
  def add_section
47
46
  append_to_file 'config/structure.rb', "\nlookup_section"
48
47
  end
49
-
50
48
  end
51
-
52
49
  end
53
50
  end
54
51
  end
@@ -4,7 +4,6 @@ require 'rails/generators/active_record'
4
4
  module Coalla
5
5
  module Cms
6
6
  module MetaTags
7
-
8
7
  class InstallGenerator < ActiveRecord::Generators::Base
9
8
  argument :name, type: :string, default: ''
10
9
  source_root File.expand_path('../../../../../../', __FILE__)
@@ -51,7 +50,6 @@ module Coalla
51
50
  def add_section
52
51
  append_to_file 'config/structure.rb', "\nmeta_tags_section"
53
52
  end
54
-
55
53
  end
56
54
  end
57
55
  end
@@ -1,15 +1,15 @@
1
1
  require 'rails'
2
- require 'rails/generators/active_record'
3
- require 'generators/coalla/cms/scaffold_helper'
2
+ require 'rails/generators/named_base'
3
+ require 'generators/coalla/cms/utils/scaffold'
4
4
 
5
5
  module Coalla
6
6
  module Cms
7
- class ScaffoldGenerator < ActiveRecord::Generators::Base
8
- argument :name, type: :string
7
+ class ScaffoldGenerator < Rails::Generators::NamedBase
8
+ include Coalla::Cms::Utils::Scaffold
9
9
 
10
- source_root File.expand_path("../templates", __FILE__)
10
+ argument :name, type: :string
11
11
 
12
- include Coalla::Cms::ScaffoldHelper
12
+ source_root File.expand_path('../templates', __FILE__)
13
13
 
14
14
  def setup_names
15
15
  @instance_name = name.underscore
@@ -30,7 +30,7 @@ module Coalla
30
30
  end
31
31
 
32
32
  def create_views
33
- dir = "views/admin/"
33
+ dir = 'views/admin/'
34
34
  empty_directory "app/#{dir}/#{@collection_name}"
35
35
 
36
36
  templates = %w{_form edit index new}
@@ -1,16 +1,16 @@
1
- require 'rails/generators/active_record'
1
+ require 'rails/generators/named_base'
2
2
 
3
3
  module Coalla
4
4
  module Cms
5
5
 
6
- class SetupAdminGenerator < ActiveRecord::Generators::Base
7
- argument :name, :type => :string, :default => ""
8
- source_root File.expand_path("../templates", __FILE__)
6
+ class SetupAdminGenerator < Rails::Generators::NamedBase
7
+ argument :name, :type => :string, :default => ''
8
+ source_root File.expand_path('../templates', __FILE__)
9
9
 
10
10
  def setup_directory
11
- invoke "coalla:cms:create_admin"
12
- invoke "coalla:cms:setup_routes"
13
- invoke "coalla:cms:create_admin_login_view"
11
+ invoke 'coalla:cms:create_admin'
12
+ invoke 'coalla:cms:setup_routes'
13
+ invoke 'coalla:cms:create_admin_login_view'
14
14
  end
15
15
 
16
16
  def copy_structure
@@ -23,7 +23,7 @@ module Coalla
23
23
  end
24
24
 
25
25
  def setup_default_views
26
- invoke "coalla:cms:create_admin_administrators"
26
+ invoke 'coalla:cms:create_admin_administrators'
27
27
  end
28
28
 
29
29
  def patch_application_controller
@@ -40,7 +40,7 @@ module Coalla
40
40
  end
41
41
  end
42
42
 
43
- def after_sign_in_path_for resource
43
+ def after_sign_in_path_for(resource)
44
44
  case resource
45
45
  when Administrator
46
46
  admin_dashboard_path
@@ -1,10 +1,10 @@
1
- require 'rails/generators/active_record'
1
+ require 'rails/generators/named_base'
2
2
  #require 'generators/coalla/cms/orm_helpers'
3
3
 
4
4
  module Coalla
5
5
  module Cms
6
- class SetupRoutesGenerator < ActiveRecord::Generators::Base
7
- argument :name, :type => :string, :default => "administrator"
6
+ class SetupRoutesGenerator < Rails::Generators::NamedBase
7
+ argument :name, :type => :string, :default => 'administrator'
8
8
 
9
9
  def create_route
10
10
  route "devise_for :#{name.pluralize}