venue_management/app/models/venue_management_inviting.rb

75 lines
2.4 KiB
Ruby
Raw Permalink Normal View History

2020-07-27 16:34:33 +00:00
# frozen_string_literal: true
require 'orbit_form_helper'
class VenueManagementInviting
include Mongoid::Document
include Mongoid::Timestamps
2020-11-13 07:00:10 +00:00
require 'mongoid/enum'
2020-07-27 16:34:33 +00:00
include Mongoid::Enum
2020-08-02 13:33:41 +00:00
include OrbitTag::Taggable
PAYERS = [ :school, :vendor].freeze
2020-09-22 15:19:59 +00:00
BID_RESULTS = [ :empty ,:failure, :abandoned, :qualified].freeze
2020-07-27 16:34:33 +00:00
field :case_no, type: String
field :publish_times, type: Integer
field :start_date, type: Date, default: Time.now
2020-07-30 17:30:14 +00:00
field :end_date, type: Date
2020-09-22 15:19:59 +00:00
field :close_date, type: DateTime
field :bid_date, type: DateTime
field :evaluation_date, type: DateTime
2020-07-27 16:34:33 +00:00
field :early_rent, type: Integer
field :operation_rent, type: Integer
field :royalty, type: String
2020-07-27 16:34:33 +00:00
field :contractor_manager # save user_id
enum :house_tax_payer, PAYERS
enum :land_tax_payer, PAYERS
enum :bid_result, BID_RESULTS
field :details, localize: true
2020-08-02 13:33:41 +00:00
has_many :venue_management_contracts
has_many :venue_management_memorabilias, :class_name => 'VenueManagementMemorabilia', :foreign_key => "venue_management_memorabilia_ids"
2020-07-27 16:34:33 +00:00
belongs_to :venue_management_main
2020-08-02 13:33:41 +00:00
include VenueLinkFile
2021-04-05 03:08:58 +00:00
after_create do
venue_management = self.venue_management_main
if venue_management
venue_management.inviting_history = venue_management.inviting_history + 1
venue_management.save(:validate=>false)
end
end
after_destroy do
venue_management = self.venue_management_main
if venue_management
venue_management.inviting_history = venue_management.inviting_history - 1
venue_management.save(:validate=>false)
end
end
2020-09-22 15:19:59 +00:00
def display_royalty
self.royalty.to_s.gsub("\r\n","<br>").html_safe
end
def display_close_date
self.close_date.strftime("%Y/%m/%d %H:%M") rescue ""
end
def display_bid_date
self.bid_date.strftime("%Y/%m/%d %H:%M") rescue ""
end
def display_evaluation_date
self.evaluation_date.strftime("%Y/%m/%d %H:%M") rescue ""
end
2020-09-14 14:55:39 +00:00
def display_case_no
return (self.case_no.blank? ? I18n.t(:empty) : self.case_no)
end
def display_details
html = self.details.to_s.split("\r\n").select{|s| !s.blank?}.first
return Nokogiri::HTML(html).css("body").text
end
2020-08-02 13:33:41 +00:00
before_save do
contracts = self.venue_management_contracts
org_inviting = VenueManagementInviting.find(self.id) rescue nil
2020-08-02 13:33:41 +00:00
contracts.each do |contract|
contract.update_inviting(self,org_inviting,contract)
2020-08-02 13:33:41 +00:00
end
end
2020-07-27 16:34:33 +00:00
end