BBenezech-papermill 0.5.0 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -11,6 +11,10 @@ Asset management made easy.
11
11
 
12
12
  $ sudo gem install sqlite3-ruby
13
13
  $ rails -m http://gist.github.com/177714.txt papermill-example
14
+ $ cd papermill-example
15
+ $ ./script/server
16
+ $ GoTo localhost:3000 and try to create an article with assets but without title
17
+ $ profit
14
18
 
15
19
  == Papermill comes in 2 flavors:
16
20
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.5.2
@@ -25,32 +25,25 @@ class PapermillController < ApplicationController
25
25
  end
26
26
 
27
27
  def destroy
28
- begin
29
- @asset = PapermillAsset.find(params[:id])
30
- render :update do |page|
31
- if @asset.destroy
32
- page << "jQuery('#papermill_asset_#{params[:id]}').remove()"
33
- else
34
- page << "jQuery('#papermill_asset_#{params[:id]}').show()"
35
- message = t("not-deleted", :ressource => @asset.name, :scope => "papermill")
36
- page << %{ notify("#{message}", error) }
37
- end
38
- end
39
- rescue ActiveRecord::RecordNotFound
40
- render :update do |page|
28
+ @asset = PapermillAsset.find_by_id(params[:id])
29
+ render :update do |page|
30
+ if @asset && @asset.destroy
41
31
  page << "jQuery('#papermill_asset_#{params[:id]}').remove()"
42
- message = t("not-found", :ressource => params[:id].to_s, :scope => "papermill")
43
- page << %{ notify("#{message}", "warning") }
32
+ else
33
+ page << "jQuery('#papermill_asset_#{params[:id]}').show()"
34
+ page << %{ notify("#{t((@asset && "not-deleted" || "not-found"), :ressource => @asset.name, :scope => "papermill")}", error) }
44
35
  end
45
36
  end
46
37
  end
47
38
 
48
39
  def update
49
- @asset = PapermillAsset.find params[:id]
50
- @asset.update(params)
40
+ @asset = PapermillAsset.find_by_id(params[:id])
51
41
  render :update do |page|
52
- message = t("updated", :ressource => @asset.name, :scope => "papermill")
53
- page << %{ notify("#{message}", "notice") }
42
+ if @asset && @asset.update(params)
43
+ page << %{ notify("#{t("updated", :ressource => @asset.name, :scope => "papermill")}", "notice") }
44
+ else
45
+ page << %{ notify("#{@asset && @asset.errors.full_messages.to_sentence || t("not-found", :ressource => params[:id].to_s, :scope => "papermill")}", "warning") }
46
+ end
54
47
  end
55
48
  end
56
49
 
@@ -72,7 +65,6 @@ class PapermillController < ApplicationController
72
65
  @old_asset.destroy if @old_asset
73
66
  render :partial => "papermill/asset", :object => @asset, :locals => {:gallery => params[:gallery], :thumbnail_style => params[:thumbnail_style]}
74
67
  else
75
- message = t("not-created", :scope => "papermill")
76
68
  render :text => message, :status => "500"
77
69
  end
78
70
  end
@@ -1,7 +1,7 @@
1
1
  <%- dom_id = dom_id(asset) -%>
2
2
  <%- delete_link = %{<a onclick="if(confirm('#{escape_javascript I18n.t("delete-confirmation", :scope => :papermill, :resource => asset.name)}')){ $.ajax({async:true, beforeSend:function(request){$('##{dom_id}').hide();}, dataType:'script', error:function(request){$('##{dom_id}').show();}, type:'delete', url:'#{papermill_url(asset)}'})}; return false;" href="#" class="delete"><img title="#{escape_javascript t("delete", :scope => "papermill", :ressource => asset.name)}" src="/images/papermill/delete.png" alt="delete"/></a>} %>
3
3
 
4
- <li id="<%= dom_id %>" rel="<%= edit_papermill_url(asset) %>" title="<%= t("#{thumbnail_style ? "thumbnail-" : ""}edit-title", :scope => "papermill", :ressource => asset.name) %>">
4
+ <li id="<%= dom_id %>" onDblClick="popup(jQuery(this).attr('rel')); return false;" rel="<%= edit_papermill_url(asset) %>" title="<%= t("#{thumbnail_style ? "thumbnail-" : ""}edit-title", :scope => "papermill", :ressource => asset.name) %>">
5
5
  <%= delete_link %>
6
6
  <%- if thumbnail_style -%>
7
7
  <%= render :partial => "papermill/thumbnail_asset", :object => asset, :locals => {:thumbnail_style => thumbnail_style} %>
@@ -3,7 +3,6 @@ en:
3
3
  not-processed: "Error/ressource not processed"
4
4
  updated: "{{ressource}} updated"
5
5
  not-deleted: "{{ressource}} could not be deleted"
6
- not-created: "Ressource could not be created"
7
6
  not-found: "Asset #{{ressource}} not found"
8
7
  edit-title: "" # You can use {{ressource}}
9
8
  thumbnail-edit-title: ""
@@ -18,7 +17,6 @@ fr:
18
17
  not-processed: "Erreur/ressource non trouvée"
19
18
  updated: "{{ressource}} mise à jour"
20
19
  not-deleted: "{{ressource}} n'a pas pu être supprimée"
21
- not-created: "La ressource n'a pas pu être créée"
22
20
  not-found: "Asset #{{ressource}} non trouvé"
23
21
  edit-title: ""
24
22
  thumbnail-edit-title: ""
@@ -12,7 +12,7 @@ rake "db:migrate"
12
12
  file "app/models/article.rb", <<-END
13
13
  class Article < ActiveRecord::Base
14
14
  validates_presence_of :title
15
- papermill :thumbnail => {:width => 50, :height => 50} # catch-all for non-specified associations
15
+ papermill :thumbnail => {:width => 100, :height => 75} # catch-all for non-specified associations
16
16
  papermill :image_gallery, :class_name => ImageAsset, :images_only => true, :thumbnail => {:width => 75, :height => 100}
17
17
  # image_gallery association (set with define_method)
18
18
  end
@@ -80,24 +80,24 @@ file "app/views/articles/show.html.erb", <<-END
80
80
  <% end %>
81
81
  </p>
82
82
  <br /><br />
83
- <b>@article.papermill_assets(:key => :my_other_image).first :</b>
83
+ <b>@article.papermill_assets(:my_other_image).first :</b>
84
84
  <p>
85
- <% image = @article.papermill_assets(:key => :my_other_image).first %>
85
+ <% image = @article.papermill_assets(:my_other_image).first %>
86
86
  <%= link_to(image_tag(image.url("100x100#")), image.url) if image %>
87
87
  </p>
88
88
  <br /><br />
89
- <b>@article.papermill_assets(:key => :my_assets).each :</b>
89
+ <b>@article.papermill_assets(:my_assets).each :</b>
90
90
  <p>
91
91
  <ul>
92
- <% @article.papermill_assets(:key => :my_assets).each do |asset| %>
92
+ <% @article.papermill_assets(:my_assets).each do |asset| %>
93
93
  <li><%= link_to asset.name, asset.url %></li>
94
94
  <% end %>
95
95
  </ul>
96
96
  </p>
97
97
  <br /><br />
98
- <b>@article.papermill_assets(:key => :my_other_asset).first :</b>
98
+ <b>@article.papermill_assets(:my_other_asset).first :</b>
99
99
  <p>
100
- <% asset = @article.papermill_assets(:key => :my_other_asset).first %>
100
+ <% asset = @article.papermill_assets(:my_other_asset).first %>
101
101
  <%= link_to(asset.name, asset.url) if asset %>
102
102
  </p>
103
103
 
@@ -3,9 +3,7 @@ class PapermillAsset < ActiveRecord::Base
3
3
 
4
4
  belongs_to :assetable, :polymorphic => true
5
5
  before_destroy :destroy_files
6
-
7
- named_scope :key, lambda { |key| { :conditions => { :assetable_key => key } } }
8
-
6
+
9
7
  Paperclip::Attachment.interpolations[:escaped_basename] = proc do |attachment, style|
10
8
  Paperclip::Attachment.interpolations[:basename].call(attachment, style).to_url
11
9
  end
@@ -14,10 +12,7 @@ class PapermillAsset < ActiveRecord::Base
14
12
  :path => "#{Papermill::PAPERMILL_DEFAULTS[:public_root]}/#{Papermill::PAPERMILL_DEFAULTS[:papermill_prefix]}/#{Papermill::PAPERCLIP_INTERPOLATION_STRING}",
15
13
  :url => "/#{Papermill::PAPERMILL_DEFAULTS[:papermill_prefix]}/#{Papermill::PAPERCLIP_INTERPOLATION_STRING}"
16
14
  validates_attachment_presence :file
17
-
18
- #validates_attachment_content_type :file, :content_type => ['image/jpeg', 'image/pjpeg', 'image/jpg', 'image/png', 'image/gif']
19
-
20
- # Fix the mime types. Make sure to require the mime-types gem
15
+
21
16
  def swfupload_file=(data)
22
17
  data.content_type = MIME::Types.type_for(data.original_filename).to_s
23
18
  self.file = data
@@ -47,9 +42,8 @@ class PapermillAsset < ActiveRecord::Base
47
42
  content_type && content_type.first == "image" && content_type[1]
48
43
  end
49
44
 
50
- # before_filter
51
45
  def destroy_files
52
- system "rm -rf #{Papermill::papermill_interpolated_path({":id_partition" => self.id_partition}, ':id_partition')}/" if image?
46
+ system "rm -rf #{Papermill::papermill_interpolated_path({":id_partition" => self.id_partition}, ':id_partition')}/"
53
47
  true
54
48
  end
55
49
  end
@@ -70,7 +70,6 @@ module Papermill
70
70
  :papermill_prefix => "system/papermill"
71
71
  }.deep_merge( Papermill.const_defined?("OPTIONS") ? Papermill::OPTIONS : {} )
72
72
 
73
-
74
73
  PAPERCLIP_INTERPOLATION_STRING = ":id_partition/:style/:escaped_basename.:extension"
75
74
 
76
75
  def self.included(base)
@@ -174,6 +173,5 @@ module Papermill
174
173
  end
175
174
  end
176
175
  end
177
-
178
176
  end
179
177
  end
data/papermill.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{papermill}
8
- s.version = "0.5.0"
8
+ s.version = "0.5.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Benoit B\303\251n\303\251zech"]
12
- s.date = %q{2009-09-03}
12
+ s.date = %q{2009-09-05}
13
13
  s.description = %q{Paperclip Swfupload UploadHelper wrapper}
14
14
  s.email = %q{benoit.benezech@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -60,7 +60,7 @@ Gem::Specification.new do |s|
60
60
  s.homepage = %q{http://github.com/BBenezech/papermill}
61
61
  s.rdoc_options = ["--charset=UTF-8"]
62
62
  s.require_paths = ["lib"]
63
- s.rubygems_version = %q{1.3.4}
63
+ s.rubygems_version = %q{1.3.5}
64
64
  s.summary = %q{Paperclip Swfupload UploadHelper wrapper}
65
65
  s.test_files = [
66
66
  "test/papermill_test.rb",
@@ -1,26 +1,15 @@
1
- /*
2
- Papermill SWFUpload wrapper
3
- You'll need jQuery or a **very** little bit of rewriting for native/prototype
4
- */
1
+ popup = function(title1, title) {
2
+ window.open (title1, title, config='height=700, width=600, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no')
3
+ }
4
+ // override at will
5
5
 
6
6
  notify = function(message, type) {
7
- // wrap with your own javascript alert system (here is the thing for jGrowl)
8
- //if(type == "notice") { jQuery.noticeAdd({ text: message, stayTime: 4000, stay: false, type: type }) }
9
- //if(type == "warning") { jQuery.noticeAdd({ text: message, stayTime: 9000, stay: false, type: type }) }
10
- //if(type == "error") { jQuery.noticeAdd({ text: message, stayTime: 20000, stay: false, type: type }) }
11
-
12
- // or simply
13
7
  alert(type + ": " + message)
14
8
  }
15
-
9
+ // You can override notify later, with your own notification system
16
10
 
17
11
  var Upload = {
18
- // The total number of files queued with SWFUpload
19
12
  files_queued: 0,
20
-
21
- set_recipient_id: function(dom_id) {
22
- this.recipient_id = dom_id
23
- },
24
13
  file_dialog_complete: function(num_selected, num_queued)
25
14
  {
26
15
  // SwfUpload doesn't order uploads by name out of the box...
@@ -74,7 +63,12 @@ var Upload = {
74
63
  },
75
64
  upload_success: function(file, data)
76
65
  {
77
- jQuery('#' + file.id).replaceWith(jQuery(data));
66
+ if(jQuery(data).length == 0) {
67
+ notify(data, "warning");
68
+ jQuery('#' + file.id).remove();
69
+ } else {
70
+ jQuery('#' + file.id).replaceWith(jQuery(data));
71
+ }
78
72
  },
79
73
  upload_complete: function(file)
80
74
  {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: BBenezech-papermill
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Benoit B\xC3\xA9n\xC3\xA9zech"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-03 00:00:00 -07:00
12
+ date: 2009-09-05 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency