Class: Account
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Account
- Defined in:
- app/models/entities/account.rb
Overview
Copyright © 2008-2013 Michael Dvorkin and contributors.
Fat Free CRM is freely distributable under the terms of MIT license. See MIT-LICENSE file or www.opensource.org/licenses/mit-license.php
Schema Information
Table name: accounts
id :integer not null, primary key
user_id :integer
assigned_to :integer
name :string(64) default(""), not null
access :string(8) default("Public")
website :string(64)
toll_free_phone :string(32)
phone :string(32)
fax :string(32)
deleted_at :datetime
created_at :datetime
updated_at :datetime
email :string(64)
background_info :string(255)
rating :integer default(0), not null
category :string(32)
Class Method Summary collapse
-
.create_or_select_for(model, params) ⇒ Object
Class methods.
-
.per_page ⇒ Object
Default values provided through class methods.
Instance Method Summary collapse
-
#attach!(attachment) ⇒ Object
Attach given attachment to the account if it hasn’t been attached already.
-
#discard!(attachment) ⇒ Object
Discard given attachment from the account.
-
#location ⇒ Object
Extract last line of billing address and get rid of numeric zipcode.
Class Method Details
.create_or_select_for(model, params) ⇒ Object
Class methods.
110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'app/models/entities/account.rb', line 110 def self.create_or_select_for(model, params) if params[:id].present? account = Account.find(params[:id]) else account = Account.new(params) if account.access != "Lead" || model.nil? account.save else account.(model) end end account end |
.per_page ⇒ Object
Default values provided through class methods.
80 |
# File 'app/models/entities/account.rb', line 80 def self.per_page ; 20 ; end |
Instance Method Details
#attach!(attachment) ⇒ Object
Attach given attachment to the account if it hasn’t been attached already.
92 93 94 95 96 |
# File 'app/models/entities/account.rb', line 92 def attach!() unless self.send("#{.class.name.downcase}_ids").include?(.id) self.send(.class.name.tableize) << end end |
#discard!(attachment) ⇒ Object
Discard given attachment from the account.
100 101 102 103 104 105 106 |
# File 'app/models/entities/account.rb', line 100 def discard!() if .is_a?(Task) .update_attribute(:asset, nil) else # Contacts, Opportunities self.send(.class.name.tableize).delete() end end |
#location ⇒ Object
Extract last line of billing address and get rid of numeric zipcode.
84 85 86 87 88 |
# File 'app/models/entities/account.rb', line 84 def location return "" unless self[:billing_address] location = self[:billing_address].strip.split("\n").last location.gsub(/(^|\s+)\d+(:?\s+|$)/, " ").strip if location end |