camaleon_cms 1.0.4 → 1.0.5

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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/admin/actions.js +14 -3
  3. data/app/assets/javascripts/admin/admin-manifest.js +1 -4
  4. data/app/assets/javascripts/admin/custom_fields.js +2 -2
  5. data/app/assets/javascripts/admin/data.js +68 -102
  6. data/app/assets/javascripts/admin/libraries.js +46 -87
  7. data/app/assets/javascripts/admin/modal.js +15 -3
  8. data/app/assets/javascripts/admin/post.js +2 -2
  9. data/app/assets/stylesheets/admin/admin-manifest.css +1 -2
  10. data/app/assets/stylesheets/admin/custom_admin.css.scss +3 -1
  11. data/app/controllers/admin/sessions_controller.rb +21 -14
  12. data/app/controllers/admin/users_controller.rb +7 -4
  13. data/app/controllers/api/api_controller.rb +28 -0
  14. data/app/controllers/api/v1/category_controller.rb +7 -0
  15. data/app/controllers/api/v1/page_controller.rb +8 -0
  16. data/app/controllers/api/v1/post_controller.rb +8 -0
  17. data/app/controllers/concerns/frontend_concern.rb +1 -17
  18. data/app/decorators/category_decorator.rb +1 -1
  19. data/app/helpers/camaleon_helper.rb +15 -0
  20. data/app/helpers/html_helper.rb +1 -0
  21. data/app/helpers/session_helper.rb +18 -3
  22. data/app/models/site.rb +17 -11
  23. data/app/views/admin/posts/_sidebar.html.erb +9 -7
  24. data/app/views/admin/posts/form.html.erb +4 -1
  25. data/app/views/admin/sessions/register.html.erb +8 -6
  26. data/app/views/admin/settings/custom_fields/_render.html.erb +3 -2
  27. data/app/views/admin/settings/custom_fields/fields/audio.html.erb +1 -1
  28. data/app/views/admin/settings/custom_fields/fields/checkbox.html.erb +1 -1
  29. data/app/views/admin/settings/custom_fields/fields/checkboxes.html.erb +1 -1
  30. data/app/views/admin/settings/custom_fields/fields/colorpicker.html.erb +1 -1
  31. data/app/views/admin/settings/custom_fields/fields/date.html.erb +1 -1
  32. data/app/views/admin/settings/custom_fields/fields/editor.html.erb +1 -1
  33. data/app/views/admin/settings/custom_fields/fields/email.html.erb +1 -1
  34. data/app/views/admin/settings/custom_fields/fields/field_attrs.html.erb +2 -2
  35. data/app/views/admin/settings/custom_fields/fields/file.html.erb +1 -1
  36. data/app/views/admin/settings/custom_fields/fields/image.html.erb +1 -1
  37. data/app/views/admin/settings/custom_fields/fields/numeric.html.erb +1 -1
  38. data/app/views/admin/settings/custom_fields/fields/phone.html.erb +1 -1
  39. data/app/views/admin/settings/custom_fields/fields/posts.html.erb +1 -1
  40. data/app/views/admin/settings/custom_fields/fields/radio.html.erb +1 -1
  41. data/app/views/admin/settings/custom_fields/fields/select.html.erb +1 -1
  42. data/app/views/admin/settings/custom_fields/fields/text_area.html.erb +1 -1
  43. data/app/views/admin/settings/custom_fields/fields/text_box.html.erb +1 -1
  44. data/app/views/admin/settings/custom_fields/fields/url.html.erb +1 -1
  45. data/app/views/admin/settings/custom_fields/fields/users.html.erb +1 -1
  46. data/app/views/admin/settings/custom_fields/fields/video.html.erb +1 -1
  47. data/app/views/admin/settings/custom_fields/index.html.erb +54 -8
  48. data/app/views/admin/settings/site.html.erb +170 -151
  49. data/app/views/admin/users/form.html.erb +19 -23
  50. data/app/views/default_theme/sitemap.html.erb +19 -0
  51. data/app/views/default_theme/sitemap.xml.builder +48 -0
  52. data/app/views/layouts/admin.html.erb +3 -13
  53. data/app/views/layouts/admin/_footer.html.erb +10 -3
  54. data/app/views/layouts/admin/_header.html.erb +1 -1
  55. data/config/initializers/doorkeeper.rb +128 -0
  56. data/config/initializers/rufus_cron.rb +3 -3
  57. data/config/initializers/sass.rb +0 -62
  58. data/config/locales/admin/en.yml +3 -2
  59. data/config/locales/admin/es.yml +2 -0
  60. data/config/locales/admin/js.yml +9 -38
  61. data/config/locales/doorkeeper.en.yml +123 -0
  62. data/config/routes.rb +12 -0
  63. data/config/routes/admin.rb +0 -3
  64. data/db/migrate/20150930115030_doorkeeper_configuration.rb +45 -0
  65. data/lib/camaleon_cms/engine.rb +2 -0
  66. data/lib/camaleon_cms/version.rb +1 -1
  67. data/lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb +1 -6
  68. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/models/my_plugin.rb +0 -5
  69. data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/js/main.js +1 -1
  70. data/lib/plugin_routes.rb +12 -8
  71. metadata +38 -46
  72. data/app/assets/javascripts/admin/grid-editor.js +0 -532
  73. data/app/assets/javascripts/audio/alert.mp3 +0 -0
  74. data/app/assets/javascripts/audio/fail.mp3 +0 -0
  75. data/app/assets/javascripts/jquery-1.11.3.min.js +0 -5
  76. data/app/assets/stylesheets/admin/grid-editor.css.scss +0 -15
  77. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/css/style.css +0 -84
  78. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/editor_plugin.js +0 -1
  79. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/editor_plugin_src.js +0 -90
  80. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/img/youtube.png +0 -0
  81. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/index.html +0 -86
  82. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/js/scripts.js +0 -1
  83. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/js/scripts_src.js +0 -81
  84. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/en.js +0 -3
  85. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/en_dlg.js +0 -12
  86. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/es.js +0 -3
  87. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/es_dlg.js +0 -12
  88. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/bootstrap.css +0 -2228
  89. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/content.css +0 -189
  90. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/dialog.css +0 -295
  91. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/butt2.png +0 -0
  92. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/button-bg.png +0 -0
  93. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/buttons.png +0 -0
  94. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/down_arrow.gif +0 -0
  95. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/fade-butt.png +0 -0
  96. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/icons.png +0 -0
  97. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/items.gif +0 -0
  98. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/menu-arrow.png +0 -0
  99. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/menu-check.png +0 -0
  100. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/progress.gif +0 -0
  101. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/tabs.gif +0 -0
  102. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/toolbarbg.png +0 -0
  103. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/ui.css +0 -1163
  104. data/app/controllers/admin/grid_editor_controller.rb +0 -55
  105. data/app/views/admin/grid_editor/form.html.erb +0 -31
  106. data/app/views/admin/grid_editor/index.html.erb +0 -29
  107. data/config/sitemap.rb +0 -56
  108. data/lib/generators/camaleon_cms/gem_theme_template/app/controllers/plugins/my_plugin/admin_controller.rb +0 -8
  109. data/lib/generators/camaleon_cms/gem_theme_template/app/controllers/plugins/my_plugin/front_controller.rb +0 -8
  110. data/lib/generators/camaleon_cms/gem_theme_template/app/helpers/plugins/my_plugin/main_helper.rb +0 -22
  111. data/lib/generators/camaleon_cms/gem_theme_template/app/models/plugins/my_plugin/my_plugin.rb +0 -12
  112. data/lib/generators/camaleon_cms/gem_theme_template/app/views/plugins/my_plugin/admin/index.html.erb +0 -2
  113. data/lib/generators/camaleon_cms/gem_theme_template/app/views/plugins/my_plugin/front/index.html.erb +0 -2
  114. data/lib/generators/camaleon_cms/gem_theme_template/app/views/plugins/my_plugin/layouts/readme.txt +0 -2
  115. data/lib/generators/camaleon_cms/gem_theme_template/config/camaleon_plugin.json +0 -21
@@ -39,12 +39,14 @@
39
39
  </div>
40
40
  </div>
41
41
 
42
- <h4><%= t('admin.login.captcha') %></h4>
43
- <div class="form-group">
44
- <div class="col-md-12">
45
- <%= raw captcha_tag(5, {}, {class: "form-control required", placeholder: t("admin.login.captcha")}) %>
46
- </div>
47
- </div>
42
+ <% if current_site.security_user_register_captcha_enabled? %>
43
+ <h4><%= t('admin.login.captcha') %></h4>
44
+ <div class="form-group">
45
+ <div class="col-md-12">
46
+ <%= raw captcha_tag(5, {}, {class: 'form-control required', placeholder: t('admin.login.captcha')}) %>
47
+ </div>
48
+ </div>
49
+ <% end %>
48
50
 
49
51
  <%= r = {html: "", f: f}; hooks_run("user_register_form", r); raw(r[:html]); %>
50
52
 
@@ -23,6 +23,7 @@
23
23
  @rand = "r#{Time.now.to_i}#{rand(99 ... 99999)}d"
24
24
  values = record.get_fields(@field.slug)
25
25
  values = params[@field_name][@field.slug.to_sym][:values] if values.blank? && params[@field_name].present?
26
+ is_disabled = @field.options[:disabled].present? || @field.options[:readonly].present?
26
27
  %>
27
28
  <div class="item-custom-field c-field-<%= @field.options[:field_key] %>">
28
29
  <label for="input-<%= @rand %>">
@@ -39,7 +40,7 @@
39
40
  <div id="content-field-<%= @rand %>" class="editor-custom-fields">
40
41
  <div class="clone-field hidden">
41
42
  <div class="input-group-parent">
42
- <% if @field.options[:multiple].to_s.to_bool %>
43
+ <% if @field.options[:multiple].to_s.to_bool && !is_disabled %>
43
44
  <div class="actions">
44
45
  <i class="fa fa-arrows"></i> <i class="fa fa-times text-danger"></i>
45
46
  </div>
@@ -51,7 +52,7 @@
51
52
  <ul id="sortable-<%= @rand %>" >
52
53
 
53
54
  </ul>
54
- <% if @field.options[:multiple].to_s.to_bool %>
55
+ <% if @field.options[:multiple].to_s.to_bool && !is_disabled %>
55
56
  <div class="field_multiple_btn">
56
57
  <a class="btn btn-warning btn-sm btn-add-field" href="#"> <i class="fa fa-plus"></i> <%= t('admin.button.add_new_field')%></a>
57
58
  </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 %>" />
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? %> />
3
3
  <span class="input-group-addon btn_upload" onclick="load_upload_audio_field(this);return false;"><i class="fa fa-upload"></i> <%= t('admin.button.upload_audio')%></span>
4
4
  </div>
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content" data-callback-set-value="custom_field_checkbox_val">
2
- <div class="checkbox"><label><input type="checkbox" value="<%= @field.options[:default_value] || 1 %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" <%= 'checked' if false %>> <%= @field.the_name %> </label></div>
2
+ <div class="checkbox"><label><input type="checkbox" value="<%= @field.options[:default_value] || 1 %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" <%= 'checked' if false %> <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>> <%= @field.the_name %> </label></div>
3
3
  </div>
@@ -1,5 +1,5 @@
1
1
  <div class="group-input-fields-content" data-callback-set-value="custom_field_checkboxs_val">
2
2
  <% @field.options[:multiple_options].each do |option| %>
3
- <div class="checkbox"><label><input type="checkbox" value="<%= option[:value] %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" <%= 'checked' if @default_use && option[:default].present? %>> <%= option[:title] %></label></div>
3
+ <div class="checkbox"><label><input type="checkbox" value="<%= option[:value] %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" <%= 'checked' if @default_use && option[:default].present? %> <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>> <%= option[:title] %></label></div>
4
4
  <% end %>
5
5
  </div>
@@ -1,7 +1,7 @@
1
1
  <% add_asset_library('colorpicker') %>
2
2
  <div class="group-input-fields-content" data-callback-function="custom_field_colorpicker" data-callback-set-value="custom_field_colorpicker_val">
3
3
  <div data-color-format="<%= @field.options[:color_format].present? ? @field.options[:color_format] : 'hex' %>" data-color="#fff" class="input-group color my-colorpicker">
4
- <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>" />
4
+ <input type="text" 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? %> />
5
5
  <span class="input-group-addon"><i></i></span>
6
6
  </div>
7
7
  </div>
@@ -1,7 +1,7 @@
1
1
  <% @field.options[:type_date].to_s.to_bool ? add_asset_library('datetimepicker') : add_asset_library('datepicker') %>
2
2
  <div class="group-input-fields-content" data-callback-function="custom_field_date">
3
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 %>"/>
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? %>/>
5
5
  <span class="add-on input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
6
6
  </div>
7
7
  </div>
@@ -1,4 +1,4 @@
1
1
  <% add_asset_library('tinymce') %>
2
2
  <div class="group-input-fields-content" data-callback-function="custom_field_editor">
3
- <textarea id="" name="<%= @field_name %>[<%= @field.slug %>][values][]" rows="8" class="form-control <%= 'is_translate' if @field.options[:translate].to_s.to_bool %> input-value <%= "required" if @field.options[:required].to_s.to_bool %>"></textarea>
3
+ <textarea id="" name="<%= @field_name %>[<%= @field.slug %>][values][]" rows="8" class="form-control <%= 'is_translate' if @field.options[:translate].to_s.to_bool %> input-value <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if true %> <%= "disabled" if @field.options[:disabled].present? %>></textarea>
4
4
  </div>
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content">
2
- <input type="email" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control email input-value <%= "required" if @field.options[:required].to_s.to_bool %>"/>
2
+ <input type="email" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control email 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
  </div>
@@ -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('admin.table.attribute') %>" class="form-control input-attr <%= "required" if @field.options[:required].to_s.to_bool %>"/>
3
+ <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][][attr]" placeholder="<%= t('admin.table.attribute') %>" class="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('admin.table.value') %>" class="form-control input-value"/>
6
+ <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][][value]" placeholder="<%= t('admin.table.value') %>" class="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 type="url" data-formats="<%= @field.options[:formats] || "" %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value file_format <%= "required" if @field.options[:required].to_s.to_bool %>" />
2
+ <input type="url" data-formats="<%= @field.options[:formats] || "" %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value file_format <%= "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_file_field(this);return false;"><i class="fa fa-upload"></i> <%= t('admin.button.upload_file') %></span>
4
4
  </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 %>" />
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? %>/>
3
3
  <span class="input-group-addon btn_upload" onclick="load_upload_image_field(this);return false;"><i class="fa fa-upload"></i> <%= t('admin.button.upload_image')%></span>
4
4
  </div>
@@ -1,4 +1,4 @@
1
1
  <div class="group-input-fields-content">
2
- <input type="number" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value number <%= "required" if @field.options[:required].to_s.to_bool %>"/>
2
+ <input type="number" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value number <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>/>
3
3
  </div>
4
4
 
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content">
2
- <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>"/>
2
+ <input type="text" 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
  </div>
@@ -1,5 +1,5 @@
1
1
  <div class="group-input-fields-content">
2
- <select name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>">
2
+ <select 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
  <option value=""></option>
4
4
  <% if @field.options[:post_types].present? %>
5
5
  <% (@field.options[:post_types].include?("all") ? current_site.post_types : current_site.post_types.where(id: @field.options[:post_types])).each do |pt| %>
@@ -1,5 +1,5 @@
1
1
  <div class="group-input-fields-content" data-callback-set-value="custom_field_radio_val">
2
2
  <% @field.options[:multiple_options].each do |option| %>
3
- <div class="radio"><label><input type="radio" value="<%= option[:value] %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" <%= 'checked' if @default_use && option[:default].present? && option[:default] != 'none' %>> <%= option[:title] %></label></div>
3
+ <div class="radio"><label><input type="radio" value="<%= option[:value] %>" name="<%= @field_name %>[<%= @field.slug %>][values][]" <%= 'checked' if @default_use && option[:default].present? && option[:default] != 'none' %> <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>> <%= option[:title] %></label></div>
4
4
  <% end %>
5
5
  </div>
@@ -1,5 +1,5 @@
1
1
  <div class="group-input-fields-content">
2
- <select name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>">
2
+ <select 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
  <% @field.options[:multiple_options].each do |option| %>
4
4
  <option value="<%= option[:value] %>" <%= 'selected' if @default_use && option[:default].present? %>><%= option[:title] %></option>
5
5
  <% end %>
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content" data-callback-function="custom_field_text_area">
2
- <textarea name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= 'is_translate' if @field.options[:translate].to_s.to_bool %> <%= "required" if @field.options[:required].to_s.to_bool %>" rows="6"></textarea>
2
+ <textarea name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= 'is_translate' if @field.options[:translate].to_s.to_bool %> <%= "required" if @field.options[:required].to_s.to_bool %>" rows="6" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %>></textarea>
3
3
  </div>
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content" data-callback-function="custom_field_text_box">
2
- <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= 'is_translate' if @field.options[:translate].to_s.to_bool %> <%= "required" if @field.options[:required].to_s.to_bool %>"/>
2
+ <input type="text" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= 'is_translate' if @field.options[:translate].to_s.to_bool %> <%= "required" if @field.options[:required].to_s.to_bool %>" <%= "readonly" if @field.options[:readonly].present? %> <%= "disabled" if @field.options[:disabled].present? %> />
3
3
  </div>
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content">
2
- <input type="url" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control url input-value <%= "required" if @field.options[:required].to_s.to_bool %>"/>
2
+ <input type="url" name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control url 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
  </div>
@@ -1,5 +1,5 @@
1
1
  <div class="group-input-fields-content">
2
- <select name="<%= @field_name %>[<%= @field.slug %>][values][]" class="form-control input-value <%= "required" if @field.options[:required].to_s.to_bool %>">
2
+ <select 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
  <option value=""></option>
4
4
  <% current_site.users.all.each do |user| %>
5
5
  <option value="<%= user.id %>"><%= user.fullname %></option>
@@ -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 %>" />
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? %>/>
3
3
  <span class="input-group-addon btn_upload" onclick="load_upload_video_field(this);return false;"><i class="fa fa-upload"></i> <%= t('admin.button.upload_video')%></span>
4
4
  </div>
@@ -50,12 +50,58 @@
50
50
 
51
51
  <script>
52
52
  jQuery(function($){
53
- $('#table_custom_groups').table_order({url: '<%= reorder_admin_settings_custom_fields_path %>', on_success: function(obj){
54
- if(obj.res.error){
55
- $.fn.alert({title: obj.res.error, type: 'error'})
56
- }else{
57
- $.fn.alert({title: 'Order Successfully'})
58
- }
59
- }})
60
- })
53
+ // Sortable
54
+ $.fn.table_order = function (options){
55
+ var default_options = {url: "", table: ".table", on_success: false, on_change: false};
56
+ options = $.extend(default_options, options || {});
57
+ var th_data = false;
58
+ var $table = this ? $(this) : $(options.table);
59
+ $table.addClass('table_order')
60
+ var th_new = '<th class="center" data-sortable="0"></th>';
61
+ $table.find('thead tr').prepend(th_new);
62
+ $table.find('tbody tr').each(function(i, el) {
63
+ var id = $(this).attr('data-id');
64
+ var td_new = '<td>'
65
+ +'<div class="moved" style="cursor: all-scroll">'
66
+ +'<i class="fa fa-arrows"></i>'
67
+ +'<input type="hidden" name="values[]" value="'+id+'" />'
68
+ +'</div>'
69
+ '</td>';
70
+ $(this).prepend(td_new);
71
+ });
72
+
73
+ $table.find('tbody').sortable({
74
+ axis: "y",
75
+ placeholder: "ui-state-highlight",
76
+ handle: ".moved",
77
+ //items: "tr:not(.sortable)",
78
+ items: "tr",
79
+ start: function(event, ui) {
80
+ ui.item.startPos = ui.item.index();
81
+ },
82
+ stop: function( event, ui ) {
83
+ $.post(options.url, $table.find("input" ).serialize(), function(res){
84
+ if(ui.item.startPos != ui.item.index()){
85
+ if(options.on_success) options.on_success({res: res, item: ui.item})
86
+ }
87
+ }).fail(function() {
88
+ if(options.on_success) options.on_success({res: {error: 'Error Server'}, item: ui.item})
89
+ });
90
+ },
91
+ change: function(event, ui) {
92
+ if(options.on_change) options.on_change()
93
+ }
94
+ });
95
+ $table.find('tbody').disableSelection();
96
+ };
97
+
98
+ $('#table_custom_groups').table_order({url: '<%= reorder_admin_settings_custom_fields_path %>', on_success: function(obj){
99
+ if(obj.res.error){
100
+ $.fn.alert({title: obj.res.error, type: 'error'})
101
+ }else{
102
+ $.fn.alert({title: 'Order Successfully'})
103
+ }
104
+ }});
105
+
106
+ });
61
107
  </script>
@@ -5,165 +5,184 @@
5
5
  <!-- PAGE CONTENT WRAPPER -->
6
6
  <div class="page-content-wrap">
7
7
  <div class="panel panel-default">
8
- <div class="panel-heading">
9
- <h4><span class="fa fa-cog"></span> <%= "#{t('admin.settings.configuration_site')}: #{@site.the_title} "%> </h4>
10
- </div>
11
- <%= form_for @site, url:{action: :site_saved}, html: { id: "site_settings_form", class: "panel-body" } do |f| %>
12
- <% posts = current_site.posts.public_posts.all %>
13
- <div class="tabs">
14
- <ul role="tablist" class="nav nav-tabs">
15
- <li class="<%= "active" if ["", nil].include?(params[:tab]) %>"><a data-toggle="tab" role="tab" href="#tab-information" aria-expanded="false"><%= t('admin.settings.information_basic') %></a></li>
16
- <li class="<%= "active" if "config" == params[:tab] %>"><a data-toggle="tab" role="tab" href="#tab-configuration" aria-expanded="false"><%= t('admin.post_type.configuration') %></a></li>
17
- <% if groups.present? %>
18
- <li class="<%= "active" if "other_config" == params[:tab] %>"><a data-toggle="tab" role="tab" href="#tab-other-configuration" aria-expanded="false"><%= t('admin.post_type.other_configuration') %></a></li>
19
- <% end %>
20
- <% if File.exist?(current_theme.settings_file) %>
21
- <li class="<%= "active" if "theme" == params[:tab] %>"><a data-toggle="tab" role="tab" href="#tab-theme-configuration" aria-expanded="false"><%= t('admin.settings.theme_setting') %></a></li>
22
- <% end %>
23
- <li class="<%= "active" if "seo" == params[:tab] %>"><a data-toggle="tab" role="tab" href="#tab-seo_settings" aria-expanded="false"><%= t('admin.settings.seo_setting') %></a></li>
24
- <li class="<%= "active" if "email" == params[:tab] %>"><a data-toggle="tab" role="tab" href="#tab-email_settings" aria-expanded="false"><%= t('admin.settings.email_settings') %></a></li>
25
- </ul>
26
- <div class="panel-body tab-content row">
8
+ <div class="panel-heading">
9
+ <h4><span class="fa fa-cog"></span> <%= "#{t('admin.settings.configuration_site')}: #{@site.the_title} " %> </h4>
10
+ </div>
11
+ <%= form_for @site, url: {action: :site_saved}, html: {id: "site_settings_form", class: "panel-body"} do |f| %>
12
+ <% posts = current_site.posts.public_posts.all %>
13
+ <div class="tabs">
14
+ <ul role="tablist" class="nav nav-tabs">
15
+ <li class="<%= "active" if ["", nil].include?(params[:tab]) %>">
16
+ <a data-toggle="tab" role="tab" href="#tab-information" aria-expanded="false"><%= t('admin.settings.information_basic') %></a>
17
+ </li>
18
+ <li class="<%= "active" if "config" == params[:tab] %>">
19
+ <a data-toggle="tab" role="tab" href="#tab-configuration" aria-expanded="false"><%= t('admin.post_type.configuration') %></a>
20
+ </li>
21
+ <% if groups.present? %>
22
+ <li class="<%= "active" if "other_config" == params[:tab] %>">
23
+ <a data-toggle="tab" role="tab" href="#tab-other-configuration" aria-expanded="false"><%= t('admin.post_type.other_configuration') %></a>
24
+ </li>
25
+ <% end %>
26
+ <% if File.exist?(current_theme.settings_file) %>
27
+ <li class="<%= "active" if "theme" == params[:tab] %>">
28
+ <a data-toggle="tab" role="tab" href="#tab-theme-configuration" aria-expanded="false"><%= t('admin.settings.theme_setting') %></a>
29
+ </li>
30
+ <% end %>
31
+ <li class="<%= "active" if "seo" == params[:tab] %>">
32
+ <a data-toggle="tab" role="tab" href="#tab-seo_settings" aria-expanded="false"><%= t('admin.settings.seo_setting') %></a>
33
+ </li>
34
+ <li class="<%= "active" if "email" == params[:tab] %>">
35
+ <a data-toggle="tab" role="tab" href="#tab-email_settings" aria-expanded="false"><%= t('admin.settings.email_settings') %></a>
36
+ </li>
37
+ </ul>
38
+ <div class="panel-body tab-content row">
27
39
 
28
- <%= render partial: 'layouts/admin/form_error', locals: {data: @site} %>
40
+ <%= render partial: 'layouts/admin/form_error', locals: {data: @site} %>
29
41
 
30
- <div id="tab-information" class="tab-pane <%= "active" if ["", nil].include?(params[:tab]) %> ">
31
- <div class="form-group">
32
- <%= f.label t('admin.table.slug') %><br>
33
- <small><%= t('admin.sites.message.enter_key_domain') %></small><br>
34
- <%= f.text_field :slug, :class => "form-control required" %>
35
- </div>
36
- <div class="form-group">
37
- <%= f.label t('admin.table.name') %><br>
38
- <%= f.text_field :name, :class => "form-control translatable" %>
39
- </div>
40
- <div class="form-group">
41
- <%= f.label t('admin.table.description') %><br>
42
- <%= f.text_area :description, :class => "form-control translatable" %>
43
- </div>
44
- <div class="form-group">
45
- <label for=""><%= t('admin.table.logo') %></label><br>
46
- <%= hidden_field :options, :logo, :class => "form-control unput_upload", :value => @site.the_logo %>
47
- </div>
48
- <div class="form-group">
49
- <label for=""><%= t('admin.table.favicon') %></label><br>
50
- <%= hidden_field :options, :icon, :class => "form-control unput_upload", :value => @site.the_icon, "data-label" => "#{t('admin.button.upload_icon')}", "data-ext" => "ico" %>
51
- </div>
52
- </div>
53
- <div id="tab-configuration" class="<%= "active" if "config" == params[:tab] %> tab-pane ">
54
- <div class="form-group">
55
- <label for=""><%= t('admin.table.home_page') %></label><br>
56
- <%= select_tag "options[home_page]", options_for_select([[t('admin.table.default'), ""]]+(posts.collect{|x| x = x.decorate; [x.the_title, x.id]}), @site.options[:home_page]), class: "form-control select" %>
57
- </div>
58
- <div class="form-group">
59
- <label for=""><%= t('admin.table.page_404') %></label><br>
60
- <%= select_tag "options[error_404]", options_for_select([[t('admin.table.default'), ""]]+(posts.collect{|x| x = x.decorate; [x.the_title, x.id]}), @site.options[:error_404]), class: "form-control select" %>
61
- </div>
62
- <div class="form-group">
63
- <label for=""><%= t('admin.table.email_address') %></label><br>
64
- <%= email_field :options, :email, :class => "form-control", :value => @site.options[:email] %>
65
- </div>
66
- <div class="form-group">
67
- <label for=""><%= t('admin.settings.list_per_page_front') %></label><br>
68
- <%= text_field :options, :front_per_page, :class => "form-control number", :value => @site.front_per_page %>
69
- </div>
70
- <div class="form-group">
71
- <label for=""><%= t('admin.settings.list_per_page_admin') %></label><br>
72
- <%= text_field :options, :admin_per_page, :class => "form-control number", :value => @site.admin_per_page %>
73
- </div>
74
- <div class="form-group">
75
- <label for=""><%= t('admin.settings.comment_status') %></label><br>
76
- <%= check_box :options, :comment_status, {checked: @site.front_comment_status == "approved"}, "approved", "pending" %>
77
- </div>
78
- <div class="form-group">
79
- <label for=""><%= t('admin.settings.allow_user_registration') %></label><br>
80
- <%= check_box :meta, :has_create_account, {checked: @site.get_option('has_create_account', false), class: "icheckbox0"}, "true", "" %>
81
- </div>
82
- </div>
83
- <% if groups.present? %>
84
- <div id="tab-other-configuration" class="<%= "active" if "other_config" == params[:tab] %> tab-pane ">
85
- <%= render partial: "admin/settings/custom_fields/render", locals: {record: @site, field_groups: groups} %>
86
- </div>
87
- <% end %>
88
- <% if File.exist?(current_theme.settings_file) %>
89
- <div id="tab-theme-configuration" class="<%= "active" if "theme" == params[:tab] %> tab-pane">
90
- <%= render file: current_theme.settings_file %>
91
- </div>
92
- <% end %>
93
- <div id="tab-seo_settings" class="<%= "active" if "seo" == params[:tab] %> tab-pane ">
94
- <div class="form-group">
95
- <%= f.label t('admin.table.description') %><br>
96
- <%= text_area :options, :seo_description, :class => "form-control translatable", :value => @site.get_option("seo_description") %>
97
- </div>
98
- <div class="form-group">
99
- <label for=""><%= t('admin.table.keywords') %></label><br>
100
- <%= text_area :options, :keywords, :class => "form-control translatable", :value => @site.get_option("keywords") %>
101
- </div>
102
- <div class="form-group">
103
- <label for=""><%= t('admin.settings.author') %></label><br>
104
- <%= text_field :options, :seo_author, :class => "form-control", :value => @site.get_option("seo_author") %>
105
- </div>
106
- <div class="form-group">
107
- <label for=""><%= t('admin.settings.twitter_card') %></label><br>
108
- <%= text_field :options, :twitter_card, :class => "form-control", :value => @site.get_option("twitter_card") %>
109
- </div>
110
- <div class="form-group">
111
- <label for=""><%= t('admin.table.screenshot') %></label><br>
112
- <%= hidden_field :options, :screenshot, :class => "form-control unput_upload", :value => @site.get_option("screenshot") %>
113
- </div>
114
- </div>
42
+ <div id="tab-information" class="tab-pane <%= "active" if ["", nil].include?(params[:tab]) %> ">
43
+ <div class="form-group">
44
+ <%= f.label t('admin.table.slug') %><br>
45
+ <small><%= t('admin.sites.message.enter_key_domain') %></small>
46
+ <br>
47
+ <%= f.text_field :slug, :class => "form-control required" %>
48
+ </div>
49
+ <div class="form-group">
50
+ <%= f.label t('admin.table.name') %><br>
51
+ <%= f.text_field :name, :class => "form-control translatable" %>
52
+ </div>
53
+ <div class="form-group">
54
+ <%= f.label t('admin.table.description') %><br>
55
+ <%= f.text_area :description, :class => "form-control translatable" %>
56
+ </div>
57
+ <div class="form-group">
58
+ <label for=""><%= t('admin.table.logo') %></label><br>
59
+ <%= hidden_field :options, :logo, :class => "form-control unput_upload", :value => @site.the_logo %>
60
+ </div>
61
+ <div class="form-group">
62
+ <label for=""><%= t('admin.table.favicon') %></label><br>
63
+ <%= hidden_field :options, :icon, :class => "form-control unput_upload", :value => @site.the_icon, "data-label" => "#{t('admin.button.upload_icon')}", "data-ext" => "ico" %>
64
+ </div>
65
+ </div>
66
+ <div id="tab-configuration" class="<%= "active" if "config" == params[:tab] %> tab-pane ">
67
+ <div class="form-group">
68
+ <label for=""><%= t('admin.table.home_page') %></label><br>
69
+ <%= select_tag "options[home_page]", options_for_select([[t('admin.table.default'), ""]]+(posts.collect { |x| x = x.decorate; [x.the_title, x.id] }), @site.options[:home_page]), class: "form-control select" %>
70
+ </div>
71
+ <div class="form-group">
72
+ <label for=""><%= t('admin.table.page_404') %></label><br>
73
+ <%= select_tag "options[error_404]", options_for_select([[t('admin.table.default'), ""]]+(posts.collect { |x| x = x.decorate; [x.the_title, x.id] }), @site.options[:error_404]), class: "form-control select" %>
74
+ </div>
75
+ <div class="form-group">
76
+ <label for=""><%= t('admin.table.email_address') %></label><br>
77
+ <%= email_field :options, :email, :class => "form-control", :value => @site.options[:email] %>
78
+ </div>
79
+ <div class="form-group">
80
+ <label for=""><%= t('admin.settings.list_per_page_front') %></label><br>
81
+ <%= text_field :options, :front_per_page, :class => "form-control number", :value => @site.front_per_page %>
82
+ </div>
83
+ <div class="form-group">
84
+ <label for=""><%= t('admin.settings.list_per_page_admin') %></label><br>
85
+ <%= text_field :options, :admin_per_page, :class => "form-control number", :value => @site.admin_per_page %>
86
+ </div>
87
+ <div class="form-group">
88
+ <label for=""><%= t('admin.settings.comment_status') %></label><br>
89
+ <%= check_box :options, :comment_status, {checked: @site.front_comment_status == "approved"}, "approved", "pending" %>
90
+ </div>
91
+ <div class="form-group">
92
+ <label for=""><%= t('admin.settings.allow_user_registration') %></label><br>
93
+ <%= check_box :meta, :has_create_account, {checked: @site.get_option('has_create_account', false), class: "icheckbox0"}, "true", "" %>
94
+ </div>
95
+ <div class="form-group">
96
+ <label for=""><%= t('admin.settings.security.captcha_user_register') %></label><br>
97
+ <%= check_box :options, :security_captcha_user_register, {checked: @site.security_user_register_captcha_enabled?, class: "icheckbox0"}, "true", "" %>
98
+ </div>
99
+ </div>
100
+ <% if groups.present? %>
101
+ <div id="tab-other-configuration" class="<%= "active" if "other_config" == params[:tab] %> tab-pane ">
102
+ <%= render partial: "admin/settings/custom_fields/render", locals: {record: @site, field_groups: groups} %>
103
+ </div>
104
+ <% end %>
105
+ <% if File.exist?(current_theme.settings_file) %>
106
+ <div id="tab-theme-configuration" class="<%= "active" if "theme" == params[:tab] %> tab-pane">
107
+ <%= render file: current_theme.settings_file %>
108
+ </div>
109
+ <% end %>
110
+ <div id="tab-seo_settings" class="<%= "active" if "seo" == params[:tab] %> tab-pane ">
111
+ <div class="form-group">
112
+ <%= f.label t('admin.table.description') %><br>
113
+ <%= text_area :options, :seo_description, :class => "form-control translatable", :value => @site.get_option("seo_description") %>
114
+ </div>
115
+ <div class="form-group">
116
+ <label for=""><%= t('admin.table.keywords') %></label><br>
117
+ <%= text_area :options, :keywords, :class => "form-control translatable", :value => @site.get_option("keywords") %>
118
+ </div>
119
+ <div class="form-group">
120
+ <label for=""><%= t('admin.settings.author') %></label><br>
121
+ <%= text_field :options, :seo_author, :class => "form-control", :value => @site.get_option("seo_author") %>
122
+ </div>
123
+ <div class="form-group">
124
+ <label for=""><%= t('admin.settings.twitter_card') %></label><br>
125
+ <%= text_field :options, :twitter_card, :class => "form-control", :value => @site.get_option("twitter_card") %>
126
+ </div>
127
+ <div class="form-group">
128
+ <label for=""><%= t('admin.table.screenshot') %></label><br>
129
+ <%= hidden_field :options, :screenshot, :class => "form-control unput_upload", :value => @site.get_option("screenshot") %>
130
+ </div>
131
+ </div>
115
132
 
116
- <div id="tab-email_settings" class="<%= "active" if "email" == params[:tab] %> tab-pane ">
117
- <div class="alert alert-info">Gmail Need Permissions: <a href="http://know.mailsbestfriend.com/smtp_error_password_command_failed_5345714-1194946499.shtml" target="_blank">Check here.</a> </div>
118
- <div class="form-group">
119
- <%= label_tag t('admin.settings.email_enabled') %><br>
120
- <%= check_box :options, :mailer_enabled, {checked: @site.get_option("mailer_enabled") == 1}, 1, 0 %>
121
- </div>
122
- <div class="form-group">
123
- <%= label_tag t('admin.settings.email_server') %> (*)<br>
124
- <%= text_field :options, :email_server, :class => "form-control required", value: @site.get_option("email_server") %>
125
- </div>
126
- <div class="form-group">
127
- <%= label_tag t('admin.settings.email_port') %> (*)<br>
128
- <%= text_field :options, :email_port, :class => "form-control required", value: @site.get_option("email_port") %>
129
- </div>
130
- <div class="form-group">
131
- <%= label_tag t('admin.settings.email_username') %> (*)<br>
132
- <%= text_field :options, :email_username, :class => "form-control required", value: @site.get_option("email_username") %>
133
- </div>
134
- <div class="form-group">
135
- <%= label_tag t('admin.settings.email_pass') %> (*)<br>
136
- <%= text_field :options, :email_pass, :class => "form-control required", value: @site.get_option("email_pass") %>
137
- </div>
138
- <div class="form-group">
139
- <%= label_tag t('admin.settings.email_from') %> (*)<br>
140
- <%= text_field :options, :email_from, :class => "form-control required", value: @site.get_option("email_from") %>
141
- </div>
142
- <div class="form-group">
143
- <%= label_tag t('admin.settings.email_cc') %><br>
144
- <%= text_field :options, :email_cc, :class => "form-control", value: @site.get_option("email_cc") %>
145
- </div>
146
- </div>
147
- </div>
148
- <div class="panel-footer">
149
- <button class="btn btn-primary pull-right" type="submit"><%= t('admin.button.submit')%></button>
133
+ <div id="tab-email_settings" class="<%= "active" if "email" == params[:tab] %> tab-pane ">
134
+ <div class="alert alert-info">Gmail Need Permissions:
135
+ <a href="http://know.mailsbestfriend.com/smtp_error_password_command_failed_5345714-1194946499.shtml" target="_blank">Check
136
+ here.</a></div>
137
+ <div class="form-group">
138
+ <%= label_tag t('admin.settings.email_enabled') %><br>
139
+ <%= check_box :options, :mailer_enabled, {checked: @site.get_option("mailer_enabled") == 1}, 1, 0 %>
140
+ </div>
141
+ <div class="form-group">
142
+ <%= label_tag t('admin.settings.email_server') %> (*)<br>
143
+ <%= text_field :options, :email_server, :class => "form-control required", value: @site.get_option("email_server") %>
150
144
  </div>
145
+ <div class="form-group">
146
+ <%= label_tag t('admin.settings.email_port') %> (*)<br>
147
+ <%= text_field :options, :email_port, :class => "form-control required", value: @site.get_option("email_port") %>
148
+ </div>
149
+ <div class="form-group">
150
+ <%= label_tag t('admin.settings.email_username') %> (*)<br>
151
+ <%= text_field :options, :email_username, :class => "form-control required", value: @site.get_option("email_username") %>
152
+ </div>
153
+ <div class="form-group">
154
+ <%= label_tag t('admin.settings.email_pass') %> (*)<br>
155
+ <%= text_field :options, :email_pass, :class => "form-control required", value: @site.get_option("email_pass") %>
156
+ </div>
157
+ <div class="form-group">
158
+ <%= label_tag t('admin.settings.email_from') %> (*)<br>
159
+ <%= text_field :options, :email_from, :class => "form-control required", value: @site.get_option("email_from") %>
160
+ </div>
161
+ <div class="form-group">
162
+ <%= label_tag t('admin.settings.email_cc') %><br>
163
+ <%= text_field :options, :email_cc, :class => "form-control", value: @site.get_option("email_cc") %>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ <div class="panel-footer">
168
+ <button class="btn btn-primary pull-right" type="submit"><%= t('admin.button.submit') %></button>
151
169
  </div>
152
- <% end %>
170
+ </div>
171
+ <% end %>
153
172
 
154
173
  </div>
155
174
 
156
175
  </div>
157
176
  <script>
158
- jQuery(function(){
159
- var panel = $("#site_settings_form");
160
- panel.validate();
161
- panel.find('.unput_upload').input_upload();
162
- panel.find("#options_mailer_enabled").change(function(){
163
- if(!$(this).is(":checked"))
164
- panel.find("#tab-email_settings").find("input, select, textarea").not(this).not("input[type='hidden']").attr("disabled", true)
165
- else
166
- panel.find("#tab-email_settings").find("input, select, textarea").not(this).removeAttr("disabled")
167
- }).trigger("change");
168
- });
177
+ jQuery(function () {
178
+ var panel = $("#site_settings_form");
179
+ panel.validate();
180
+ panel.find('.unput_upload').input_upload();
181
+ panel.find("#options_mailer_enabled").change(function () {
182
+ if (!$(this).is(":checked"))
183
+ panel.find("#tab-email_settings").find("input, select, textarea").not(this).not("input[type='hidden']").attr("disabled", true)
184
+ else
185
+ panel.find("#tab-email_settings").find("input, select, textarea").not(this).removeAttr("disabled")
186
+ }).trigger("change");
187
+ });
169
188
  </script>