44 lines
1.4 KiB
Ruby
44 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'orbit_form_helper'
|
|
|
|
class VenueManagementInviting
|
|
include Mongoid::Document
|
|
include Mongoid::Timestamps
|
|
include Mongoid::Enum
|
|
include OrbitTag::Taggable
|
|
PAYERS = [ :school, :vendor].freeze
|
|
BID_RESULTS = [ :failure, :abandoned, :qualified].freeze
|
|
|
|
field :case_no, type: String
|
|
field :publish_times, type: Integer
|
|
field :start_date, type: Date, default: Time.now
|
|
field :end_date, type: Date
|
|
field :close_date, type: Date
|
|
field :bid_date, type: Date
|
|
field :evaluation_date, type: Date
|
|
field :early_rent, type: Integer
|
|
field :operation_rent, type: Integer
|
|
field :royalty, type: String
|
|
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
|
|
|
|
has_many :venue_management_contracts
|
|
has_many :venue_management_memorabilias, :class_name => 'VenueManagementMemorabilia', :foreign_key => "venue_management_memorabilia_ids"
|
|
belongs_to :venue_management_main
|
|
include VenueLinkFile
|
|
def display_case_no
|
|
return (self.case_no.blank? ? I18n.t(:empty) : self.case_no)
|
|
end
|
|
before_save do
|
|
contracts = self.venue_management_contracts
|
|
org_inviting = VenueManagementInviting.find(self.id) rescue nil
|
|
contracts.each do |contract|
|
|
contract.update_inviting(self,org_inviting,contract)
|
|
end
|
|
end
|
|
end
|