From 08800419a2cb977cb175eaaf271a8b80786190ac Mon Sep 17 00:00:00 2001 From: Jonathan Hoyt Date: Tue, 24 Mar 2009 17:33:17 -0400 Subject: [PATCH] made client/user tests pass by updating client and user models --- app/models/client.rb | 35 +++++++++++++++++++++-------------- app/models/user.rb | 2 +- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/app/models/client.rb b/app/models/client.rb index 7c7c5bd..4810056 100644 --- a/app/models/client.rb +++ b/app/models/client.rb @@ -1,6 +1,6 @@ class Client < ActiveRecord::Base - belongs_to :user + has_one :user has_attached_file :mugshot, :styles => { :medium => "400x300>", @@ -20,6 +20,14 @@ class Client < ActiveRecord::Base after_update :save_phones, :save_emails, :save_addresses + validate :validates_has_a_name + + def validates_has_a_name + if name.blank? && firstname.blank? && lastname.blank? + errors.add_to_base('Client needs at least a firstname, or a lastname, or a company name') + end + end + def to_json(options={}) super(options.merge(:methods => :lastfirst)) end @@ -86,7 +94,7 @@ def save_addresses address.save(false) end end - + def company_name if self.belongs_to != nil company = Client.find(self.belongs_to) @@ -99,19 +107,27 @@ def company_name def fullname if self.company == true return self.name - elsif self.firstname != nil || self.lastname != nil + elsif !self.firstname.blank? && !self.lastname.blank? return "#{self.firstname} #{self.lastname}" else - return "#{self.firstname}" + return self.somename end end def lastfirst if self.company == true return self.name - elsif self.firstname != nil || self.lastname != nil + elsif !self.firstname.blank? && !self.lastname.blank? return "#{self.lastname}, #{self.firstname}" else + return self.somename + end + end + + def somename + if self.firstname.blank? && !self.lastname.blank? + return "#{self.lastname}" + elsif !self.firstname.blank? && self.lastname.blank? return "#{self.firstname}" end end @@ -137,13 +153,4 @@ def primary_address def open_tickets Ticket.find(:all, :conditions => {:archived_on => nil, :client_id => self.id}) end - - def active_dialup_user? - if self.radcheck && self.radcheck.value[0..8] != "disabled_" - return true - else - return false - end - end - end diff --git a/app/models/user.rb b/app/models/user.rb index 3514977..d9a5eb1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -17,7 +17,7 @@ class User < ActiveRecord::Base # Relationships has_and_belongs_to_many :roles - has_one :client + belongs_to :client has_many :schedules has_attached_file :avatar,