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
@@ -96,6 +96,14 @@ module CamaleonCms::Metas extend ActiveSupport::Concern
96
96
  end
97
97
  alias_method :set_options, :set_multiple_options
98
98
 
99
+ # save multiple metas
100
+ # sample: set_metas({name: 'Owen', email: 'owenperedo@gmail.com'})
101
+ def set_metas(data_metas)
102
+ data_metas.each do |key, value|
103
+ self.set_meta(key, value)
104
+ end
105
+ end
106
+
99
107
  # permit to skip save_metas_options in specific models
100
108
  def save_metas_options_skip
101
109
  false
@@ -68,10 +68,12 @@ class CamaleonCmsUploader
68
68
 
69
69
 
70
70
  # convert current string path into file version_path, sample:
71
- # /media/1/screen.png into /media/1/thumb/screen-png.png
72
- # /media/1/screen.png into /media/1/crop_40x40/screen-png.png
73
- def version_path(image_path, version_name = 'thumb')
74
- File.join(File.dirname(image_path), version_name, "#{File.basename(image_path).parameterize}#{File.extname(image_path)}")
71
+ # version_path('/media/1/screen.png') into /media/1/thumb/screen-png.png (thumbs)
72
+ # Sample: version_path('/media/1/screen.png', '200x200') ==> /media/1/thumb/screen-png_200x200.png (image versions)
73
+ def version_path(image_path, version_name = nil)
74
+ res = File.join(File.dirname(image_path), 'thumb', "#{File.basename(image_path).parameterize}#{File.extname(image_path)}")
75
+ res = res.cama_add_postfix_file_name("_#{version_name}") if version_name.present?
76
+ res
75
77
  end
76
78
 
77
79
  # return the file format (String) of path (depends of file extension)
@@ -1,39 +1,43 @@
1
1
  <% if flash[:notice].present? || flash[:info].present? || flash[:error].present? || flash[:alert].present? %>
2
- <div class="row">
3
- <% if flash[:info] %>
2
+ <div class="cama_flash_messages">
3
+ <% if flash[:info].present? %>
4
4
  <div class="flash_messages">
5
5
  <div class="alert alert-info">
6
6
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
7
7
  <%= raw(flash[:info]) %>
8
8
  </div>
9
9
  </div>
10
+ <% flash[:info] = nil %>
10
11
  <% end %>
11
12
 
12
- <% if flash[:notice] %>
13
+ <% if flash[:notice].present? %>
13
14
  <div class="flash_messages">
14
15
  <div class="alert alert-success">
15
16
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
16
17
  <%= raw(flash[:notice]) %>
17
18
  </div>
18
19
  </div>
20
+ <% flash[:notice] = nil %>
19
21
  <% end %>
20
22
 
21
- <% if flash[:error] %>
23
+ <% if flash[:error].present? %>
22
24
  <div class="flash_messages">
23
25
  <div class="alert alert-danger">
24
26
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
25
27
  <%= raw(flash[:error]) %>
26
28
  </div>
27
29
  </div>
30
+ <% flash[:error] = nil %>
28
31
  <% end %>
29
32
 
30
- <% if flash[:alert] %>
33
+ <% if flash[:alert].present? %>
31
34
  <div class="flash_messages">
32
35
  <div class="alert alert-warning">
33
36
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
34
37
  <%= raw(flash[:alert]) %>
35
38
  </div>
36
39
  </div>
40
+ <% flash[:alert] = nil %>
37
41
  <% end %>
38
42
  </div>
39
43
  <% end %>
@@ -12,7 +12,7 @@
12
12
  <%= link_to('<i class="fa fa-cog"></i>'.html_safe, {action: :custom_settings, nav_menu_id: nav_menu.id, id: item.id, cama_skip_breadcrumb: true}, class: 'custom_settings_link', title: t('.edit_custom_settings', default: 'Edit Configurations')) if custom_fields %>
13
13
  <%= link_to('<i class="fa fa-times-circle"></i>'.html_safe, url_for(action: :delete_menu_item, nav_menu_id: nav_menu.id, id: item.id), class: 'delete_menu_item') %>
14
14
  </div>
15
- <%= render('menu_items', items: item.children, nav_menu: nav_menu) if item.children.any? %>
15
+ <%= render('menu_items', items: item.children.reorder(:term_order), nav_menu: nav_menu) if item.children.any? %>
16
16
  </li>
17
17
  <% end %>
18
18
  </ol>
@@ -5,7 +5,7 @@
5
5
  </div>
6
6
  <div class="panel-body">
7
7
  <div class="dd" id="menus_list" data-url="<%= url_for(action: :add_items, nav_menu_id: @nav_menu.id) %>" data-reorder_url="<%= url_for(action: :reorder_items, nav_menu_id: @nav_menu.id) %>">
8
- <%= render 'menu_items', items: @nav_menu.children.all, nav_menu: @nav_menu %>
8
+ <%= render 'menu_items', items: @nav_menu.children.reorder(:term_order).all, nav_menu: @nav_menu %>
9
9
  </div>
10
10
  </div>
11
11
  </div>
@@ -1,10 +1,4 @@
1
- <%
2
- if @category.nil?
3
- @category = @post_type.categories.new
4
- end
5
-
6
-
7
- %>
1
+ <% @category = @post_type.categories.new if @category.nil? %>
8
2
  <%= form_for @category, as: "category", url:{action: @category.new_record? ? :create : :update}, html: {class: 'validate cama_ajax_request', id: 'form-category'} do |f| %>
9
3
  <%= f.hidden_field :parent_id %>
10
4
  <%= f.hidden_field :taxonomy %>
@@ -32,8 +26,6 @@
32
26
 
33
27
  <%= render partial: "camaleon_cms/admin/settings/custom_fields/render", locals: {record: @category, field_groups: @post_type.get_field_groups({kind: "Category"})} %>
34
28
 
35
-
36
-
37
29
  <div class="panel-footer">
38
30
  <a class="btn btn-default" role="back" href="<%= url_for action: :index %>"><%= t('camaleon_cms.admin.button.back')%></a>
39
31
  <button class="btn btn-primary pull-right" type="submit"><%= t('camaleon_cms.admin.button.submit')%></button>
@@ -1,4 +1,4 @@
1
- <div id="cama_media_gallery" data-url_actions="<%= actions_cama_admin_media_path(actions: @show_file_actions, dimension: params[:dimension]) %>" data-formats="<%= @media_formats.join(",") %>" data-folder="<%= @folder %>" data-url="<%= ajax_cama_admin_media_path(actions: @show_file_actions) %>" data-dimension="<%= params[:dimension] %>">
1
+ <div id="cama_media_gallery" data-url_actions="<%= actions_cama_admin_media_path(actions: @show_file_actions, dimension: params[:dimension]) %>" data-versions="<%= params[:versions] %>" data-thumb_size="<%= params[:thumb_size] %>" data-formats="<%= @media_formats.join(",") %>" data-folder="<%= @folder %>" data-url="<%= ajax_cama_admin_media_path(actions: @show_file_actions) %>" data-dimension="<%= params[:dimension] %>">
2
2
  <div class="panel panel-default">
3
3
  <div class="panel-heading">
4
4
  <div class="row">
@@ -76,6 +76,11 @@
76
76
  <label class="control-label"><%= check_box("meta", "has_comments", {checked: ( params[:meta][:has_comments] == '1' rescue false || @post.can_commented?) }) %> &nbsp; <%= t('camaleon_cms.admin.post_type.permit_comments')%></label>
77
77
  </div>
78
78
  <% end %>
79
+ <% if @post_type.get_option('has_featured', false) %>
80
+ <div class="form-group">
81
+ <label class="control-label"><%= f.check_box :is_feature %> &nbsp; <%= t('camaleon_cms.admin.post.is_featured', default: 'Is Featured?')%></label>
82
+ </div>
83
+ <% end %>
79
84
  <%= raw @post_form_extra_settings.join("") if @post_form_extra_settings.present? %>
80
85
  </div>
81
86
  </div>
@@ -115,7 +120,7 @@
115
120
  <% if @post.manage_picture?(@post_type) %>
116
121
  <div class="panel panel-default panel-lite">
117
122
  <div class="panel-heading">
118
- <h3 class="panel-title"><%= t('camaleon_cms.admin.post_type.featured_image')%> </h3>
123
+ <h3 class="panel-title"><%= t(@post_type.get_option('posts_feature_image_label', 'camaleon_cms.admin.post_type.featured_image'), default: @post_type.get_option('posts_feature_image_label_default', 'Featured Image'))%> <%= "(#{@post_type.get_option('posts_image_dimension')})" if @post_type.get_option('posts_image_dimension').present? %></h3>
119
124
  <ul class="panel-controls">
120
125
  <li><a href="#" class="panel-collapse"><span class="fa fa-angle-down"></span></a></li>
121
126
  </ul>
@@ -134,7 +139,8 @@
134
139
  </a>
135
140
  <input name="meta[thumb]" type="hidden" value="<%= params[:meta][:thumb] rescue false || @post.get_meta("thumb", "") %>"/>
136
141
  </div>
137
- <a href="#" class="btn btn-default" onclick="upload_feature_image(); return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.post_type.upload_image')%></a>
142
+ <!-- posts_thumb_versions ==> '200x200,400x450', posts_thumb_size ==> '100x100', posts_image_dimension ==> '1200x1200'-->
143
+ <a href="#" class="btn btn-default" onclick="upload_feature_image({versions: '<%= @post_type.get_option('posts_thumb_versions') %>', thumb_size: '<%= @post_type.get_option('posts_thumb_size') %>', dimension: '<%= @post_type.get_option('posts_image_dimension') %>' }); return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.post_type.upload_image', default: 'Upload Image')%></a>
138
144
  </div>
139
145
  </div>
140
146
  </div>
@@ -8,12 +8,12 @@
8
8
  <h4><%= t('camaleon_cms.admin.login.personal_info') %></h4>
9
9
  <div class="form-group">
10
10
  <div class="col-md-12">
11
- <input type="text" class="form-control" placeholder="<%= t("camaleon_cms.admin.login.first_name", default: 'First Name') %>" name="meta[first_name]" value="<%= @first_name if @first_name.present? %>"/>
11
+ <%= f.text_field :first_name, class: 'form-control required', placeholder: t("camaleon_cms.admin.login.first_name", default: 'First Name') %>
12
12
  </div>
13
13
  </div>
14
14
  <div class="form-group">
15
15
  <div class="col-md-12">
16
- <input type="text" class="form-control" placeholder="<%= t("camaleon_cms.admin.login.last_name", default: 'Last Name') %>" name="meta[last_name]" value="<%= @last_name if @last_name.present? %>"/>
16
+ <%= f.text_field :last_name, class: 'form-control', placeholder: t("camaleon_cms.admin.login.last_name", default: 'Last Name') %>
17
17
  </div>
18
18
  </div>
19
19
  <div class="form-group">
@@ -1,8 +1,8 @@
1
1
  <div class="group-input-fields-content row" data-callback-set-value="custom_field_field_attrs_val">
2
2
  <div class="col-md-4">
3
- <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][][attr]" placeholder="<%= t('camaleon_cms.admin.table.attribute') %>" class="<%= 'is_translate' if @field.options[:translate].to_s.to_bool %> form-control input-attr <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
3
+ <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][][attr]" placeholder="<%= t('camaleon_cms.admin.table.attribute') %>" class="<%= 'is_translate' if @field.get_option('translate') %> form-control input-attr <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
4
4
  </div>
5
5
  <div class="col-md-8">
6
- <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][][value]" placeholder="<%= t('camaleon_cms.admin.table.value') %>" class="<%= 'is_translate' if @field.options[:translate].to_s.to_bool %> form-control input-value" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
6
+ <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][][value]" placeholder="<%= t('camaleon_cms.admin.table.value') %>" class="<%= 'is_translate' if @field.get_option('translate') %> form-control input-value" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
7
7
  </div>
8
8
  </div>
@@ -1,4 +1,4 @@
1
1
  <div class="group-input-fields-content input-group">
2
- <input data-dimension="<%= @field.options[:dimension] %>" type="url" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="data-error-place-parent form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
3
- <span class="input-group-addon btn_upload" onclick="load_upload_image_field(this);return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.button.upload_image')%></span>
2
+ <input data-dimension="<%= @field.options[:dimension] %>" data-versions="<%= @field.options[:versions] %>" data-thumb_size="<%= @field.options[:thumb_size] %>" type="url" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="data-error-place-parent form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
3
+ <span class="input-group-addon btn_upload" onclick="load_upload_image_field(this);return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.button.upload_image')%> <%= "(#{@field.get_option('dimension')})" if @field.get_option('dimension').present? %></span>
4
4
  </div>
@@ -7,7 +7,7 @@
7
7
  <div class="panel-heading">
8
8
  <div class="row">
9
9
  <div class="col-md-12">
10
- <h4 class="pull-left"><span class="fa fa-cog"></span> <%= t('camaleon_cms.admin.settings.list_custom_fields_group') %></h4>
10
+ <h4 class="pull-left"><span class="fa fa-cog"></span> <%= t('camaleon_cms.admin.settings.list_custom_fields_group') %> <%= @field_groups.count %></h4>
11
11
  <%= link_to raw("<i class='fa fa-plus'></i> #{t('camaleon_cms.admin.settings.add_field_group')}"), {action: :new}, class: "btn btn-primary pull-right cama_ajax_request" %>
12
12
  </div>
13
13
  </div>
@@ -91,6 +91,10 @@
91
91
  </label>
92
92
  <%= raw cama_html_tooltip("#{t('camaleon_cms.admin.post_type.tooltip.permission_reviews')}", 'right') %>
93
93
  </div>
94
+ <div class="form-group">
95
+ <input name="meta[has_featured]" type="hidden" value="false"/>
96
+ <label class="check0"><input name="meta[has_featured]" type="checkbox" class="icheckbox0" value="true" <%= 'checked' if @post_type.get_option('has_featured', false) %>/>&nbsp; <%= t('camaleon_cms.admin.table.permit_is_featured', default: 'Permit Featured Articles') %></label>
97
+ </div>
94
98
  <div class="form-group">
95
99
  <input name="meta[has_picture]" type="hidden" value="false"/>
96
100
  <label class="check0"><input name="meta[has_picture]" type="checkbox" class="icheckbox0" value="true" <%= 'checked' if @post_type.get_option('has_picture', true) %>/>&nbsp; <%= t('camaleon_cms.admin.table.manage_picture') %>
@@ -72,7 +72,7 @@
72
72
  <% if show_theme_tab %>
73
73
  <div id="tab-theme-configuration" class="<%= "active" if "theme" == params[:tab] %> tab-pane">
74
74
  <% if File.exist?(current_theme.settings_file) %>
75
- <%= render file: current_theme.settings_file %>
75
+ <%= render template: "themes/#{current_theme.settings_file.split('/app/apps/themes/').last}" %>
76
76
  <%= render(partial: "camaleon_cms/admin/settings/custom_fields/render", locals: {record: current_theme, field_groups: theme_field_groups}) unless File.read(current_theme.settings_file).include?('.get_field_groups') %>
77
77
  <% else %>
78
78
  <%= render partial: "camaleon_cms/admin/settings/custom_fields/render", locals: {record: current_theme, field_groups: theme_field_groups} %>
@@ -95,7 +95,7 @@
95
95
  jQuery(function () {
96
96
  var panel = $("#site_settings_form");
97
97
  panel.validate();
98
- panel.find('.unput_upload').input_upload();
98
+ panel.find('.unput_upload, .input_upload').input_upload();
99
99
 
100
100
  // smtp
101
101
  panel.find("#options_mailer_enabled").change(function () {
@@ -25,21 +25,17 @@
25
25
  </div>
26
26
  </div>
27
27
  <div class="panel-body user-form-left form-group-separated">
28
-
29
28
  <div class="">
30
29
  <a href="#" class="btn btn-primary btn-block btn-rounded" data-toggle="modal" data-target="#modal_change_photo"><%= t('camaleon_cms.admin.button.change_photo')%></a>
31
30
  </div>
32
-
33
31
  <div class="">
34
32
  <label class="control-label">#<%= t('camaleon_cms.admin.table.id')%></label>
35
33
  <%= f.text_field :id, :class => "form-control required", disabled: "disabled" %>
36
34
  </div>
37
-
38
35
  <div class="">
39
36
  <label class="control-label"><%= t('camaleon_cms.admin.table.login')%></label>
40
37
  <%= f.text_field :username, :class => "form-control required" %>
41
38
  </div>
42
-
43
39
  <div class="">
44
40
  <label class="control-label"><%= t('camaleon_cms.admin.table.e_mail')%></label>
45
41
  <%= f.email_field :email, :class => "form-control required email"%>
@@ -54,7 +50,6 @@
54
50
  <%= f.password_field :password_confirm, :class => "form-control required", "equalTo"=>"#user_password" %>
55
51
  </div>
56
52
  <% end %>
57
-
58
53
  <div class="">
59
54
  <%= f.label "#{t('camaleon_cms.admin.table.role')}", class: "control-label" %>
60
55
  <div class="">
@@ -70,11 +65,10 @@
70
65
  <a href="#" class="btn btn-warning btn-block btn-rounded" data-toggle="modal" data-target="#modal_change_password"><%= t('camaleon_cms.admin.button.change_password') %></a>
71
66
  </div>
72
67
  <% end %>
73
-
74
68
  </div>
75
-
76
69
  </div>
77
70
  </div>
71
+
78
72
  <div class="col-md-6 col-sm-8">
79
73
  <div class="panel panel-default">
80
74
  <div class="panel-body form-group-separated">
@@ -83,19 +77,17 @@
83
77
  <%= t("camaleon_cms.admin.table.first_names")%>
84
78
  </label>
85
79
  <div class="col-md-9 col-xs-7">
86
- <input type="text" name="meta[first_name]" value="<%= @user.get_meta("first_name") %>" class="form-control required"/>
80
+ <%= f.text_field :first_name, class: 'form-control required' %>
87
81
  </div>
88
82
  </div>
89
-
90
83
  <div class="form-group">
91
84
  <label class="col-md-3 col-xs-5 control-label">
92
85
  <%= t("camaleon_cms.admin.table.last_names")%>
93
86
  </label>
94
87
  <div class="col-md-9 col-xs-7">
95
- <input type="text" name="meta[last_name]" value="<%= @user.get_meta("last_name") %>" class="form-control required"/>
88
+ <%= f.text_field :last_name, class: 'form-control' %>
96
89
  </div>
97
90
  </div>
98
-
99
91
  <div class="form-group">
100
92
  <label class="col-md-3 col-xs-5 control-label"><%= t('camaleon_cms.admin.table.slogan') %></label>
101
93
  <div class="col-md-9 col-xs-7">
@@ -126,18 +118,13 @@
126
118
  <label class="col-md-4 col-xs-5 control-label"><%= t('camaleon_cms.admin.table.registration')%></label>
127
119
  <div class="col-md-8 col-xs-7 line-height-30"><%= @user.created_at %></div>
128
120
  </div>
129
-
130
121
  </div>
131
122
  </div>
132
-
133
123
  <%= r = { html: ''}; hooks_run('user_update_more_actions_form', r); raw(r[:html]); %>
134
124
  </div>
135
125
  <% end %>
136
-
137
126
  <%= r = { html: ''}; hooks_run('user_update_more_actions', r); raw(r[:html]); %>
138
127
  </div>
139
-
140
-
141
128
  </div>
142
129
  <!-- END PAGE CONTENT WRAPPER -->
143
130
 
@@ -7,7 +7,7 @@
7
7
  <% _cats.each do |cat| %>
8
8
  <div class="col-md-2">
9
9
  <a href="<%= cat.the_url %>" class="thumbnail text-center">
10
- <img src="<%= cat.the_thumb_url %>" alt="Image" style="max-width:100%;">
10
+ <i class='fa fa-folder'></i>
11
11
  <span class="category-title"><%= cat.the_title %> <%= cat.the_edit_link %></span>
12
12
  </a>
13
13
  </div>
@@ -4,13 +4,13 @@
4
4
  <div class="col-md-12">
5
5
  <h2 class="page-header"><%= ct('comments', default: 'Comments')%></h2>
6
6
  <section class="comment-list">
7
- <%= render partial: "partials/comments_list", locals: { comments: post.the_comments, children: "" } %>
7
+ <%= render partial: "partials/#{defined?(style2) ? 'comments_list2' : 'comments_list'}", locals: { comments: post.the_comments, children: "" } %>
8
8
  </section>
9
9
  </div>
10
10
  </div>
11
11
  <% end %>
12
12
 
13
- <div class="row">
13
+ <div class="row comment_form_panel">
14
14
  <div class="col-md-12 col-sm-12">
15
15
  <h3><%= ct('comment_new', default: 'New Comment')%></h3>
16
16
  <% if signin? %>
@@ -0,0 +1,24 @@
1
+ <ul class="media-list comments-list">
2
+ <% comments.each do |comment| user = comment.comment_user.decorate %>
3
+ <li class="media">
4
+ <div class="media-left">
5
+ <%= link_to(image_tag(user.the_avatar, class: "media-object", style: 'width: 64px;'), user.the_url) %>
6
+ </div>
7
+ <div class="media-body">
8
+ <h4 class="media-heading"><%= link_to(user.the_name, user.the_url) %> <small class="pull-right"><%= comment.decorate.the_created_at %></small></h4>
9
+ <div><%= raw comment.content %></div>
10
+ <% comment.children.approveds.each do |answer| user2 = answer.comment_user.decorate %>
11
+ <div class="media">
12
+ <div class="media-left">
13
+ <%= link_to(image_tag(user2.the_avatar, class: "media-object", style: 'width: 64px;'), user2.the_url) %>
14
+ </div>
15
+ <div class="media-body">
16
+ <h4 class="media-heading"><%= link_to(user2.the_name, user.the_url) %> <small class="pull-right"><%= answer.decorate.the_created_at %></small></h4>
17
+ <div><%= raw answer.content %></div>
18
+ </div>
19
+ </div>
20
+ <% end %>
21
+ </div>
22
+ </li>
23
+ <% end %>
24
+ </ul>
@@ -1,4 +1,4 @@
1
- <% if post.has_thumb? %>
1
+ <% if post.has_thumb? && !defined?(skip_thumb) %>
2
2
  <div class="panel panel-default">
3
3
  <div class="panel-body">
4
4
  <%= raw post.the_link_thumb({}, {class: "img-responsive img-rounded col-md-12 col-lg-12"}) %>
@@ -7,7 +7,7 @@
7
7
  <% end %>
8
8
 
9
9
  <% categories = post.the_categories.decorate %>
10
- <% if categories.present? %>
10
+ <% if categories.present? && !defined?(skip_categories) %>
11
11
  <div class="panel panel-default">
12
12
  <div class="panel-heading"><%= ct("categories", default: 'Categories') %></div>
13
13
  <div class="panel-body">
@@ -20,33 +20,53 @@
20
20
  </div>
21
21
  <% end %>
22
22
 
23
- <div class="panel panel-default">
24
- <div class="panel-heading">
25
- <%= ct("latest_articles", default: 'Latest Articles') %>
26
- </div>
27
- <div class="panel-body">
28
- <ul>
29
- <% current_site.the_posts("post").latest.limit(7).decorate.each do |p| %>
30
- <li><a href="<%= p.the_url %>"><%= p.the_title %></a></li>
31
- <% end %>
32
- </ul>
23
+ <% if !defined?(skip_last_articles) %>
24
+ <div class="panel panel-default">
25
+ <div class="panel-heading">
26
+ <%= ct("latest_articles", default: 'Latest Articles') %>
27
+ </div>
28
+ <div class="panel-body">
29
+ <ul>
30
+ <% current_site.the_posts("post").latest.limit(7).decorate.each do |p| %>
31
+ <li><a href="<%= p.the_url %>"><%= p.the_title %></a></li>
32
+ <% end %>
33
+ </ul>
34
+ </div>
33
35
  </div>
34
- </div>
36
+ <% end %>
35
37
 
36
- <% tags = post.the_tags.decorate %>
37
- <% if tags.present? %>
38
+ <% if !defined?(skip_similar_art) %>
38
39
  <div class="panel panel-default">
39
- <div class="panel-heading"><%= ct("post_tag_list", default: 'Tags') %></div>
40
+ <div class="panel-heading">
41
+ <%= ct("related_articles", default: 'Related Articles') %>
42
+ </div>
40
43
  <div class="panel-body">
41
- <% tags.each do |post_tag| %>
42
- <a class="btn btn-default btn-xs" href="<%= post_tag.the_url %>"><%= post_tag.the_title %></a>
43
- <% end %>
44
+ <ul>
45
+ <% post.the_related_posts.latest.limit(7).decorate.each do |p| %>
46
+ <li><a href="<%= p.the_url %>"><%= p.the_title %></a></li>
47
+ <% end %>
48
+ </ul>
44
49
  </div>
45
50
  </div>
46
51
  <% end %>
47
52
 
53
+
54
+ <% if !defined?(skip_tasg) %>
55
+ <% tags = post.the_tags.decorate %>
56
+ <% if tags.present? %>
57
+ <div class="panel panel-default">
58
+ <div class="panel-heading"><%= ct("post_tag_list", default: 'Tags') %></div>
59
+ <div class="panel-body">
60
+ <% tags.each do |post_tag| %>
61
+ <a class="btn btn-default btn-xs" href="<%= post_tag.the_url %>"><%= post_tag.the_title %></a>
62
+ <% end %>
63
+ </div>
64
+ </div>
65
+ <% end %>
66
+ <% end %>
67
+
48
68
  <!-- custom fields -->
49
- <% if post.render_fields.present? %>
69
+ <% if post.render_fields.present? && !defined?(skip_fields) %>
50
70
  <div class="panel panel-default">
51
71
  <div class="panel-heading"><%= ct("extra_attributes", default: 'Extra Attributes') %></div>
52
72
  <div class="panel-body">