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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -5
- data/CONTRIBUTING.md +22 -0
- data/Gemfile +1 -6
- data/README.md +8 -13
- data/Rakefile +4 -6
- data/adminpanel.gemspec +29 -24
- data/app/assets/javascripts/{application-admin.js → adminpanel/application.js} +2 -1
- data/app/assets/javascripts/adminpanel/images_form_add_remove_fields.js.coffee +11 -0
- data/app/assets/javascripts/adminpanel/sections.js.coffee +9 -0
- data/app/assets/javascripts/adminpanel/spinner.js.coffee +3 -3
- data/app/assets/javascripts/adminpanel/tables.js +4 -3
- data/app/assets/javascripts/adminpanel/wysiwyg.js.coffee +4 -1
- data/app/assets/stylesheets/{application-admin.css → adminpanel/application.css} +2 -2
- data/app/assets/stylesheets/adminpanel/fa-hidden.css.scss +7 -0
- data/app/assets/stylesheets/adminpanel/theme.css.scss.erb +3 -27
- data/app/assets/stylesheets/adminpanel/turbolinks_progress_load.css.scss +5 -0
- data/app/controllers/adminpanel/analytics_controller.rb +3 -3
- data/app/controllers/adminpanel/application_controller.rb +5 -11
- data/app/controllers/adminpanel/auths_controller.rb +6 -0
- data/app/controllers/adminpanel/categories_controller.rb +26 -60
- data/app/controllers/adminpanel/permissions_controller.rb +1 -2
- data/app/controllers/adminpanel/roles_controller.rb +10 -0
- data/app/controllers/adminpanel/sections_controller.rb +14 -14
- data/app/controllers/adminpanel/sessions_controller.rb +4 -3
- data/app/controllers/adminpanel/users_controller.rb +2 -2
- data/app/controllers/concerns/adminpanel/analytics/twitter_analytics.rb +1 -1
- data/app/controllers/concerns/adminpanel/facebook_actions.rb +13 -12
- data/app/controllers/concerns/adminpanel/galleryzable_actions.rb +13 -9
- data/app/controllers/concerns/adminpanel/rest_actions.rb +65 -59
- data/app/controllers/concerns/adminpanel/sitemap_actions.rb +1 -1
- data/app/controllers/concerns/adminpanel/sortable_actions.rb +29 -0
- data/app/controllers/concerns/adminpanel/twitter_actions.rb +5 -5
- data/app/helpers/adminpanel/adminpanel_form_builder.rb +104 -64
- data/app/helpers/adminpanel/application_helper.rb +20 -9
- data/app/helpers/adminpanel/breadcrumbs_helper.rb +2 -2
- data/app/helpers/adminpanel/router_helper.rb +8 -4
- data/app/helpers/adminpanel/shared_pages_helper.rb +59 -11
- data/app/models/ability.rb +2 -2
- data/app/models/adminpanel/analytic.rb +3 -3
- data/app/models/adminpanel/permission.rb +19 -19
- data/app/models/adminpanel/{rol.rb → role.rb} +9 -2
- data/app/models/adminpanel/section.rb +10 -6
- data/app/models/adminpanel/{image.rb → sectionfile.rb} +1 -1
- data/app/models/adminpanel/user.rb +27 -31
- data/app/models/concerns/adminpanel/base.rb +33 -19
- data/app/models/concerns/adminpanel/galleryzation.rb +18 -5
- data/app/models/concerns/adminpanel/sitemap.rb +1 -1
- data/app/models/concerns/adminpanel/sortable.rb +69 -0
- data/app/uploaders/adminpanel/.keep +1 -0
- data/app/views/adminpanel/analytics/_fb_statistic_widget.html.erb +27 -27
- data/app/views/adminpanel/categories/_categories_table.html.erb +4 -4
- data/app/views/adminpanel/categories/_category_form.html.erb +26 -6
- data/app/views/adminpanel/categories/create.js.erb +4 -5
- data/app/views/adminpanel/categories/index.html.erb +23 -16
- data/app/views/adminpanel/categories/new.js.erb +1 -1
- data/app/views/adminpanel/form/_adminpanel_file_field.html.erb +24 -0
- data/app/views/adminpanel/form/_belongs_to.html.erb +24 -0
- data/app/views/adminpanel/form/_file_field.html.erb +4 -0
- data/app/views/adminpanel/form/_has_many.html.erb +19 -0
- data/app/views/adminpanel/form/_non_image_file_field.html.erb +4 -0
- data/app/views/{shared/_delete_icon_button.html.erb → adminpanel/icons/_delete.html.erb} +3 -1
- data/app/views/{shared/_edit_icon_button.html.erb → adminpanel/icons/_edit.html.erb} +3 -3
- data/app/views/{shared/_fb_icon_button.html.erb → adminpanel/icons/_facebook.html.erb} +6 -5
- data/app/views/adminpanel/icons/_move_to_better.html.erb +16 -0
- data/app/views/adminpanel/icons/_move_to_worst.html.erb +17 -0
- data/app/views/{shared/_show_icon_button.html.erb → adminpanel/icons/_show.html.erb} +1 -1
- data/app/views/{shared/_twitter_icon_button.html.erb → adminpanel/icons/_twitter.html.erb} +1 -1
- data/app/views/adminpanel/sections/_sections_table.html.erb +1 -1
- data/app/views/adminpanel/sections/edit.html.erb +25 -17
- data/app/views/adminpanel/sections/index.html.erb +1 -1
- data/app/views/adminpanel/sections/show.html.erb +2 -2
- data/app/views/{shared → adminpanel/shared}/_breadcrumb.html.erb +0 -0
- data/app/views/adminpanel/shared/_create_remote_resource_button.html.erb +21 -0
- data/app/views/{shared → adminpanel/shared}/_error_messages.html.erb +0 -0
- data/app/views/{shared → adminpanel/shared}/_fb_publish_modal.html.erb +2 -2
- data/app/views/adminpanel/shared/_form_fields.html.erb +21 -0
- data/app/views/adminpanel/shared/_gallery_entries.html.erb +11 -0
- data/app/views/adminpanel/shared/_image_fields.html.erb +3 -0
- data/app/views/adminpanel/shared/_index_records.html.erb +32 -0
- data/app/views/adminpanel/shared/_modal.html.erb +20 -0
- data/app/views/adminpanel/shared/_new_resource_button.html.erb +17 -0
- data/app/views/adminpanel/shared/_remote_form_fields.html.erb +28 -0
- data/app/views/{shared → adminpanel/shared}/_twitter_publish_modal.html.erb +0 -0
- data/app/views/{shared → adminpanel/shared}/create_belongs_to.js.erb +0 -0
- data/app/views/{shared → adminpanel/shared}/create_has_many.js.erb +0 -0
- data/app/views/adminpanel/shared/edit.html.erb +42 -0
- data/app/views/{shared → adminpanel/shared}/fb_choose_page.html.erb +2 -2
- data/app/views/adminpanel/shared/gallery_entries.js.erb +1 -0
- data/app/views/adminpanel/shared/index.html.erb +43 -0
- data/app/views/adminpanel/shared/index_records.js.erb +1 -0
- data/app/views/adminpanel/shared/new.html.erb +42 -0
- data/app/views/adminpanel/shared/new.js.erb +2 -0
- data/app/views/adminpanel/shared/show.html.erb +77 -0
- data/app/views/layouts/{_shim.html.erb → adminpanel/_shim.html.erb} +0 -0
- data/app/views/layouts/adminpanel/_side_menu.html.erb +32 -0
- data/app/views/layouts/{_top_bar.html.erb → adminpanel/_top_bar.html.erb} +4 -2
- data/app/views/layouts/{admin-login.html.erb → adminpanel/application-login.html.erb} +4 -4
- data/app/views/layouts/{admin.html.erb → adminpanel/application.html.erb} +8 -6
- data/config/initializers/adminpanel/clear_cache.rb +4 -0
- data/config/initializers/{pluralization_es.rb → adminpanel/pluralization_es.rb} +0 -0
- data/config/initializers/{twitter-oauth.rb → adminpanel/twitter_oauth.rb} +0 -0
- data/config/locales/en.yml +93 -59
- data/config/locales/es.yml +34 -14
- data/config/routes.rb +27 -24
- data/lib/adminpanel.rb +3 -1
- data/lib/adminpanel/engine.rb +6 -3
- data/lib/adminpanel/version.rb +1 -1
- data/lib/generators/adminpanel/contact/contact_generator.rb +12 -0
- data/{app/models/contact.rb → lib/generators/adminpanel/contact/templates/contact_template.rb} +0 -0
- data/lib/generators/adminpanel/dump/dump_generator.rb +37 -0
- data/lib/generators/adminpanel/gallery/templates/gallery_template.rb +7 -0
- data/lib/generators/adminpanel/gallery/templates/uploader.rb +7 -9
- data/lib/generators/adminpanel/initialize/templates/adminpanel_setup.rb +2 -2
- data/lib/generators/adminpanel/initialize/templates/create_adminpanel_tables.rb +23 -34
- data/lib/generators/adminpanel/initialize/templates/section_uploader.rb +6 -8
- data/lib/generators/adminpanel/resource/resource_generator.rb +3 -2
- data/lib/generators/adminpanel/resource/resource_generator_helper.rb +6 -8
- data/lib/generators/adminpanel/resource/templates/adminpanel_controller_template.rb +1 -1
- data/lib/generators/adminpanel/resource/templates/adminpanel_resource_template.rb +2 -2
- data/lib/tasks/adminpanel/adminpanel.rake +11 -24
- data/lib/tasks/adminpanel/sections.rake +65 -0
- data/test/dummy/app/controllers/adminpanel/file_resources_controller.rb +12 -0
- data/test/dummy/app/controllers/adminpanel/galleries_controller.rb +4 -0
- data/test/dummy/app/controllers/adminpanel/products_controller.rb +5 -5
- data/test/dummy/app/models/adminpanel/category.rb +2 -0
- data/test/dummy/app/models/adminpanel/file_resource.rb +34 -0
- data/test/dummy/app/models/adminpanel/file_resourcefile.rb +13 -0
- data/test/dummy/app/models/adminpanel/gallery.rb +32 -0
- data/test/dummy/app/models/adminpanel/galleryfile.rb +19 -0
- data/test/dummy/app/models/adminpanel/mug.rb +14 -14
- data/test/dummy/app/models/adminpanel/photo.rb +1 -0
- data/test/dummy/app/models/adminpanel/product.rb +7 -7
- data/test/dummy/app/models/adminpanel/test_object.rb +53 -0
- data/test/dummy/app/uploader/adminpanel/file_resourcefile_uploader.rb +82 -0
- data/test/dummy/app/uploader/adminpanel/photo_uploader.rb +5 -9
- data/test/dummy/app/uploader/adminpanel/section_uploader.rb +5 -9
- data/test/dummy/config/application.rb +3 -30
- data/test/dummy/config/carrierwave.rb +1 -1
- data/test/dummy/config/environments/test.rb +10 -4
- data/test/dummy/config/initializers/adminpanel_setup.rb +5 -2
- data/test/dummy/db/schema.rb +65 -34
- data/test/dummy/test/fixtures/adminpanel/categories.yml +7 -0
- data/test/dummy/test/fixtures/adminpanel/galleryfiles.yml +18 -0
- data/test/dummy/test/fixtures/adminpanel/permissions.yml +7 -7
- data/test/dummy/test/fixtures/adminpanel/products.yml +7 -0
- data/test/dummy/test/fixtures/adminpanel/{rols.yml → roles.yml} +0 -0
- data/test/dummy/test/fixtures/adminpanel/test_objects.yml +7 -0
- data/test/dummy/test/fixtures/adminpanel/users.yml +7 -7
- data/test/dummy/test/fixtures/dog fries.png +0 -0
- data/test/features/categories/categories_index_test.rb +31 -0
- data/test/features/shared/concerns/galleryzable_test.rb +22 -0
- data/test/features/shared/concerns/sortable_test.rb +26 -0
- data/test/features/shared/form/has_many_through_non_category_modal_test.rb +1 -1
- data/test/features/shared/form/remote_resource_modal_test.rb +41 -0
- data/test/features/shared/resource/edit_test.rb +7 -6
- data/test/features/shared/resource/new_test.rb +3 -2
- data/test/features/shared/ui/max_images_gallery_test.rb +52 -0
- data/test/generators/contact_generator_test.rb +20 -0
- data/test/generators/dump_generator_test.rb +51 -0
- data/test/generators/resource_generator_test.rb +46 -1
- data/test/helpers/breadcrumbs_helper_test.rb +3 -4
- data/test/helpers/router_helper_test.rb +1 -1
- data/test/helpers/shared_pages_helper_test.rb +120 -0
- data/test/models/adminpanel/gallery_test.rb +16 -23
- data/test/models/adminpanel/user_test.rb +1 -1
- data/test/support/view_case.rb +18 -19
- data/test/tasks/adminpanel_rake_test.rb +5 -3
- data/test/test_helper.rb +2 -5
- metadata +204 -150
- data/.rspec +0 -2
- data/app/assets/javascripts/adminpanel/images_form.js +0 -23
- data/app/assets/javascripts/adminpanel/imagesloaded.js +0 -16
- data/app/controllers/adminpanel/galleries_controller.rb +0 -75
- data/app/controllers/adminpanel/rols_controller.rb +0 -10
- data/app/models/adminpanel/gallery.rb +0 -82
- data/app/uploaders/adminpanel/gallery_uploader.rb +0 -56
- data/app/views/adminpanel/galleries/_galleries_table.html.erb +0 -15
- data/app/views/adminpanel/galleries/create.html.erb +0 -2
- data/app/views/adminpanel/galleries/index.html.erb +0 -52
- data/app/views/adminpanel/galleries/move_better.js.erb +0 -1
- data/app/views/adminpanel/galleries/move_worst.js.erb +0 -1
- data/app/views/layouts/_side_menu.html.erb +0 -40
- data/app/views/shared/_create_remote_resource_button.html.erb +0 -23
- data/app/views/shared/_form_fields.html.erb +0 -63
- data/app/views/shared/_gallery_entries.html.erb +0 -11
- data/app/views/shared/_image_fields.html.erb +0 -3
- data/app/views/shared/_modal.html.erb +0 -8
- data/app/views/shared/_new_resource_button.html.erb +0 -17
- data/app/views/shared/_remote_form_fields.html.erb +0 -12
- data/app/views/shared/edit.html.erb +0 -29
- data/app/views/shared/gallery_entries.js.erb +0 -1
- data/app/views/shared/index.html.erb +0 -68
- data/app/views/shared/new.html.erb +0 -41
- data/app/views/shared/new.js.erb +0 -2
- data/app/views/shared/show.html.erb +0 -92
- data/test/dummy/README.rdoc +0 -261
- data/test/dummy/config/environments/development.rb +0 -29
- data/test/dummy/config/environments/production.rb +0 -80
- data/test/dummy/lib/assets/.gitkeep +0 -0
- data/test/dummy/script/rails +0 -6
- 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
|
-
|
|
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,
|
|
24
|
-
|
|
25
|
-
get :
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
post '
|
|
29
|
-
|
|
30
|
-
post '
|
|
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
|
|
35
|
-
# make the
|
|
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 :
|
|
39
|
-
put :
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
data/lib/adminpanel/engine.rb
CHANGED
|
@@ -4,7 +4,7 @@ module Adminpanel
|
|
|
4
4
|
end
|
|
5
5
|
|
|
6
6
|
class << self
|
|
7
|
-
|
|
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
|
data/lib/adminpanel/version.rb
CHANGED
|
@@ -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
|
data/{app/models/contact.rb → lib/generators/adminpanel/contact/templates/contact_template.rb}
RENAMED
|
File without changes
|
|
@@ -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::
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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)
|
|
@@ -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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
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
|
|
30
|
-
t.string
|
|
31
|
-
t.
|
|
32
|
-
t.string
|
|
33
|
-
t.string
|
|
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
|
|
41
|
-
create_table :
|
|
42
|
-
t.string
|
|
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
|
|
57
|
-
create_table :
|
|
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 :
|
|
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
|
|
73
|
+
t.string :name
|
|
86
74
|
t.boolean :has_description
|
|
87
|
-
t.text
|
|
88
|
-
t.string
|
|
89
|
-
t.string
|
|
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::
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
|
|
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
|
|