Changeset 1126

Show
Ignore:
Timestamp:
08/19/07 00:38:43 (1 year ago)
Author:
alban
Message:

remove Author class

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/app/controllers/document_controller.rb

    r1122 r1126  
    5050   
    5151  def current_author 
    52     Author.find(@user_id) 
     52    User.find(@user_id) 
    5353  end 
    5454   
  • trunk/app/controllers/documents_controller.rb

    r1123 r1126  
    1111    @document = AudioDocument.new(params[:document]) 
    1212    if request.post? 
    13       @document.author = Author.find(session[:user]) 
     13      @document.author = User.find(session[:user]) 
    1414        @document.tag_with(params[:labels]) 
    1515      if @document.save 
     
    2323   
    2424  def show  
    25         @document = Author.find(session[:user]).documents.find(params[:id], :include => :tags) 
     25        @document = User.find(session[:user]).documents.find(params[:id], :include => :tags) 
    2626        @review = Review.new(params[:review]) 
    2727        if request.post? 
     
    4040     
    4141  def edit 
    42     @document = Author.find(session[:user]).documents.find(params[:id]) 
     42    @document = User.find(session[:user]).documents.find(params[:id]) 
    4343    if request.post? 
    4444        @document.tag_with(params[:labels]) 
     
    5353 
    5454        def manage 
    55                 @pages = Paginator.new(self, Author.find(session[:user]).documents.size, 4, params[:page]) 
    56                 @document = Author.find(session[:user]).documents.find(:all, :limit => @pages.items_per_page, :offset => @pages.current.offset, :include => :tags) 
     55                @pages = Paginator.new(self, User.find(session[:user]).documents.size, 4, params[:page]) 
     56                @document = User.find(session[:user]).documents.find(:all, :limit => @pages.items_per_page, :offset => @pages.current.offset, :include => :tags) 
    5757        end 
    5858   
    5959  def upload 
    60         @document = Author.find(session[:user]).documents.find(params[:id]) 
     60        @document = User.find(session[:user]).documents.find(params[:id]) 
    6161        unless @document.upload 
    6262                @document.upload = Upload.new 
     
    100100   
    101101  def download 
    102         @document = Author.find(session[:user]).documents.find(params[:id]) 
     102        @document = User.find(session[:user]).documents.find(params[:id]) 
    103103        send_file @document.path, :type => @document.format, :filename => @document.filename 
    104104  end 
    105105   
    106106  def destroy 
    107     Author.find(session[:user]).documents.find(params[:id]).destroy 
     107    User.find(session[:user]).documents.find(params[:id]).destroy 
    108108    redirect_to :action => 'manage' 
    109109  end 
    110110 
    111111  def share 
    112         @document = Author.find(session[:user]).documents.find(params[:id]) 
     112        @document = User.find(session[:user]).documents.find(params[:id]) 
    113113          flash[:warning] = "Votre document n'est lié à aucun fichier" unless @document.uploaded? 
    114114        end 
    115115         
    116116        def tag 
    117                 @pages = Paginator.new(self, Author.find(session[:user]).documents.find_by_tag(params[:name]).size, 4, params[:page]) 
    118                 @document = Author.find(session[:user]).documents.find_by_tag(params[:name], { :offset => @pages.current.offset, :limit => @pages.items_per_page }) 
     117                @pages = Paginator.new(self, User.find(session[:user]).documents.find_by_tag(params[:name]).size, 4, params[:page]) 
     118                @document = User.find(session[:user]).documents.find_by_tag(params[:name], { :offset => @pages.current.offset, :limit => @pages.items_per_page }) 
    119119        end 
    120120         
     
    124124         
    125125  def listen 
    126         @document = Author.find(session[:user]).documents.find(params[:id]) 
     126        @document = User.find(session[:user]).documents.find(params[:id]) 
    127127        end 
    128128 
  • trunk/app/controllers/podcasts_controller.rb

    r796 r1126  
    99    @podcast = Podcast.new(params[:podcast]) 
    1010    if request.post? 
    11       @podcast.author = Author.find(session[:user]) 
     11      @podcast.author = User.find(session[:user]) 
    1212        @podcast.tag_with(params[:labels]) 
    1313        @podcast.name = StringRandom.alphanumeric(8).downcase 
     
    2222   
    2323  def show  
    24         @podcast = Author.find(session[:user]).podcasts.find(params[:id], :include => :tags) 
     24        @podcast = User.find(session[:user]).podcasts.find(params[:id], :include => :tags) 
    2525  end 
    2626     
    2727  def edit 
    28     @podcast = Author.find(session[:user]).podcasts.find(params[:id]) 
     28    @podcast = User.find(session[:user]).podcasts.find(params[:id]) 
    2929    if request.post? 
    3030        @podcast.tag_with(params[:labels]) 
     
    3939 
    4040        def manage 
    41                 @pages = Paginator.new(self, Author.find(session[:user]).podcasts.size, 4, params[:page]) 
    42                 @podcast = Author.find(session[:user]).podcasts.find(:all, :limit => @pages.items_per_page, :offset => @pages.current.offset, :include => :tags) 
     41                @pages = Paginator.new(self, User.find(session[:user]).podcasts.size, 4, params[:page]) 
     42                @podcast = User.find(session[:user]).podcasts.find(:all, :limit => @pages.items_per_page, :offset => @pages.current.offset, :include => :tags) 
    4343        end 
    4444     
    4545  def destroy 
    46     Author.find(session[:user]).podcasts.find(params[:id]).destroy 
     46    User.find(session[:user]).podcasts.find(params[:id]).destroy 
    4747    redirect_to :action => 'manage' 
    4848  end 
  • trunk/app/controllers/subscriptions_controller.rb

    r796 r1126  
    3030        def add 
    3131                @subscription = Subscription.new do |subscription| 
    32         subscription.author = Author.find(session[:user]) 
     32        subscription.author = User.find(session[:user]) 
    3333        subscription.document = subscription.author.documents.find(params[:document]) 
    3434        subscription.subscriber = Subscriber.find(params[:id].split("_")[1]) 
     
    3939   
    4040  def remove 
    41     @subscription = Author.find(session[:user]).documents.find(params[:document]).subscriptions.find(:first, :conditions => ["author_id = ? AND subscriber_id = ?", session[:user], params[:id].split("_")[1]]) 
     41    @subscription = User.find(session[:user]).documents.find(params[:document]).subscriptions.find(:first, :conditions => ["author_id = ? AND subscriber_id = ?", session[:user], params[:id].split("_")[1]]) 
    4242    @subscription.destroy 
    4343    render :action => "update" 
  • trunk/app/controllers/users_controller.rb

    r1106 r1126  
    1313 
    1414        def dashboard 
    15                 @author = Author.find(session[:user]) 
     15                @author = User.find(session[:user]) 
    1616                @subscriber = Subscriber.find(session[:user]) 
    17                 @tag = @subscriber.subscriptions.collect{ |s| s.document.tags } + @author.documents.collect{ |d| d.tags } 
     17                user_tags = @author.documents.collect{ |d| d.tags } 
     18                @tag = @subscriber.subscriptions.collect{ |s| s.document.tags } + user_tags 
    1819                @tag = @tag.flatten.uniq[0..15] 
    1920        end 
    2021         
    2122        def tags 
    22           @author = Author.find(session[:user]) 
     23          @author = User.find(session[:user]) 
    2324                @subscriber = Subscriber.find(session[:user]) 
    2425          @tag = @subscriber.subscriptions.collect{ |s| s.document.tags } + @author.documents.collect{ |d| d.tags } 
     
    2728         
    2829        def tag 
    29                 @document = Author.find(session[:user]).documents.find_by_tag(params[:name], { :limit => 5 }) 
     30                @document = User.find(session[:user]).documents.find_by_tag(params[:name], { :limit => 5 }) 
    3031                @subscription = Subscriber.find(session[:user]).subscriptions.find_by_tag(params[:name], { :limit => 5 }) 
    3132        end 
    3233         
    3334        def find 
    34                 @document = Author.find(session[:user]).documents.find_by_keywords(params[:keywords]) 
     35                @document = User.find(session[:user]).documents.find_by_keywords(params[:keywords]) 
    3536                @subscription = Subscriber.find(session[:user]).subscriptions.find_by_keywords(params[:keywords]) 
    3637        end 
     
    8485                 
    8586                begin 
    86                 Subscriber.find(@user.id).subscriptions.build(:author => Author.find(1), :document => Document.find(1)).save 
     87                Subscriber.find(@user.id).subscriptions.build(:author => User.find(1), :document => Document.find(1)).save 
    8788          rescue ActiveRecord::RecordNotFound 
    8889            logger.error("no welcome document found") 
  • trunk/app/models/document.rb

    r1122 r1126  
    22require 'taglib' 
    33class Document < ActiveRecord::Base 
    4         belongs_to :author 
     4        belongs_to :author, :class_name => "User", :foreign_key => "author_id" 
    55        has_one :upload, :dependent => :destroy 
    66        has_many :subscribers, :through => :subscriptions 
  • trunk/app/models/podcast.rb

    r1010 r1126  
    11class Podcast < ActiveRecord::Base 
    22        has_and_belongs_to_many :tags 
    3         belongs_to :author 
     3        belongs_to :author, :class_name => "User", :foreign_key => "author_id" 
    44 
    55  def tag_with(list) 
  • trunk/app/models/subscription.rb

    r585 r1126  
    11class Subscription < ActiveRecord::Base 
    2         belongs_to :author 
    3         belongs_to :subscriber 
     2        belongs_to :author, :class_name => "User", :foreign_key => "author_id" 
     3        belongs_to :subscriber, :class_name => "User", :foreign_key => "subscriber_id" 
    44        belongs_to :document 
    55         
  • trunk/app/models/user.rb

    r1125 r1126  
    22class User < ActiveRecord::Base 
    33        has_many :reviews, :dependent => :destroy 
     4         
     5        has_many :documents, :dependent => :destroy, :order => "updated_at DESC", :foreign_key => "author_id" do 
     6                def find_by_tag(name, options = Hash.new) 
     7                        find_by_sql(["SELECT documents.* FROM documents, tags, documents_tags WHERE documents.id = documents_tags.document_id AND tags.id = documents_tags.tag_id AND documents.author_id = ? AND tags.name = ? OFFSET ? LIMIT ?", @owner.quoted_id, name, options[:offset], options[:limit]]) 
     8                end 
     9                 
     10                def find_by_keywords(keywords) 
     11                        find(:all, :conditions => ["title ~* ?", keywords]) 
     12                end 
     13        end 
     14         
     15        has_many :subscriptions, :dependent => :destroy, :order => "created_at DESC" do  
     16                def find_by_tag(name, options = Hash.new) 
     17                  options[:offset] = 0 if options[:offset] 
     18                        find_by_sql(["SELECT subscriptions.* FROM subscriptions, documents, tags, documents_tags WHERE subscriptions.document_id = documents.id AND documents.id = documents_tags.document_id AND tags.id = documents_tags.tag_id AND subscriptions.subscriber_id = ? AND tags.name = ? OFFSET ? LIMIT ?", @owner.quoted_id, name, options[:offset], options[:limit]]) 
     19                end 
     20                 
     21                def find_by_keywords(keywords) 
     22                        find_by_sql(["SELECT subscriptions.* FROM subscriptions, documents WHERE subscriptions.document_id = documents.id AND subscriptions.subscriber_id = ? AND documents.title ~* ?", @owner.quoted_id, keywords]) 
     23                end 
     24        end 
     25         
     26        has_many :podcasts, :dependent => :destroy, :foreign_key => "author_id" 
     27         
    428        has_and_belongs_to_many :groups 
    529        has_many :manageable_groups, :class_name => "Group", :foreign_key => "owner_id" 
  • trunk/test/functional/document_api_test.rb

    r1125 r1126  
    1414    @user = users(:elmo) 
    1515    @user_key = "#{@user.username}/#{@user.username}" 
    16     @document = Author.find(@user.id).documents.first 
     16    @document = User.find(@user.id).documents.first 
    1717    assert_not_nil @document 
    1818  end 
  • trunk/test/unit/user_test.rb

    r1125 r1126  
    3232        assert_kind_of User, User.find(:first) 
    3333  end 
     34   
     35  def test_documents 
     36                user = users(:elmo) 
     37                assert ! user.documents.empty? 
     38                tags = user.documents.collect{ |d| d.tags } 
     39  end 
     40   
    3441end