Class: Caboose::MediaController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Caboose::MediaController
- Defined in:
- app/controllers/caboose/media_controller.rb
Instance Method Summary collapse
-
#admin_bulk_delete ⇒ Object
DELETE /admin/media/bulk.
-
#admin_delete ⇒ Object
DELETE /admin/media/:id.
-
#admin_edit ⇒ Object
GET /admin/media/:id.
-
#admin_index ⇒ Object
GET /admin/media.
-
#admin_json ⇒ Object
GET /admin/media/json.
-
#admin_new ⇒ Object
GET /admin/media/new.
-
#admin_pre_upload ⇒ Object
POST /admin/media/pre-upload.
-
#admin_update ⇒ Object
PUT /admin/media/:id.
- #before_action ⇒ Object
Methods inherited from ApplicationController
#add_ga_event, #admin_add, #admin_bulk_add, #admin_bulk_update, #admin_json_single, #before_before_action, #hashify_query_string, #init_cart, #logged_in?, #logged_in_user, #login_user, #logout_user, #parse_url_params, #reject_param, #under_construction_or_forwarding_domain?, #user_is_allowed, #user_is_allowed_to, #validate_cookie, #validate_token, #var, #verify_logged_in
Instance Method Details
#admin_bulk_delete ⇒ Object
DELETE /admin/media/bulk
93 94 95 96 97 98 99 100 101 102 |
# File 'app/controllers/caboose/media_controller.rb', line 93 def admin_bulk_delete return unless user_is_allowed('media', 'delete') ids = params[:ids] if ids ids.each do |id| Media.where(:id => id).destroy_all end end render :json => { :success => true } end |
#admin_delete ⇒ Object
DELETE /admin/media/:id
86 87 88 89 90 |
# File 'app/controllers/caboose/media_controller.rb', line 86 def admin_delete return unless user_is_allowed('media', 'delete') Media.find(params[:id]).destroy render :json => { :success => true } end |
#admin_edit ⇒ Object
GET /admin/media/:id
60 61 62 63 64 |
# File 'app/controllers/caboose/media_controller.rb', line 60 def admin_edit return unless user_is_allowed('media', 'edit') @media = Media.find(params[:id]) render :layout => 'caboose/admin' end |
#admin_index ⇒ Object
GET /admin/media
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/controllers/caboose/media_controller.rb', line 12 def admin_index return if !user_is_allowed('media', 'view') render :file => 'caboose/extras/error_invalid_site' and return if @site.nil? config = YAML.load(File.read(Rails.root.join('config', 'aws.yml')))[Rails.env] access_key = config['access_key_id'] secret_key = config['secret_access_key'] bucket = config['bucket'] policy = { "expiration" => 1.hour.from_now.utc.xmlschema, "conditions" => [ { "bucket" => "#{bucket}-uploads" }, { "acl" => "public-read" }, [ "starts-with", "$key", '' ], #[ "starts-with", "$Content-Type", 'image/' ], [ 'starts-with', '$name', '' ], [ 'starts-with', '$Filename', '' ], ] } @policy = Base64.encode64(policy.to_json).gsub(/\n/,'') @signature = Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha1'), secret_key, @policy)).gsub("\n","") @s3_upload_url = "https://#{bucket}-uploads.s3.amazonaws.com/" @aws_access_key_id = access_key id = params[:media_category_id] @top_media_category = MediaCategory.top_category(@site.id) @media_category = id ? MediaCategory.find(id) : @top_media_category render :layout => 'caboose/admin' end |
#admin_json ⇒ Object
GET /admin/media/json
43 44 45 46 47 48 49 50 |
# File 'app/controllers/caboose/media_controller.rb', line 43 def admin_json return if !user_is_allowed('media', 'view') render :json => false and return if @site.nil? id = params[:media_category_id] cat = id ? MediaCategory.find(id) : MediaCategory.top_category(@site.id) render :json => cat.api_hash end |
#admin_new ⇒ Object
GET /admin/media/new
53 54 55 56 57 |
# File 'app/controllers/caboose/media_controller.rb', line 53 def admin_new return unless user_is_allowed('media', 'add') @media_category_id = params[:media_category_id] render :layout => 'caboose/admin' end |
#admin_pre_upload ⇒ Object
POST /admin/media/pre-upload
105 106 107 108 109 110 111 112 113 |
# File 'app/controllers/caboose/media_controller.rb', line 105 def admin_pre_upload return unless user_is_allowed('media', 'view') media_category_id = params[:media_category_id] original_name = params[:name] name = Caboose::Media.upload_name(original_name) m = Media.where(:media_category_id => media_category_id, :original_name => original_name, :name => name).first Media.create(:media_category_id => media_category_id, :original_name => original_name, :name => name, :processed => false) if m.nil? render :json => { :success => true } end |
#admin_update ⇒ Object
PUT /admin/media/:id
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'app/controllers/caboose/media_controller.rb', line 67 def admin_update return unless user_is_allowed('media', 'edit') resp = StdClass.new({'attributes' => {}}) m = Media.find(params[:id]) save = true params.each do |name, value| case name when 'name' then m.name = value when 'description' then m.description = value end end resp.success = save && m.save render :json => resp end |
#before_action ⇒ Object
7 8 9 |
# File 'app/controllers/caboose/media_controller.rb', line 7 def before_action @page = Page.page_with_uri(request.host_with_port, '/admin') end |