camaleon_cms 2.4.5 → 2.4.5.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.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83ba2d38e01f825dbd28a578fba4e20f455e8b89
4
- data.tar.gz: 140daab06e34c6731cf9887258d56e9b2fb1bcf2
3
+ metadata.gz: 85e1b055e6161ffaa93a6974f060af2f30d36d08
4
+ data.tar.gz: 52cd5e9b93f954eb2211bd743221aa7f27c7e42a
5
5
  SHA512:
6
- metadata.gz: 02383fdb162819ed20ee42f314dc141c2fb887729a6cf5c85fddf0e1a686cc2bede53fc00516b8f5576b5acce88c4fb85d240845f3f6969eabf76c0ed1dd803d
7
- data.tar.gz: ed8958c0a60d386cdb2d6f03d0d798b7d707c012f2729eb8c7edb886be13fd0eabd0833b006a752e389b8145a7b87b8b322a03ec77db20e46d9c285e45b929fe
6
+ metadata.gz: 22acb2602e5d8ea3f194be6d5923b61ea1fbef308b41e174ff619ee6e3e415f2f1d01af29669d668a6b6538121fd59f7e26aa10cbd04c701a7493369bc9839eb
7
+ data.tar.gz: a54d8e653a938354ba5ce9976cfe0096909686ea0822d9ea40a87e803d59b2c6593b038e631f3544a6808b95461c2d98e0b4510edea1bbb0722fb9af3cc5fc45
@@ -7,49 +7,49 @@
7
7
  // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
8
  // compiled file.
9
9
  //
10
- // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
10
+ // Read Sprockets README (https://github.com/rails/sprockets) for details
11
11
  // about supported directives.
12
12
  //
13
13
  //= require jquery
14
- //= require ./_data
14
+ //= require camaleon_cms/admin/_data
15
15
  //= require camaleon_cms/bootstrap.min
16
- //= require ./_jquery-ui.min
17
- //= require ./_underscore
18
- //= require ./jquery.validate
16
+ //= require camaleon_cms/admin/_jquery-ui.min
17
+ //= require camaleon_cms/admin/_underscore
18
+ //= require camaleon_cms/admin/jquery.validate
19
19
 
20
20
  // date picker
21
- //= require ./momentjs/_moment
22
- //= require ./_bootstrap-datepicker
21
+ //= require camaleon_cms/admin/momentjs/_moment
22
+ //= require camaleon_cms/admin/_bootstrap-datepicker
23
23
 
24
24
  //= require jquery_ujs
25
- //= require ./_bootstrap-select
25
+ //= require camaleon_cms/admin/_bootstrap-select
26
26
 
27
- //= require ./_jquery.slugify
28
- //= require ./_translator
29
- //= require ./_i18n
30
- //= require ./_custom_fields
27
+ //= require camaleon_cms/admin/_jquery.slugify
28
+ //= require camaleon_cms/admin/_translator
29
+ //= require camaleon_cms/admin/_i18n
30
+ //= require camaleon_cms/admin/_custom_fields
31
31
 
32
- //= require ./_libraries
33
- //= require ./_actions
34
- //= require ./introjs/_intro.min
32
+ //= require camaleon_cms/admin/_libraries
33
+ //= require camaleon_cms/admin/_actions
34
+ //= require camaleon_cms/admin/introjs/_intro.min
35
35
 
36
36
  // uploader
37
- //= require ./uploader/uploader_manifest
37
+ //= require camaleon_cms/admin/uploader/uploader_manifest
38
38
 
39
- //= require ./tageditor/_jquery.caret.min
40
- //= require ./tageditor/_jquery.tag-editor
39
+ //= require camaleon_cms/admin/tageditor/_jquery.caret.min
40
+ //= require camaleon_cms/admin/tageditor/_jquery.tag-editor
41
41
 
42
- //= require ./lte/app
42
+ //= require camaleon_cms/admin/lte/app
43
43
 
44
44
  // tinymce
45
45
  //= require tinymce-jquery
46
- //= require ./tinymce/plugins/filemanager/plugin.min
46
+ //= require camaleon_cms/admin/tinymce/plugins/filemanager/plugin.min
47
47
 
48
48
  // post
49
- //= require ./_jquery.tagsinput.min
50
- //= require ./_post
49
+ //= require camaleon_cms/admin/_jquery.tagsinput.min
50
+ //= require camaleon_cms/admin/_post
51
51
 
52
- //= require ./_posttype
52
+ //= require camaleon_cms/admin/_posttype
53
53
 
54
54
  // others
55
- //= require ./_user_profile
55
+ //= require camaleon_cms/admin/_user_profile
@@ -63,7 +63,8 @@ class CamaleonCms::Admin::MediaController < CamaleonCms::AdminController
63
63
  cama_uploader.delete_file(params[:folder].gsub("//", "/"))
64
64
  render inline: ""
65
65
  when 'crop_url'
66
- r = cama_tmp_upload(params[:url], formats: params[:formats], name: params[:name])
66
+ params[:url] = (params[:url].start_with?('http') ? '' : current_site.the_url(locale: nil)) + params[:url]
67
+ r = cama_tmp_upload( params[:url], formats: params[:formats], name: params[:name])
67
68
  unless r[:error].present?
68
69
  params[:file_upload] = r[:file_path]
69
70
  sett = {remove_source: true}
@@ -82,7 +82,7 @@ class CamaleonCms::Admin::Settings::CustomFieldsController < CamaleonCms::Admin:
82
82
 
83
83
  # return boolean: true if all fields were saved successfully
84
84
  def _save_fields(group)
85
- errors_saved, all_fields = group.add_fields(params.require(:fields).permit!, params.require(:field_options).permit!)
85
+ errors_saved, all_fields = group.add_fields(params[:fields] ? params.require(:fields).permit! : {}, params[:field_options] ? params.require(:field_options).permit! : {})
86
86
  group.set_option('caption', @caption)
87
87
  if errors_saved.present?
88
88
  flash[:error] = "<b>#{t('camaleon_cms.errors_found_msg', default: 'Several errors were found, please check.')}</b><br>#{errors_saved.map{|field| "#{field.name}: " + "#{field.errors.messages.map{|k,v| "#{k.to_s.titleize}: #{v.join('|')}"}.join(', ')}" }.join('<br>')}"
@@ -27,7 +27,7 @@ module CamaleonCms::CustomFieldsConcern
27
27
  end
28
28
 
29
29
  # the same function as get_fields_grouped(..) but this returns translated and shortcodes evaluated
30
- def the_fields_grouped(field_keys, is_json_format = false)
30
+ def the_fields_grouped(field_keys, is_json_format = false, single_value = false)
31
31
  res = []
32
32
  object.get_fields_grouped(field_keys).each do |_group|
33
33
  group = {}.with_indifferent_access
@@ -37,6 +37,7 @@ module CamaleonCms::CustomFieldsConcern
37
37
  else
38
38
  group[k] = _group[k].map{|v| h.do_shortcode(v.to_s.translate(@_deco_locale), object) }
39
39
  end
40
+ group[k] = group[k].first if single_value
40
41
  end
41
42
  res << group
42
43
  end
@@ -210,7 +210,7 @@ module CamaleonCms::UploaderHelper
210
210
  # dimension: 20x30
211
211
  # return: {file_path, error}
212
212
  def cama_tmp_upload(uploaded_io, args = {})
213
- tmp_path = args[:path] || Rails.public_path.join("tmp", current_site.id.to_s)
213
+ tmp_path = args[:path] || File.join(Rails.public_path, "tmp", current_site.id.to_s).to_s
214
214
  FileUtils.mkdir_p(tmp_path) unless Dir.exist?(tmp_path)
215
215
  saved = false
216
216
  if uploaded_io.is_a?(String) && (uploaded_io.start_with?("data:")) # create tmp file using base64 format
@@ -223,7 +223,7 @@ module CamaleonCms::UploaderHelper
223
223
  saved = true
224
224
  elsif uploaded_io.is_a?(String) && (uploaded_io.start_with?("http://") || uploaded_io.start_with?("https://"))
225
225
  return {error: "#{ct("file_format_error")} (#{args[:formats]})"} unless cama_uploader.class.validate_file_format(uploaded_io, args[:formats])
226
- uploaded_io = Rails.public_path.join(uploaded_io.sub(current_site.the_url(locale: nil), '')).to_s if uploaded_io.include?(current_site.the_url(locale: nil)) # local file
226
+ uploaded_io = File.join(Rails.public_path, uploaded_io.sub(current_site.the_url(locale: nil), '')).to_s if uploaded_io.include?(current_site.the_url(locale: nil)) # local file
227
227
  _tmp_name = uploaded_io.split("/").last.split('?').first; args[:name] = args[:name] || _tmp_name
228
228
  uploaded_io = open(uploaded_io)
229
229
  end
@@ -128,7 +128,7 @@ class CamaleonCms::CustomFieldGroup < CamaleonCms::CustomField
128
128
  owner = "CamaleonCms::#{class_name}".constantize.find(objectid) rescue "CamaleonCms::#{class_name}".constantize.find_by(slug: objectid) # owner model
129
129
  end
130
130
  (options[:default_values] || [options[:default_value]] || []).each do |value|
131
- owner.field_values.create!(custom_field_id: field.id, custom_field_slug: field.slug,
131
+ owner.custom_field_values.create!(custom_field_id: field.id, custom_field_slug: field.slug,
132
132
  value: fix_meta_value(value)) if owner.present?
133
133
  end
134
134
  end
@@ -71,7 +71,7 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
71
71
  # get custom field values
72
72
  # _key: custom field key
73
73
  def get_field_values(_key, group_number = 0)
74
- field_values.loaded? ? field_values.select{|f| f.custom_field_slug == key && f.group_number == group_number}.map{|f| f.value } : field_values.where(custom_field_slug: _key, group_number: group_number).pluck(:value)
74
+ custom_field_values.loaded? ? custom_field_values.select{|f| f.custom_field_slug == _key && f.group_number == group_number}.map{|f| f.value } : custom_field_values.where(custom_field_slug: _key, group_number: group_number).pluck(:value)
75
75
  end
76
76
  alias_method :get_fields, :get_field_values
77
77
 
@@ -92,7 +92,7 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
92
92
  # puts res[0]['my_slug1'].first ==> "val 1"
93
93
  def get_fields_grouped(field_keys)
94
94
  res = []
95
- field_values.where(custom_field_slug: field_keys).order(group_number: :asc).group_by(&:group_number).each do |group_number, group_fields|
95
+ custom_field_values.where(custom_field_slug: field_keys).order(group_number: :asc).group_by(&:group_number).each do |group_number, group_fields|
96
96
  group = {}
97
97
  field_keys.each do |field_key|
98
98
  _tmp = []
@@ -109,7 +109,7 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
109
109
  # {key1: {values: "single value", options: {a:1, b: 4}}, key2: {values: [multiple, values], options: {a=1, b=2} }} if include_options = true
110
110
  def get_field_values_hash(include_options = false)
111
111
  fields = {}
112
- self.field_values.to_a.uniq.each do |field_value|
112
+ self.custom_field_values.to_a.uniq.each do |field_value|
113
113
  custom_field = field_value.custom_fields
114
114
  values = custom_field.values.where(objectid: self.id).pluck(:value)
115
115
  fields[field_value.custom_field_slug] = custom_field.cama_options[:multiple].to_s.to_bool ? values : values.first unless include_options
@@ -123,7 +123,7 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
123
123
  # deprecated f attribute
124
124
  def get_fields_object(f=true)
125
125
  fields = {}
126
- self.field_values.eager_load(:custom_fields).to_a.uniq.each do |field_value|
126
+ self.custom_field_values.eager_load(:custom_fields).to_a.uniq.each do |field_value|
127
127
  custom_field = field_value.custom_fields
128
128
  # if custom_field.options[:show_frontend].to_s.to_bool
129
129
  values = custom_field.values.where(objectid: self.id).pluck(:value)
@@ -194,13 +194,13 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
194
194
  def set_field_values(datas = {})
195
195
  if datas.present?
196
196
  ActiveRecord::Base.transaction do
197
- self.field_values.delete_all
197
+ self.custom_field_values.delete_all
198
198
  datas.each do |index, fields_data|
199
199
  fields_data.each do |field_key, values|
200
200
  if values[:values].present?
201
201
  order_value = -1
202
202
  ((values[:values].is_a?(Hash) || values[:values].is_a?(ActionController::Parameters)) ? values[:values].values : values[:values]).each do |value|
203
- item = self.field_values.create!({custom_field_id: values[:id], custom_field_slug: field_key, value: fix_meta_value(value), term_order: order_value += 1, group_number: values[:group_number] || 0})
203
+ item = self.custom_field_values.create!({custom_field_id: values[:id], custom_field_slug: field_key, value: fix_meta_value(value), term_order: order_value += 1, group_number: values[:group_number] || 0})
204
204
  end
205
205
  end
206
206
  end
@@ -212,7 +212,7 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
212
212
  # update new value for field with slug _key
213
213
  # Sample: my_posy.update_field_value('sub_title', 'Test Sub Title')
214
214
  def update_field_value(_key, value = nil, group_number = 0)
215
- self.field_values.where(custom_field_slug: _key, group_number: group_number).first.update_column('value', value) rescue nil
215
+ self.custom_field_values.where(custom_field_slug: _key, group_number: group_number).first.update_column('value', value) rescue nil
216
216
  end
217
217
 
218
218
  # Set custom field values for current model
@@ -242,14 +242,14 @@ module CamaleonCms::CustomFieldsRead extend ActiveSupport::Concern
242
242
  unless args[:field_id].present?
243
243
  raise ArgumentError, "There is no custom field configured for #{key}"
244
244
  end
245
- self.field_values.where({custom_field_slug: key, group_number: args[:group_number]}).delete_all if args[:clear]
245
+ self.custom_field_values.where({custom_field_slug: key, group_number: args[:group_number]}).delete_all if args[:clear]
246
246
  v = {custom_field_id: args[:field_id], custom_field_slug: key, value: fix_meta_value(value), term_order: args[:order], group_number: args[:group_number]}
247
247
  if value.is_a?(Array)
248
248
  value.each do |val|
249
- self.field_values.create!(v.merge({value: fix_meta_value(val)}))
249
+ self.custom_field_values.create!(v.merge({value: fix_meta_value(val)}))
250
250
  end
251
251
  else
252
- self.field_values.create!(v)
252
+ self.custom_field_values.create!(v)
253
253
  end
254
254
  end
255
255
 
@@ -112,7 +112,7 @@ class CamaleonCmsUploader
112
112
  format.downcase.gsub(' ', '').split(',').each do |f|
113
113
  res << case f
114
114
  when 'image', 'images'
115
- "jpg,jpeg,png,gif,bmp,ico"
115
+ "jpg,jpeg,png,gif,bmp,ico,svg"
116
116
  when 'video', 'videos'
117
117
  "flv,webm,wmv,avi,swf,mp4,mov,mpg"
118
118
  when 'audio'
@@ -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="data-error-place-parent form-control input-value <%= "required" if field.options[:required].to_s.to_bool %>" />
2
+ <input type="text" name="<%= field_name %>[<%= field.slug %>][values][]" class="data-error-place-parent form-control input-value <%= "required" if field.options[:required].to_s.to_bool %>" />
3
3
  <span class="input-group-addon btn_upload" onclick="load_upload_audio_field(this);return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.button.upload_audio')%></span>
4
- </div>
4
+ </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 data-error-place-parent file_format <%= "required" if field.options[:required].to_s.to_bool %>" />
2
+ <input type="text" data-formats="<%= field.options[:formats] || "" %>" name="<%= field_name %>[<%= field.slug %>][values][]" class="form-control input-value data-error-place-parent file_format <%= "required" if field.options[:required].to_s.to_bool %>" />
3
3
  <span class="input-group-addon btn_upload" onclick="load_upload_file_field(this);return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.button.upload_file') %></span>
4
4
  </div>
@@ -5,7 +5,7 @@
5
5
  data-dimension="<%= field.options[:dimension] %>"
6
6
  data-versions="<%= field.options[:versions] %>"
7
7
  data-thumb_size="<%= field.options[:thumb_size] %>"
8
- type="url"
8
+ type="text"
9
9
  name="<%= field_name %>[<%= field.slug %>][values][]"
10
10
  class="data-error-place-parent form-control input-value <%= "required" if field.options[:required].to_s.to_bool %>" />
11
11
  <span class="input-group-addon btn_upload" onclick="load_upload_image_field($(this).prev());" style="cursor: pointer;">
@@ -1,3 +1,3 @@
1
1
  <div class="group-input-fields-content" data-callback-render="custom_field_url_callback">
2
- <input type="url" name="<%= field_name %>[<%= field.slug %>][values][]" class="form-control url 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 url input-value <%= 'is_translate' if field.options[:translate].to_s.to_bool %> <%= "required" if field.options[:required].to_s.to_bool %>" />
3
3
  </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="data-error-place-parent form-control input-value <%= "required" if field.options[:required].to_s.to_bool %>" />
2
+ <input type="text" name="<%= field_name %>[<%= field.slug %>][values][]" class="data-error-place-parent form-control input-value <%= "required" if field.options[:required].to_s.to_bool %>" />
3
3
  <span class="input-group-addon btn_upload" onclick="load_upload_video_field(this);return false;"><i class="fa fa-upload"></i> <%= t('camaleon_cms.admin.button.upload_video')%></span>
4
4
  </div>
@@ -6,7 +6,7 @@ json.urls @post.the_urls
6
6
 
7
7
  json.partial! partial: 'partials/cama_comments_entry', locals:{ post: @post }
8
8
 
9
- json.fields @post.the_fields_grouped(@post.field_values.pluck(:custom_field_slug))
9
+ json.fields @post.the_fields_grouped(@post.custom_field_values.pluck(:custom_field_slug))
10
10
 
11
11
  json.categories @post.categories.decorate do |category|
12
12
  json.partial! partial: 'partials/cama_category_entry', locals:{ category: category }
@@ -1,3 +1,3 @@
1
1
  module CamaleonCms
2
- VERSION = '2.4.5'
2
+ VERSION = '2.4.5.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.5
4
+ version: 2.4.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen Peredo Diaz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-23 00:00:00.000000000 Z
11
+ date: 2018-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt
@@ -1106,67 +1106,67 @@ signing_key:
1106
1106
  specification_version: 4
1107
1107
  summary: Camaleon is a cms for Ruby on Rails 4 as an alternative to wordpress.
1108
1108
  test_files:
1109
- - spec/decorators/camaleon_cms/post_decorator_spec.rb
1110
- - spec/decorators/post_type_spec.rb
1109
+ - spec/spec_helper.rb
1110
+ - spec/dummy/app/controllers/application_controller.rb
1111
+ - spec/dummy/app/views/layouts/application.html.erb
1111
1112
  - spec/dummy/app/assets/javascripts/application.js
1112
1113
  - spec/dummy/app/assets/stylesheets/application.css
1113
- - spec/dummy/app/controllers/application_controller.rb
1114
1114
  - spec/dummy/app/helpers/application_helper.rb
1115
- - spec/dummy/app/views/layouts/application.html.erb
1116
- - spec/dummy/bin/bundle
1117
- - spec/dummy/bin/rails
1118
1115
  - spec/dummy/bin/rake
1119
1116
  - spec/dummy/bin/setup
1120
- - spec/dummy/config/application.rb
1121
- - spec/dummy/config/boot.rb
1122
- - spec/dummy/config/database.yml
1123
- - spec/dummy/config/environment.rb
1124
- - spec/dummy/config/environments/development.rb
1117
+ - spec/dummy/bin/bundle
1118
+ - spec/dummy/bin/rails
1119
+ - spec/dummy/config/secrets.yml
1120
+ - spec/dummy/config/routes.rb
1121
+ - spec/dummy/config/locales/en.yml
1125
1122
  - spec/dummy/config/environments/production.rb
1123
+ - spec/dummy/config/environments/development.rb
1126
1124
  - spec/dummy/config/environments/test.rb
1127
- - spec/dummy/config/initializers/assets.rb
1125
+ - spec/dummy/config/environment.rb
1126
+ - spec/dummy/config/application.rb
1127
+ - spec/dummy/config/database.yml
1128
+ - spec/dummy/config/boot.rb
1128
1129
  - spec/dummy/config/initializers/backtrace_silencers.rb
1129
- - spec/dummy/config/initializers/cookies_serializer.rb
1130
- - spec/dummy/config/initializers/filter_parameter_logging.rb
1131
- - spec/dummy/config/initializers/inflections.rb
1132
1130
  - spec/dummy/config/initializers/mime_types.rb
1131
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
1133
1132
  - spec/dummy/config/initializers/session_store.rb
1134
1133
  - spec/dummy/config/initializers/wrap_parameters.rb
1135
- - spec/dummy/config/locales/en.yml
1136
- - spec/dummy/config/routes.rb
1137
- - spec/dummy/config/secrets.yml
1134
+ - spec/dummy/config/initializers/assets.rb
1135
+ - spec/dummy/config/initializers/cookies_serializer.rb
1136
+ - spec/dummy/config/initializers/inflections.rb
1138
1137
  - spec/dummy/config.ru
1139
- - spec/dummy/db/schema.rb
1140
1138
  - spec/dummy/Rakefile
1139
+ - spec/dummy/db/schema.rb
1141
1140
  - spec/dummy/README.rdoc
1142
- - spec/features/categories_spec.rb
1143
- - spec/features/comments_spec.rb
1144
- - spec/features/contact_form_spec.rb
1141
+ - spec/mailers/send_mail_spec.rb
1142
+ - spec/decorators/camaleon_cms/post_decorator_spec.rb
1143
+ - spec/decorators/post_type_spec.rb
1144
+ - spec/features/session_spec.rb
1145
+ - spec/features/widgets_spec.rb
1146
+ - spec/features/posts_spec.rb
1145
1147
  - spec/features/content_groups_spec.rb
1146
- - spec/features/custom_fields_spec.rb
1147
- - spec/features/frontend/pages_spec.rb
1148
- - spec/features/languages_spec.rb
1148
+ - spec/features/sites_spec.rb
1149
1149
  - spec/features/media_spec.rb
1150
+ - spec/features/frontend/pages_spec.rb
1151
+ - spec/features/user_roles_spec.rb
1150
1152
  - spec/features/menus_spec.rb
1153
+ - spec/features/custom_fields_spec.rb
1151
1154
  - spec/features/pages_spec.rb
1152
- - spec/features/plugins_spec.rb
1153
- - spec/features/posts_spec.rb
1154
- - spec/features/session_spec.rb
1155
- - spec/features/settings_spec.rb
1156
1155
  - spec/features/shortcodes_spec.rb
1157
- - spec/features/sites_spec.rb
1156
+ - spec/features/plugins_spec.rb
1158
1157
  - spec/features/tags_spec.rb
1159
- - spec/features/themes_spec.rb
1160
- - spec/features/user_roles_spec.rb
1158
+ - spec/features/categories_spec.rb
1159
+ - spec/features/settings_spec.rb
1161
1160
  - spec/features/users_spec.rb
1162
- - spec/features/widgets_spec.rb
1163
- - spec/helpers/email_helper_spec.rb
1164
- - spec/helpers/short_code_helper_spec.rb
1165
- - spec/mailers/send_mail_spec.rb
1161
+ - spec/features/themes_spec.rb
1162
+ - spec/features/comments_spec.rb
1163
+ - spec/features/contact_form_spec.rb
1164
+ - spec/features/languages_spec.rb
1166
1165
  - spec/models/user_spec.rb
1167
- - spec/rails_helper.rb
1168
- - spec/routing/post_type_routes_spec.rb
1169
- - spec/spec_helper.rb
1170
1166
  - spec/support/common.rb
1171
- - spec/support/custom_admin.html.erb
1172
1167
  - spec/support/wait_for_ajax.rb
1168
+ - spec/support/custom_admin.html.erb
1169
+ - spec/routing/post_type_routes_spec.rb
1170
+ - spec/rails_helper.rb
1171
+ - spec/helpers/short_code_helper_spec.rb
1172
+ - spec/helpers/email_helper_spec.rb