Class: Vendor
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Vendor
- Defined in:
- app/models/vendor.rb
Class Method Summary collapse
- .approve(organization, id) ⇒ Object
- .approve_all(organization) ⇒ Object
- .filter_data(organization, page, params) ⇒ Object
-
.find_vendor(vendor) ⇒ Object
Find vendor for asset.
-
.get_vendor(organization_id, vendor_id) ⇒ Object
Find vendor for email.
- .vendor_details(organization, start_date, end_date) ⇒ Object
Instance Method Summary collapse
- #average_rating ⇒ Object
-
#get_asset_purchase_vendor ⇒ Object
Get Asset Purchase Vendor.
-
#get_asset_repair_vendor ⇒ Object
Get Asset Vendor.
- #get_vendor_status(vendor) ⇒ Object
- #repair_request_count ⇒ Object
- #send_noftification(organization, vendor, user) ⇒ Object
- #vending_cost ⇒ Object
Class Method Details
.approve(organization, id) ⇒ Object
65 66 67 68 |
# File 'app/models/vendor.rb', line 65 def self.approve(organization, id) vendor = Vendor.find_by_id(id) vendor.update_attributes(:approve => true) end |
.approve_all(organization) ⇒ Object
59 60 61 62 63 64 |
# File 'app/models/vendor.rb', line 59 def self.approve_all(organization) vendors = organization.vendors.where(:approve => false) vendors.each do |v| v.update_attributes(:approve => true) end end |
.filter_data(organization, page, params) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/models/vendor.rb', line 31 def self.filter_data(organization,page ,params) if params == "All" @vendors = organization.vendors elsif params == "6" @vendors = organization.vendors.where(:approve => true) elsif params == "7" @vendors = organization.vendors.where(:approve => false) elsif params == "rated" not_rated = [] organization.vendors.each do |vv| if vv..count > 0 not_rated << vv end end @vendors = not_rated elsif params == "unrated" rated = [] organization.vendors.each do |vv| if vv..count == 0 rated << vv end end @vendors = rated else @vendors = organization.vendors.select("vendors.*").joins("LEFT OUTER JOIN vendor_ratings ON vendors.id = vendor_ratings.vendor_id").where("vendor_ratings.rating ="+params+"").paginate(:page => page) end end |
.find_vendor(vendor) ⇒ Object
Find vendor for asset
100 101 102 103 104 105 106 107 108 |
# File 'app/models/vendor.rb', line 100 def self.find_vendor(vendor) vend = self.find_by_id(vendor) if vend.blank? name = "" else name = vend.name end return name end |
.get_vendor(organization_id, vendor_id) ⇒ Object
Find vendor for email
95 96 97 |
# File 'app/models/vendor.rb', line 95 def self.get_vendor(organization_id , vendor_id) self.find_by_id_and_organization_id(vendor_id , organization_id) end |
.vendor_details(organization, start_date, end_date) ⇒ Object
82 83 84 85 86 87 88 89 90 91 |
# File 'app/models/vendor.rb', line 82 def self.vendor_details(organization , start_date , end_date) organization.users.each do |user| user.member.each do|mem| if mem.has_role? 'vendor' @find_user = User.where("id =? and created_at >= ? and created_at <= ?", user.id, start_date , end_date) end end end return @find_user end |
Instance Method Details
#average_rating ⇒ Object
26 27 28 29 |
# File 'app/models/vendor.rb', line 26 def = VendorRating.where(vendor_id: self.id).average("rating") return .to_i end |
#get_asset_purchase_vendor ⇒ Object
Get Asset Purchase Vendor
116 117 118 |
# File 'app/models/vendor.rb', line 116 def get_asset_purchase_vendor Asset.where("purchase_vendor_id = ?", self.id) end |
#get_asset_repair_vendor ⇒ Object
Get Asset Vendor
111 112 113 |
# File 'app/models/vendor.rb', line 111 def get_asset_repair_vendor Asset.where("vendor_id = ?", self.id) end |
#get_vendor_status(vendor) ⇒ Object
120 121 122 123 124 125 126 127 |
# File 'app/models/vendor.rb', line 120 def get_vendor_status(vendor) org = vendor.member.find_by_user_id(vendor.id) if vendor org_u = org.organization @user_dis = org_u.show_disabled_users end return @user_dis end |
#repair_request_count ⇒ Object
22 23 24 |
# File 'app/models/vendor.rb', line 22 def repair_request_count self.repair_requests.where(:status => 2).count end |
#send_noftification(organization, vendor, user) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 |
# File 'app/models/vendor.rb', line 70 def send_noftification(organization, vendor, user) managers = organization.managers(user) Notification.create_and_send_notification( :type => "UAV", :source => vendor, :summary => user.first_name + " Added Vendor " + vendor.name, :notifier => user, :managers => managers, :organizationID => organization.id ) end |
#vending_cost ⇒ Object
15 16 17 18 19 20 |
# File 'app/models/vendor.rb', line 15 def vending_cost repair_requests = self.repair_requests.where(:status => 2).where.not(:vending_cost => nil ) if repair_requests.length > 0 repair_requests.map{|r| r.vending_cost.to_i}.sum end end |