adminpanel 2.2.5 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -5
  3. data/CONTRIBUTING.md +22 -0
  4. data/Gemfile +1 -6
  5. data/README.md +8 -13
  6. data/Rakefile +4 -6
  7. data/adminpanel.gemspec +29 -24
  8. data/app/assets/javascripts/{application-admin.js → adminpanel/application.js} +2 -1
  9. data/app/assets/javascripts/adminpanel/images_form_add_remove_fields.js.coffee +11 -0
  10. data/app/assets/javascripts/adminpanel/sections.js.coffee +9 -0
  11. data/app/assets/javascripts/adminpanel/spinner.js.coffee +3 -3
  12. data/app/assets/javascripts/adminpanel/tables.js +4 -3
  13. data/app/assets/javascripts/adminpanel/wysiwyg.js.coffee +4 -1
  14. data/app/assets/stylesheets/{application-admin.css → adminpanel/application.css} +2 -2
  15. data/app/assets/stylesheets/adminpanel/fa-hidden.css.scss +7 -0
  16. data/app/assets/stylesheets/adminpanel/theme.css.scss.erb +3 -27
  17. data/app/assets/stylesheets/adminpanel/turbolinks_progress_load.css.scss +5 -0
  18. data/app/controllers/adminpanel/analytics_controller.rb +3 -3
  19. data/app/controllers/adminpanel/application_controller.rb +5 -11
  20. data/app/controllers/adminpanel/auths_controller.rb +6 -0
  21. data/app/controllers/adminpanel/categories_controller.rb +26 -60
  22. data/app/controllers/adminpanel/permissions_controller.rb +1 -2
  23. data/app/controllers/adminpanel/roles_controller.rb +10 -0
  24. data/app/controllers/adminpanel/sections_controller.rb +14 -14
  25. data/app/controllers/adminpanel/sessions_controller.rb +4 -3
  26. data/app/controllers/adminpanel/users_controller.rb +2 -2
  27. data/app/controllers/concerns/adminpanel/analytics/twitter_analytics.rb +1 -1
  28. data/app/controllers/concerns/adminpanel/facebook_actions.rb +13 -12
  29. data/app/controllers/concerns/adminpanel/galleryzable_actions.rb +13 -9
  30. data/app/controllers/concerns/adminpanel/rest_actions.rb +65 -59
  31. data/app/controllers/concerns/adminpanel/sitemap_actions.rb +1 -1
  32. data/app/controllers/concerns/adminpanel/sortable_actions.rb +29 -0
  33. data/app/controllers/concerns/adminpanel/twitter_actions.rb +5 -5
  34. data/app/helpers/adminpanel/adminpanel_form_builder.rb +104 -64
  35. data/app/helpers/adminpanel/application_helper.rb +20 -9
  36. data/app/helpers/adminpanel/breadcrumbs_helper.rb +2 -2
  37. data/app/helpers/adminpanel/router_helper.rb +8 -4
  38. data/app/helpers/adminpanel/shared_pages_helper.rb +59 -11
  39. data/app/models/ability.rb +2 -2
  40. data/app/models/adminpanel/analytic.rb +3 -3
  41. data/app/models/adminpanel/permission.rb +19 -19
  42. data/app/models/adminpanel/{rol.rb → role.rb} +9 -2
  43. data/app/models/adminpanel/section.rb +10 -6
  44. data/app/models/adminpanel/{image.rb → sectionfile.rb} +1 -1
  45. data/app/models/adminpanel/user.rb +27 -31
  46. data/app/models/concerns/adminpanel/base.rb +33 -19
  47. data/app/models/concerns/adminpanel/galleryzation.rb +18 -5
  48. data/app/models/concerns/adminpanel/sitemap.rb +1 -1
  49. data/app/models/concerns/adminpanel/sortable.rb +69 -0
  50. data/app/uploaders/adminpanel/.keep +1 -0
  51. data/app/views/adminpanel/analytics/_fb_statistic_widget.html.erb +27 -27
  52. data/app/views/adminpanel/categories/_categories_table.html.erb +4 -4
  53. data/app/views/adminpanel/categories/_category_form.html.erb +26 -6
  54. data/app/views/adminpanel/categories/create.js.erb +4 -5
  55. data/app/views/adminpanel/categories/index.html.erb +23 -16
  56. data/app/views/adminpanel/categories/new.js.erb +1 -1
  57. data/app/views/adminpanel/form/_adminpanel_file_field.html.erb +24 -0
  58. data/app/views/adminpanel/form/_belongs_to.html.erb +24 -0
  59. data/app/views/adminpanel/form/_file_field.html.erb +4 -0
  60. data/app/views/adminpanel/form/_has_many.html.erb +19 -0
  61. data/app/views/adminpanel/form/_non_image_file_field.html.erb +4 -0
  62. data/app/views/{shared/_delete_icon_button.html.erb → adminpanel/icons/_delete.html.erb} +3 -1
  63. data/app/views/{shared/_edit_icon_button.html.erb → adminpanel/icons/_edit.html.erb} +3 -3
  64. data/app/views/{shared/_fb_icon_button.html.erb → adminpanel/icons/_facebook.html.erb} +6 -5
  65. data/app/views/adminpanel/icons/_move_to_better.html.erb +16 -0
  66. data/app/views/adminpanel/icons/_move_to_worst.html.erb +17 -0
  67. data/app/views/{shared/_show_icon_button.html.erb → adminpanel/icons/_show.html.erb} +1 -1
  68. data/app/views/{shared/_twitter_icon_button.html.erb → adminpanel/icons/_twitter.html.erb} +1 -1
  69. data/app/views/adminpanel/sections/_sections_table.html.erb +1 -1
  70. data/app/views/adminpanel/sections/edit.html.erb +25 -17
  71. data/app/views/adminpanel/sections/index.html.erb +1 -1
  72. data/app/views/adminpanel/sections/show.html.erb +2 -2
  73. data/app/views/{shared → adminpanel/shared}/_breadcrumb.html.erb +0 -0
  74. data/app/views/adminpanel/shared/_create_remote_resource_button.html.erb +21 -0
  75. data/app/views/{shared → adminpanel/shared}/_error_messages.html.erb +0 -0
  76. data/app/views/{shared → adminpanel/shared}/_fb_publish_modal.html.erb +2 -2
  77. data/app/views/adminpanel/shared/_form_fields.html.erb +21 -0
  78. data/app/views/adminpanel/shared/_gallery_entries.html.erb +11 -0
  79. data/app/views/adminpanel/shared/_image_fields.html.erb +3 -0
  80. data/app/views/adminpanel/shared/_index_records.html.erb +32 -0
  81. data/app/views/adminpanel/shared/_modal.html.erb +20 -0
  82. data/app/views/adminpanel/shared/_new_resource_button.html.erb +17 -0
  83. data/app/views/adminpanel/shared/_remote_form_fields.html.erb +28 -0
  84. data/app/views/{shared → adminpanel/shared}/_twitter_publish_modal.html.erb +0 -0
  85. data/app/views/{shared → adminpanel/shared}/create_belongs_to.js.erb +0 -0
  86. data/app/views/{shared → adminpanel/shared}/create_has_many.js.erb +0 -0
  87. data/app/views/adminpanel/shared/edit.html.erb +42 -0
  88. data/app/views/{shared → adminpanel/shared}/fb_choose_page.html.erb +2 -2
  89. data/app/views/adminpanel/shared/gallery_entries.js.erb +1 -0
  90. data/app/views/adminpanel/shared/index.html.erb +43 -0
  91. data/app/views/adminpanel/shared/index_records.js.erb +1 -0
  92. data/app/views/adminpanel/shared/new.html.erb +42 -0
  93. data/app/views/adminpanel/shared/new.js.erb +2 -0
  94. data/app/views/adminpanel/shared/show.html.erb +77 -0
  95. data/app/views/layouts/{_shim.html.erb → adminpanel/_shim.html.erb} +0 -0
  96. data/app/views/layouts/adminpanel/_side_menu.html.erb +32 -0
  97. data/app/views/layouts/{_top_bar.html.erb → adminpanel/_top_bar.html.erb} +4 -2
  98. data/app/views/layouts/{admin-login.html.erb → adminpanel/application-login.html.erb} +4 -4
  99. data/app/views/layouts/{admin.html.erb → adminpanel/application.html.erb} +8 -6
  100. data/config/initializers/adminpanel/clear_cache.rb +4 -0
  101. data/config/initializers/{pluralization_es.rb → adminpanel/pluralization_es.rb} +0 -0
  102. data/config/initializers/{twitter-oauth.rb → adminpanel/twitter_oauth.rb} +0 -0
  103. data/config/locales/en.yml +93 -59
  104. data/config/locales/es.yml +34 -14
  105. data/config/routes.rb +27 -24
  106. data/lib/adminpanel.rb +3 -1
  107. data/lib/adminpanel/engine.rb +6 -3
  108. data/lib/adminpanel/version.rb +1 -1
  109. data/lib/generators/adminpanel/contact/contact_generator.rb +12 -0
  110. data/{app/models/contact.rb → lib/generators/adminpanel/contact/templates/contact_template.rb} +0 -0
  111. data/lib/generators/adminpanel/dump/dump_generator.rb +37 -0
  112. data/lib/generators/adminpanel/gallery/templates/gallery_template.rb +7 -0
  113. data/lib/generators/adminpanel/gallery/templates/uploader.rb +7 -9
  114. data/lib/generators/adminpanel/initialize/templates/adminpanel_setup.rb +2 -2
  115. data/lib/generators/adminpanel/initialize/templates/create_adminpanel_tables.rb +23 -34
  116. data/lib/generators/adminpanel/initialize/templates/section_uploader.rb +6 -8
  117. data/lib/generators/adminpanel/resource/resource_generator.rb +3 -2
  118. data/lib/generators/adminpanel/resource/resource_generator_helper.rb +6 -8
  119. data/lib/generators/adminpanel/resource/templates/adminpanel_controller_template.rb +1 -1
  120. data/lib/generators/adminpanel/resource/templates/adminpanel_resource_template.rb +2 -2
  121. data/lib/tasks/adminpanel/adminpanel.rake +11 -24
  122. data/lib/tasks/adminpanel/sections.rake +65 -0
  123. data/test/dummy/app/controllers/adminpanel/file_resources_controller.rb +12 -0
  124. data/test/dummy/app/controllers/adminpanel/galleries_controller.rb +4 -0
  125. data/test/dummy/app/controllers/adminpanel/products_controller.rb +5 -5
  126. data/test/dummy/app/models/adminpanel/category.rb +2 -0
  127. data/test/dummy/app/models/adminpanel/file_resource.rb +34 -0
  128. data/test/dummy/app/models/adminpanel/file_resourcefile.rb +13 -0
  129. data/test/dummy/app/models/adminpanel/gallery.rb +32 -0
  130. data/test/dummy/app/models/adminpanel/galleryfile.rb +19 -0
  131. data/test/dummy/app/models/adminpanel/mug.rb +14 -14
  132. data/test/dummy/app/models/adminpanel/photo.rb +1 -0
  133. data/test/dummy/app/models/adminpanel/product.rb +7 -7
  134. data/test/dummy/app/models/adminpanel/test_object.rb +53 -0
  135. data/test/dummy/app/uploader/adminpanel/file_resourcefile_uploader.rb +82 -0
  136. data/test/dummy/app/uploader/adminpanel/photo_uploader.rb +5 -9
  137. data/test/dummy/app/uploader/adminpanel/section_uploader.rb +5 -9
  138. data/test/dummy/config/application.rb +3 -30
  139. data/test/dummy/config/carrierwave.rb +1 -1
  140. data/test/dummy/config/environments/test.rb +10 -4
  141. data/test/dummy/config/initializers/adminpanel_setup.rb +5 -2
  142. data/test/dummy/db/schema.rb +65 -34
  143. data/test/dummy/test/fixtures/adminpanel/categories.yml +7 -0
  144. data/test/dummy/test/fixtures/adminpanel/galleryfiles.yml +18 -0
  145. data/test/dummy/test/fixtures/adminpanel/permissions.yml +7 -7
  146. data/test/dummy/test/fixtures/adminpanel/products.yml +7 -0
  147. data/test/dummy/test/fixtures/adminpanel/{rols.yml → roles.yml} +0 -0
  148. data/test/dummy/test/fixtures/adminpanel/test_objects.yml +7 -0
  149. data/test/dummy/test/fixtures/adminpanel/users.yml +7 -7
  150. data/test/dummy/test/fixtures/dog fries.png +0 -0
  151. data/test/features/categories/categories_index_test.rb +31 -0
  152. data/test/features/shared/concerns/galleryzable_test.rb +22 -0
  153. data/test/features/shared/concerns/sortable_test.rb +26 -0
  154. data/test/features/shared/form/has_many_through_non_category_modal_test.rb +1 -1
  155. data/test/features/shared/form/remote_resource_modal_test.rb +41 -0
  156. data/test/features/shared/resource/edit_test.rb +7 -6
  157. data/test/features/shared/resource/new_test.rb +3 -2
  158. data/test/features/shared/ui/max_images_gallery_test.rb +52 -0
  159. data/test/generators/contact_generator_test.rb +20 -0
  160. data/test/generators/dump_generator_test.rb +51 -0
  161. data/test/generators/resource_generator_test.rb +46 -1
  162. data/test/helpers/breadcrumbs_helper_test.rb +3 -4
  163. data/test/helpers/router_helper_test.rb +1 -1
  164. data/test/helpers/shared_pages_helper_test.rb +120 -0
  165. data/test/models/adminpanel/gallery_test.rb +16 -23
  166. data/test/models/adminpanel/user_test.rb +1 -1
  167. data/test/support/view_case.rb +18 -19
  168. data/test/tasks/adminpanel_rake_test.rb +5 -3
  169. data/test/test_helper.rb +2 -5
  170. metadata +204 -150
  171. data/.rspec +0 -2
  172. data/app/assets/javascripts/adminpanel/images_form.js +0 -23
  173. data/app/assets/javascripts/adminpanel/imagesloaded.js +0 -16
  174. data/app/controllers/adminpanel/galleries_controller.rb +0 -75
  175. data/app/controllers/adminpanel/rols_controller.rb +0 -10
  176. data/app/models/adminpanel/gallery.rb +0 -82
  177. data/app/uploaders/adminpanel/gallery_uploader.rb +0 -56
  178. data/app/views/adminpanel/galleries/_galleries_table.html.erb +0 -15
  179. data/app/views/adminpanel/galleries/create.html.erb +0 -2
  180. data/app/views/adminpanel/galleries/index.html.erb +0 -52
  181. data/app/views/adminpanel/galleries/move_better.js.erb +0 -1
  182. data/app/views/adminpanel/galleries/move_worst.js.erb +0 -1
  183. data/app/views/layouts/_side_menu.html.erb +0 -40
  184. data/app/views/shared/_create_remote_resource_button.html.erb +0 -23
  185. data/app/views/shared/_form_fields.html.erb +0 -63
  186. data/app/views/shared/_gallery_entries.html.erb +0 -11
  187. data/app/views/shared/_image_fields.html.erb +0 -3
  188. data/app/views/shared/_modal.html.erb +0 -8
  189. data/app/views/shared/_new_resource_button.html.erb +0 -17
  190. data/app/views/shared/_remote_form_fields.html.erb +0 -12
  191. data/app/views/shared/edit.html.erb +0 -29
  192. data/app/views/shared/gallery_entries.js.erb +0 -1
  193. data/app/views/shared/index.html.erb +0 -68
  194. data/app/views/shared/new.html.erb +0 -41
  195. data/app/views/shared/new.js.erb +0 -2
  196. data/app/views/shared/show.html.erb +0 -92
  197. data/test/dummy/README.rdoc +0 -261
  198. data/test/dummy/config/environments/development.rb +0 -29
  199. data/test/dummy/config/environments/production.rb +0 -80
  200. data/test/dummy/lib/assets/.gitkeep +0 -0
  201. data/test/dummy/script/rails +0 -6
  202. data/test/unit/gallery_unit_test.rb +0 -21
@@ -66,7 +66,7 @@ module Adminpanel
66
66
  when 'belongs_to'
67
67
  ':' + belongs_to_field(@attr_field)
68
68
  when 'has_many'
69
- has_many_field(@attr_field) + ': []'
69
+ "{ #{has_many_field(@attr_field)}: [] }"
70
70
  else
71
71
  ":#{attribute.split(':').first}"
72
72
  end
@@ -113,13 +113,11 @@ module Adminpanel
113
113
  end
114
114
 
115
115
  def has_many_form_hash
116
- attribute_hash(has_many_field(resource_class_name(@attr_field)), 'has_many', 'has_many model')
116
+ attribute_hash(has_many_field(resource_class_name(@attr_field.downcase.singularize + 's')), 'has_many', @attr_field.capitalize.singularize)
117
117
  end
118
118
 
119
119
  def attribute_hash(name, type, model = '')
120
- if model != ''
121
- model = model_type(model) + ",\n"
122
- end
120
+ model = model_type(model) + ",\n" if model != ''
123
121
  "{\n" +
124
122
  indent("'#{name}'" + " => {\n", 2) +
125
123
  indent(form_type(type), 4) + ",\n" +
@@ -175,9 +173,9 @@ module Adminpanel
175
173
  end
176
174
 
177
175
  def has_many_association(field)
178
- return "# has_many :categorizations\n\t\t" +
179
- "# has_many :#{@attr_field}, " +
180
- ":through => :categorizations, " +
176
+ return "# has_many :#{@attr_field.downcase}zations\n\t\t" +
177
+ "# has_many :#{@attr_field.pluralize.downcase}, " +
178
+ ":through => :#{@attr_field.downcase}zations, " +
181
179
  ":dependent => :destroy\n\t\t"
182
180
  end
183
181
 
@@ -1,5 +1,5 @@
1
1
  module Adminpanel
2
- class <%= pluralized_name.capitalize %>Controller < Adminpanel::ApplicationController
2
+ class <%= camelized_resource.pluralize %>Controller < Adminpanel::ApplicationController
3
3
 
4
4
  private
5
5
  def <%= resource_name %>_params
@@ -7,7 +7,7 @@ module Adminpanel
7
7
 
8
8
  def self.form_attributes
9
9
  [
10
- <%= indent(get_attribute_hash, 8) + ',' %>
10
+ <%= indent(get_attribute_hash, 8) + "," %>
11
11
  <%= indent(file_field_form_hash, 8) if has_gallery? %>
12
12
  ]
13
13
  end
@@ -17,7 +17,7 @@ module Adminpanel
17
17
  end
18
18
 
19
19
  # def self.icon
20
- # 'truck' # fa-{icon}
20
+ # "truck" # fa-{icon}
21
21
  # end
22
22
  end
23
23
  end
@@ -3,7 +3,7 @@ namespace :adminpanel do
3
3
 
4
4
  task :section, [:name, :section, :type] => :environment do |t, args|
5
5
  args.with_defaults(:section => "home", :name => "greeting", :type => "")
6
- puts "Creating #{args[:name]} in #{args[:section]} section"
6
+ puts "Creating #{args[:name]} in #{args[:section]} section" unless Rails.env.test?
7
7
 
8
8
  s = Adminpanel::Section.new(
9
9
  :name => args[:name].titleize,
@@ -35,40 +35,26 @@ namespace :adminpanel do
35
35
  8.times do
36
36
  password = password + "#{characters.sample}"
37
37
  end
38
- puts "Creating/overwriting webmaster@codn.com with password #{password}"
38
+ puts "Creating/overwriting webmaster@codn.com with password #{password}" unless Rails.env.test?
39
39
  user = Adminpanel::User.find_by_email('webmaster@codn.com')
40
40
  if !user.nil?
41
41
  user.delete
42
42
  end
43
43
 
44
- rol = Adminpanel::Rol.find_by_name("Admin")
45
- if rol.nil?
46
- rol = Adminpanel::Rol.new(:name => "Admin")
47
- rol.save
44
+ role = Adminpanel::Role.find_by_name("Admin")
45
+ if role.nil?
46
+ role = Adminpanel::Role.new(:name => "Admin")
47
+ role.save
48
48
  end
49
49
  Adminpanel::User.new(
50
50
  :email => 'webmaster@codn.com',
51
51
  :name => 'Webmaster',
52
52
  :password => password,
53
53
  :password_confirmation => password,
54
- :rol_id => rol.id
54
+ :role_id => role.id
55
55
  ).save
56
56
  end
57
57
 
58
- task :dump => :environment do |t|
59
- puts "Dumping adminpanel_sections and adminpanel_categories into db/seeds.rb"
60
- File.open("#{Rails.root.join('db', 'seeds.rb')}", "w+") do |f|
61
- f << "Adminpanel::Section.delete_all\n"
62
- f << "Adminpanel::Category.delete_all\n"
63
- Adminpanel::Section.all.each do |section|
64
- f << "#{creation_command_section(section)}"
65
- end
66
- Adminpanel::Category.all.each do |category|
67
- f << "#{creation_command_category(category)}"
68
- end
69
- end
70
- end
71
-
72
58
  task :dump_sections => :environment do |t|
73
59
  puts "Dumping adminpanel_sections table into db/seeds.rb"
74
60
  File.open("#{Rails.root.join('db', 'seeds.rb')}", "w") do |f|
@@ -91,7 +77,8 @@ namespace :adminpanel do
91
77
 
92
78
  task :populate, [:times, :model, :attributes] => :environment do |t, args|
93
79
  require 'faker'
94
- puts "Generating #{args[:times]} records of #{args[:model]}"
80
+ I18n.reload!
81
+ puts "Generating #{args[:times]} records of #{args[:model]}" unless Rails.env.test?
95
82
 
96
83
  @model = "adminpanel/#{args[:model]}".classify.constantize
97
84
 
@@ -130,9 +117,9 @@ namespace :adminpanel do
130
117
  when 'email' #generates a random email
131
118
  value = Faker::Internet.email
132
119
 
133
- when 'lat_mid'
120
+ when 'lat_mid' #latitude for merida, yucatan, mx.
134
121
  value = float_random(21.046929, 20.903954)
135
- when 'lng_mid'
122
+ when 'lng_mid' #longitude for merida, yucatan, mx.
136
123
  value = float_random(-89.699819, -89.567296)
137
124
 
138
125
  when 'lat'
@@ -0,0 +1,65 @@
1
+ namespace :adminpanel do
2
+ namespace :test do
3
+ desc "Testing adminpanel performance and other stuff"
4
+
5
+ task single_section_ips: :environment do |t|
6
+ puts "Benchmark retrieving a single section (Iteration Per Second)"
7
+ Benchmark.ips do |x|
8
+ x.report("DQ-where-:key-=>-\"value\"") { Adminpanel::Section.where(:key => "contact-email").first() }
9
+ x.report("where-:key-=>-'value'") { Adminpanel::Section.where(:key => 'contact-email').first() }
10
+ x.report("DQ-where-key:-\"value\"") { Adminpanel::Section.where(key: "contact-email").first() }
11
+ x.report("where-key:-'value'") { Adminpanel::Section.where(key: 'contact-email').first() }
12
+ x.report("DQ-find_by_key(\"key\")") { Adminpanel::Section.find_by_key("contact-email") }
13
+ x.report("find_by_key('key')") { Adminpanel::Section.find_by_key('contact-email') }
14
+ end
15
+ end
16
+
17
+ task find_with_conditions: :environment do |t|
18
+ puts "Benchmark retrieving a section with find_by_key vs find_by(key: 'value')"
19
+ Benchmark.ips do |x|
20
+ x.report("find_by_key('key')") { Adminpanel::Section.find_by_key('contact-email') }
21
+ x.report("find_by(key: 'key')") { Adminpanel::Section.find_by(key: 'contact-email') }
22
+ end
23
+ end
24
+
25
+ task collections_of_a_page_ips: :environment do |t|
26
+ puts "Benchmark retrieving a collection (Iteration Per Second)"
27
+ Benchmark.ips do |x|
28
+ x.report("DQ-where-:page-=>-\"Areas\"") do
29
+ @sections = Adminpanel::Section.where(:page => "Areas")
30
+ @about = @sections.where(:key => "acerca-de-nosotros")
31
+ @mission = @sections.where(:key => "mision")
32
+ @history = @sections.where(:key => "historia")
33
+ end
34
+ x.report("where-:page-=>-'Areas'") do
35
+ @sections = Adminpanel::Section.where(:page => 'Areas')
36
+ @about = @sections.where(:key => 'acerca-de-nosotros')
37
+ @mission = @sections.where(:key => 'mision')
38
+ @history = @sections.where(:key => 'historia')
39
+ end
40
+ x.report("DQ-where-page:-\"Areas\"") do
41
+ @sections = Adminpanel::Section.where(page: "Areas")
42
+ @about = @sections.where(key: "acerca-de-nosotros")
43
+ @mission = @sections.where(key: "mision")
44
+ @history = @sections.where(key: "historia")
45
+ end
46
+ x.report("where-page:-'Areas'") do
47
+ @sections = Adminpanel::Section.where(page: 'Areas')
48
+ @about = @sections.where(key: 'acerca-de-nosotros')
49
+ @mission = @sections.where(key: 'mision')
50
+ @history = @sections.where(key: 'historia')
51
+ end
52
+ x.report("DQ-find_by_key-each") do
53
+ @about = Adminpanel::Section.find_by_key("acerca-de-nosotros")
54
+ @mission = Adminpanel::Section.find_by_key("mision")
55
+ @history = Adminpanel::Section.find_by_key("historia")
56
+ end
57
+ x.report("find_by_key-each") do
58
+ @about = Adminpanel::Section.find_by_key('acerca-de-nosotros')
59
+ @mission = Adminpanel::Section.find_by_key('mision')
60
+ @history = Adminpanel::Section.find_by_key('historia')
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,12 @@
1
+ module Adminpanel
2
+ class FileResourcesController < Adminpanel::ApplicationController
3
+
4
+ private
5
+ def file_test_params
6
+ params.require(:file_test).permit(
7
+ { file_testfiles_attributes: [:id, :file, :_destroy] },
8
+ :name
9
+ )
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,4 @@
1
+ module Adminpanel
2
+ class GalleriesController < Adminpanel::ApplicationController
3
+ end
4
+ end
@@ -4,11 +4,11 @@ module Adminpanel
4
4
  private
5
5
  def product_params
6
6
  params.require(:product).permit(
7
- :price,
8
- :name,
9
- :category_ids,
10
- :description,
11
- :photos_attributes => [:product_id, :file]
7
+ :price,
8
+ :name,
9
+ :category_ids,
10
+ :description,
11
+ :photos_attributes => [:product_id, :file]
12
12
  )
13
13
  end
14
14
 
@@ -7,6 +7,8 @@ module Adminpanel
7
7
  has_many :categorizations
8
8
  has_many :products, :through => :categorizations, :dependent => :destroy
9
9
 
10
+ has_and_belongs_to_many :test_objects,
11
+ join_table: "adminpanel_test_object_category"
10
12
 
11
13
  def self.form_attributes
12
14
  [
@@ -0,0 +1,34 @@
1
+ module Adminpanel
2
+ class FileResource < ActiveRecord::Base
3
+ include Adminpanel::Base
4
+
5
+ mount_images :file_resourcefiles
6
+
7
+ def self.form_attributes
8
+ [
9
+ {
10
+ 'name' => {
11
+ 'type' => 'text_field',
12
+ 'label' => 'name',
13
+ 'placeholder' => 'name',
14
+ }
15
+ },
16
+ {
17
+ 'file_resourcefiles' => {
18
+ 'type' => 'adminpanel_file_field',
19
+ 'label' => 'name',
20
+ 'placeholder' => 'name'
21
+ }
22
+ }
23
+ ]
24
+ end
25
+
26
+ def self.display_name
27
+ 'FileResource' #singular
28
+ end
29
+
30
+ # def self.icon
31
+ # "truck" # fa-{icon}
32
+ # end
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ module Adminpanel
2
+ class FileResourcefile < ActiveRecord::Base
3
+ # include Adminpanel::Galleryzation
4
+
5
+ mount_uploader :file, FileResourcefileUploader
6
+
7
+
8
+ # def self.relation_field
9
+ # 'file_test_id'
10
+ # end
11
+
12
+ end
13
+ end
@@ -0,0 +1,32 @@
1
+ module Adminpanel
2
+ class Gallery < ActiveRecord::Base
3
+ include Adminpanel::Base
4
+ include Adminpanel::Sortable
5
+
6
+ mount_uploader :file, Adminpanel::PhotoUploader
7
+
8
+ def name
9
+ file
10
+ end
11
+
12
+ def self.form_fields
13
+ [
14
+ {
15
+ 'file' => {
16
+ 'type' => 'adminpanel_file_field',
17
+ 'label' => 'file',
18
+
19
+ }
20
+ }
21
+ ]
22
+ end
23
+
24
+ def self.display_name
25
+ 'Galeria'
26
+ end
27
+
28
+ def self.gallery_children
29
+ 'galleryfiles'
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,19 @@
1
+ module Adminpanel
2
+ class Galleryfile < ActiveRecord::Base
3
+ include Adminpanel::Base
4
+ include Adminpanel::Galleryzation
5
+
6
+ belongs_to :gallery
7
+
8
+ mount_uploader :file, Adminpanel::PhotoUploader
9
+
10
+ def self.relation_field
11
+ 'gallery_id'
12
+ end
13
+
14
+ def self.display_name
15
+ 'dsf'
16
+ end
17
+
18
+ end
19
+ end
@@ -6,20 +6,20 @@ module Adminpanel
6
6
 
7
7
  def self.form_attributes
8
8
  [
9
- {
10
- 'name' => {
11
- 'type' => 'text_field',
12
- 'label' => 'name',
13
- 'placeholder' => 'name'
14
- }
15
- },
16
- {
17
- 'number' => {
18
- 'type' => 'number_field',
19
- 'label' => 'number',
20
- 'placeholder' => 'number'
21
- }
22
- },
9
+ {
10
+ 'name' => {
11
+ 'type' => 'text_field',
12
+ 'label' => 'name',
13
+ 'placeholder' => 'name'
14
+ }
15
+ },
16
+ {
17
+ 'number' => {
18
+ 'type' => 'number_field',
19
+ 'label' => 'number',
20
+ 'placeholder' => 'number'
21
+ }
22
+ },
23
23
  ]
24
24
  end
25
25
 
@@ -3,6 +3,7 @@ module Adminpanel
3
3
  include Adminpanel::Base
4
4
  # include Adminpanel::Galleryzation
5
5
  mount_uploader :file, PhotoUploader
6
+ belongs_to :product
6
7
 
7
8
  def self.relation_method
8
9
  'product_id'
@@ -5,7 +5,7 @@ module Adminpanel
5
5
  include Adminpanel::Twitter
6
6
 
7
7
  has_many :categorizations
8
- has_many :categories, :through => :categorizations
8
+ has_many :categories, through: :categorizations
9
9
  mount_images :photos
10
10
 
11
11
  validates_presence_of :name
@@ -13,8 +13,6 @@ module Adminpanel
13
13
  validates_presence_of :description
14
14
 
15
15
  def self.form_attributes
16
-
17
-
18
16
  [
19
17
  {"category_ids" => {"type" => "has_many", "model" => "Adminpanel::Category", "name" => "category_ids"}},
20
18
  {
@@ -33,7 +31,9 @@ module Adminpanel
33
31
  'photos' => {
34
32
  'type' => 'adminpanel_file_field',
35
33
  'label' => 'photo',
36
- 'placeholder' => 'photo'}
34
+ 'placeholder' => 'photo',
35
+ 'max-files' => 2
36
+ }
37
37
  },
38
38
  {
39
39
  'description' => {
@@ -49,9 +49,9 @@ module Adminpanel
49
49
  "Producto"
50
50
  end
51
51
 
52
- def self.gallery_children
53
- 'photos'
54
- end
52
+ # def self.gallery_children
53
+ # 'photos'
54
+ # end
55
55
 
56
56
  def self.icon
57
57
  "icon-truck"