camaleon_cms 2.1.1 → 2.1.1.4

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 (180) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -1
  3. data/app/apps/plugins/attack/config/locales/translation.yml +20 -1
  4. data/app/apps/plugins/contact_form/config/locales/translation.yml +106 -1
  5. data/app/apps/plugins/contact_form/contact_form_helper.rb +44 -27
  6. data/app/apps/plugins/front_cache/config/locales/translation.yml +21 -1
  7. data/app/apps/plugins/front_cache/front_cache_helper.rb +1 -1
  8. data/app/apps/plugins/visibility_post/assets/js/form.js +1 -3
  9. data/app/apps/plugins/visibility_post/visibility_post_helper.rb +2 -4
  10. data/app/assets/images/camaleon_cms/language/de.png +0 -0
  11. data/app/assets/images/camaleon_cms/language/en.png +0 -0
  12. data/app/assets/images/camaleon_cms/language/es.png +0 -0
  13. data/app/assets/images/camaleon_cms/language/fr.png +0 -0
  14. data/app/assets/images/camaleon_cms/language/it.png +0 -0
  15. data/app/assets/images/camaleon_cms/language/nl.png +0 -0
  16. data/app/assets/images/camaleon_cms/language/pl.png +0 -0
  17. data/app/assets/images/camaleon_cms/language/pt.png +0 -0
  18. data/app/assets/images/camaleon_cms/language/pt_br.png +0 -0
  19. data/app/assets/images/camaleon_cms/language/ru.png +0 -0
  20. data/app/assets/images/camaleon_cms/language/zh.png +0 -0
  21. data/app/assets/javascripts/camaleon_cms/admin/_custom_fields.js +3 -11
  22. data/app/assets/javascripts/camaleon_cms/admin/_data.js +2 -6
  23. data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +11 -229
  24. data/app/assets/javascripts/camaleon_cms/admin/_modal.js +11 -37
  25. data/app/assets/javascripts/camaleon_cms/admin/_post.js +27 -22
  26. data/app/assets/javascripts/camaleon_cms/admin/_translator.js +2 -1
  27. data/app/assets/javascripts/camaleon_cms/admin/admin-manifest.js +6 -2
  28. data/app/assets/javascripts/camaleon_cms/admin/bootstrap-datepicker.js +2557 -1689
  29. data/app/assets/javascripts/camaleon_cms/admin/jquery.validate.js +119 -1361
  30. data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/nl.js +33 -0
  31. data/app/assets/javascripts/camaleon_cms/admin/momentjs/_moment.js +3606 -0
  32. data/app/assets/javascripts/camaleon_cms/admin/momentjs/ar.js +136 -0
  33. data/app/assets/javascripts/camaleon_cms/admin/momentjs/ca.js +79 -0
  34. data/app/assets/javascripts/camaleon_cms/admin/momentjs/de.js +76 -0
  35. data/app/assets/javascripts/camaleon_cms/admin/momentjs/es.js +79 -0
  36. data/app/assets/javascripts/camaleon_cms/admin/momentjs/fr.js +62 -0
  37. data/app/assets/javascripts/camaleon_cms/admin/momentjs/it.js +70 -0
  38. data/app/assets/javascripts/camaleon_cms/admin/momentjs/ja.js +65 -0
  39. data/app/assets/javascripts/camaleon_cms/admin/momentjs/nl.js +71 -0
  40. data/app/assets/javascripts/camaleon_cms/admin/momentjs/pl.js +105 -0
  41. data/app/assets/javascripts/camaleon_cms/admin/momentjs/pt.js +64 -0
  42. data/app/assets/javascripts/camaleon_cms/admin/momentjs/pt_br.js +60 -0
  43. data/app/assets/javascripts/camaleon_cms/admin/momentjs/ru.js +166 -0
  44. data/app/assets/javascripts/camaleon_cms/admin/momentjs/zh.js +127 -0
  45. data/app/assets/javascripts/camaleon_cms/admin/nav-menu.js +15 -25
  46. data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/nl.js +219 -0
  47. data/app/assets/javascripts/camaleon_cms/admin/uploader/_media_manager.js.coffee +82 -19
  48. data/app/assets/javascripts/camaleon_cms/admin/user_profile.js +8 -8
  49. data/app/assets/stylesheets/camaleon_cms/admin/_custom_admin.css.scss +19 -2
  50. data/app/assets/stylesheets/camaleon_cms/admin/admin-manifest.css +0 -4
  51. data/app/assets/stylesheets/camaleon_cms/admin/bootstrap-datepicker.css.scss +315 -414
  52. data/app/assets/stylesheets/camaleon_cms/admin/uploader/_uploadfile.css.scss +7 -3
  53. data/app/controllers/camaleon_cms/admin/appearances/nav_menus_controller.rb +9 -5
  54. data/app/controllers/camaleon_cms/admin/categories_controller.rb +5 -0
  55. data/app/controllers/camaleon_cms/admin/media_controller.rb +27 -10
  56. data/app/controllers/camaleon_cms/admin/posts_controller.rb +9 -19
  57. data/app/controllers/camaleon_cms/admin/sessions_controller.rb +3 -10
  58. data/app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb +0 -1
  59. data/app/controllers/camaleon_cms/admin/settings/sites_controller.rb +6 -1
  60. data/app/controllers/camaleon_cms/admin/users_controller.rb +1 -8
  61. data/app/controllers/camaleon_cms/admin_controller.rb +5 -4
  62. data/app/controllers/camaleon_cms/apps/plugins_front_controller.rb +0 -8
  63. data/app/controllers/camaleon_cms/camaleon_controller.rb +6 -1
  64. data/app/controllers/camaleon_cms/frontend_controller.rb +11 -8
  65. data/app/decorators/camaleon_cms/category_decorator.rb +2 -1
  66. data/app/decorators/camaleon_cms/post_decorator.rb +28 -1
  67. data/app/decorators/camaleon_cms/post_tag_decorator.rb +1 -0
  68. data/app/decorators/camaleon_cms/post_type_decorator.rb +17 -0
  69. data/app/decorators/camaleon_cms/site_decorator.rb +22 -7
  70. data/app/decorators/camaleon_cms/user_decorator.rb +1 -0
  71. data/app/helpers/camaleon_cms/admin/application_helper.rb +3 -2
  72. data/app/helpers/camaleon_cms/admin/custom_fields_helper.rb +13 -25
  73. data/app/helpers/camaleon_cms/admin/post_type_helper.rb +27 -2
  74. data/app/helpers/camaleon_cms/camaleon_helper.rb +0 -16
  75. data/app/helpers/camaleon_cms/captcha_helper.rb +9 -3
  76. data/app/helpers/camaleon_cms/email_helper.rb +27 -8
  77. data/app/helpers/camaleon_cms/frontend/nav_menu_helper.rb +21 -17
  78. data/app/helpers/camaleon_cms/frontend/seo_helper.rb +5 -3
  79. data/app/helpers/camaleon_cms/html_helper.rb +2 -2
  80. data/app/helpers/camaleon_cms/site_helper.rb +10 -14
  81. data/app/helpers/camaleon_cms/uploader_helper.rb +119 -31
  82. data/app/mailers/camaleon_cms/html_mailer.rb +26 -20
  83. data/app/models/camaleon_cms/custom_field.rb +1 -0
  84. data/app/models/camaleon_cms/custom_field_group.rb +2 -1
  85. data/app/models/camaleon_cms/nav_menu.rb +6 -7
  86. data/app/models/camaleon_cms/nav_menu_item.rb +2 -1
  87. data/app/models/camaleon_cms/post.rb +29 -2
  88. data/app/models/camaleon_cms/post_type.rb +20 -1
  89. data/app/models/camaleon_cms/site.rb +19 -19
  90. data/app/models/camaleon_cms/term_taxonomy.rb +1 -1
  91. data/app/models/concerns/camaleon_cms/custom_fields_read.rb +6 -4
  92. data/app/models/concerns/camaleon_cms/metas.rb +5 -4
  93. data/app/views/camaleon_cms/admin/appearances/nav_menus/_custom_fields.html.erb +4 -2
  94. data/app/views/camaleon_cms/admin/appearances/nav_menus/_external_menu.html.erb +1 -1
  95. data/app/views/camaleon_cms/admin/appearances/nav_menus/index.html.erb +3 -6
  96. data/app/views/camaleon_cms/admin/categories/index.html.erb +1 -0
  97. data/app/views/camaleon_cms/admin/media/_files_list.html.erb +3 -3
  98. data/app/views/camaleon_cms/admin/media/_render_file_item.html.erb +3 -2
  99. data/app/views/camaleon_cms/admin/media/index.html.erb +31 -4
  100. data/app/views/camaleon_cms/admin/posts/_sidebar.html.erb +10 -1
  101. data/app/views/camaleon_cms/admin/posts/form.html.erb +6 -2
  102. data/app/views/camaleon_cms/admin/posts/index.html.erb +4 -4
  103. data/app/views/camaleon_cms/admin/search.html.erb +5 -3
  104. data/app/views/camaleon_cms/admin/settings/_file_system_settings.html.erb +5 -5
  105. data/app/views/camaleon_cms/admin/settings/custom_fields/_get_items.html.erb +2 -1
  106. data/app/views/camaleon_cms/admin/settings/custom_fields/_render.html.erb +1 -1
  107. data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_date.html.erb +3 -4
  108. data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_image.html.erb +1 -1
  109. data/app/views/camaleon_cms/admin/settings/custom_fields/form.html.erb +2 -2
  110. data/app/views/camaleon_cms/admin/settings/post_types/_form.html.erb +11 -1
  111. data/app/views/camaleon_cms/admin/settings/post_types/index.html.erb +1 -0
  112. data/app/views/camaleon_cms/admin/users/form.html.erb +30 -55
  113. data/app/views/camaleon_cms/html_mailer/mailer.html.erb +1 -1
  114. data/app/views/camaleon_cms/html_mailer/password_reset.html.erb +3 -0
  115. data/app/views/layouts/camaleon_cms/admin.html.erb +4 -1
  116. data/app/views/layouts/camaleon_cms/admin/_ajax.html.erb +3 -1
  117. data/app/views/layouts/camaleon_cms/admin/_footer.html.erb +1 -1
  118. data/app/views/layouts/camaleon_cms/admin/_header.html.erb +1 -1
  119. data/config/initializers/assets.rb +4 -2
  120. data/config/initializers/model_alias.rb +11 -0
  121. data/config/locales/camaleon_cms/admin/en.yml +2 -0
  122. data/config/locales/camaleon_cms/admin/es.yml +2 -1
  123. data/config/locales/camaleon_cms/admin/it.yml +1 -0
  124. data/config/locales/camaleon_cms/admin/js.yml +42 -1
  125. data/config/locales/camaleon_cms/admin/nl.yml +659 -0
  126. data/config/locales/camaleon_cms/admin/pt_br.yml +1 -0
  127. data/config/locales/camaleon_cms/admin/ru.yml +659 -0
  128. data/config/locales/camaleon_cms/common.yml +127 -0
  129. data/config/locales/camaleon_cms/languages.yml +16 -0
  130. data/config/locales/camaleon_cms/routes.yml +8 -0
  131. data/config/locales/nl.yml +209 -0
  132. data/config/routes.rb +1 -1
  133. data/config/routes/admin.rb +5 -4
  134. data/config/routes/frontend.rb +16 -3
  135. data/config/system.json +2 -3
  136. data/lib/camaleon_cms/engine.rb +5 -1
  137. data/lib/camaleon_cms/version.rb +1 -1
  138. data/lib/ext/array.rb +5 -0
  139. data/lib/generators/camaleon_cms/gem_plugin_generator.rb +1 -1
  140. data/lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb +1 -2
  141. data/lib/generators/camaleon_cms/gem_plugin_template/config/{custom_models.rb → initializers/custom_models.rb} +0 -0
  142. data/lib/plugin_routes.rb +38 -63
  143. data/lib/tasks/camaleon_cms/camaleon_tasks.rake +18 -0
  144. data/lib/tasks/camaleon_cms/rspec_test.rake +7 -4
  145. metadata +43 -54
  146. data/app/assets/javascripts/camaleon_cms/admin/bootstrap-datetimepicker.min.js +0 -26
  147. data/app/assets/javascripts/camaleon_cms/admin/plugins.js +0 -637
  148. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
  149. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
  150. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  151. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  152. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
  153. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
  154. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
  155. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
  156. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  157. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
  158. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
  159. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
  160. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  161. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
  162. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
  163. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
  164. data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/visualblocks/css/visualblocks.css +0 -135
  165. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/content.min.css.scss +0 -4
  166. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  167. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -62
  168. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  169. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  170. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  171. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.svg +0 -83
  172. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  173. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  174. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/anchor.gif +0 -0
  175. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/loader.gif +0 -0
  176. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/object.gif +0 -0
  177. data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/trans.gif +0 -0
  178. data/app/assets/javascripts/camaleon_cms/admin/tinymce/themes/modern/theme.min.js +0 -1
  179. data/app/assets/javascripts/camaleon_cms/admin/tinymce/tinymce.min.js +0 -11
  180. data/app/assets/stylesheets/camaleon_cms/admin/bootstrap-datetimepicker.css.scss +0 -339
@@ -44,17 +44,17 @@
44
44
  </tr>
45
45
  </thead>
46
46
  <tbody>
47
- <% @posts.eager_load(:categories, :post_tags).each do |f| f = f.decorate; parent = f.parent %>
47
+ <% (@post_type.manage_hierarchy? ? cama_hierarchy_post_list(@posts.eager_load(:categories, :post_tags).decorate.to_a) : @posts.eager_load(:categories, :post_tags).decorate).each do |f| title = f.the_hierarchy_title %>
48
48
  <tr data-id="<%= f.id %>" class="<%= "sortable" if can? :update, f %>">
49
49
  <td><%= f.id %></td>
50
50
  <td>
51
51
  <% if !f.trash? && (can? :update, f) %>
52
- <%= link_to f.the_title, {action: :edit, id: f.id}, class: "cama_ajax_request" %>
52
+ <%= link_to title, {action: :edit, id: f.id}, class: "cama_ajax_request" %>
53
53
  <% else %>
54
- <%= f.the_title %>
54
+ <%= title %>
55
55
  <% end %>
56
56
  </td>
57
- <%= content_tag :td, parent.present? ? link_to(parent.decorate.the_title, {action: :edit, id: parent.id}, class: "cama_ajax_request") : "" if @lists_tab == "draft" %>
57
+ <%= content_tag :td, link_to(f.parent.decorate.the_title, {action: :edit, id: f.post_parent}, class: "cama_ajax_request") if @lists_tab == "draft" && f.post_parent.present? %>
58
58
  <td><%= link_to raw(f.the_status), {action: :index, s: f.status}, class: "cama_ajax_request" %> </td>
59
59
  <td><%= f.author.fullname %></td>
60
60
  <% if @post_type.manage_categories? %>
@@ -39,15 +39,17 @@
39
39
  <th><%= t('camaleon_cms.admin.table.id') %></th>
40
40
  <th><%= t('camaleon_cms.admin.table.name') %></th>
41
41
  <th><%= t('camaleon_cms.admin.table.post_type') %></th>
42
+ <%= content_tag :th, t('camaleon_cms.admin.table.status') if params[:kind] == "content" %>
42
43
  <th><%= t('camaleon_cms.admin.table.actions') %></th>
43
44
  </tr>
44
45
  </thead>
45
46
  <tbody>
46
- <% @items.decorate.each do |f| %>
47
+ <% (params[:kind] == "content" ? cama_hierarchy_post_list(@items.decorate.to_a) : @items.decorate).each do |f| title = (params[:kind] == "content" ? f.the_hierarchy_title : f.the_title) %>
47
48
  <tr>
48
49
  <td><%= f.id %></td>
49
- <td><%= f.the_title %></td>
50
- <td><%= f.post_type.decorate.the_title rescue "" %></td>
50
+ <td><%= title %></td>
51
+ <td><%= f.post_type.decorate.the_title rescue "-not found PostType-" %></td>
52
+ <%= content_tag :td, raw(f.the_status) if params[:kind] == "content" %>
51
53
  <td>
52
54
  <a href="<%= f.the_url %>" class="btn btn-info btn-xs" target="_blank" title="<%= t('camaleon_cms.admin.button.preview') %>"><i class="fa fa-eye"></i></a>
53
55
  <a href="<%= f.the_edit_url %>" class="btn btn-info btn-xs" target="_blank" title="<%= t('camaleon_cms.admin.button.edit') %>"><i class="fa fa-pencil"></i></a>
@@ -5,23 +5,23 @@
5
5
  </div>
6
6
 
7
7
  <div class="form-group">
8
- <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_access_key') %><br>
8
+ <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_access_key') %> <small>(Sample: AKIAJAwdgTSHWLAD5VGA)</small><br>
9
9
  <%= text_field :options, :filesystem_s3_access_key, :class => "form-control required", value: @site.get_option("filesystem_s3_access_key") %>
10
10
  </div>
11
11
  <div class="form-group">
12
- <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_secret_key') %><br>
12
+ <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_secret_key') %> <small>(Sample: f5T2CntRcPQBPzACBHUyvM4zEpkiZdH/77N85seBM)</small><br>
13
13
  <%= text_field :options, :filesystem_s3_secret_key, :class => "form-control required", value: @site.get_option("filesystem_s3_secret_key") %>
14
14
  </div>
15
15
  <div class="form-group">
16
- <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_bucket_name') %><br>
16
+ <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_bucket_name') %> <small>(Sample: my_bucket)</small><br>
17
17
  <%= text_field :options, :filesystem_s3_bucket_name, :class => "form-control required", value: @site.get_option("filesystem_s3_bucket_name") %>
18
18
  </div>
19
19
  <div class="form-group">
20
- <%= label_tag t('camaleon_cms.admin.settings.filesystem_region') %><br>
20
+ <%= label_tag t('camaleon_cms.admin.settings.filesystem_region', default: 'filesystem_region') %> <small>(Sample: us-west-2)</small><br>
21
21
  <%= text_field :options, :filesystem_region, :class => "form-control required", value: @site.get_option("filesystem_region") %>
22
22
  </div>
23
23
  <div class="form-group">
24
- <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_endpoint') %><br>
24
+ <%= label_tag t('camaleon_cms.admin.settings.filesystem_s3_endpoint', default: 'filesystem_s3_endpoint') %> <small>(Sample: s3-us-west-2.amazonaws.com)</small><br>
25
25
  <%= text_field :options, :filesystem_s3_endpoint, :class => "form-control required", value: @site.get_option("filesystem_s3_endpoint") %>
26
26
  </div>
27
27
  </div>
@@ -3,7 +3,7 @@
3
3
  @item_options_value = @item_options_value || {}
4
4
  @item_id = @item_value[:id] || ''
5
5
  @index = "#{@item_id}_#{Time.now.to_i}_#{rand(999...99999)}"
6
- @field_config = cf_get_items[@key.to_sym]
6
+ @field_config = cama_custom_field_elements[@key.to_sym]
7
7
  colors = ['primary','success','warning','colorful','info','danger']
8
8
  %>
9
9
 
@@ -64,6 +64,7 @@
64
64
  else
65
65
  html += "#{text_field(:field_options, input[:key], index: @index , value: @item_options_value[input[:key].to_sym] || '', class: 'form-control') }"
66
66
  end
67
+ html += "<small>#{input[:description]}</small>" if input[:description].present?
67
68
  end
68
69
  end
69
70
  %>
@@ -42,7 +42,7 @@
42
42
  <i class="fa fa-arrows"></i> <i class="fa fa-times text-danger"></i>
43
43
  </div>
44
44
  <% end %>
45
- <%= render "camaleon_cms/admin/settings/custom_fields/fields/#{@field.options[:field_key]}" %>
45
+ <%= render cama_custom_field_elements[@field.options[:field_key].to_sym][:render] || "camaleon_cms/admin/settings/custom_fields/fields/#{@field.options[:field_key]}" %>
46
46
  </div>
47
47
  </div>
48
48
 
@@ -1,7 +1,6 @@
1
- <% @field.options[:type_date].to_s.to_bool ? add_asset_library('datetimepicker') : add_asset_library('datepicker') %>
2
- <div class="group-input-fields-content" data-callback-function="custom_field_date">
3
- <div class="input-append date date-input-box <%= "is_datetimepicker" if @field.options[:type_date].to_s.to_bool %>">
4
- <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="input-value <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
1
+ <div class="group-input-fields-content" data-callback-function="custom_field_date" style="max-width: 300px;">
2
+ <div class="input-group date date-input-box <%= "is_datetimepicker" if @field.options[:type_date].to_s.to_bool %>">
3
+ <input type="text" data-locale='<%= current_locale %>' name="<%= @field_name %>[<%= @field.slug %>][values][]" class="input-value form-control <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
5
4
  <span class="add-on input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
6
5
  </div>
7
6
  </div>
@@ -1,4 +1,4 @@
1
1
  <div class="group-input-fields-content input-group">
2
- <input type="url" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="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? %>/>
2
+ <input data-dimension="<%= @field.options[:dimension] %>" type="url" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="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
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>
4
4
  </div>
@@ -6,7 +6,7 @@
6
6
  <!-- PAGE CONTENT WRAPPER -->
7
7
  <div class="page-content-wrap" id="cama_custom_field_form" data-group_class_name="<%= @field_group.object_class %>,<%= @field_group.objectid %>">
8
8
  <div class="row">
9
- <%= form_for @field_group, as: "custom_field_group", url:{action: @field_group.new_record? ? :create : :update}, html: {class: 'validate-custom-field cama_ajax_request'} do |f| %>
9
+ <%= form_for @field_group, as: "custom_field_group", url:{action: @field_group.new_record? ? :create : :update}, html: {class: 'validate-custom-field validate cama_ajax_request'} do |f| %>
10
10
  <div class="col-md-4">
11
11
  <div class="panel panel-default">
12
12
  <div class="panel-heading">
@@ -125,7 +125,7 @@
125
125
  </div>
126
126
  <div class="panel-body">
127
127
  <div id="content-items-default" class="form-group input-group-sm">
128
- <% cf_get_items.each do |i,item| %>
128
+ <% cama_custom_field_elements.each do |i,item| %>
129
129
  <% next if item[:key] == "select_eval" %>
130
130
  <a id="item-<%= item[:key] %>" class="btn btn-default" href="<%= get_items_cama_admin_settings_custom_fields_path(item[:key]) %>" style="margin-bottom: 4px"><%= item[:label] %></a>
131
131
  <% end %>
@@ -102,6 +102,11 @@
102
102
  <label class="check0"><input name="meta[has_keywords]" type="checkbox" class="icheckbox0" value="true" <%= 'checked' if @post_type.get_option('has_keywords', true) %>/>&nbsp; <%= t('camaleon_cms.admin.table.manage_keywords') %></label>
103
103
  <%= raw cama_html_tooltip("#{t('camaleon_cms.admin.post_type.tooltip.permission_add_keywords')}", 'right') %>
104
104
  </div>
105
+ <div class="form-group">
106
+ <input name="meta[has_parent_structure]" type="hidden" value="false"/>
107
+ <label class="check0"><input name="meta[has_parent_structure]" type="checkbox" class="icheckbox0" value="true" <%= 'checked' if @post_type.manage_hierarchy? %>/>&nbsp; <%= t('camaleon_cms.admin.table.manage_parent_structure', default: 'Manage page hierarchy') %></label>
108
+ <%= raw cama_html_tooltip("#{t('camaleon_cms.admin.post_type.tooltip.permission_to_support_parent_structure', default: "Permit to posts indicate the parent page")}", 'right') %>
109
+ </div>
105
110
  </div>
106
111
  <div role="tabpanel" class="tab-pane" id="post_type_setting_front">
107
112
  <div class="form-group">
@@ -134,8 +139,13 @@
134
139
  <script>
135
140
  jQuery(function($){
136
141
  var form = $("#post_type_form");
137
- // form.find("input[type='checkbox'][name='meta[has_layout]'], input[type='checkbox'][name='meta[has_template]']").change(function(){ var n = $(this).closest(".form-group").next(); if($(this).is(":checked")) n.fadeIn(); else n.fadeOut(); }).trigger("change");
138
142
  form.find('.unput_upload').input_upload();
143
+ form.find("[name='meta[has_parent_structure]']").change(function(){ // permit hierarchy route only for post types enabled "Manage page hierarchy"
144
+ var item = form.find("#meta_contents_route_format_hierarchy_post");
145
+ item.parent().siblings().find("input").prop("disabled", $(this).is(":checked"));
146
+ if($(this).is(":checked")) item.prop("checked", true).prop("disabled", false);
147
+ else item.prop("disabled", true)
148
+ }).trigger("change");
139
149
  });
140
150
  </script>
141
151
 
@@ -33,6 +33,7 @@
33
33
  <td><%= item.the_slug %></td>
34
34
  <td><%= item.count %></td>
35
35
  <td>
36
+ <%= link_to raw('<i class="fa fa-eye"></i>'), item.the_url, class: "btn btn-primary btn-xs", title: "#{t('camaleon_cms.common.visit')}", target: '_blank' %>
36
37
  <%= link_to raw('<i class="fa fa-pencil"></i>'), {action: :edit, id: item.id }, class: "btn btn-default btn-xs cama_ajax_request", title: "#{t('camaleon_cms.admin.button.edit')}" %>
37
38
  <%= link_to raw('<i class="fa fa-times"></i>'), { action: :destroy, id: item.id },method: :delete, data: { confirm: t('camaleon_cms.admin.message.delete_item') }, class: "btn btn-danger btn-xs cama_ajax_request", title: "#{t('camaleon_cms.admin.button.delete')}" unless item.get_option('not_deleted', false) %>
38
39
  </td>
@@ -21,64 +21,53 @@
21
21
  <h3><span class="fa fa-user"></span> <%= @user.fullname if !@user.new_record? %></h3>
22
22
  <p><%= @user.new_record? ? "" : @user.get_meta("slogan") %></p>
23
23
  <div class="text-center" id="user_image">
24
-
25
24
  <img src="<%= @user.new_record? || !@user.get_meta("avatar") ? asset_path("camaleon_cms/admin/img/no_image.jpg") : @user.get_meta("avatar") %>" class="img-thumbnail input_upload"/>
26
25
  </div>
27
26
  </div>
28
27
  <div class="panel-body user-form-left form-group-separated">
29
28
 
30
- <div class="form-group">
31
- <div class="col-md-12 col-xs-12">
32
- <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>
33
- </div>
29
+ <div class="">
30
+ <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>
34
31
  </div>
35
32
 
36
- <div class="form-group">
37
- <label class="col-md-4 col-xs-6 control-label">#<%= t('camaleon_cms.admin.table.id')%></label>
38
- <div class="col-md-8 col-xs-6">
39
- <%= f.text_field :id, :class => "form-control required", disabled: "disabled" %>
40
- </div>
33
+ <div class="">
34
+ <label class="control-label">#<%= t('camaleon_cms.admin.table.id')%></label>
35
+ <%= f.text_field :id, :class => "form-control required", disabled: "disabled" %>
41
36
  </div>
42
37
 
43
- <div class="form-group">
44
- <label class="col-md-4 col-xs-6 control-label"><%= t('camaleon_cms.admin.table.login')%></label>
45
- <div class="col-md-8 col-xs-6">
46
- <%= f.text_field :username, :class => "form-control required" %>
47
- </div>
38
+ <div class="">
39
+ <label class="control-label"><%= t('camaleon_cms.admin.table.login')%></label>
40
+ <%= f.text_field :username, :class => "form-control required" %>
48
41
  </div>
49
42
 
50
- <div class="form-group">
51
- <label class="col-md-4 col-xs-6 control-label"><%= t('camaleon_cms.admin.table.e_mail')%></label>
52
- <div class="col-md-8 col-xs-6">
53
- <%= f.email_field :email, :class => "form-control required email"%>
54
- </div>
43
+ <div class="">
44
+ <label class="control-label"><%= t('camaleon_cms.admin.table.e_mail')%></label>
45
+ <%= f.email_field :email, :class => "form-control required email"%>
55
46
  </div>
56
47
  <% if @user.new_record? %>
57
- <div class="form-group">
58
- <label class="col-md-4 col-xs-6 control-label"><%= t('camaleon_cms.admin.table.password')%></label>
59
- <div class="col-md-8 col-xs-6">
60
- <%= f.password_field :password, :class => "form-control required" %>
61
- </div>
48
+ <div class="">
49
+ <label class="control-label"><%= t('camaleon_cms.admin.table.password')%></label>
50
+ <%= f.password_field :password, :class => "form-control required" %>
51
+ </div>
52
+ <div class="">
53
+ <label class="control-label"><%= t('camaleon_cms.admin.table.repeat_new')%></label>
54
+ <%= f.password_field :password_confirm, :class => "form-control required", "equalTo"=>"#user_password" %>
62
55
  </div>
63
56
  <% end %>
64
57
 
65
- <div class="form-group">
66
- <%= f.label "#{t('camaleon_cms.admin.table.role')}", class: "col-md-4 col-xs-6 control-label" %>
67
- <div class="col-md-8 col-xs-6">
58
+ <div class="">
59
+ <%= f.label "#{t('camaleon_cms.admin.table.role')}", class: "control-label" %>
60
+ <div class="">
68
61
  <%= f.select :role,current_site.user_roles.reorder(:name).all.map{|role| [role.name, role.slug]}, {}, {:class => "form-control required"}%>
69
62
  </div>
70
63
  </div>
71
-
72
- <div class="form-group">
73
- <div class="col-md-12 col-xs-12">
74
- <button type="submit" class="btn btn-success btn-block" ><%= @user.new_record? ? t('camaleon_cms.admin.button.create') : t('camaleon_cms.admin.button.update') %></button>
75
- </div>
64
+ <hr>
65
+ <div class="">
66
+ <button type="submit" class="btn btn-success btn-block" ><%= @user.new_record? ? t('camaleon_cms.admin.button.create') : t('camaleon_cms.admin.button.update') %></button>
76
67
  </div>
77
68
  <% if !@user.new_record? %>
78
- <div class="form-group">
79
- <div class="col-md-12 col-xs-12">
80
- <a href="#" class="btn btn-danger btn-block btn-rounded" data-toggle="modal" data-target="#modal_change_password"><%= t('camaleon_cms.admin.button.change_password') %></a>
81
- </div>
69
+ <div class="">
70
+ <a href="#" class="btn btn-danger btn-block btn-rounded" data-toggle="modal" data-target="#modal_change_password"><%= t('camaleon_cms.admin.button.change_password') %></a>
82
71
  </div>
83
72
  <% end %>
84
73
 
@@ -196,28 +185,14 @@
196
185
  <h4 class="modal-title" id="smallModalHead"><%= t('camaleon_cms.admin.button.change_password') %></h4>
197
186
  </div>
198
187
  <%= form_for @user, as: "user", url: @user.new_record? ? cama_admin_users_path : cama_admin_user_updated_ajax_path(@user), html:{id: "profie-form-ajax-password", class: 'validate-password form-ajax-password modal-body'} do |f| %>
199
- <p><%= t('camaleon_cms.admin.message.change_password') %></p>
200
188
  <div class="form-group">
201
- <label class="col-md-3 control-label"><%= t('camaleon_cms.admin.table.old_password') %></label>
202
- <div class="col-md-9">
203
- <input type="password" class="form-control required" name="password[password_old]"/>
204
- </div>
189
+ <label class="control-label"><%= t('camaleon_cms.admin.table.new_password') %></label>
190
+ <input id="pass_new" type="password" class="form-control required" name="password[password]"/>
205
191
  </div>
206
- <div class="clearfix"></div><br>
207
192
  <div class="form-group">
208
- <label class="col-md-3 control-label"><%= t('camaleon_cms.admin.table.new_password') %></label>
209
- <div class="col-md-9">
210
- <input id="pass_new" type="password" class="form-control required" name="password[password]"/>
211
- </div>
212
- </div>
213
- <div class="clearfix"></div><br>
214
- <div class="form-group">
215
- <label class="col-md-3 control-label"><%= t('camaleon_cms.admin.table.repeat_new') %></label>
216
- <div class="col-md-9">
217
- <input type="password" class="form-control required" name="password[password_confirmation]" equalTo="#pass_new"/>
218
- </div>
193
+ <label class="control-label"><%= t('camaleon_cms.admin.table.repeat_new') %></label>
194
+ <input type="password" class="form-control required" name="password[password_confirmation]" equalTo="#pass_new"/>
219
195
  </div>
220
- <div class="clearfix"></div>
221
196
  <div class="modal-footer">
222
197
  <button type="submit" class="btn btn-primary"><%= t('camaleon_cms.admin.button.proccess') %></button>
223
198
  <button type="button" class="btn btn-default" data-dismiss="modal"><%= t('camaleon_cms.admin.button.close') %></button>
@@ -1,4 +1,4 @@
1
- <h5><%= raw @subject %></h5>
1
+ <h2><%= raw @subject %></h2>
2
2
  <div>
3
3
  <%= raw @html %>
4
4
  </div>
@@ -0,0 +1,3 @@
1
+ <p><%= t('camaleon_cms.admin.login.message.hello') %>, <b><%= @extra_data[:fullname] %></b></p>
2
+ <p><%= t('camaleon_cms.admin.login.message.reset_url') %>:</p>
3
+ <p><a href='<%= @extra_data[:url] %>'><b><%= @extra_data[:url] %></b></a></p>
@@ -17,7 +17,10 @@
17
17
  var I18n_data = <%= I18n.backend.send(:translations)[current_locale.to_sym][:camaleon_cms][:admin][:js].to_json.html_safe rescue "{}" %>
18
18
  </script>
19
19
  <%= javascript_include_tag "camaleon_cms/admin/admin-manifest" %>
20
- <%= javascript_include_tag "camaleon_cms/admin/jquery_validate/#{current_locale}.js" if current_locale != "en" %> <!-- validator translations -->
20
+
21
+ <%= javascript_include_tag "camaleon_cms/admin/jquery_validate/#{current_locale}.js" if current_locale != 'en' %>
22
+ <%= javascript_include_tag "camaleon_cms/admin/momentjs/#{current_locale}.js" if current_locale != 'en' %>
23
+
21
24
  <%= raw the_head({}, false) %>
22
25
  <%= yield :head if content_for? :head %>
23
26
  <!--[if lt IE 9]>
@@ -1,5 +1,7 @@
1
1
  <section class="content" id="admin_content" data-title="<%= raw cama_admin_title_draw %>" data-url="<%= request.original_url if params[:cama_ajax_request] == "redirect" %>">
2
- <ol class="breadcrumb"><%= render_breadcrumbs :tag => :li, :separator => "" %></ol>
2
+ <% unless params[:cama_skip_breadcrumb] %>
3
+ <ol class="breadcrumb"><%= render_breadcrumbs :tag => :li, :separator => "" %></ol>
4
+ <% end %>
3
5
  <%= render "/layouts/camaleon_cms/admin/flash_messages" %>
4
6
  <%= cama_draw_custom_assets %>
5
7
  <%= yield %>
@@ -1,4 +1,4 @@
1
- <footer class="main-footer">
1
+ <footer class="main-footer" id="main-footer">
2
2
  <div class="row">
3
3
  <div class="col-md-6"><strong>Copyright &copy; 2015-2016 <a href="http://camaleon.tuzitio.com">Camaleon CMS.</a> </strong></div>
4
4
  <div class="col-md-6 hidden-xs">
@@ -1,6 +1,6 @@
1
1
  <header class="main-header" id="main-header">
2
2
  <!-- Logo -->
3
- <a href="<%= current_site.the_admin_url%>" class="logo" target="_blank">
3
+ <a href="<%= current_site.the_admin_url%>" class="logo">
4
4
  <img src="<%= current_site.the_logo %>" alt="<%= current_site.the_title %>">
5
5
  </a>
6
6
  <!-- Header Navbar: style can be found in header.less -->
@@ -11,6 +11,8 @@
11
11
  # Version of your assets, change this if you want to expire all your assets.
12
12
  Rails.application.config.assets.version = '1.0'
13
13
 
14
+ Rails.application.config.tinymce.install = :compile
15
+
14
16
  # Add additional assets to the asset load path
15
17
  # Rails.application.config.assets.paths << Emoji.images_path
16
18
 
@@ -19,8 +21,8 @@ Rails.application.config.assets.precompile << Proc.new { |path|
19
21
  name = File.basename(path)
20
22
  content_type = MIME::Types.type_for(name).first.content_type rescue ""
21
23
  res = false
22
- if (path =~ /\.(css|js|svg|ttf|woff|eot|swf|pdf)\z/ || content_type.scan(/(javascript|image\/|audio|video|font)/).any?) && !name.start_with?("_")
24
+ if (path =~ /\.(css|js|svg|ttf|woff|eot|swf|pdf)\z/ || content_type.scan(/(javascript|image\/|audio|video|font)/).any?) && !name.start_with?("_") && !path.include?('/views/')
23
25
  res = true
24
26
  end
25
27
  res
26
- }
28
+ }
@@ -0,0 +1,11 @@
1
+ module Cama
2
+ end
3
+ Cama::Site = CamaleonCms::Site
4
+ Cama::Post = CamaleonCms::Post
5
+ Cama::Category = CamaleonCms::Category
6
+ Cama::PostTag = CamaleonCms::PostTag
7
+ Cama::PostType = CamaleonCms::PostType
8
+ Cama::TermTaxonomy = CamaleonCms::TermTaxonomy
9
+ Cama::TermRelationship = CamaleonCms::TermRelationship
10
+ Cama::User = CamaleonCms::User
11
+
@@ -59,6 +59,7 @@ en:
59
59
  upload_image: 'Upload Image'
60
60
  upload_icon: 'Upload Icon'
61
61
  upload_video: 'Upload Video'
62
+ drag_drop: 'Drag & drop files'
62
63
  view_draft: 'View Draft'
63
64
  view_page: 'View Page'
64
65
  yes: 'Yes'
@@ -170,6 +171,7 @@ en:
170
171
  media_manager: 'Media Manager'
171
172
  home: "Home"
172
173
  info: "Information"
174
+ external: "Upload From URL"
173
175
  menus:
174
176
  link_url: 'Link URL'
175
177
  message:
@@ -51,6 +51,7 @@ es:
51
51
  update_menu: 'Actualización de Menú'
52
52
  upload_audio: 'Subir Audio'
53
53
  upload_file: 'Subir Archivo'
54
+ drag_drop: 'Arrastra & suelta archivos'
54
55
  upload_image: 'Subir Imagen'
55
56
  upload_icon: 'Subir Icono'
56
57
  upload_video: 'Subir Video'
@@ -523,7 +524,7 @@ es:
523
524
  list_user_roles: 'Roles de Usuario'
524
525
  message:
525
526
  error: 'Usuario no encontrado.'
526
- error_captcha: 'Oh! Es error con el CAPTCHA!'
527
+ error_captcha: 'Código de seguridad incorrecto'
527
528
  created: 'El usuario ha sido creado.'
528
529
  updated: 'El usuario ha sido actualizado.'
529
530
  deleted: 'El usuario ha sido eliminado.'
@@ -48,6 +48,7 @@ it:
48
48
  update_menu: 'Aggiorna menù'
49
49
  upload_audio: 'Carica Audio'
50
50
  upload_file: 'Carica File'
51
+ drag_drop: 'Trascinare e rilasciare i file qui'
51
52
  upload_image: 'Carica Immagine'
52
53
  upload_icon: 'Carica Icona'
53
54
  upload_video: 'Carica Video'
@@ -124,4 +124,45 @@ it:
124
124
  close: 'Chiudi'
125
125
  settings: 'Impostazioni'
126
126
  save: "Salvare"
127
- submit: "Presentare"
127
+ submit: "Presentare"
128
+ nl:
129
+ camaleon_cms:
130
+ admin:
131
+ js:
132
+ msg:
133
+ approved: 'Goedgekeurd'
134
+ draft: 'Concept succesvol opgeslagen'
135
+ updated_success: 'Succesvol bijgewerkt'
136
+ edit_menu: 'Plaatst elk item in de gewenste volgorde. Klik op het icoontje van een potlood om het item te bewerken en klik op het icoon in de vorm van x om het item te verwijderen.'
137
+ delete_item: 'Wil je dit item echt verwijderen?'
138
+ remove_items_submenu: 'Wilt je dit item en alle submenu-items echt verwijden?'
139
+ you_must_upload_image: 'Je moet een afbeelding te uploaden'
140
+ you_must_upload_video: 'Je moet een video te uploaden'
141
+ no_response_fields: 'Geen reactie velden '
142
+ you_must_upload_json_file: 'Je moet een JSON bestand uploaden'
143
+ no_templates_defined: 'Geen sjablonen ingesteld'
144
+ avatar_updated: 'Avatar bijgewerkt'
145
+ form_error: 'Formulier fout'
146
+ option_title: 'Optie titel'
147
+ permalink: 'Permalink'
148
+ recover: 'Herstelts...'
149
+ type_contents: 'Type Inhoud'
150
+ confirm_del: "Wil je dit item echt verwijderen?"
151
+ media_title: 'Media Uploader'
152
+
153
+ button:
154
+ edit: "Bewerk"
155
+ accept: "Accepteer"
156
+ cancel: "Annuleer"
157
+ delete: "Verwijder"
158
+ clone: "Kopiëren"
159
+ add_tag: 'Tag toevoegen'
160
+ close: 'Sluiten'
161
+ settings: 'Instellingen'
162
+ save: "Opslaan"
163
+ submit: "Verstuur"
164
+ name: "Naam"
165
+ size: "Grootte"
166
+ insert: "Invoegen"
167
+ url: "URL"
168
+ root: "root"