Changeset 1365
- Timestamp:
- 08/25/08 14:41:22 (5 months ago)
- Files:
-
- trunk/app/controllers/documents_controller.rb (modified) (10 diffs)
- trunk/app/controllers/subscriptions_controller.rb (modified) (6 diffs)
- trunk/app/views/documents/_documents.rhtml (modified) (2 diffs)
- trunk/app/views/documents/listen.rhtml (deleted)
- trunk/app/views/subscriptions/_subscriptions.rhtml (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/app/controllers/documents_controller.rb
r1138 r1365 1 1 class DocumentsController < ApplicationController 2 2 layout 'documents', :except => [:auto_complete_for_tags] 3 3 4 4 upload_status_for :upload 5 5 6 6 def index 7 7 redirect_to :action => 'manage' 8 8 end 9 9 10 10 def add 11 11 @document = AudioDocument.new(params[:document]) … … 21 21 end 22 22 end 23 24 def show 23 24 def show 25 25 @document = User.find(session[:user]).documents.find(params[:id], :include => :tags) 26 26 @review = Review.new(params[:review]) … … 30 30 if @review.save 31 31 flash[:success] = "Votre commentaire a bien été ajouté" 32 redirect_to :action => 'show', :id => @document 32 redirect_to :action => 'show', :id => @document 33 33 else 34 34 flash[:failure] = "Votre commentaire n'a pas été ajouté" … … 38 38 end 39 39 end 40 40 41 41 def edit 42 42 @document = User.find(session[:user]).documents.find(params[:id]) … … 56 56 @document = User.find(session[:user]).documents.find(:all, :limit => @pages.items_per_page, :offset => @pages.current.offset, :include => :tags) 57 57 end 58 58 59 59 def upload 60 60 @document = User.find(session[:user]).documents.find(params[:id]) … … 63 63 @document.save 64 64 end 65 65 66 66 if request.post? 67 67 if params[:mode] == "ftp" … … 75 75 else 76 76 upload_file = params[:document][:file] 77 end 78 77 end 78 79 79 upload_progress.message = "Vérification du document ..." 80 80 session.update 81 81 82 82 begin 83 83 logger.debug "Upload file: #{upload_file}" 84 uploaded = @document.upload_file(upload_file) 84 uploaded = @document.upload_file(upload_file) 85 85 rescue Exception => e 86 86 logger.error("Can't upload #{upload_file.to_s}: #{e}") 87 87 end 88 88 89 89 if uploaded 90 90 @document.upload = nil … … 92 92 flash[:success] = "Votre fichier a bien été déposé" 93 93 redirect_to :action => 'share', :id => @document 94 else 95 flash[:failure] = "Votre fichier n'a pas été déposé" 94 else 95 flash[:failure] = "Votre fichier n'a pas été déposé" 96 96 redirect_to :action => 'upload', :id => @document 97 97 end 98 98 end 99 99 end 100 100 101 101 def download 102 102 @document = User.find(session[:user]).documents.find(params[:id]) 103 103 send_file @document.path, :type => @document.format, :filename => @document.filename 104 104 end 105 105 106 106 def destroy 107 107 User.find(session[:user]).documents.find(params[:id]).destroy … … 113 113 flash[:warning] = "Votre document n'est lié à aucun fichier" unless @document.uploaded? 114 114 end 115 115 116 116 def tag 117 117 @pages = Paginator.new(self, User.find(session[:user]).documents.find_by_tag(params[:name]).size, 4, params[:page]) 118 118 @document = User.find(session[:user]).documents.find_by_tag(params[:name], { :offset => @pages.current.offset, :limit => @pages.items_per_page }) 119 119 end 120 120 121 121 def auto_complete_for_tags 122 122 @tag = Tag.find(:all, :conditions => ["name ~* ?", params[:labels]]) 123 123 end 124 124 125 125 def listen 126 126 @document = User.find(session[:user]).documents.find(params[:id]) 127 redirect_to :controller => 'casts', :action => 'play', :name => @document.casts.first.name 127 128 end 128 129 … … 130 131 input = params[:input].nil? ? "" : params[:input].downcase 131 132 id = params[:id] 132 133 133 134 @people = Document.find(id).nonsubscribers.delete_if do |people| 134 135 ! people.match_name?(input) 135 136 end 136 137 render :partial => "users/people", :object => @people, :locals => { :empty => "Aucun utilisateur ne correspond", :draggable => true } 137 end 138 end 138 139 end trunk/app/controllers/subscriptions_controller.rb
r1130 r1365 1 1 class SubscriptionsController < ApplicationController 2 2 layout 'documents' 3 3 4 4 def index 5 5 redirect_to :action => 'manage' 6 6 end 7 8 7 9 8 def manage 10 9 @pages = Paginator.new(self, User.find(session[:user]).find_subscriptions.size, 4, params[:page]) 11 10 @subscription = User.find(session[:user]).find_subscriptions(:limit => @pages.items_per_page, :offset => @pages.current.offset) 12 end 13 11 end 12 13 def listen 14 @subscription = User.find(session[:user]).find_subscription(params[:id]) 15 redirect_to :controller => 'casts', :action => 'play', :name => @subscription.document.casts.first.name 16 end 17 14 18 def show 15 19 @subscription = User.find(session[:user]).find_subscription(params[:id]) … … 19 23 @review.user = User.find(session[:user]) 20 24 if @review.save 21 flash[:success] = "Votre commentaire a bien été ajouté" 22 redirect_to :action => 'show', :id => @subscription 25 flash[:success] = "Votre commentaire a bien été ajouté" 26 redirect_to :action => 'show', :id => @subscription 23 27 else 24 28 flash[:failure] = "Votre commentaire n'a pas été ajouté" … … 28 32 end 29 33 end 30 34 31 35 def add 32 36 document_id = params[:document] 33 37 subscriber_type, subscriber_id = params[:id].split("_") 34 38 35 39 @subscription = Subscription.new do |subscription| 36 40 subscription.author = User.find(session[:user]) … … 38 42 subscription.subscriber = Object.const_get(subscriber_type.capitalize).find(subscriber_id) 39 43 end 40 44 41 45 unless @subscription.save 42 46 logger.error("can't create subscription on #{document_id} for #{subscriber_type}:#{subscriber_id} : #{@subscription.errors.inspect}") 43 47 end 44 48 45 49 render :action => "update" 46 50 end 47 51 48 52 def remove 49 53 @subscription = User.find(session[:user]).documents.find(params[:document]).subscriptions.find(:first, :conditions => ["author_id = ? AND subscriber_id = ?", session[:user], params[:id].split("_")[1]]) … … 51 55 render :action => "update" 52 56 end 53 57 54 58 def tag 55 59 @pages = Paginator.new(self, User.find(session[:user]).find_subscriptions(:tag => params[:name]).size, 4, params[:page]) 56 60 @subscriptions = User.find(session[:user]).find_subscriptions(:tag => params[:name], :offset => @pages.current.offset, :limit => @pages.items_per_page) 57 61 end 58 62 59 63 def download 60 64 @subscription = User.find(session[:user]).find_subscription(params[:id]) … … 62 66 send_file @subscription.document.path, :type => @subscription.document.format, :filename => @subscription.document.filename 63 67 end 64 68 65 69 end trunk/app/views/documents/_documents.rhtml
r986 r1365 12 12 </div> 13 13 <% end %> 14 <% unless document.tags.empty? or !tags %> 14 <% unless document.tags.empty? or !tags %> 15 15 <div class="tags"> 16 16 <% for tag in document.tags %> 17 <%= link_to(tag.name, { :action => "tag", :name => tag.name }, :title => "Etiquette : #{tag.name}", :rel => "tag") %> 17 <%= link_to(tag.name, { :action => "tag", :name => tag.name }, :title => "Etiquette : #{tag.name}", :rel => "tag") %> 18 18 <% end %> 19 19 </div> … … 21 21 <% if actions %> 22 22 <div class="actions"> 23 <% if document.cues.size > 1%>23 <% unless document.casts.empty? %> 24 24 <%= link_to("Ecouter", {:action => "listen", :id => document }, :title => "Ecouter le document", :class => "listen") %> 25 <% end %>26 <% if document.cues.size == 1 %>27 <%= link_to("Ecouter", { :controller => "cues", :action => "playlist", :id => document.cues.first }, :title => "Ecouter le document", :class => "listen") %>28 25 <% end %> 29 26 <%= link_to("Télécharger", {:action => "download", :id => document }, :title => "Télécharger votre fichier", :class => "download") if document.uploaded? %> trunk/app/views/subscriptions/_subscriptions.rhtml
r986 r1365 12 12 </div> 13 13 <% end %> 14 <% unless subscription.document.tags.empty? or !tags %> 14 <% unless subscription.document.tags.empty? or !tags %> 15 15 <div class="tags"> 16 16 <% for tag in subscription.document.tags %> 17 <%= link_to(tag.name, { :action => "tag", :name => tag.name }, :rel => "tag") %> 17 <%= link_to(tag.name, { :action => "tag", :name => tag.name }, :rel => "tag") %> 18 18 <% end %> 19 19 </div> … … 23 23 <span class="author" title="<%= subscription.author.name %> â <%= subscription.author.organization %>"><%= subscription.author.name %></span> 24 24 25 <% if subscription.document.cues.size == 1%>26 <%= link_to("Ecouter", { :controller => " cues", :action => "playlist", :id => subscription.document.cues.first}, :title => "Ecouter le document", :class => "listen") %>25 <% unless subscription.document.casts.empty? %> 26 <%= link_to("Ecouter", { :controller => "subscriptions", :action => "listen", :id => subscription }, :title => "Ecouter le document", :class => "listen") %> 27 27 <% end %> 28 28 29 29 <% unless subscription.document.uploaded? %> 30 30 <%= link_to("Non disponible", {:action => "show", :id => subscription }, :title => "Ce fichier n'est pas disponible", :class => "unavailable") %>
