camaleon_cms 2.1.2.0 → 2.1.2.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/javascripts/camaleon_cms/admin/_custom_fields.js +5 -3
  4. data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +2 -0
  5. data/app/assets/javascripts/camaleon_cms/admin/_post.js +4 -14
  6. data/app/assets/javascripts/camaleon_cms/admin/jquery.validate.js +1 -1
  7. data/app/assets/javascripts/camaleon_cms/admin/nav_menu.js.coffee +1 -1
  8. data/app/assets/javascripts/camaleon_cms/admin/uploader/_media_manager.js.coffee +5 -5
  9. data/app/controllers/camaleon_cms/admin/appearances/nav_menus_controller.rb +1 -1
  10. data/app/controllers/camaleon_cms/admin/categories_controller.rb +2 -2
  11. data/app/controllers/camaleon_cms/admin/media_controller.rb +4 -2
  12. data/app/controllers/camaleon_cms/admin/plugins_controller.rb +4 -0
  13. data/app/controllers/camaleon_cms/admin/post_tags_controller.rb +2 -2
  14. data/app/controllers/camaleon_cms/admin/posts_controller.rb +2 -2
  15. data/app/controllers/camaleon_cms/admin/sessions_controller.rb +0 -5
  16. data/app/controllers/camaleon_cms/admin/settings_controller.rb +3 -1
  17. data/app/controllers/camaleon_cms/admin/users_controller.rb +2 -2
  18. data/app/controllers/camaleon_cms/apps/plugins_front_controller.rb +3 -1
  19. data/app/controllers/camaleon_cms/apps/themes_front_controller.rb +4 -1
  20. data/app/controllers/camaleon_cms/frontend_controller.rb +11 -3
  21. data/app/decorators/camaleon_cms/custom_fields_concern.rb +24 -0
  22. data/app/decorators/camaleon_cms/post_decorator.rb +11 -0
  23. data/app/helpers/camaleon_cms/admin/custom_fields_helper.rb +1 -1
  24. data/app/helpers/camaleon_cms/frontend/nav_menu_helper.rb +45 -2
  25. data/app/helpers/camaleon_cms/session_helper.rb +3 -6
  26. data/app/helpers/camaleon_cms/uploader_helper.rb +23 -7
  27. data/app/models/camaleon_cms/category.rb +5 -5
  28. data/app/models/camaleon_cms/custom_field_group.rb +2 -1
  29. data/app/models/camaleon_cms/nav_menu.rb +3 -2
  30. data/app/models/camaleon_cms/nav_menu_item.rb +10 -3
  31. data/app/models/camaleon_cms/post.rb +10 -2
  32. data/app/models/camaleon_cms/post_default.rb +4 -9
  33. data/app/models/camaleon_cms/post_tag.rb +1 -1
  34. data/app/models/camaleon_cms/post_type.rb +6 -5
  35. data/app/models/camaleon_cms/site.rb +2 -2
  36. data/app/models/camaleon_cms/term_taxonomy.rb +0 -10
  37. data/app/models/camaleon_cms/user.rb +2 -10
  38. data/app/models/concerns/camaleon_cms/custom_fields_read.rb +17 -9
  39. data/app/models/concerns/camaleon_cms/metas.rb +8 -0
  40. data/app/uploaders/camaleon_cms_uploader.rb +6 -4
  41. data/app/views/camaleon_cms/_flash_messages.html.erb +9 -5
  42. data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_items.html.erb +1 -1
  43. data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_items_list.html.erb +1 -1
  44. data/app/views/camaleon_cms/admin/categories/_form.html.erb +1 -9
  45. data/app/views/camaleon_cms/admin/media/index.html.erb +1 -1
  46. data/app/views/camaleon_cms/admin/posts/_sidebar.html.erb +8 -2
  47. data/app/views/camaleon_cms/admin/sessions/register.html.erb +2 -2
  48. data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_field_attrs.html.erb +2 -2
  49. data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_image.html.erb +2 -2
  50. data/app/views/camaleon_cms/admin/settings/custom_fields/index.html.erb +1 -1
  51. data/app/views/camaleon_cms/admin/settings/post_types/_form.html.erb +4 -0
  52. data/app/views/camaleon_cms/admin/settings/site.html.erb +2 -2
  53. data/app/views/camaleon_cms/admin/users/form.html.erb +3 -16
  54. data/app/views/camaleon_cms/default_theme/partials/_categories_list.html.erb +1 -1
  55. data/app/views/camaleon_cms/default_theme/partials/_comments.html.erb +2 -2
  56. data/app/views/camaleon_cms/default_theme/partials/_comments_list2.html.erb +24 -0
  57. data/app/views/camaleon_cms/default_theme/partials/_sidebar.html.erb +40 -20
  58. data/app/views/camaleon_cms/default_theme/post_type.html.erb +1 -2
  59. data/config/initializers/active_record_extension.rb +5 -5
  60. data/config/locales/camaleon_cms/admin/es.yml +2 -0
  61. data/config/locales/camaleon_cms/common.yml +1 -0
  62. data/db/migrate/20160504155652_add_feature_to_posts.rb +5 -0
  63. data/db/migrate/20160504155653_move_first_name_of_users.rb +9 -0
  64. data/lib/camaleon_cms/version.rb +1 -1
  65. data/lib/ext/string.rb +11 -1
  66. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/main_helper.rb +10 -7
  67. metadata +6 -2
@@ -6,7 +6,7 @@
6
6
  </div><br><br>
7
7
 
8
8
  <% if @categories.present? %>
9
- <div class="well">
9
+ <div class="categories_list">
10
10
  <%= render partial: "partials/categories_list", locals: {categories: @categories} %>
11
11
  </div>
12
12
  <% end %>
@@ -19,7 +19,6 @@
19
19
  </div>
20
20
  <%= content_tag("div", raw(ct('no_contents_found', default: 'No contents found.')), class: "alert alert-warning") if @posts.empty? %>
21
21
  <%= will_paginate @posts, renderer: BootstrapPagination::Rails if @posts.present? %>
22
-
23
22
  </article>
24
23
 
25
24
 
@@ -37,9 +37,7 @@ ActiveRecord::Associations::CollectionProxy.class_eval do
37
37
  # order: (String) order direction (ASC | DESC)
38
38
  # sample: CamaleonCms::Site.first.posts.sort_by_field("untitled-field-attributes", "desc")
39
39
  def sort_by_field(key, order = "ASC")
40
- # class_name = self.build.class.name
41
- # table_name = class_name.classify.table_name
42
- self.includes(:custom_field_values).where("#{CamaleonCms::CustomFieldsRelationship.table_name}.custom_field_slug = ? and #{CamaleonCms::CustomFieldsRelationship.table_name}.object_class = ?", key, self.build.class.name).reorder("#{CamaleonCms::CustomFieldsRelationship.table_name}.value #{order}")
40
+ self.joins("LEFT OUTER JOIN #{CamaleonCms::CustomFieldsRelationship.table_name} ON #{CamaleonCms::CustomFieldsRelationship.table_name}.objectid = #{self.build.class.table_name}.id").where("#{CamaleonCms::CustomFieldsRelationship.table_name}.custom_field_slug = ? and #{CamaleonCms::CustomFieldsRelationship.table_name}.object_class = ?", key, self.build.class.name.parseCamaClass).reorder("#{CamaleonCms::CustomFieldsRelationship.table_name}.value #{order}")
43
41
  end
44
42
 
45
43
  # Filter by custom field values
@@ -48,8 +46,10 @@ ActiveRecord::Associations::CollectionProxy.class_eval do
48
46
  # sample: my_posts_that_include_my_field = CamaleonCms::Site.first.posts.filter_by_field("untitled-field-attributes")
49
47
  # this will return all posts of the first site that include custom field "untitled-field-attributes"
50
48
  # additionally, you can add extra filter: my_posts_that_include_my_field.where("#{CamaleonCms::CustomFieldsRelationship.table_name}.value=?", "my_value_for_field")
51
- def filter_by_field(key)
52
- self.includes(:custom_field_values).where("#{CamaleonCms::CustomFieldsRelationship.table_name}.custom_field_slug = ? and #{CamaleonCms::CustomFieldsRelationship.table_name}.object_class = ?", key, self.build.class.name)
49
+ def filter_by_field(key, args = {})
50
+ res = self.joins("LEFT OUTER JOIN #{CamaleonCms::CustomFieldsRelationship.table_name} ON #{CamaleonCms::CustomFieldsRelationship.table_name}.objectid = #{self.build.class.table_name}.id").where("#{CamaleonCms::CustomFieldsRelationship.table_name}.custom_field_slug = ? and #{CamaleonCms::CustomFieldsRelationship.table_name}.object_class = ?", key, self.build.class.name.parseCamaClass)
51
+ res = res.where("#{CamaleonCms::CustomFieldsRelationship.table_name}.value = ?", args[:value]) if args[:value]
52
+ res
53
53
  end
54
54
  end
55
55
 
@@ -226,6 +226,7 @@ es:
226
226
  clone_content: 'Clonar contenido'
227
227
  label_required: 'Etiqueta Requerida'
228
228
  placeholder_required: 'Placeholder Requerido'
229
+ is_featured: 'Es Destacado?'
229
230
  message:
230
231
  created: 'El %{post_type} se ha creado.'
231
232
  updated: 'El %{post_type} se ha actualizado.'
@@ -485,6 +486,7 @@ es:
485
486
  password_confirmation: 'Confirmación de Contraseña'
486
487
  password_protection: 'Protección por contraseña'
487
488
  permit_comments_default: 'Permitir Comentarios (por defecto)'
489
+ permit_is_featured: 'Permitir Articulos Destacados'
488
490
  post: 'Articulo'
489
491
  post_type: 'Tipo de Articulo'
490
492
  pending: 'Pendiente'
@@ -120,6 +120,7 @@ es:
120
120
  back_top: "Volver arriba"
121
121
  total_followers_social: "Total de seguidores en redes sociales"
122
122
  latest_articles: "Ultimos Articulos"
123
+ related_articles: 'Artículos Relacionados'
123
124
  photo_gallery: "Galerías de fotos"
124
125
  home_galleries: "Ir a la portada de galerias"
125
126
  addition: "Ademas"
@@ -0,0 +1,5 @@
1
+ class AddFeatureToPosts < ActiveRecord::Migration
2
+ def change
3
+ add_column "#{PluginRoutes.static_system_info["db_prefix"]}posts", :is_feature, :boolean, default: false
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class MoveFirstNameOfUsers < ActiveRecord::Migration
2
+ def change
3
+ add_column "#{PluginRoutes.static_system_info["db_prefix"]}users", :first_name, :string
4
+ add_column "#{PluginRoutes.static_system_info["db_prefix"]}users", :last_name, :string
5
+ CamaleonCms::User.all.each do |u|
6
+ u.update_columns(first_name: u.get_meta('first_name'), last_name: u.get_meta('last_name'))
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module CamaleonCms
2
- VERSION = '2.1.2.0'
2
+ VERSION = '2.1.2.1'
3
3
  end
@@ -134,9 +134,19 @@ class String
134
134
  end
135
135
 
136
136
  # Sample:
137
- # /var/www/media/132/logo.png ==> /var/www/media/132/logo_2.png
137
+ # '/var/www/media/132/logo.png'.cama_add_postfix_file_name('_2') ==> /var/www/media/132/logo_2.png
138
138
  def cama_add_postfix_file_name(postfix)
139
139
  File.join(File.dirname(self), "#{File.basename(self, File.extname(self))}#{postfix}#{File.extname(self)}")
140
140
  end
141
141
 
142
+ # Parse the url to get the image version
143
+ # version_name: (String) version name,
144
+ # if this is empty, this will return the image version for thumb of the image, sample: 'http://localhost/my_image.png'.cama_parse_image_version('') => http://localhost/thumb/my_image.png
145
+ # if this is present, this will return the image version generated, sample: , sample: 'http://localhost/my_image.png'.cama_parse_image_version('200x200') => http://localhost/thumb/my_image_200x200.png
146
+ # default: default image if post image does not exist
147
+ def cama_parse_image_version(version_name: '')
148
+ res = File.join(File.dirname(self), 'thumb', "#{File.basename(self).parameterize}#{File.extname(self)}")
149
+ res = res.cama_add_postfix_file_name("_#{version_name}") if version_name.present?
150
+ res
151
+ end
142
152
  end
@@ -12,13 +12,16 @@ module Themes::ThemeClass::MainHelper
12
12
 
13
13
  # callback called after theme installed
14
14
  def themeKey_on_install_theme(theme)
15
- unless theme.get_field_groups.where(slug: "fields").any?
16
- group = theme.add_field_group({name: "Main Settings", slug: "fields", description: ""})
17
- group.add_field({"name"=>"Background color", "slug"=>"bg_color"},{field_key: "colorpicker"})
18
- group.add_field({"name"=>"Links color", "slug"=>"links_color"},{field_key: "colorpicker"})
19
- group.add_field({"name"=>"Background image", "slug"=>"bg"},{field_key: "image"})
20
- end
21
- theme.set_meta("installed_at", Time.current.to_s) # save a custom value
15
+ # # Sample Custom Field
16
+ # unless theme.get_field_groups.where(slug: "fields").any?
17
+ # group = theme.add_field_group({name: "Main Settings", slug: "fields", description: ""})
18
+ # group.add_field({"name"=>"Background color", "slug"=>"bg_color"},{field_key: "colorpicker"})
19
+ # group.add_field({"name"=>"Links color", "slug"=>"links_color"},{field_key: "colorpicker"})
20
+ # group.add_field({"name"=>"Background image", "slug"=>"bg"},{field_key: "image"})
21
+ # end
22
+
23
+ # # Sample Meta Value
24
+ # theme.set_meta("installed_at", Time.current.to_s) # save a custom value
22
25
  end
23
26
 
24
27
  # callback executed after theme uninstalled
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2.0
4
+ version: 2.1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen Peredo Diaz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2016-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt
@@ -714,6 +714,7 @@ files:
714
714
  - app/views/camaleon_cms/default_theme/partials/_categories_list.html.erb
715
715
  - app/views/camaleon_cms/default_theme/partials/_comments.html.erb
716
716
  - app/views/camaleon_cms/default_theme/partials/_comments_list.html.erb
717
+ - app/views/camaleon_cms/default_theme/partials/_comments_list2.html.erb
717
718
  - app/views/camaleon_cms/default_theme/partials/_flash_messages.html.erb
718
719
  - app/views/camaleon_cms/default_theme/partials/_forms.html.erb
719
720
  - app/views/camaleon_cms/default_theme/partials/_post_list_item.html.erb
@@ -781,6 +782,8 @@ files:
781
782
  - db/migrate/20150611161134_post_table_into_utf8.rb
782
783
  - db/migrate/20150926095310_rename_column_posts.rb
783
784
  - db/migrate/20151212095328_add_confirm_token_to_users.rb
785
+ - db/migrate/20160504155652_add_feature_to_posts.rb
786
+ - db/migrate/20160504155653_move_first_name_of_users.rb
784
787
  - lib/camaleon_cms.rb
785
788
  - lib/camaleon_cms/engine.rb
786
789
  - lib/camaleon_cms/version.rb
@@ -868,3 +871,4 @@ signing_key:
868
871
  specification_version: 4
869
872
  summary: Camaleon is a cms for Ruby on Rails 4 as an alternative to wordpress.
870
873
  test_files: []
874
+ has_rdoc: