community_engine 3.0.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.gitignore +4 -1
- data/.travis.yml +5 -2
- data/CHANGELOG.markdown +270 -0
- data/Gemfile +3 -0
- data/README.markdown +20 -21
- data/Rakefile +8 -6
- data/TODO.markdown +3 -0
- data/UPGRADING.markdown +46 -36
- data/app/assets/javascripts/active_admin.js.coffee +19 -0
- data/app/assets/javascripts/ckeditor/configs/ads.js.coffee +175 -0
- data/app/assets/javascripts/ckeditor/configs/comments.js.coffee +2 -0
- data/app/assets/javascripts/ckeditor/configs/posts.js.coffee +248 -0
- data/app/assets/javascripts/ckeditor/rte/rte.ads.js.coffee +7 -0
- data/app/assets/javascripts/ckeditor/rte/rte.comments.js.coffee +8 -0
- data/app/assets/javascripts/ckeditor/rte/rte.js.coffee +20 -0
- data/app/assets/javascripts/ckeditor/rte/rte.posts.js.coffee +14 -0
- data/app/assets/javascripts/community_engine.js +114 -123
- data/{vendor → app}/assets/javascripts/jcrop/jquery.Jcrop.js +0 -0
- data/{vendor → app}/assets/javascripts/jcrop/jquery.color.js +0 -0
- data/{vendor → app}/assets/javascripts/tag-it/tag-it.js +0 -0
- data/app/assets/stylesheets/active_admin.css.scss +27 -0
- data/{vendor → app}/assets/stylesheets/jcrop/Jcrop.gif +0 -0
- data/{vendor → app}/assets/stylesheets/jcrop/jquery.Jcrop.min.css +0 -0
- data/{vendor → app}/assets/stylesheets/tag-it/tag-it.css +0 -0
- data/{vendor → app}/assets/stylesheets/tag-it/tagit.ui-zendesk.css +0 -0
- data/app/controllers/activities_controller.rb +4 -4
- data/app/controllers/albums_controller.rb +13 -18
- data/app/controllers/authorizations_controller.rb +1 -1
- data/app/controllers/base_controller.rb +9 -32
- data/app/controllers/categories_controller.rb +1 -78
- data/app/controllers/clippings_controller.rb +3 -7
- data/app/controllers/comments_controller.rb +4 -24
- data/app/controllers/events_controller.rb +3 -12
- data/app/controllers/favorites_controller.rb +2 -2
- data/app/controllers/forums_controller.rb +5 -9
- data/app/controllers/invitations_controller.rb +1 -1
- data/app/controllers/messages_controller.rb +4 -8
- data/app/controllers/moderators_controller.rb +1 -1
- data/app/controllers/monitorships_controller.rb +1 -1
- data/app/controllers/pages_controller.rb +0 -62
- data/app/controllers/password_resets_controller.rb +2 -2
- data/app/controllers/photo_manager_controller.rb +3 -3
- data/app/controllers/photos_controller.rb +43 -14
- data/app/controllers/posts_controller.rb +7 -14
- data/app/controllers/rsvps_controller.rb +3 -3
- data/app/controllers/sb_posts_controller.rb +20 -20
- data/app/controllers/sessions_controller.rb +1 -1
- data/app/controllers/tags_controller.rb +4 -52
- data/app/controllers/topics_controller.rb +15 -10
- data/app/controllers/users_controller.rb +9 -16
- data/app/controllers/votes_controller.rb +2 -2
- data/app/helpers/base_helper.rb +4 -14
- data/app/models/acts_as_taggable_on/tag.rb +9 -41
- data/app/models/clipping.rb +1 -1
- data/app/models/forum.rb +2 -2
- data/app/models/photo.rb +1 -1
- data/app/models/post.rb +1 -1
- data/app/models/sb_post.rb +19 -15
- data/app/models/topic.rb +10 -10
- data/app/models/user.rb +1 -1
- data/app/policies/active_admin/page_policy.rb +11 -0
- data/app/policies/application_policy.rb +59 -0
- data/app/policies/post_policy.rb +13 -0
- data/app/policies/sb_post_policy.rb +15 -0
- data/app/policies/topic_policy.rb +23 -0
- data/app/views/ckeditor/pictures/index.html.haml +15 -0
- data/app/views/ckeditor/shared/_asset.html.haml +9 -0
- data/app/views/ckeditor/shared/_asset_tmpl.html.erb +14 -0
- data/app/views/comments/approve.js.haml +1 -1
- data/app/views/comments/create.js.erb +1 -1
- data/app/views/comments/edit.js.erb +2 -1
- data/app/views/events/_subscribe.html.haml +1 -1
- data/app/views/forums/show.html.haml +8 -4
- data/app/views/posts/show.html.haml +4 -0
- data/app/views/sb_posts/_edit_script.js.erb +2 -3
- data/app/views/sb_posts/_reply_script.js.erb +2 -4
- data/app/views/sb_posts/_sb_post.html.haml +7 -6
- data/app/views/sb_posts/create.js.erb +4 -4
- data/app/views/sb_posts/edit.js.erb +2 -1
- data/app/views/sessions/_menu_item.html.haml +4 -4
- data/app/views/shared/_end_javascript.html.haml +1 -2
- data/app/views/shared/_login_sidebar.html.haml +2 -2
- data/app/views/tags/show.html.haml +3 -3
- data/app/views/topics/show.html.haml +1 -1
- data/app/views/users/_profile_user_info_sidebar.html.haml +2 -2
- data/app/views/users/destroy.js.erb +3 -0
- data/app/views/users/new.html.haml +1 -1
- data/app/views/users/show.html.haml +1 -1
- data/app/views/users/signup_completed.html.haml +1 -1
- data/community_engine.gemspec +14 -11
- data/config/initializers/active_admin.rb +239 -0
- data/config/initializers/ckeditor.rb +8 -0
- data/config/initializers/ransack_bootstrap_fix.rb +25 -0
- data/config/locales/de-DE.yml +1 -0
- data/config/locales/en.yml +3 -0
- data/config/routes.rb +14 -19
- data/config/spring.rb +1 -0
- data/db/migrate/083_create_active_admin_comments.rb +19 -0
- data/lib/community_engine.rb +7 -3
- data/lib/community_engine/admin/ads.rb +3 -0
- data/lib/community_engine/admin/categories.rb +20 -0
- data/lib/community_engine/admin/comments.rb +4 -0
- data/lib/community_engine/admin/dashboard.rb +38 -0
- data/lib/community_engine/admin/events.rb +3 -0
- data/lib/community_engine/admin/forums.rb +3 -0
- data/lib/community_engine/admin/homepage_features.rb +25 -0
- data/lib/community_engine/admin/metro_areas.rb +4 -0
- data/lib/community_engine/admin/pages.rb +26 -0
- data/lib/community_engine/admin/posts.rb +92 -0
- data/lib/community_engine/admin/tags.rb +21 -0
- data/lib/community_engine/admin/users.rb +54 -0
- data/lib/community_engine/authenticated_system.rb +5 -20
- data/lib/community_engine/engine.rb +5 -0
- data/lib/community_engine/version.rb +1 -1
- data/lib/resource_feeder/atom.rb +2 -0
- data/lib/resource_feeder/rss.rb +2 -0
- data/lib/white_list.rb +6 -11
- data/test/fixtures/events.yml +10 -0
- data/test/fixtures/tags.yml +6 -5
- data/test/functional/activities_controller_test.rb +19 -19
- data/test/functional/admin/posts_controller_test.rb +16 -0
- data/test/functional/admin_controller_test.rb +82 -82
- data/test/functional/categories_controller_test.rb +0 -39
- data/test/functional/comments_controller_test.rb +14 -7
- data/test/functional/favorites_controller_test.rb +15 -16
- data/test/functional/pages_controller_test.rb +0 -71
- data/test/functional/posts_controller_test.rb +21 -2
- data/test/functional/sb_posts_controller_test.rb +3 -3
- data/test/functional/sessions_controller_test.rb +2 -2
- data/test/functional/tags_controller_test.rb +9 -20
- data/test/functional/users_controller_test.rb +0 -8
- data/test/functional/votes_controller_test.rb +1 -1
- data/test/testapp/config/spring.rb +1 -0
- data/test/testapp/db/schema.rb +16 -1
- data/test/unit/event_test.rb +1 -1
- metadata +204 -170
- data/CHANGELOG +0 -144
- data/app/controllers/admin_controller.rb +0 -80
- data/app/controllers/ads_controller.rb +0 -90
- data/app/controllers/homepage_features_controller.rb +0 -74
- data/app/controllers/metro_areas_controller.rb +0 -74
- data/app/controllers/statistics_controller.rb +0 -35
- data/app/views/admin/comments.html.haml +0 -53
- data/app/views/admin/events.html.haml +0 -26
- data/app/views/admin/messages.html.haml +0 -3
- data/app/views/admin/update.js.erb +0 -1
- data/app/views/admin/users.html.haml +0 -57
- data/app/views/ads/_form.html.haml +0 -21
- data/app/views/ads/edit.html.haml +0 -7
- data/app/views/ads/index.html.haml +0 -29
- data/app/views/ads/new.html.haml +0 -6
- data/app/views/ads/show.html.haml +0 -19
- data/app/views/categories/_form.html.haml +0 -8
- data/app/views/categories/edit.html.haml +0 -4
- data/app/views/categories/index.html.haml +0 -20
- data/app/views/categories/new.html.haml +0 -4
- data/app/views/homepage_features/_form.html.haml +0 -6
- data/app/views/homepage_features/edit.html.haml +0 -6
- data/app/views/homepage_features/index.html.haml +0 -24
- data/app/views/homepage_features/new.html.haml +0 -2
- data/app/views/homepage_features/show.html.haml +0 -27
- data/app/views/metro_areas/_form.html.haml +0 -6
- data/app/views/metro_areas/edit.html.haml +0 -8
- data/app/views/metro_areas/index.html.haml +0 -21
- data/app/views/metro_areas/new.html.haml +0 -6
- data/app/views/metro_areas/show.html.haml +0 -14
- data/app/views/pages/_form.html.haml +0 -18
- data/app/views/pages/edit.html.haml +0 -4
- data/app/views/pages/index.html.haml +0 -34
- data/app/views/pages/new.html.haml +0 -7
- data/app/views/shared/_admin_nav.html.haml +0 -17
- data/app/views/shared/_load_tinymce.js.erb +0 -15
- data/app/views/statistics/activities.xml.builder +0 -33
- data/app/views/statistics/index.html.haml +0 -48
- data/app/views/tags/edit.html.haml +0 -12
- data/app/views/tags/manage.html.haml +0 -30
- data/app/views/users/update.js.erb +0 -1
- data/test/functional/ads_controller_test.rb +0 -51
- data/test/functional/homepage_features_controller_test.rb +0 -69
- data/test/functional/metro_areas_controller_test.rb +0 -63
- data/test/functional/statistics_controller_test.rb +0 -18
- data/test/unit/acts_as_taggable_on/tag_test.rb +0 -22
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/README +0 -3
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/Rakefile +0 -22
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/generators/publishing/publishing_generator.rb +0 -34
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/generators/publishing/templates/migration.rb +0 -13
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/install.rb +0 -3
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/test/acts_as_publishable_test.rb +0 -8
- data/vendor/converted2.3plugins_to_lib_leftovers/acts_as_publishable/uninstall.rb +0 -1
- data/vendor/converted2.3plugins_to_lib_leftovers/resource_feeder/README +0 -4
- data/vendor/converted2.3plugins_to_lib_leftovers/resource_feeder/Rakefile +0 -22
- data/vendor/converted2.3plugins_to_lib_leftovers/resource_feeder/test/atom_feed_test.rb +0 -85
- data/vendor/converted2.3plugins_to_lib_leftovers/resource_feeder/test/rss_feed_test.rb +0 -61
- data/vendor/converted2.3plugins_to_lib_leftovers/resource_feeder/test/test_helper.rb +0 -60
- data/vendor/converted2.3plugins_to_lib_leftovers/white_list/README +0 -35
- data/vendor/converted2.3plugins_to_lib_leftovers/white_list/Rakefile +0 -22
- data/vendor/converted2.3plugins_to_lib_leftovers/white_list/test/white_list_test.rb +0 -120
@@ -0,0 +1,25 @@
|
|
1
|
+
# Ugly fix because BootstrapForm always expects an AR object.
|
2
|
+
|
3
|
+
BootstrapForm::FormBuilder.class_eval do
|
4
|
+
|
5
|
+
def required_attribute?(obj, attribute)
|
6
|
+
return false unless obj.respond_to?(:validators_on)
|
7
|
+
return false unless obj and attribute
|
8
|
+
|
9
|
+
target = (obj.class == Class) ? obj : obj.class
|
10
|
+
target_validators = target.validators_on(attribute).map(&:class)
|
11
|
+
|
12
|
+
has_presence_validator = target_validators.include?(
|
13
|
+
ActiveModel::Validations::PresenceValidator)
|
14
|
+
|
15
|
+
if defined? ActiveRecord::Validations::PresenceValidator
|
16
|
+
has_presence_validator |= target_validators.include?(
|
17
|
+
ActiveRecord::Validations::PresenceValidator)
|
18
|
+
end
|
19
|
+
|
20
|
+
has_presence_validator
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
end
|
data/config/locales/de-DE.yml
CHANGED
@@ -853,6 +853,7 @@ de-DE:
|
|
853
853
|
posts_photos_and_bookmarks: "%{name} Beiträge, Fotos und Bookmarks"
|
854
854
|
#en: posts_saved_with_draft_status_wont_appear_in_your_blog_until_you_publish_them: Posts saved with 'draft' status won't appear in your blog until you publish them.
|
855
855
|
posts_saved_with_draft_status_wont_appear_in_your_blog_until_you_publish_them: "Einträge, die als Entwurf gespeichert wurden, erscheinen erst in deinem Blog, wenn du sie veröffentlichst."
|
856
|
+
post_not_published_yet: "Dieser Eintrag wurde noch nicht veröffentlicht."
|
856
857
|
#en: preview: Preview
|
857
858
|
preview: Vorschau
|
858
859
|
#en: previewing_your_post: Previewing your post
|
data/config/locales/en.yml
CHANGED
@@ -1023,6 +1023,7 @@ en:
|
|
1023
1023
|
posts_photos_and_bookmarks: "%{name} posts, photos and bookmarks"
|
1024
1024
|
#en: posts_saved_with_draft_status_wont_appear_in_your_blog_until_you_publish_them: "Posts saved with 'draft' status won't appear in your blog until you publish them."
|
1025
1025
|
posts_saved_with_draft_status_wont_appear_in_your_blog_until_you_publish_them: "Posts saved with 'draft' status won't appear in your blog until you publish them."
|
1026
|
+
post_not_published_yet: "This post is not published yet."
|
1026
1027
|
#en: posts_tagged: Posts tagged
|
1027
1028
|
posts_tagged: "Posts tagged"
|
1028
1029
|
#en: pages_saved_with_draft_status_wont_appear_on_the_site_until_you_publish_them: Pages saved with 'draft' status won't appear on the site until you publish them.
|
@@ -1305,6 +1306,8 @@ en:
|
|
1305
1306
|
the_friendship_was_denied: The friendship was denied.
|
1306
1307
|
#en: the_more_people_you_invite_the_better: The more people you invite, the better
|
1307
1308
|
the_more_people_you_invite_the_better: "The more people you invite, the better"
|
1309
|
+
#en: the_selected_users_were_deleted: The selected users were deleted.
|
1310
|
+
the_selected_users_were_deleted: The selected users were deleted.
|
1308
1311
|
#en: the_service_was_deleted: The service was deleted.
|
1309
1312
|
the_service_was_deleted: The service was deleted.
|
1310
1313
|
#en: the_slideshow_is_disabled: The slideshow is disabled.
|
data/config/routes.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
+
ActiveAdmin.routes(self)
|
3
|
+
|
2
4
|
concern :paginatable do
|
3
5
|
get '(page/:page)', :action => :index, :on => :collection
|
4
6
|
end
|
@@ -44,24 +46,14 @@ Rails.application.routes.draw do
|
|
44
46
|
|
45
47
|
get '/' => 'base#site_index', :as => :home
|
46
48
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
get 'subscribers(.:format)' => "admin#subscribers", :as => :admin_subscribers
|
56
|
-
get 'activate_user' => "admin#activate_user", :as => :admin_activate_user
|
57
|
-
get 'deactivate_user' => 'admin#deactivate_user', :as => :admin_deactivate_user
|
58
|
-
|
59
|
-
resources :pages, :as => :admin_pages do
|
60
|
-
member do
|
61
|
-
get :preview
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
49
|
+
root to: "base#site_index"
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
# scope "/admin" do
|
54
|
+
# get 'dashboard' => 'homepage_features#index', :as => :admin_dashboard
|
55
|
+
# get 'clear_cache' => 'admin#clear_cache', :as => :admin_clear_cache
|
56
|
+
# end
|
65
57
|
|
66
58
|
get 'pages/:id' => 'pages#show', :as => :pages
|
67
59
|
|
@@ -76,7 +68,7 @@ Rails.application.routes.draw do
|
|
76
68
|
|
77
69
|
match '/forgot_username' => 'users#forgot_username', :as => :forgot_username, :via => [:get, :post]
|
78
70
|
|
79
|
-
post '/resend_activation' => 'users#resend_activation', :as => :resend_activation
|
71
|
+
post '/resend_activation/:id' => 'users#resend_activation', :as => :resend_activation
|
80
72
|
|
81
73
|
get '/new_clipping' => 'clippings#new_clipping'
|
82
74
|
post '/load_images_from_uri' => 'clippings#load_images_from_uri', :format => 'js'
|
@@ -100,6 +92,8 @@ Rails.application.routes.draw do
|
|
100
92
|
get '/friendships' => 'friendships#index', :as => :friendships
|
101
93
|
|
102
94
|
get 'manage_photos' => 'photos#manage_photos', :as => :manage_photos
|
95
|
+
post 'manage_photos' => 'photos#create_photos', :as => :create_photos
|
96
|
+
|
103
97
|
post 'create_photo.js' => 'photos#create', :as => :create_photo, :format => 'js'
|
104
98
|
|
105
99
|
resources :sessions
|
@@ -252,4 +246,5 @@ Rails.application.routes.draw do
|
|
252
246
|
get '/users/:user_id/posts/category/:category_name' => 'posts#index', :as => :users_posts_in_category
|
253
247
|
post '/users/metro_area_update' => 'users#metro_area_update', :as => :users_metro_area_update
|
254
248
|
|
249
|
+
|
255
250
|
end
|
data/config/spring.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Spring.application_root = './test/testapp'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateActiveAdminComments < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :active_admin_comments do |t|
|
4
|
+
t.string :namespace
|
5
|
+
t.text :body
|
6
|
+
t.string :resource_id, null: false
|
7
|
+
t.string :resource_type, null: false
|
8
|
+
t.references :author, polymorphic: true
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
add_index :active_admin_comments, [:namespace]
|
12
|
+
add_index :active_admin_comments, [:author_type, :author_id]
|
13
|
+
add_index :active_admin_comments, [:resource_type, :resource_id]
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
drop_table :active_admin_comments
|
18
|
+
end
|
19
|
+
end
|
data/lib/community_engine.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'acts-as-taggable-on'
|
2
|
+
require 'ckeditor' #has to come first so we can override stuff in CE
|
2
3
|
|
3
4
|
require 'community_engine/engine'
|
4
5
|
|
@@ -15,7 +16,7 @@ require 'hpricot'
|
|
15
16
|
require 'htmlentities'
|
16
17
|
require 'haml'
|
17
18
|
require 'sass-rails'
|
18
|
-
require 'aws
|
19
|
+
require 'aws-sdk'
|
19
20
|
require 'ri_cal'
|
20
21
|
require 'rakismet'
|
21
22
|
require 'kaminari'
|
@@ -29,13 +30,16 @@ require 'omniauth'
|
|
29
30
|
require 'authlogic'
|
30
31
|
require 'rails_autolink'
|
31
32
|
require 'ransack'
|
32
|
-
require 'tinymce-rails'
|
33
33
|
require 'sanitize'
|
34
34
|
require 'bootstrap-sass'
|
35
35
|
require 'bootstrap_form'
|
36
36
|
require 'font-awesome-rails'
|
37
37
|
require 'jquery-rails'
|
38
38
|
require 'jquery-ui-rails'
|
39
|
+
require 'jquery-turbolinks'
|
40
|
+
require 'turbolinks'
|
41
|
+
require 'active_admin'
|
42
|
+
require 'pundit'
|
39
43
|
|
40
44
|
# Rails 2.3 Plugins converted to lib
|
41
45
|
require 'activity_tracker'
|
@@ -53,6 +57,6 @@ require 'actionpack/action_caching'
|
|
53
57
|
require 'actionpack/page_caching'
|
54
58
|
|
55
59
|
# We need this here because it will not get autoloaded. Maybe this should go in lib?
|
56
|
-
|
60
|
+
require_dependency File.dirname(__FILE__) + "/../app/models/acts_as_taggable_on/tag"
|
57
61
|
|
58
62
|
include EnginesExtensions
|
@@ -0,0 +1,20 @@
|
|
1
|
+
ActiveAdmin.register Category do
|
2
|
+
permit_params :name, :tips, :new_post_text, :nav_text, :slug
|
3
|
+
|
4
|
+
menu :parent => "Taxonomy", :priority => 1
|
5
|
+
filter :name
|
6
|
+
|
7
|
+
index do
|
8
|
+
column :id do |category|
|
9
|
+
link_to category.id, admin_category_path(category)
|
10
|
+
end
|
11
|
+
|
12
|
+
column :name
|
13
|
+
column :tips
|
14
|
+
column :posts do |category|
|
15
|
+
category.posts.count
|
16
|
+
end
|
17
|
+
default_actions
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
ActiveAdmin.register_page "Dashboard" do
|
2
|
+
|
3
|
+
menu priority: 1, label: proc{ I18n.t("active_admin.dashboard") }
|
4
|
+
|
5
|
+
page_action :clear_cache do
|
6
|
+
case Rails.cache
|
7
|
+
when ActiveSupport::Cache::FileStore
|
8
|
+
dir = Rails.cache.cache_path
|
9
|
+
unless dir == Rails.public_path
|
10
|
+
FileUtils.rm_r(Dir.glob(dir+"/*")) rescue Errno::ENOENT
|
11
|
+
Rails.logger.info("Cache directory fully swept.")
|
12
|
+
end
|
13
|
+
flash[:notice] = :cache_cleared.l
|
14
|
+
else
|
15
|
+
Rails.logger.warn("Cache not swept: you must override AdminController#clear_cache to support #{Rails.cache}")
|
16
|
+
end
|
17
|
+
redirect_to admin_dashboard_path and return
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
content title: proc{ I18n.t("active_admin.dashboard") } do
|
22
|
+
|
23
|
+
columns do
|
24
|
+
column do
|
25
|
+
panel "Info" do
|
26
|
+
para "Welcome to CE."
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
column do
|
31
|
+
panel "Cache" do
|
32
|
+
link_to "Clear cache", admin_dashboard_clear_cache_path
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end # content
|
38
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
ActiveAdmin.register HomepageFeature, as: "Features" do
|
2
|
+
permit_params :url, :title, :description, :image
|
3
|
+
|
4
|
+
form do |f|
|
5
|
+
|
6
|
+
f.semantic_errors *f.object.errors.keys
|
7
|
+
inputs 'Details' do
|
8
|
+
input :url
|
9
|
+
input :title
|
10
|
+
end
|
11
|
+
|
12
|
+
inputs 'Content' do
|
13
|
+
input :description, input_html: {class: 'rich_text_editor'}
|
14
|
+
input :image, as: :file, required: true, hint: image_tag(f.object.image.url(:thumb))
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
panel 'Actions' do
|
19
|
+
actions
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
ActiveAdmin.register Page do
|
2
|
+
|
3
|
+
form do |f|
|
4
|
+
tabs do
|
5
|
+
tab 'Main' do
|
6
|
+
f.semantic_errors *f.object.errors.keys
|
7
|
+
inputs 'Details' do
|
8
|
+
input :title
|
9
|
+
input :published_as, as: :select, collection: ['live', 'draft']
|
10
|
+
li "Created at #{f.object.created_at}" unless f.object.new_record?
|
11
|
+
end
|
12
|
+
|
13
|
+
inputs 'Content' do
|
14
|
+
input :body, input_html: {class: 'rich_text_editor'}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
panel 'Actions' do
|
21
|
+
actions
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
ActiveAdmin.register Post do
|
2
|
+
permit_params :title, :raw_post, :published_at, :published_as, :category_id
|
3
|
+
|
4
|
+
filter :title
|
5
|
+
filter :user_login_cont, if: proc{ current_user.admin? }, label: "User"
|
6
|
+
filter :published_as, as: :select, collection: [['Published','live'], ['Draft','draft']], include_blank: true
|
7
|
+
filter :published_at
|
8
|
+
filter :created_at
|
9
|
+
|
10
|
+
scope_to unless: proc{ current_user.admin? } do
|
11
|
+
current_user.posts
|
12
|
+
end
|
13
|
+
|
14
|
+
controller do
|
15
|
+
def scoped_collection
|
16
|
+
end_of_association_chain.unscoped
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
index do
|
22
|
+
selectable_column
|
23
|
+
column :id do |post|
|
24
|
+
link_to post.id, admin_post_path(post)
|
25
|
+
end
|
26
|
+
|
27
|
+
column :user
|
28
|
+
|
29
|
+
column :published_at
|
30
|
+
column :published_as do |post|
|
31
|
+
if post.is_live? && post.published_at <= Time.now
|
32
|
+
link_to(:published.l, user_post_path(post.user, post))
|
33
|
+
elsif post.is_live? && post.published_at > Time.now
|
34
|
+
"Pending"
|
35
|
+
elsif !post.is_live?
|
36
|
+
:draft.l
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
column :title do |post|
|
41
|
+
link_to post.title, user_post_path(post.user, post)
|
42
|
+
end
|
43
|
+
column :tags do |post|
|
44
|
+
simple_format post.taggings.group_by(&:context).map{|context, array|
|
45
|
+
"<strong>#{context}</strong>: " + array.map{|t| t.tag.name }.join(',')
|
46
|
+
}.join("\n")
|
47
|
+
end
|
48
|
+
|
49
|
+
actions
|
50
|
+
end
|
51
|
+
|
52
|
+
form do |f|
|
53
|
+
tabs do
|
54
|
+
tab 'Content' do
|
55
|
+
f.semantic_errors *f.object.errors.keys
|
56
|
+
inputs 'Title' do
|
57
|
+
input :title
|
58
|
+
end
|
59
|
+
|
60
|
+
inputs 'Content' do
|
61
|
+
input :raw_post, input_html: {class: 'rich_text_editor'}
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
tab 'Meta' do
|
66
|
+
inputs 'Publishing' do
|
67
|
+
input :published_at, minute_step: 15
|
68
|
+
input :published_as, as: :select, collection: [['Live', 'live'], ['Draft', 'draft']]
|
69
|
+
li "Created at #{f.object.created_at}" unless f.object.new_record?
|
70
|
+
end
|
71
|
+
|
72
|
+
inputs "Taxonomy" do
|
73
|
+
input :category
|
74
|
+
input :tag_list, input_html: {id: 'tags', data: {auto_complete_url: auto_complete_for_tag_name_tags_path}}
|
75
|
+
end
|
76
|
+
|
77
|
+
inputs 'Commenting' do
|
78
|
+
input :comments_disabled
|
79
|
+
input :send_comment_notifications
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
panel 'Actions' do
|
86
|
+
actions
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
ActiveAdmin.register ActsAsTaggableOn::Tag, as: "Tag" do
|
2
|
+
menu :parent => "Taxonomy", :priority => 2
|
3
|
+
permit_params :name
|
4
|
+
|
5
|
+
filter :name
|
6
|
+
|
7
|
+
|
8
|
+
controller do
|
9
|
+
def find_resource
|
10
|
+
ActsAsTaggableOn::Tag.find_by_name(URI::decode(params[:id]))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
index do
|
16
|
+
column :id
|
17
|
+
column :name
|
18
|
+
column :taggings_count
|
19
|
+
column :featured
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
ActiveAdmin.register User do
|
2
|
+
permit_params :avatar_id, :country_id, :description, :email,
|
3
|
+
:gender, :login, :metro_area_id,
|
4
|
+
:notify_comments, :notify_community_news,
|
5
|
+
:notify_friend_requests, :password, :password_confirmation,
|
6
|
+
:profile_public, :state_id, :stylesheet, :vendor, :zip,
|
7
|
+
:tag_list,
|
8
|
+
{:avatar_attributes => [:id, :name, :description, :album_id, :user, :user_id, :photo, :photo_remote_url]}, :birthday
|
9
|
+
|
10
|
+
|
11
|
+
index do
|
12
|
+
selectable_column
|
13
|
+
column :id
|
14
|
+
column :login
|
15
|
+
column :email
|
16
|
+
column :created_at
|
17
|
+
actions
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
form do |f|
|
22
|
+
f.semantic_errors *f.object.errors.keys
|
23
|
+
|
24
|
+
inputs 'Details', :email, :login, :password, :password_confirmation
|
25
|
+
|
26
|
+
inputs 'Description' do
|
27
|
+
input :description, input_html: {class: 'rich_text_editor'}
|
28
|
+
input :tag_list
|
29
|
+
input :gender
|
30
|
+
input :birthday
|
31
|
+
end
|
32
|
+
|
33
|
+
f.inputs 'Location', :country, :state, :metro_area, :zip
|
34
|
+
|
35
|
+
f.inputs 'Notifications', :notify_comments, :notify_community_news, :notify_friend_requests
|
36
|
+
|
37
|
+
f.actions
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
# def activate_user
|
42
|
+
# user = User.find(params[:id])
|
43
|
+
# user.activate
|
44
|
+
# flash[:notice] = :the_user_was_activated.l
|
45
|
+
# redirect_to :action => :users
|
46
|
+
# end
|
47
|
+
|
48
|
+
# def deactivate_user
|
49
|
+
# user = User.find(params[:id])
|
50
|
+
# user.deactivate
|
51
|
+
# flash[:notice] = :the_user_was_deactivated.l
|
52
|
+
# redirect_to :action => :users
|
53
|
+
# end
|
54
|
+
end
|