camaleon_cms 2.5.3.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of camaleon_cms might be problematic. Click here for more details.

Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/app/apps/plugins/front_cache/front_cache_helper.rb +1 -1
  3. data/app/assets/images/camaleon_cms/language/md.png +0 -0
  4. data/app/models/camaleon_cms/ability.rb +94 -92
  5. data/app/models/camaleon_cms/category.rb +45 -44
  6. data/app/models/camaleon_cms/custom_field.rb +26 -25
  7. data/app/models/camaleon_cms/custom_field_group.rb +115 -114
  8. data/app/models/camaleon_cms/custom_fields_relationship.rb +21 -19
  9. data/app/models/camaleon_cms/media.rb +48 -44
  10. data/app/models/camaleon_cms/meta.rb +5 -3
  11. data/app/models/camaleon_cms/nav_menu.rb +27 -24
  12. data/app/models/camaleon_cms/nav_menu_item.rb +58 -54
  13. data/app/models/camaleon_cms/plugin.rb +62 -60
  14. data/app/models/camaleon_cms/post.rb +205 -227
  15. data/app/models/camaleon_cms/post_comment.rb +44 -42
  16. data/app/models/camaleon_cms/post_default.rb +65 -62
  17. data/app/models/camaleon_cms/post_relationship.rb +1 -2
  18. data/app/models/camaleon_cms/post_tag.rb +9 -6
  19. data/app/models/camaleon_cms/post_type.rb +170 -163
  20. data/app/models/camaleon_cms/site.rb +211 -203
  21. data/app/models/camaleon_cms/term_relationship.rb +16 -14
  22. data/app/models/camaleon_cms/term_taxonomy.rb +49 -54
  23. data/app/models/camaleon_cms/theme.rb +24 -23
  24. data/app/models/camaleon_cms/user.rb +18 -13
  25. data/app/models/camaleon_cms/user_role.rb +130 -128
  26. data/app/models/camaleon_cms/widget/assigned.rb +25 -21
  27. data/app/models/camaleon_cms/widget/main.rb +40 -36
  28. data/app/models/camaleon_cms/widget/sidebar.rb +20 -16
  29. data/app/validators/camaleon_cms/post_uniq_validator.rb +28 -0
  30. data/app/validators/camaleon_cms/uniq_validator.rb +9 -0
  31. data/config/locales/camaleon_cms/admin/ar.yml +1 -0
  32. data/config/locales/camaleon_cms/admin/de.yml +1 -0
  33. data/config/locales/camaleon_cms/admin/en.yml +82 -21
  34. data/config/locales/camaleon_cms/admin/fr.yml +1 -0
  35. data/config/locales/camaleon_cms/admin/it.yml +1 -0
  36. data/config/locales/camaleon_cms/admin/js/de.yml +51 -0
  37. data/config/locales/camaleon_cms/admin/js/en.yml +51 -0
  38. data/config/locales/camaleon_cms/admin/js/es.yml +53 -0
  39. data/config/locales/camaleon_cms/admin/js/it.yml +44 -0
  40. data/config/locales/camaleon_cms/admin/js/nl.yml +42 -0
  41. data/config/locales/camaleon_cms/admin/js/pt-BR.yml +44 -0
  42. data/config/locales/camaleon_cms/admin/js/ru.yml +51 -0
  43. data/config/locales/camaleon_cms/admin/js/uk.yml +51 -0
  44. data/config/locales/camaleon_cms/admin/js/zh-CN.yml +51 -0
  45. data/config/locales/camaleon_cms/admin/nl.yml +1 -0
  46. data/config/locales/camaleon_cms/admin/ru.yml +1 -0
  47. data/config/locales/camaleon_cms/admin/uk.yml +2 -1
  48. data/config/locales/camaleon_cms/admin/zh-CH.yml +1 -0
  49. data/config/locales/camaleon_cms/common.md +3 -0
  50. data/config/locales/camaleon_cms/common/ar.yml +66 -0
  51. data/config/locales/camaleon_cms/common/de.yml +66 -0
  52. data/config/locales/camaleon_cms/common/en.yml +63 -0
  53. data/config/locales/camaleon_cms/common/es.yml +66 -0
  54. data/config/locales/camaleon_cms/common/fr.yml +66 -0
  55. data/config/locales/camaleon_cms/common/it.yml +63 -0
  56. data/config/locales/camaleon_cms/common/md.yml +60 -0
  57. data/config/locales/camaleon_cms/common/nl.yml +64 -0
  58. data/config/locales/camaleon_cms/common/pt-BR.yml +65 -0
  59. data/config/locales/camaleon_cms/common/pt.yml +65 -0
  60. data/config/locales/camaleon_cms/common/ru.yml +66 -0
  61. data/config/locales/camaleon_cms/common/uk.yml +64 -0
  62. data/config/locales/camaleon_cms/common/zh-CN.yml +66 -0
  63. data/config/locales/camaleon_cms/languages/ar.yml +16 -0
  64. data/config/locales/camaleon_cms/languages/de.yml +16 -0
  65. data/config/locales/camaleon_cms/languages/en.yml +16 -0
  66. data/config/locales/camaleon_cms/languages/es.yml +16 -0
  67. data/config/locales/camaleon_cms/languages/it.yml +16 -0
  68. data/config/locales/camaleon_cms/languages/md.yml +15 -0
  69. data/config/locales/camaleon_cms/languages/nl.yml +16 -0
  70. data/config/locales/camaleon_cms/languages/pt-BR.yml +16 -0
  71. data/config/locales/camaleon_cms/languages/pt.yml +16 -0
  72. data/config/locales/camaleon_cms/languages/ru.yml +16 -0
  73. data/config/locales/camaleon_cms/languages/uk.yml +16 -0
  74. data/config/locales/camaleon_cms/languages/zh-CN.yml +16 -0
  75. data/config/locales/camaleon_cms/routes/de.yml +8 -0
  76. data/config/locales/camaleon_cms/routes/es.yml +8 -0
  77. data/config/locales/camaleon_cms/routes/fr.yml +8 -0
  78. data/config/locales/camaleon_cms/routes/it.yml +8 -0
  79. data/config/locales/camaleon_cms/routes/md.yml +8 -0
  80. data/config/locales/camaleon_cms/routes/pt-BR.yml +8 -0
  81. data/config/locales/camaleon_cms/routes/pt.yml +8 -0
  82. data/config/locales/camaleon_cms/routes/ru.yml +8 -0
  83. data/config/locales/camaleon_cms/routes/uk.yml +8 -0
  84. data/config/locales/camaleon_cms/routes/zh-CN.yml +8 -0
  85. data/config/locales/md.yml +207 -0
  86. data/lib/camaleon_cms/version.rb +1 -1
  87. data/spec/dummy/config/application.rb +14 -2
  88. metadata +102 -109
  89. data/config/locales/camaleon_cms/admin/js.yml +0 -435
  90. data/config/locales/camaleon_cms/common.yml +0 -786
  91. data/config/locales/camaleon_cms/languages.yml +0 -167
  92. data/config/locales/camaleon_cms/routes.yml +0 -71
  93. data/spec/dummy/db/development.sqlite3 +0 -0
  94. data/spec/dummy/db/test.sqlite3 +0 -0
  95. data/spec/dummy/log/development.log +0 -254
  96. data/spec/dummy/log/test.log +0 -46384
  97. data/spec/dummy/public/media/1/rails_tmp.png +0 -0
  98. data/spec/dummy/public/media/1/rails_tmp_1.png +0 -0
  99. data/spec/dummy/public/media/1/rails_tmp_2.png +0 -0
  100. data/spec/dummy/public/media/1/rails_tmp_3.png +0 -0
  101. data/spec/dummy/public/media/1/sample/rails_tmp.png +0 -0
  102. data/spec/dummy/public/media/1/sample/thumb/rails_tmp-png.png +0 -0
  103. data/spec/dummy/public/media/1/slide33.jpg +0 -0
  104. data/spec/dummy/public/media/1/thumb/rails_tmp-png.png +0 -0
  105. data/spec/dummy/public/media/1/thumb/rails_tmp-png_20x.png +0 -0
  106. data/spec/dummy/public/media/1/thumb/rails_tmp-png_300x300.png +0 -0
  107. data/spec/dummy/public/media/1/thumb/rails_tmp-png_505x350.png +0 -0
  108. data/spec/dummy/public/media/1/thumb/rails_tmp_1-png.png +0 -0
  109. data/spec/dummy/public/media/1/thumb/rails_tmp_2-png.png +0 -0
  110. data/spec/dummy/public/media/1/thumb/rails_tmp_3-png.png +0 -0
  111. data/spec/dummy/public/media/1/thumb/slide33-jpg.jpg +0 -0
  112. data/spec/dummy/tmp/capybara/screenshot_2019-09-04-09-19-13.472.html +0 -457
  113. data/spec/dummy/tmp/capybara/screenshot_2019-09-04-09-19-13.472.png +0 -0
  114. data/spec/dummy/tmp/capybara/screenshot_2019-09-04-09-19-28.693.html +0 -428
  115. data/spec/dummy/tmp/capybara/screenshot_2019-09-04-09-19-28.693.png +0 -0
  116. data/spec/dummy/tmp/capybara/screenshot_2019-09-04-09-22-45.502.html +0 -337
  117. data/spec/dummy/tmp/capybara/screenshot_2019-09-04-09-22-45.502.png +0 -0
  118. data/spec/support/fixtures/rails_tmp.png +0 -0
@@ -1,18 +1,20 @@
1
- class CamaleonCms::TermRelationship < ActiveRecord::Base
2
- self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}term_relationships"
3
- default_scope ->{ order(term_order: :asc) }
1
+ module CamaleonCms
2
+ class TermRelationship < ActiveRecord::Base
3
+ self.table_name = "#{PluginRoutes.static_system_info['db_prefix']}term_relationships"
4
+ default_scope ->{ order(term_order: :asc) }
4
5
 
5
- belongs_to :term_taxonomies, :class_name => "CamaleonCms::TermTaxonomy", foreign_key: :term_taxonomy_id, inverse_of: :term_relationships
6
- belongs_to :objects, ->{ order("#{CamaleonCms::Post.table_name}.id DESC") }, :class_name => "CamaleonCms::Post", foreign_key: :objectid, inverse_of: :term_relationships
6
+ belongs_to :term_taxonomy, inverse_of: :term_relationships
7
+ belongs_to :object, ->{ order("#{CamaleonCms::Post.table_name}.id DESC") }, class_name: 'CamaleonCms::Post', foreign_key: :objectid, inverse_of: :term_relationships
7
8
 
8
- # callbacks
9
- after_create :update_count
10
- before_destroy :update_count
9
+ # callbacks
10
+ after_create :update_count
11
+ before_destroy :update_count
11
12
 
12
- private
13
- # update counter of post published items
14
- # TODO verify counter
15
- def update_count
16
- self.term_taxonomies.update_column('count', self.term_taxonomies.posts.published.size) if self.term_taxonomies.present? && !self.term_taxonomies.try(:posts).nil?
13
+ private
14
+ # update counter of post published items
15
+ # TODO verify counter
16
+ def update_count
17
+ term_taxonomy.update_column('count', term_taxonomy.posts.published.size) if term_taxonomy&.try(:posts)
18
+ end
17
19
  end
18
- end
20
+ end
@@ -1,61 +1,56 @@
1
- class CamaleonCms::UniqValidator < ActiveModel::Validator
2
- def validate(record)
3
- unless record.skip_slug_validation?
4
- record.errors[:base] << "#{I18n.t('camaleon_cms.admin.post.message.requires_different_slug')}" if CamaleonCms::TermTaxonomy.where(slug: record.slug).where.not(id: record.id).where("#{CamaleonCms::TermTaxonomy.table_name}.taxonomy" => record.taxonomy).where("#{CamaleonCms::TermTaxonomy.table_name}.parent_id" => record.parent_id).size > 0
1
+ module CamaleonCms
2
+ class TermTaxonomy < ActiveRecord::Base
3
+ include CamaleonCms::Metas
4
+ include CamaleonCms::CustomFieldsRead
5
+
6
+ self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}term_taxonomy"
7
+ # attr_accessible :taxonomy, :description, :parent_id, :count, :name, :slug, :term_group, :status, :term_order, :user_id
8
+ # attr_accessible :data_options
9
+ # attr_accessible :data_metas
10
+
11
+ # callbacks
12
+ before_validation :before_validating
13
+ before_destroy :destroy_dependencies
14
+
15
+ # validates
16
+ validates :name, :taxonomy, presence: true
17
+ validates_with CamaleonCms::UniqValidator
18
+
19
+ # relations
20
+ has_many :term_relationships, class_name: "CamaleonCms::TermRelationship", foreign_key: :term_taxonomy_id, dependent: :destroy
21
+ # has_many :posts, foreign_key: :objectid, through: :term_relationships, :source => :objects
22
+ belongs_to :parent, class_name: "CamaleonCms::TermTaxonomy", foreign_key: :parent_id
23
+ belongs_to :owner, class_name: CamaManager.get_user_class_name, foreign_key: :user_id
24
+
25
+ # return all children taxonomy
26
+ # sample: sub categories of a category
27
+ def children
28
+ CamaleonCms::TermTaxonomy.where("#{CamaleonCms::TermTaxonomy.table_name}.parent_id = ?", id)
5
29
  end
6
- end
7
- end
8
- class CamaleonCms::TermTaxonomy < ActiveRecord::Base
9
- include CamaleonCms::Metas
10
- include CamaleonCms::CustomFieldsRead
11
- self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}term_taxonomy"
12
- # attr_accessible :taxonomy, :description, :parent_id, :count, :name, :slug, :term_group, :status, :term_order, :user_id
13
- # attr_accessible :data_options
14
- # attr_accessible :data_metas
15
-
16
- # callbacks
17
- before_validation :before_validating
18
- before_destroy :destroy_dependencies
19
-
20
- # validates
21
- validates :name, :taxonomy, presence: true
22
- validates_with CamaleonCms::UniqValidator
23
-
24
- # relations
25
- has_many :term_relationships, :class_name => "CamaleonCms::TermRelationship", :foreign_key => :term_taxonomy_id, dependent: :destroy
26
- # has_many :posts, foreign_key: :objectid, through: :term_relationships, :source => :objects
27
- belongs_to :parent, class_name: "CamaleonCms::TermTaxonomy", foreign_key: :parent_id
28
- belongs_to :owner, class_name: CamaManager.get_user_class_name, foreign_key: :user_id
29
-
30
- # return all children taxonomy
31
- # sample: sub categories of a category
32
- def children
33
- CamaleonCms::TermTaxonomy.where("#{CamaleonCms::TermTaxonomy.table_name}.parent_id = ?", self.id)
34
- end
35
30
 
36
- # return all menu items in which this taxonomy was assigned
37
- def in_nav_menu_items
38
- CamaleonCms::NavMenuItem.where(url: self.id, kind: self.taxonomy)
39
- end
31
+ # return all menu items in which this taxonomy was assigned
32
+ def in_nav_menu_items
33
+ CamaleonCms::NavMenuItem.where(url: id, kind: taxonomy)
34
+ end
40
35
 
41
- # permit to skip slug validations for children models, like menu items
42
- def skip_slug_validation?
43
- false
44
- end
36
+ # permit to skip slug validations for children models, like menu items
37
+ def skip_slug_validation?
38
+ false
39
+ end
45
40
 
46
- private
47
- # callback before validating
48
- def before_validating
49
- slug = self.slug
50
- slug = self.name if slug.blank?
51
- self.name = slug unless self.name.present?
52
- self.slug = slug.to_s.parameterize.try(:downcase)
53
- end
41
+ private
42
+ # callback before validating
43
+ def before_validating
44
+ slug = self.slug
45
+ slug = name if slug.blank?
46
+ self.name = slug if name.blank?
47
+ self.slug = slug.to_s.parameterize.try(:downcase)
48
+ end
54
49
 
55
- # destroy all dependencies
56
- # unassign all items from menus
57
- def destroy_dependencies
58
- in_nav_menu_items.destroy_all
50
+ # destroy all dependencies
51
+ # unassign all items from menus
52
+ def destroy_dependencies
53
+ in_nav_menu_items.destroy_all
54
+ end
59
55
  end
60
-
61
56
  end
@@ -1,31 +1,32 @@
1
- class CamaleonCms::Theme < CamaleonCms::TermTaxonomy
2
- # attrs:
3
- # slug => plugin key
4
- cama_define_common_relationships('Theme')
5
- belongs_to :site, class_name: "CamaleonCms::Site", foreign_key: :parent_id
1
+ module CamaleonCms
2
+ class Theme < CamaleonCms::TermTaxonomy
3
+ # attrs:
4
+ # slug => plugin key
5
+ cama_define_common_relationships('Theme')
6
+ belongs_to :site, class_name: "CamaleonCms::Site", foreign_key: :parent_id
6
7
 
7
- default_scope { where(taxonomy: :theme) }
8
+ default_scope { where(taxonomy: :theme) }
8
9
 
9
- before_validation :fix_name
10
- before_destroy :destroy_custom_fields
10
+ before_validation :fix_name
11
+ before_destroy :destroy_custom_fields
11
12
 
12
- # return theme settings configured in config.json
13
- def settings
14
- PluginRoutes.theme_info(self.slug)
15
- end
13
+ # return theme settings configured in config.json
14
+ def settings
15
+ PluginRoutes.theme_info(slug)
16
+ end
16
17
 
17
- # return the path to the settings file for current theme
18
- def settings_file
19
- File.join(self.settings["path"], "views/admin/settings").to_s
20
- end
18
+ # return the path to the settings file for current theme
19
+ def settings_file
20
+ File.join(self.settings["path"], "views/admin/settings").to_s
21
+ end
21
22
 
22
- private
23
- def fix_name
24
- self.name = self.slug unless self.name.present?
25
- end
23
+ private
24
+ def fix_name
25
+ self.name = slug if name.blank?
26
+ end
26
27
 
27
- def destroy_custom_fields
28
- self.get_field_groups.destroy_all
28
+ def destroy_custom_fields
29
+ get_field_groups.destroy_all
30
+ end
29
31
  end
30
-
31
32
  end
@@ -1,18 +1,23 @@
1
1
  unless PluginRoutes.static_system_info['user_model'].present?
2
- class CamaleonCms::User < ActiveRecord::Base
3
- include CamaleonCms::UserMethods
4
- self.table_name = PluginRoutes.static_system_info["cama_users_db_table"] || "#{PluginRoutes.static_system_info["db_prefix"]}users"
5
- default_scope {order(role: :asc)}
6
- validates :username, :presence => true
7
- validates :email, :presence => true, :format => { :with => /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i } #, :unless => Proc.new { |a| a.auth_social.present? }
8
- has_secure_password
2
+ module CamaleonCms
3
+ class User < ActiveRecord::Base
4
+ include CamaleonCms::UserMethods
9
5
 
10
- def self.find_by_email(email)
11
- where(['lower(email) = ?', email.to_s.downcase]).take
12
- end
6
+ self.table_name = PluginRoutes.static_system_info['cama_users_db_table'] || "#{PluginRoutes.static_system_info['db_prefix']}users"
7
+
8
+ default_scope { order(role: :asc) }
9
+
10
+ validates :username, presence: true
11
+ validates :email, presence: true, format: { with: /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i } #, :unless => Proc.new { |a| a.auth_social.present? }
12
+ has_secure_password
13
+
14
+ def self.find_by_email(email)
15
+ where(['lower(email) = ?', email.to_s.downcase]).take
16
+ end
13
17
 
14
- def self.find_by_username(username)
15
- where(['lower(username) = ?', username.to_s.downcase]).take
18
+ def self.find_by_username(username)
19
+ where(['lower(username) = ?', username.to_s.downcase]).take
20
+ end
16
21
  end
17
22
  end
18
- end
23
+ end
@@ -1,138 +1,140 @@
1
- class CamaleonCms::UserRole < CamaleonCms::TermTaxonomy
2
- after_destroy :set_users_as_cilent
1
+ module CamaleonCms
2
+ class UserRole < CamaleonCms::TermTaxonomy
3
+ after_destroy :set_users_as_cilent
3
4
 
4
- default_scope { where(taxonomy: :user_roles) }
5
- cama_define_common_relationships('UserRole')
6
- belongs_to :site, :class_name => "CamaleonCms::Site", foreign_key: :parent_id
5
+ default_scope { where(taxonomy: :user_roles) }
6
+ cama_define_common_relationships('UserRole')
7
+ belongs_to :site, class_name: 'CamaleonCms::Site', foreign_key: :parent_id
7
8
 
8
- def roles_post_type
9
- self.get_meta("_post_type")
10
- end
9
+ def roles_post_type
10
+ self.get_meta('_post_type')
11
+ end
11
12
 
12
- def roles_manager
13
- self.get_meta("_manager")
14
- end
13
+ def roles_manager
14
+ self.get_meta('_manager')
15
+ end
15
16
 
16
- def editable?
17
- term_group.nil?
18
- end
17
+ def editable?
18
+ term_group.nil?
19
+ end
19
20
 
20
21
 
21
- ROLES = {
22
- post_type: [
23
- {
24
- key: 'edit',
25
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_create_or_edit')}",
26
- color: 'success',
27
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.create_or_edit')}"
28
- },
29
- {
30
- key: 'edit_other',
31
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_edit_other')}",
32
- color: 'success',
33
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.edit_other')}"
34
- },
35
- {
36
- key: 'edit_publish',
37
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_edit_publish')}",
38
- color: 'success',
39
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.edit_publish')}"
40
- },
41
- {
42
- key: 'publish',
43
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.publish')}",
44
- color: 'success',
45
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.publish')}"
46
- },
47
- {
48
- key: 'delete',
49
- label: "#{I18n.t('camaleon_cms.admin.button.delete')}",
50
- color: 'danger',
51
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete')}"
52
- },
53
- {
54
- key: 'delete_other',
55
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_delete_other')}",
56
- color: 'danger',
57
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete_other')}"
58
- },
59
- {
60
- key: 'delete_publish',
61
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_delete_publish')}",
62
- color: 'danger',
63
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete_publish')}"
64
- },
65
- #{
66
- # key: 'read_private',
67
- # label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_read_private')}",
68
- # color: 'info',
69
- # description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.read_private')}"
70
- #},
71
- {
72
- key: 'manage_categories',
73
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_manage_categories')}",
74
- color: 'warning',
75
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.manage_categories')}"
76
- },
77
- {
78
- key: 'manage_tags',
79
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_manage_tags')}",
80
- color: 'warning',
81
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.manage_tags')}"
82
- }
83
- ],
84
- manager: [
85
- {
86
- key: 'media',
87
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.media')}",
88
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.media')}"
89
- },
90
- {
91
- key: 'comments',
92
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.comments')}",
93
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.comments')}"
94
- },
95
- {
96
- key: 'themes',
97
- label: "#{I18n.t('camaleon_cms.admin.users.roles_values.themes')}",
98
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.themes')}"
99
- },
100
- {
101
- key: 'widgets',
102
- label: "#{I18n.t('camaleon_cms.admin.sidebar.widgets')}",
103
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.widgets')}"
104
- },
105
- {
106
- key: 'nav_menu',
107
- label: "#{I18n.t('camaleon_cms.admin.sidebar.menus')}",
108
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.menus')}"
109
- },
110
- {
111
- key: 'plugins',
112
- label: "#{I18n.t('camaleon_cms.admin.sidebar.plugins')}",
113
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.plugins')}"
114
- },
115
- {
116
- key: 'users',
117
- label: "#{I18n.t('camaleon_cms.admin.sidebar.users')}",
118
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.users')}"
119
- },
120
- {
121
- key: 'settings',
122
- label: "#{I18n.t('camaleon_cms.admin.sidebar.settings')}",
123
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.settings')}"
124
- },
125
- {
126
- key: 'theme_settings',
127
- label: "#{I18n.t('camaleon_cms.admin.settings.theme_setting', default: 'Theme Settings')}",
128
- description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.themes')}"
129
- }
130
- ]
131
- }
22
+ ROLES = {
23
+ post_type: [
24
+ {
25
+ key: 'edit',
26
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_create_or_edit')}",
27
+ color: 'success',
28
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.create_or_edit')}"
29
+ },
30
+ {
31
+ key: 'edit_other',
32
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_edit_other')}",
33
+ color: 'success',
34
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.edit_other')}"
35
+ },
36
+ {
37
+ key: 'edit_publish',
38
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_edit_publish')}",
39
+ color: 'success',
40
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.edit_publish')}"
41
+ },
42
+ {
43
+ key: 'publish',
44
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.publish')}",
45
+ color: 'success',
46
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.publish')}"
47
+ },
48
+ {
49
+ key: 'delete',
50
+ label: "#{I18n.t('camaleon_cms.admin.button.delete')}",
51
+ color: 'danger',
52
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete')}"
53
+ },
54
+ {
55
+ key: 'delete_other',
56
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_delete_other')}",
57
+ color: 'danger',
58
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete_other')}"
59
+ },
60
+ {
61
+ key: 'delete_publish',
62
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_delete_publish')}",
63
+ color: 'danger',
64
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete_publish')}"
65
+ },
66
+ #{
67
+ # key: 'read_private',
68
+ # label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_read_private')}",
69
+ # color: 'info',
70
+ # description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.read_private')}"
71
+ #},
72
+ {
73
+ key: 'manage_categories',
74
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_manage_categories')}",
75
+ color: 'warning',
76
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.manage_categories')}"
77
+ },
78
+ {
79
+ key: 'manage_tags',
80
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_manage_tags')}",
81
+ color: 'warning',
82
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.manage_tags')}"
83
+ }
84
+ ],
85
+ manager: [
86
+ {
87
+ key: 'media',
88
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.media')}",
89
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.media')}"
90
+ },
91
+ {
92
+ key: 'comments',
93
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.comments')}",
94
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.comments')}"
95
+ },
96
+ {
97
+ key: 'themes',
98
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.themes')}",
99
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.themes')}"
100
+ },
101
+ {
102
+ key: 'widgets',
103
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.widgets')}",
104
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.widgets')}"
105
+ },
106
+ {
107
+ key: 'nav_menu',
108
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.menus')}",
109
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.menus')}"
110
+ },
111
+ {
112
+ key: 'plugins',
113
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.plugins')}",
114
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.plugins')}"
115
+ },
116
+ {
117
+ key: 'users',
118
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.users')}",
119
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.users')}"
120
+ },
121
+ {
122
+ key: 'settings',
123
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.settings')}",
124
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.settings')}"
125
+ },
126
+ {
127
+ key: 'theme_settings',
128
+ label: "#{I18n.t('camaleon_cms.admin.settings.theme_setting', default: 'Theme Settings')}",
129
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.themes')}"
130
+ }
131
+ ]
132
+ }
132
133
 
133
- private
134
+ private
134
135
 
135
- def set_users_as_cilent
136
- site.users.where(role: slug).update_all(role: 'client')
136
+ def set_users_as_cilent
137
+ site.users.where(role: slug).update_all(role: 'client')
138
+ end
137
139
  end
138
140
  end