Orbit/app/controllers/admin/assets_controller.rb

113 lines
3.3 KiB
Ruby
Raw Normal View History

2012-05-16 03:07:11 +00:00
class Admin::AssetsController < OrbitBackendController
2010-02-01 09:24:28 +00:00
def index
2012-05-16 03:07:11 +00:00
@assets = (params[:sort] || @filter) ? get_sorted_and_filtered("asset") : Asset.all.page(params[:page]).per(10)
2010-02-01 09:24:28 +00:00
end
def show
#TODO
2010-02-01 09:24:28 +00:00
end
def new
@asset = Asset.new
2012-05-16 03:07:11 +00:00
@asset_categories = AssetCategory.all
2012-05-16 22:28:29 +00:00
@tags = AssetTag.all
respond_to do |format|
format.html {}
format.js { render 'js/show_pop_up', :locals => {:partial => 'admin/assets/new'} }
end
end
def edit
@asset = Asset.find(params[:id])
2012-05-16 03:07:11 +00:00
@asset_categories = AssetCategory.all
2012-05-16 22:28:29 +00:00
@tags = AssetTag.all
respond_to do |format|
format.html {}
format.js { render 'js/show_pop_up', :locals => {:partial => 'admin/assets/edit'} }
end
2010-02-01 09:24:28 +00:00
end
def create
@asset = Asset.new(params[:asset])
@asset.filename = @asset.title rescue nil
2012-05-16 22:28:29 +00:00
if @asset.filename && @asset.save
2012-08-07 09:32:15 +00:00
# respond_to do |format|
# format.js {
# if params[:uploader]
# render 'create'
# else
# render 'js/remove_pop_up_and_reload_content', :locals => {:function => 'replaceWith', :id => "asset_#{@asset.id}", :value => @asset, :values => nil, :partial => 'admin/assets/asset', :locals => nil}
# end
# }
# end
2012-08-07 12:55:18 +00:00
# render :json=>{"url"=>@asset.data.url,"title"=>"xxx","desc"=>"sss"}.to_json
render :layout=>false
2010-02-01 09:24:28 +00:00
else
2012-09-12 11:12:50 +00:00
flash[:error] = t('create.fail')
2012-05-16 22:28:29 +00:00
@asset_categories = AssetCategory.all
@tags = AssetTag.all
respond_to do |format|
2012-05-16 22:28:29 +00:00
format.js {
if params[:uploader]
render 'file_upload'
else
render 'js/reload_pop_up', :locals => {:value => @asset, :values => nil, :partial => 'admin/assets/new', :locals => {:is_html => false}}
end
}
end
2010-02-01 09:24:28 +00:00
end
end
def update
@asset = Asset.find(params[:id])
if @asset.update_attributes(params[:asset])
respond_to do |format|
format.html { redirect_to admin_assets_url }
format.js { render 'js/remove_pop_up_and_reload_content', :locals => {:function => 'replaceWith', :id => "asset_#{@asset.id}", :value => @asset, :values => nil, :partial => 'admin/assets/asset', :locals => nil} }
end
2010-02-01 09:24:28 +00:00
else
2012-09-12 11:12:50 +00:00
flash[:error] = t('update.fail')
2012-05-16 22:28:29 +00:00
@asset_categories = AssetCategory.all
@tags = AssetTag.all
respond_to do |format|
format.html { render :action => :edit }
format.js { render 'js/reload_pop_up', :locals => {:value => @asset, :values => nil, :partial => 'admin/assets/edit', :locals => {:is_html => false}} }
end
2010-02-01 09:24:28 +00:00
end
end
def destroy
@asset = Asset.find(params[:id])
@asset.destroy
respond_to do |format|
format.js { render 'js/remove_element', :locals => {:id => "asset_#{@asset.id}"} }
end
2010-02-01 09:24:28 +00:00
end
2012-05-16 03:07:11 +00:00
def delete
2012-08-13 16:59:01 +00:00
if params[:ids]
2013-02-05 10:26:45 +00:00
asset = Asset.any_in(:_id => params[:ids]).destroy_all
2012-05-16 03:07:11 +00:00
end
redirect_to assets_url(:filter => params[:filter], :direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options])
end
2012-05-16 22:28:29 +00:00
def file_upload
@asset = Asset.new
@asset_categories = AssetCategory.all
@tags = AssetTag.all
render :layout => false
end
def file_select
@assets = Asset.all
render :layout => false
end
2010-02-01 09:24:28 +00:00
def check_permission
true
end
2010-02-01 09:24:28 +00:00
end