Class: PapermillController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/papermill_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'app/controllers/papermill_controller.rb', line 54

def create
  params[:assetable_id] = params[:assetable_id].nie
  asset_class = params[:asset_class].constantize
  params[:assetable_type] = params[:assetable_type] && params[:assetable_type].to_s.camelize.nie
  params[:swfupload_file] = params.delete(:Filedata)
  unless params[:gallery]
    @old_asset = asset_class.find(:first, :conditions => {:assetable_key => params[:assetable_key], :assetable_type => params[:assetable_type], :assetable_id => params[:assetable_id]})
  end
  @asset = asset_class.new(params.reject{|key, value| !(PapermillAsset.columns.map(&:name)+["swfupload_file"]).include?(key.to_s)})
  
  if @asset.save
    @old_asset.destroy if @old_asset
    render :partial => "papermill/asset", :object => @asset, :locals => {:gallery => params[:gallery], :thumbnail_style => params[:thumbnail_style]}
  else
    render :text => message, :status => "500"
  end
end

#destroyObject



27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/papermill_controller.rb', line 27

def destroy
  @asset = PapermillAsset.find_by_id(params[:id])
  render :update do |page|
    if @asset && @asset.destroy
      page << "jQuery('#papermill_asset_#{params[:id]}').remove()"
    else
      page << "jQuery('#papermill_asset_#{params[:id]}').show()"
      page << %{ notify("#{t((@asset && "not-deleted" || "not-found"), :ressource => @asset.name, :scope => "papermill")}", error) }
    end
  end
end

#editObject



50
51
52
# File 'app/controllers/papermill_controller.rb', line 50

def edit
  @asset = PapermillAsset.find params[:id]
end

#showObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/papermill_controller.rb', line 5

def show
  begin
    complete_id = (params[:id0] + params[:id1] + params[:id2]).to_i
    asset = PapermillAsset.find(complete_id)
    raise if asset.nil? || params[:style] == "original"
    style = Papermill::PAPERMILL_DEFAULTS[:aliases][params[:style]] || !Papermill::PAPERMILL_DEFAULTS[:alias_only] && params[:style]
    raise unless style

    if asset.image?
      temp_thumbnail = Paperclip::Thumbnail.make(asset_file = asset.file, style)
      new_parent_folder_path = File.dirname(new_image_path = asset_file.path(params[:style]))
      FileUtils.mkdir_p new_parent_folder_path unless File.exists? new_parent_folder_path
      FileUtils.cp temp_thumbnail.path, new_image_path
      redirect_to asset.url(params[:style])
    else
      redirect_to asset.url
    end
  rescue
    render :text => t("not-processed", :scope => "papermill"), :status => "500"
  end
end

#sortObject



72
73
74
75
76
77
# File 'app/controllers/papermill_controller.rb', line 72

def sort
  params[:papermill_asset].each_with_index do |id, index|
    PapermillAsset.find(id).update_attribute(:position, index + 1)
  end
  render :nothing => true
end

#updateObject



39
40
41
42
43
44
45
46
47
48
# File 'app/controllers/papermill_controller.rb', line 39

def update
  @asset = PapermillAsset.find_by_id(params[:id])
  render :update do |page|
    if @asset && @asset.update(params)
      page << %{ notify("#{t("updated", :ressource => @asset.name, :scope => "papermill")}", "notice") }
    else
      page << %{ notify("#{@asset && @asset.errors.full_messages.to_sentence || t("not-found", :ressource => params[:id].to_s, :scope => "papermill")}", "warning") }
    end
  end
end