adminpanel 2.2.5 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
data/config/routes.rb CHANGED
@@ -7,36 +7,32 @@ Adminpanel::Engine.routes.draw do
7
7
  when :sections
8
8
  # sections cannot be created or destroyed
9
9
  resources :sections, resources_parameters(resource).merge(
10
- { except: [:new, :create, :destroy] }.merge(rest_path_names)
10
+ { except: [:new, :create, :destroy] }.merge(rest_path_names)
11
11
  )
12
- when :galleries
13
- # galleries gallery is different from normal resources galleries
14
- resources :galleries, resources_parameters(resource).merge(rest_path_names) do
15
- member do
16
- put :move_better, as: 'move_to_better', path: 'subir-prioridad'
17
- put :move_worst, as: 'move_to_worst', path: 'bajar-prioridad'
18
- end
19
- end
20
12
  when :analytics
21
13
  resources :analytics, resources_parameters(resource).merge({ only: [:index] }) do
22
14
  collection do
23
- get :google, to: 'analytics#google', path: 'google'
24
- get :fb, to:'analytics#fb', path:'facebook'
25
- get :twitter, to:'analytics#twitter', path:'twitter'
26
- post 'reply_to_tweet/:id', to: 'analytics#reply_to_tweet', as: 'reply_to', path: 'twitter/responder/:id'
27
- post 'favorite_tweet/:id', to: 'analytics#favorite_tweet', as: 'favorite', path: 'twitter/favorito/:id'
28
- post 'retweet_tweet/:id', to: 'analytics#retweet_tweet', as: 'retweet', path: 'twitter/retweet/:id'
29
- get :instagram, to:'analytics#instagram'
30
- post 'comment_to_instagram/:id', to: 'analytics#instagram_comment', as: 'comment_instagram', path: 'instagram/comentar/:id'
15
+ get :google, to: 'analytics#google', path: 'google'
16
+
17
+ get :fb, to:'analytics#fb', path:'facebook'
18
+
19
+ get :twitter, to:'analytics#twitter', path:'twitter'
20
+ post 'reply_to_tweet/:id', to: 'analytics#reply_to_tweet', as: 'reply_to', path: "twitter/#{I18n.t('routes.reply')}/:id"
21
+ post 'favorite_tweet/:id', to: 'analytics#favorite_tweet', as: 'favorite', path: "twitter/#{I18n.t('routes.favorite')}/:id"
22
+ post 'retweet_tweet/:id', to: 'analytics#retweet_tweet', as: 'retweet', path: "twitter/#{I18n.t('routes.retweet')}/:id"
23
+
24
+ get :instagram, to:'analytics#instagram'
25
+ post 'comment_to_instagram/:id', to: 'analytics#instagram_comment', as: 'comment_instagram', path: "instagram/#{I18n.t('routes.comment')}/:id"
31
26
  end
32
27
  end
33
28
  else
34
- if !get_gallery_children(resource).nil?
35
- # make the resources gallery routes
29
+ if get_gallery_children(resource)
30
+ # make the resource's gallery routes
31
+
36
32
  resources get_gallery_children(resource).to_sym, only: [:index] do
37
33
  member do
38
- put :move_better, as: 'move_to_better', path: 'subir-prioridad'
39
- put :move_worst, as: 'move_to_worst', path: 'bajar-prioridad'
34
+ put :move_gallery_better, as: 'move_gallery_to_better', path: I18n.t('routes.move_gallery_to_better')
35
+ put :move_gallery_worst, as: 'move_gallery_to_worst', path: I18n.t('routes.move_gallery_to_worst')
40
36
  end
41
37
  end
42
38
  end
@@ -49,18 +45,25 @@ Adminpanel::Engine.routes.draw do
49
45
  send(request_type, args['path'].to_sym, args['args'])
50
46
  end
51
47
  end
48
+
49
+ if is_sortable?(resource)
50
+ put :move_to_better, as: 'move_to_better', path: I18n.t('routes.move_to_better')
51
+ put :move_to_worst, as: 'move_to_worst', path: I18n.t('routes.move_to_worst')
52
+ end
53
+
52
54
  if has_fb_share?(resource)
53
55
  # if resource is going to be shared on facebook
54
- get :fb_choose_page, as: 'fb_choose_page', path: 'publicar-a-pagina-en-fb'
56
+ get :fb_choose_page, as: 'fb_choose_page', path: I18n.t('routes.publish', location: I18n.t('routes.facebook_page'))
55
57
  post :fb_save_token, as: 'fb_save_token', path: 'guardar-token-fb'
56
- post :fb_publish, to: "#{resource}#fb_publish", as: 'fb_publish', path: 'publicar-a-facebook'
58
+ post :fb_publish, to: "#{resource}#fb_publish", as: 'fb_publish', path: I18n.t('routes.publish', location: 'facebook')
57
59
  end
58
60
  if has_twitter_share?(resource)
59
- post :twitter_publish, to: "#{resource}#twitter_publish", as: 'twitter_publish', path: 'publicar-a-twitter'
61
+ post :twitter_publish, to: "#{resource}#twitter_publish", as: 'twitter_publish', path: I18n.t('routes.publish', location: 'twitter')
60
62
  end
61
63
  end
62
64
  collection do
63
65
  # add custom collection routes of the resource
66
+
64
67
  collection_routes(resource).each do |route|
65
68
  route.each do |request_type, args|
66
69
  send(request_type, args['path'].to_sym, args['args'])
data/lib/adminpanel.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'adminpanel/version'
2
2
  require 'adminpanel/engine'
3
- require 'inherited_resources'
4
3
  require 'carrierwave'
5
4
  require 'carrierwave/orm/activerecord'
6
5
  require 'google/api_client'
@@ -9,7 +8,10 @@ require 'font-awesome-rails'
9
8
  require 'koala'
10
9
  require 'twitter'
11
10
  require 'omniauth-twitter'
11
+ require 'jquery-rails'
12
12
  require 'instagram'
13
+ require 'turbolinks'
14
+ require 'coffee-rails'
13
15
 
14
16
  module Adminpanel
15
17
  end
@@ -4,7 +4,7 @@ module Adminpanel
4
4
  end
5
5
 
6
6
  class << self
7
- mattr_accessor :analytics_profile_id,
7
+ mattr_accessor :analytics_profile_id,
8
8
  :analytics_key_path,
9
9
  :analytics_key_filename,
10
10
  :analytics_account_email,
@@ -24,18 +24,21 @@ module Adminpanel
24
24
  self.analytics_account_email = nil
25
25
  self.analytics_application_name = 'AdminPanel'
26
26
  self.analytics_application_version = '1.0.0'
27
+
27
28
  self.twitter_api_key = nil
28
29
  self.twitter_api_secret = nil
30
+
29
31
  self.displayable_resources = [
30
- :analytics,
31
32
  :users,
32
- :galleries,
33
33
  :sections
34
34
  ]
35
+
35
36
  self.fb_app_id = nil
36
37
  self.fb_app_secret = nil
38
+
37
39
  self.twitter_api_key = nil
38
40
  self.twitter_api_secret = nil
41
+
39
42
  self.instagram_client_id = nil
40
43
  self.instagram_client_secret = nil
41
44
  end
@@ -1,3 +1,3 @@
1
1
  module Adminpanel
2
- VERSION = "2.2.5"
2
+ VERSION = "2.3.0"
3
3
  end
@@ -0,0 +1,12 @@
1
+ require 'rails/generators/active_record'
2
+ module Adminpanel
3
+ class ContactGenerator < ActiveRecord::Generators::Base
4
+ desc "Generate the migrations necessary to start the gem"
5
+ source_root File.expand_path("../templates", __FILE__)
6
+ argument :name, :type => :string, :default => "default", :require => false
7
+
8
+ def copy_contact
9
+ copy_file 'contact_template.rb', 'app/models/contact.rb'
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,37 @@
1
+ require 'rails/generators/active_record'
2
+ module Adminpanel
3
+ class DumpGenerator < ActiveRecord::Generators::Base
4
+ desc "Generate a dump for a given resource"
5
+ # source_root File.expand_path("../templates", __FILE__)
6
+ argument :name, type: :string, require: true
7
+ class_option :'inject-into-seeds',
8
+ :type => :boolean,
9
+ :aliases => '-i',
10
+ :default => true,
11
+ :desc => "Skip injection into seeds.rb"
12
+
13
+ def create_json_file
14
+ resource = name.demodulize.camelize.singularize
15
+ resource = "Adminpanel::#{resource}".classify.constantize
16
+ file_name = resource.to_s.pluralize.demodulize.downcase + '.json'
17
+ puts "dumping #{resource.display_name.pluralize(I18n.default_locale)} into db/#{file_name}"
18
+
19
+ create_file "db/#{file_name}" do
20
+ resource.all.to_a.to_json
21
+ end
22
+ inject_into_seeds(resource, file_name)
23
+ end
24
+
25
+ private
26
+ def inject_into_seeds(resource, file_name)
27
+ if options[:'inject-into-seeds']
28
+ append_to_file 'db/seeds.rb' do
29
+ "\nobjects = JSON.parse(open(\"\#{Rails.root}/db/#{file_name}\").read)\n" +
30
+ "objects.each do |element|\n" +
31
+ indent("#{resource}.create element\n", 2) +
32
+ "end\n"
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,7 +1,10 @@
1
1
  module Adminpanel
2
2
  class <%= class_name %> < ActiveRecord::Base
3
+ # include Adminpanel::Base # required for galleryzation
3
4
  # include Adminpanel::Galleryzation
4
5
 
6
+ # belongs_to :<%= reference_name %>
7
+
5
8
  mount_uploader :file, <%= class_name %>Uploader
6
9
 
7
10
 
@@ -9,5 +12,9 @@ module Adminpanel
9
12
  # '<%= reference_name %>_id'
10
13
  # end
11
14
 
15
+ # def self.display_name
16
+ # '<%= class_name %>'
17
+ # end
18
+
12
19
  end
13
20
  end
@@ -1,6 +1,6 @@
1
1
  module Adminpanel
2
2
  class <%= class_name %>Uploader < CarrierWave::Uploader::Base
3
- include CarrierWave::RMagick
3
+ include CarrierWave::MiniMagick
4
4
 
5
5
  storage :file
6
6
 
@@ -15,7 +15,7 @@ module Adminpanel
15
15
  # Process files as they are uploaded:
16
16
  # process :resize_to_fill => [1366, 768]
17
17
 
18
- # THE THUMB VERSION IS NECESSARY!!!!
18
+ # THE THUMB VERSION IS NECESSARY BY ADMINPANEL, DON'T REMOVE IT!!!!
19
19
  version :thumb do
20
20
  process :resize_to_limit => [80, 80]
21
21
  end
@@ -25,6 +25,8 @@ module Adminpanel
25
25
  # process :reside_and_pad => [120, 900]
26
26
  # end
27
27
 
28
+ # More info at http://www.rubydoc.info/github/jnicklas/carrierwave/CarrierWave/MiniMagick
29
+
28
30
  # resize_and_pad(width, height, background=:transparent, gravity=::Magick::CenterGravity)
29
31
  #
30
32
  # Resize the image to fit within the specified dimensions while retaining
@@ -42,11 +44,9 @@ module Adminpanel
42
44
 
43
45
  # resize_to_fill(width, height)
44
46
  #
45
- # From the RMagick documentation: “Resize the image to fit within the
47
+ # Resize the image to fit within the
46
48
  # specified dimensions while retaining the aspect ratio of the original image.
47
- # If necessary, crop the image in the larger dimension.“
48
- #
49
- # See even www.imagemagick.org/RMagick/doc/image3.html#resize_to_fill
49
+ # If necessary, crop the image in the larger dimension.
50
50
  #
51
51
  # width (Integer)
52
52
  # the width to scale the image to
@@ -55,13 +55,11 @@ module Adminpanel
55
55
 
56
56
  # resize_to_fit(width, height)
57
57
  #
58
- # From the RMagick documentation: “Resize the image to fit within the
58
+ # Resize the image to fit within the
59
59
  # specified dimensions while retaining the original aspect ratio. The image
60
60
  # may be shorter or narrower than specified in the smaller dimension but
61
61
  # will not be larger than the specified values.“
62
62
  #
63
- # See even www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit
64
- #
65
63
  # width (Integer)
66
64
  # the width to scale the image to
67
65
  # height (Integer)
@@ -46,9 +46,9 @@ Adminpanel.setup do |config|
46
46
  config.displayable_resources = [
47
47
  :analytics,
48
48
  :users,
49
- :rols,
49
+ :roles,
50
50
  :permissions,
51
- :galleries,
51
+ # :auths,
52
52
  #:categories,
53
53
  :sections
54
54
  ]
@@ -2,59 +2,47 @@ class CreateAdminpanelTables < ActiveRecord::Migration
2
2
  def migrate(direction)
3
3
  super
4
4
  # Create a default user
5
- if direction == :up
6
- if Rails.env.development?
7
- rol = Adminpanel::Rol.new(:name => "Admin")
8
- rol.save
9
- Adminpanel::User.new(:email => 'admin@admin.com', :name => "Admin", :password => 'password', :password_confirmation => 'password', :rol_id => rol.id).save
10
- puts "The password for admin@admin.com is: password"
11
-
12
- end
5
+ if direction == :up && Rails.env.development?
6
+ role = Adminpanel::Role.new(:name => "Admin")
7
+ role.save
8
+ Adminpanel::User.new(:email => 'admin@admin.com', :name => "Admin", :password => 'password', :password_confirmation => 'password', :role_id => role.id).save
9
+ puts "The password for admin@admin.com is: password"
13
10
  end
14
11
  end
15
12
 
16
13
  def change
17
14
  create_users
18
- create_galleries
19
- create_images
20
- create_rols
15
+ create_roles
21
16
  create_permissions
22
17
  create_auths
23
18
  create_sections
19
+ create_sectionfiles
24
20
  end
25
21
 
26
22
  private
27
23
  def create_users
28
24
  create_table :adminpanel_users do |t|
29
- t.string :name
30
- t.string :email
31
- t.string :rol_id
32
- t.string :password_digest
33
- t.string :remember_token
25
+ t.string :name
26
+ t.string :email
27
+ t.integer :role_id
28
+ t.string :password_digest
29
+ t.string :remember_token
34
30
  t.timestamps
35
31
  end
36
32
  add_index :adminpanel_users, [:email]
37
33
  add_index :adminpanel_users, [:remember_token]
38
34
  end
39
35
 
40
- def create_galleries
41
- create_table :adminpanel_galleries do |t|
42
- t.string :file
43
- t.integer :position
44
- t.timestamps
45
- end
46
- end
47
-
48
- def create_images
49
- create_table :adminpanel_images do |t|
50
- t.string :file
36
+ def create_sectionfiles
37
+ create_table :adminpanel_sectionfiles do |t|
38
+ t.string :file
51
39
  t.integer :section_id
52
40
  t.timestamps
53
41
  end
54
42
  end
55
43
 
56
- def create_rols
57
- create_table :adminpanel_rols do |t|
44
+ def create_roles
45
+ create_table :adminpanel_roles do |t|
58
46
  t.string :name
59
47
  t.timestamps
60
48
  end
@@ -62,7 +50,7 @@ class CreateAdminpanelTables < ActiveRecord::Migration
62
50
 
63
51
  def create_permissions
64
52
  create_table :adminpanel_permissions do |t|
65
- t.integer :rol_id
53
+ t.integer :role_id
66
54
  t.integer :action
67
55
  t.string :resource
68
56
  t.timestamps
@@ -82,12 +70,13 @@ class CreateAdminpanelTables < ActiveRecord::Migration
82
70
 
83
71
  def create_sections
84
72
  create_table :adminpanel_sections do |t|
85
- t.string :name
73
+ t.string :name
86
74
  t.boolean :has_description
87
- t.text :description
88
- t.string :key
89
- t.string :page
75
+ t.text :description
76
+ t.string :key
77
+ t.string :page
90
78
  t.boolean :has_image
79
+ t.integer :max_files, default: 0
91
80
  t.timestamps
92
81
  end
93
82
  add_index :adminpanel_sections, [:key]
@@ -1,6 +1,6 @@
1
1
  module Adminpanel
2
2
  class SectionUploader < CarrierWave::Uploader::Base
3
- include CarrierWave::RMagick
3
+ include CarrierWave::MiniMagick
4
4
 
5
5
  storage :file
6
6
 
@@ -25,6 +25,8 @@ module Adminpanel
25
25
  # process :reside_and_pad => [120, 900]
26
26
  # end
27
27
 
28
+ # More info at http://www.rubydoc.info/github/jnicklas/carrierwave/CarrierWave/MiniMagick
29
+
28
30
  # resize_and_pad(width, height, background=:transparent, gravity=::Magick::CenterGravity)
29
31
  #
30
32
  # Resize the image to fit within the specified dimensions while retaining
@@ -42,11 +44,9 @@ module Adminpanel
42
44
 
43
45
  # resize_to_fill(width, height)
44
46
  #
45
- # From the RMagick documentation: “Resize the image to fit within the
47
+ # Resize the image to fit within the
46
48
  # specified dimensions while retaining the aspect ratio of the original image.
47
- # If necessary, crop the image in the larger dimension.“
48
- #
49
- # See even www.imagemagick.org/RMagick/doc/image3.html#resize_to_fill
49
+ # If necessary, crop the image in the larger dimension.
50
50
  #
51
51
  # width (Integer)
52
52
  # the width to scale the image to
@@ -55,13 +55,11 @@ module Adminpanel
55
55
 
56
56
  # resize_to_fit(width, height)
57
57
  #
58
- # From the RMagick documentation: “Resize the image to fit within the
58
+ # Resize the image to fit within the
59
59
  # specified dimensions while retaining the original aspect ratio. The image
60
60
  # may be shorter or narrower than specified in the smaller dimension but
61
61
  # will not be larger than the specified values.“
62
62
  #
63
- # See even www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit
64
- #
65
63
  # width (Integer)
66
64
  # the width to scale the image to
67
65
  # height (Integer)
@@ -9,7 +9,7 @@ module Adminpanel
9
9
  class_option :'skip-gallery',
10
10
  :type => :boolean,
11
11
  :default => true,
12
- :desc => 'Choose if we shoud create the gallery for this resource, default: true (skip gallery )'
12
+ :desc => 'Choose if we shoud create the gallery for this resource, default: true (skip gallery)'
13
13
 
14
14
  argument :fields, :type => :array, :default => [], :banner => 'field[:type][:index] field[:type][:index]'
15
15
 
@@ -25,7 +25,7 @@ module Adminpanel
25
25
  end
26
26
 
27
27
  def generate_model
28
- template 'adminpanel_resource_template.rb', "app/models/adminpanel/#{resource_name}.rb"
28
+ template 'adminpanel_resource_template.rb', "app/models/adminpanel/#{resource_name}.rb"
29
29
  end
30
30
 
31
31
  def generate_controller
@@ -37,6 +37,7 @@ module Adminpanel
37
37
  def generate_migration
38
38
  parameters = fields
39
39
  parameters.delete_if{ |pair| pair.split(':').second == 'has_many' }
40
+ parameters << 'created_at:datetime' << 'updated_at:datetime'
40
41
  invoke :migration, ["create_adminpanel_#{pluralized_name}", parameters]
41
42
  end
42
43