New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Changeset 80746


Ignore:
Timestamp:
07/16/11 12:36:18 (4 years ago)
Author:
derek@…
Message:

Update existing installed_port submissions for a given user if they re-submit during the same month

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/gsoc11-statistics/stats-server/app/models/submission.rb

    r80745 r80746  
    4242  def add_port(user, macports_port, installed_port, month, year) 
    4343    logger.debug {"Adding installed port #{installed_port['name']}"} 
     44     
     45    # Update any ports found for this user is they have already been submitted this month 
     46    port_entry = InstalledPort.find_by_port_id_and_user_id_and_month_and_year(macports_port.id,  
     47                                                                              user.id,  
     48                                                                              month,  
     49                                                                              year) 
     50     
     51    # New port entry                   
     52    if port_entry.nil? 
     53      port_entry = InstalledPort.new 
     54    end 
    4455         
    45     portEntry = InstalledPort.new(:user_id => user.id, 
    46                              :port_id => macports_port.id, 
    47                              :version => installed_port['version'], 
    48                              :variants => installed_port['variants'], 
    49                              :month => month, 
    50                              :year => year) 
    51                          
    52     if not portEntry.save 
    53      logger.debug "Unable to save port #{port['name']}" 
    54      logger.debug "Error message: #{portEntry.errors.full_messages}" 
     56    port_entry[:user_id]  = user.id 
     57    port_entry[:port_id]  = macports_port.id 
     58    port_entry[:version]  = installed_port['version'] 
     59    port_entry[:variants] = installed_port['variants'] 
     60    port_entry[:month]    = month 
     61    port_entry[:year]     = year 
     62                               
     63    if not port_entry.save 
     64     logger.debug "Unable to save port #{installed_port['name']}" 
     65     logger.debug "Reason: #{port_entry.errors.full_messages}" 
    5566   end 
    5667 end 
Note: See TracChangeset for help on using the changeset viewer.