From 8e672b38e9201f5de75cdedcd33989655a9beb87 Mon Sep 17 00:00:00 2001 From: bohung Date: Tue, 22 Sep 2020 23:19:59 +0800 Subject: [PATCH] Fix a lot things. Add reminder. --- .../venue_management_contracts_controller.rb | 2 + .../admin/venue_managements_controller.rb | 2 +- .../admin/venue_managements_field_helper.rb | 6 +- app/helpers/venue_admin_helper.rb | 2 +- app/models/concerns/venue_link_file.rb | 5 +- app/models/venue_management_contract.rb | 10 ++ app/models/venue_management_inviting.rb | 20 ++- app/models/venue_management_main.rb | 2 + app/models/venue_management_reminder.rb | 104 ++++++++++++++ .../venue_management_bills/_index.html.erb | 2 +- .../venue_management_contracts/_form.html.erb | 94 +++++++++---- .../_index.html.erb | 2 +- .../venue_management_invitings/_form.html.erb | 8 +- .../_index.html.erb | 4 +- .../admin/venue_managements/_form.html.erb | 23 +-- .../admin/venue_managements/_index.html.erb | 4 +- .../venue_shared/_form_reminder.html.erb | 110 +++++++++++++++ .../_venue_file_link_reminder.html.erb | 131 ++++++++++++++++++ .../venue_managements/show_contract.html.erb | 34 ++++- .../venue_managements/show_data.html.erb | 30 +++- .../venue_managements/show_inviting.html.erb | 18 ++- config/locales/en.yml | 20 ++- config/locales/zh_tw.yml | 22 ++- 23 files changed, 583 insertions(+), 72 deletions(-) create mode 100644 app/models/venue_management_reminder.rb create mode 100644 app/views/admin/venue_shared/_form_reminder.html.erb create mode 100644 app/views/admin/venue_shared/_venue_file_link_reminder.html.erb diff --git a/app/controllers/admin/venue_management_contracts_controller.rb b/app/controllers/admin/venue_management_contracts_controller.rb index 67e9121..599b428 100644 --- a/app/controllers/admin/venue_management_contracts_controller.rb +++ b/app/controllers/admin/venue_management_contracts_controller.rb @@ -42,6 +42,7 @@ class Admin::VenueManagementContractsController < Admin::VenueAdminController end def create + OrbitHelper.set_params(params,current_user) @venue_management_contract = VenueManagementContract.new(venue_management_contract_params) @venue_management_contract.save @@ -53,6 +54,7 @@ class Admin::VenueManagementContractsController < Admin::VenueAdminController end def update + OrbitHelper.set_params(params,current_user) @venue_management_contract.update_attributes!(venue_management_contract_params) redirect_to venue_management_contracts_admin_venue_management_path(@venue_management_contract.venue_management_main_id) end diff --git a/app/controllers/admin/venue_managements_controller.rb b/app/controllers/admin/venue_managements_controller.rb index 6a7ccc9..050b55a 100644 --- a/app/controllers/admin/venue_managements_controller.rb +++ b/app/controllers/admin/venue_managements_controller.rb @@ -26,8 +26,8 @@ class Admin::VenueManagementsController < Admin::VenueAdminController "venue_management.contractor", 'venue_management.event_during', 'venue_management.signup_during', - 'venue_management.contract_history', 'venue_management.inviting_history', + 'venue_management.contract_history', 'venue_management.memorabilia', 'venue_management.bills', 'venue_management.export' diff --git a/app/helpers/admin/venue_managements_field_helper.rb b/app/helpers/admin/venue_managements_field_helper.rb index f7dd339..443d20c 100644 --- a/app/helpers/admin/venue_managements_field_helper.rb +++ b/app/helpers/admin/venue_managements_field_helper.rb @@ -125,9 +125,9 @@ module Admin::VenueManagementsFieldHelper concat (content_tag :span, :class => 'add-on clearDate' do content_tag :i, nil, :class => 'icons-cross-3' end) - concat (content_tag :span, :class => 'add-on iconbtn' do - content_tag :i, nil, 'data-time-icon' => 'icons-clock', 'data-date-icon' => 'icons-calendar', :class=>"icons-calendar" - end) + # concat (content_tag :span, :class => 'add-on iconbtn' do + # content_tag :i, nil, 'data-time-icon' => 'icons-clock', 'data-date-icon' => 'icons-calendar', :class=>"icons-calendar" + # end) end end diff --git a/app/helpers/venue_admin_helper.rb b/app/helpers/venue_admin_helper.rb index 06b1c9f..41d89a3 100644 --- a/app/helpers/venue_admin_helper.rb +++ b/app/helpers/venue_admin_helper.rb @@ -7,7 +7,7 @@ module VenueAdminHelper venue = @template.instance_variable_get(:@venue) if !venue.nil? module_pages = @template.instance_variable_get(:@module_pages) - base_name = @object.class.to_s.underscore + base_name = self.object_name calendar_types = @template.instance_variable_get(:@calendar_types) style_attr = '' calendar_show = !@object['calendar_dict'][arg[0]].nil? diff --git a/app/models/concerns/venue_link_file.rb b/app/models/concerns/venue_link_file.rb index c5860bc..cc0ea90 100644 --- a/app/models/concerns/venue_link_file.rb +++ b/app/models/concerns/venue_link_file.rb @@ -16,10 +16,13 @@ module VenueLinkFile tmp = self.to_s.underscore.to_sym VenueManagementFile.send(:belongs_to,tmp, :class_name => self.to_s, :foreign_key => "#{tmp}_id") VenueManagementLink.send(:belongs_to,tmp, :class_name => self.to_s, :foreign_key => "#{tmp}_id") + VenueManagementReminder.send(:belongs_to,tmp, :class_name => self.to_s, :foreign_key => "#{tmp}_id") self.has_many :venue_management_files, :autosave => true, :dependent => :destroy self.accepts_nested_attributes_for :venue_management_files, :allow_destroy => true self.has_many :venue_management_links, :autosave => true, :dependent => :destroy self.accepts_nested_attributes_for :venue_management_links, :allow_destroy => true + self.has_many :venue_management_reminders, :autosave => true, :dependent => :destroy + self.accepts_nested_attributes_for :venue_management_reminders, :allow_destroy => true self.fields.values.each do|v| if v.type==Date || v.type==DateTime self.field v.name+'_reminder', type: Boolean,default: false @@ -30,7 +33,7 @@ module VenueLinkFile self.field :calendar_dict,type: Hash,default: {} def to_calendar_param venue_main = self.class.to_s == 'VenueManagementMain' ? self : VenueManagementMain.find(self.venue_management_main_id) - self.case_no+'-'+self.id.to_s+'?method=show_'+self.class.to_s.underscore.gsub('venue_management_','').gsub('main','data') + self.case_no.to_s+'-'+self.id.to_s+'?method=show_'+self.class.to_s.underscore.gsub('venue_management_','').gsub('main','data') end def calendar_id(field) self.calendar_dict[field] diff --git a/app/models/venue_management_contract.rb b/app/models/venue_management_contract.rb index c1b63d5..beaa164 100644 --- a/app/models/venue_management_contract.rb +++ b/app/models/venue_management_contract.rb @@ -43,18 +43,28 @@ class VenueManagementContract field :renewal_permission, type: Boolean field :sign_date, type: Date field :handover_date, type: Date + field :deposit_amount, type: String field :deposit_payment_date, type: Date field :deposit_type, type: String field :deposit_exp_date, type: Date field :insurance_type, type: String field :insurance_payment_deadline, type: Date field :insurance_payment_date, type: Date + field :insurance_type2, type: String + field :insurance_payment_deadline2, type: Date + field :insurance_payment_date2, type: Date + field :insurance_type3, type: String + field :insurance_payment_deadline3, type: Date + field :insurance_payment_date3, type: Date field :other_commitment, localize: true field :note, localize: true belongs_to :venue_management_main belongs_to :venue_management_inviting include VenueLinkFile + def display_royalty + self.royalty.to_s.gsub("\r\n","
").html_safe + end def update_inviting(inviting,check_inviting,org_contract=nil,save_flag=true) if !inviting.nil? %i(case_no publish_times start_date end_date close_date bid_date evaluation_date contractor_manager bid_result details).each do |attr_| diff --git a/app/models/venue_management_inviting.rb b/app/models/venue_management_inviting.rb index 0842600..dc5ee11 100644 --- a/app/models/venue_management_inviting.rb +++ b/app/models/venue_management_inviting.rb @@ -8,15 +8,15 @@ class VenueManagementInviting include Mongoid::Enum include OrbitTag::Taggable PAYERS = [ :school, :vendor].freeze - BID_RESULTS = [ :failure, :abandoned, :qualified].freeze + BID_RESULTS = [ :empty ,: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 :close_date, type: DateTime + field :bid_date, type: DateTime + field :evaluation_date, type: DateTime field :early_rent, type: Integer field :operation_rent, type: Integer field :royalty, type: String @@ -30,6 +30,18 @@ class VenueManagementInviting has_many :venue_management_memorabilias, :class_name => 'VenueManagementMemorabilia', :foreign_key => "venue_management_memorabilia_ids" belongs_to :venue_management_main include VenueLinkFile + def display_royalty + self.royalty.to_s.gsub("\r\n","
").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 def display_case_no return (self.case_no.blank? ? I18n.t(:empty) : self.case_no) end diff --git a/app/models/venue_management_main.rb b/app/models/venue_management_main.rb index f6822fa..5d049ba 100644 --- a/app/models/venue_management_main.rb +++ b/app/models/venue_management_main.rb @@ -10,6 +10,8 @@ class VenueManagementMain field :speaker, localize: true field :content, localize: true field :land_number, localize: true + field :land_area, localize: true + field :building_area, localize: true field :area, localize: true field :land_zoning, localize: true field :act_place, localize: true diff --git a/app/models/venue_management_reminder.rb b/app/models/venue_management_reminder.rb new file mode 100644 index 0000000..7183f71 --- /dev/null +++ b/app/models/venue_management_reminder.rb @@ -0,0 +1,104 @@ +# encoding: utf-8 +class VenueManagementReminder + include Mongoid::Document + include Mongoid::Timestamps + + field :description, localize: true + field :reminder_date, type: Date + field :reminder_date_reminder, type: Boolean,default: false + field :reminder_date_reminder_day, type: Integer + field :calendar_data,type: Hash,default: {type:{},key:[],page_id: {}} + field :calendar_dict,type: Hash,default: {} + has_many :venue_management_emails, :autosave => true, :dependent => :destroy + accepts_nested_attributes_for :venue_management_emails, :allow_destroy => true + def to_calendar_param + vm_contract = self.venue_management_contract rescue VenueManagementContract.all.select{|v| v.venue_management_reminder_ids.include? self.id}.first + venue_main = vm_contract.venue_management_main + self.description+'-'+vm_contract.id.to_s+'?method=show_contract' + end + def calendar_id(field) + self.calendar_dict[field] + end + before_save do + venue_main = self.venue_management_contract.venue_management_main rescue VenueManagementContract.all.select{|v| v.venue_management_reminder_ids.include? self.id}.first.venue_management_main + calendar_keys = Array(self.calendar_data['key']) + (self.calendar_dict.keys - calendar_keys).each do |key_deleted| + event = Event.where(:id => self.calendar_dict[key_deleted]).first + event.model_class = nil + event.destroy + self.calendar_dict.delete(key_deleted) + end + if !calendar_keys.blank? + calendar_keys.each do |key| + key_id = self.calendar_id(key) + current_user_id = OrbitHelper.current_user.id rescue nil + in_use_locales = Site.first.in_use_locales + title_tp = {} + note_tp = {} + titles = venue_main['title'].select{|k,v| v.present?}.to_h + notes = self.description_translations.select{|k,v| v.present?}.to_h + in_use_locales.each do |locale| + if titles[locale].nil? + title_tp[locale] = titles.values.first.to_s + " " + I18n.t("venue_management.reminder") + else + title_tp[locale] = venue_main['title'][locale].to_s + " " + I18n.t("venue_management.reminder") + end + note_tp[locale] = self.description_translations[locale].blank? ? I18n.t(:url_alt) +': ' + notes.values.first.to_s : I18n.t(:url_alt) +': ' + self.description_translations[locale] + end + update_dict = {key: key,model_class: self.class.to_s,model_id: self.id,update_user_id: current_user_id,calendar_type_id: calendar_data['type'][key],all_day: true,start: self.send(key),end: self.send(key),title_translations: title_tp,note_translations: note_tp,module_key: 'venue_management',model_page_id: calendar_data['page_id'][key]} + if key_id.nil? + self.calendar_dict[key] = Event.create(update_dict.merge(create_user_id: current_user_id)).id + else + calendar = Event.find(key_id) rescue nil + if calendar.nil? + self.calendar_dict[key] = Event.create(update_dict.merge(create_user_id: current_user_id)).id + else + calendar.update_attributes(update_dict) + end + end + end + end + self.venue_management_emails.each do |venue_mail| + email = venue_mail.email + if !email.nil? + email.destroy + end + end + self.venue_management_emails = [] + manager_emails = venue_main.manager_emails + self.fields.values.each do|v| + if v.type==Date || v.type==DateTime + if self.send(v.name+'_reminder') + title = venue_main.title + ' ' + self.description.to_s + ' ' + get_trans(v.name) + send_time = self.send(v.name)-self.send(v.name+'_reminder_day').day rescue nil + if !send_time.nil? + new_email = Email.create(mail_to: manager_emails, + module_app_key:"venue_management", + template:"email/reminder_email.html.erb", + mail_sentdate: send_time, + mail_subject: title, + template_data:{'title'=>title,'send_time'=>self.send(v.name),'locale'=>I18n.locale}) + self.venue_management_emails << VenueManagementEmail.new(email_id: new_email.id) + end + end + end + end + end + before_destroy do + calendar_keys = Array(self.calendar_data['key']) + calendar_keys.each do |key| + key_id = self.calendar_id(key) + event = Event.find(key_id) rescue nil + event.destroy + end + end + def get_trans(field) + class_name = self.class.to_s + if class_name == 'VenueManagementMain' + I18n.t("venue_management.#{field}") + else + class_name = class_name.underscore.gsub('venue_management','vm') + I18n.t("#{class_name}.#{field}") + end + end +end diff --git a/app/views/admin/venue_management_bills/_index.html.erb b/app/views/admin/venue_management_bills/_index.html.erb index c1066cf..ba3fa41 100644 --- a/app/views/admin/venue_management_bills/_index.html.erb +++ b/app/views/admin/venue_management_bills/_index.html.erb @@ -1,7 +1,7 @@ -<% if 'venue_management_memorabilias' == params[:action] %> +<% if 'venue_management_bills' == params[:action] %>

<%= @venue_management.title %>

<% end %> diff --git a/app/views/admin/venue_management_contracts/_form.html.erb b/app/views/admin/venue_management_contracts/_form.html.erb index 9e3e86d..056421a 100644 --- a/app/views/admin/venue_management_contracts/_form.html.erb +++ b/app/views/admin/venue_management_contracts/_form.html.erb @@ -51,7 +51,7 @@
- <%= f.text_field :royalty %> + <%= f.text_area :royalty %>
@@ -66,18 +66,6 @@ <%= f.select :land_tax_payer, VenueManagementInviting::PAYERS.map { |p| [t("vm_inviting.enums.#{p}"), p] } %>
-
- -
- <%= f.check_box :renewal_permission,:id => 'renewal_permission' %> -
-
-
- -
- <%= f.datetime_picker :renewal_deadline, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> -
-
@@ -90,6 +78,18 @@ <%= f.datetime_picker :contract_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %>
+
+ +
+ <%= f.datetime_picker :free_period_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
+
+ +
+ <%= f.datetime_picker :free_period_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
@@ -114,18 +114,6 @@ <%= f.datetime_picker :operation_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %>
-
- -
- <%= f.datetime_picker :free_period_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> -
-
-
- -
- <%= f.datetime_picker :free_period_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> -
-
@@ -138,6 +126,12 @@ <%= f.datetime_picker :handover_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %>
+
+ +
+ <%= f.text_field :deposit_amount %> +
+
@@ -176,6 +170,54 @@ <%= f.datetime_picker :insurance_payment_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %>
+
+ +
+ <%= f.text_field :insurance_type2 %> +
+
+
+ +
+ <%= f.datetime_picker :insurance_payment_deadline2, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
+
+ +
+ <%= f.datetime_picker :insurance_payment_date2, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
+
+ +
+ <%= f.text_field :insurance_type3 %> +
+
+
+ +
+ <%= f.datetime_picker :insurance_payment_deadline3, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
+
+ +
+ <%= f.datetime_picker :insurance_payment_date3, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
+
+ +
+ <%= f.check_box :renewal_permission,:id => 'renewal_permission' %> +
+
+
+ +
+ <%= f.datetime_picker :renewal_deadline, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_contract.new_record? %> +
+
@@ -221,7 +263,7 @@ <% end %> - <%= render partial: 'admin/venue_shared/venue_file_link',locals: {venue: @venue_management_contract,f: f} %> + <%= render partial: 'admin/venue_shared/venue_file_link_reminder',locals: {venue: @venue_management_contract,f: f} %> diff --git a/app/views/admin/venue_management_contracts/_index.html.erb b/app/views/admin/venue_management_contracts/_index.html.erb index 23e7757..49ec62a 100644 --- a/app/views/admin/venue_management_contracts/_index.html.erb +++ b/app/views/admin/venue_management_contracts/_index.html.erb @@ -36,7 +36,7 @@ - + diff --git a/app/views/admin/venue_management_invitings/_form.html.erb b/app/views/admin/venue_management_invitings/_form.html.erb index 1eeee0d..040cae4 100644 --- a/app/views/admin/venue_management_invitings/_form.html.erb +++ b/app/views/admin/venue_management_invitings/_form.html.erb @@ -50,19 +50,19 @@
- <%= f.datetime_picker :close_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_inviting.new_record? %> + <%= f.datetime_picker :close_date, :no_label => true, :format=>"yyyy/MM/dd HH:mm", :new_record => @venue_management_inviting.new_record? %>
- <%= f.datetime_picker :bid_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_inviting.new_record? %> + <%= f.datetime_picker :bid_date, :no_label => true, :format=>"yyyy/MM/dd HH:mm", :new_record => @venue_management_inviting.new_record? %>
- <%= f.datetime_picker :evaluation_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @venue_management_inviting.new_record? %> + <%= f.datetime_picker :evaluation_date, :no_label => true, :format=>"yyyy/MM/dd HH:mm", :new_record => @venue_management_inviting.new_record? %>
@@ -80,7 +80,7 @@
- <%= f.text_field :royalty %> + <%= f.text_area :royalty %>
diff --git a/app/views/admin/venue_management_invitings/_index.html.erb b/app/views/admin/venue_management_invitings/_index.html.erb index 3a69cd5..05e936b 100644 --- a/app/views/admin/venue_management_invitings/_index.html.erb +++ b/app/views/admin/venue_management_invitings/_index.html.erb @@ -19,7 +19,7 @@
<% end %> - + diff --git a/app/views/admin/venue_managements/_form.html.erb b/app/views/admin/venue_managements/_form.html.erb index b42a52d..b99df7a 100644 --- a/app/views/admin/venue_managements/_form.html.erb +++ b/app/views/admin/venue_managements/_form.html.erb @@ -430,7 +430,7 @@ - +
@@ -450,18 +450,19 @@
- -
- -
-
- <%= f.fields_for :area_translations do |f| %> - <%= f.text_field locale, class: "input-block-level", :value => (@venue_management.area_translations[locale] rescue nil),placeholder: t('venue_management.area') %> - <% end %> + <% areas = ['land_area','building_area','area'] %> + <% areas.each do |area| %> +
+ +
+
+ <%= f.fields_for :area_translations do |f| %> + <%= f.text_field locale, class: "input-block-level", :value => (@venue_management.send("#{area}_translations")[locale] rescue nil),placeholder: t("venue_management.#{area}") %> + <% end %> +
-
- + <% end %>
diff --git a/app/views/admin/venue_managements/_index.html.erb b/app/views/admin/venue_managements/_index.html.erb index fb654a9..b27a126 100644 --- a/app/views/admin/venue_managements/_index.html.erb +++ b/app/views/admin/venue_managements/_index.html.erb @@ -41,10 +41,10 @@
- + @@ -62,6 +62,10 @@ + + + + @@ -86,6 +90,34 @@ + <% if @venue_management_contract.insurance_type2.present? %> + + + + + + + + + + + + + <% end %> + <% if @venue_management_contract.insurance_type3.present? %> + + + + + + + + + + + + + <% end %> diff --git a/app/views/venue_managements/show_data.html.erb b/app/views/venue_managements/show_data.html.erb index c416544..15f83eb 100644 --- a/app/views/venue_managements/show_data.html.erb +++ b/app/views/venue_managements/show_data.html.erb @@ -27,12 +27,34 @@ - <% if !@venue_management.speaker.blank? %> + <% if !@venue_management.speaker.blank? #address %> <% end %> + <% if !@venue_management.land_number.blank? %> + + + + + <% end %> + <% areas = ['land_area','building_area','area'] %> + <% areas.each do |area| %> + <% if !@venue_management.send(area).blank? %> + + + + + <% end %> + <% end %> + <% if !@venue_management.land_zoning.blank? %> + + + + + <% end %> + <% if !@venue_management.content.blank? %> @@ -106,7 +128,7 @@ - + @@ -199,8 +221,8 @@
@@ -310,7 +332,7 @@ - + diff --git a/app/views/venue_managements/show_inviting.html.erb b/app/views/venue_managements/show_inviting.html.erb index 0250b57..60d2bf2 100644 --- a/app/views/venue_managements/show_inviting.html.erb +++ b/app/views/venue_managements/show_inviting.html.erb @@ -21,13 +21,29 @@ + + + + + + + + + + + + + + + + - + diff --git a/config/locales/en.yml b/config/locales/en.yml index 72525b8..9a7c56c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -22,6 +22,7 @@ en: verification_failed: Verification Failed #驗證碼錯誤 venue_management: + reminder: Reminder print_pdf: Print send_email_reminder: Send email reminder before: Before @@ -30,7 +31,10 @@ en: manager: Manager contractor: Contractor land_number: Land number - area: Area + area: Other Area + land_area: Land Area + building_area: Building Area + other_area: Other Area land_zoning: Land zoning coordinator: Coordinator email_signup_success: Contract end date reminder @@ -177,6 +181,7 @@ en: school: School vendor: Vendor bid_result: + empty: '' failure: Failure abandoned: Abandoned qualified: Qualified @@ -236,11 +241,18 @@ en: 'false': 'No' sign_date: Sign Date handover_date: Handover Date + deposit_amount: Deposit amount deposit_payment_date: Deposit Payment Date deposit_type: Deposit Type deposit_exp_date: Deposit EXP Date - insurance_type: Insurance Type - insurance_payment_deadline: Insurance Payment Deadline - insurance_payment_date: Insurance Payment Date + insurance_type: Insurance 1 + insurance_payment_deadline: Insurance 1 Expiry Date + insurance_payment_date: Insurance 1 Payment Date + insurance_type2: Insurance 2 + insurance_payment_deadline2: Insurance 2 Expiry Date + insurance_payment_date2: Insurance 2 Payment Date + insurance_type3: Insurance 3 + insurance_payment_deadline3: Insurance 3 Expiry Date + insurance_payment_date3: Insurance 3 Payment Date other_commitment: Other Commitments note: Note diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index b905746..7eedb55 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -22,6 +22,7 @@ zh_tw: verification_failed: 驗證碼錯誤 venue_management: + reminder: 提醒 print_pdf: 列印 send_email_reminder: 寄送Email提醒 before: 提前 @@ -30,7 +31,10 @@ zh_tw: manager: 管理人 contractor: 廠商 land_number: 地號 - area: 面積 + area: 其他面積 + land_area: 場地面積 + building_area: 建物面積 + other_area: 其他面積 land_zoning: 土地使用分區 coordinator: 承辦人 email_signup_success: 履約期限 @@ -177,6 +181,7 @@ zh_tw: school: 學校 vendor: 廠商 bid_result: + empty: '' failure: 流標 abandoned: 廢標 qualified: 決標 @@ -187,7 +192,7 @@ zh_tw: vm_bill: contractor: 廠商 accounting_month: 列帳年月 - bill_type: 收入別 + bill_type: 費用別 caculation_basis: 計算基礎 reason: 說明 amount: 金額 @@ -236,11 +241,18 @@ zh_tw: 'false': 否 sign_date: 簽約日期 handover_date: 點交日期 + deposit_amount: 履約保證金額 deposit_payment_date: 履約保證金繳交日期 deposit_type: 履約保證金繳交形式 deposit_exp_date: 履約保證金效期 - insurance_type: 保險種類 - insurance_payment_deadline: 保險繳交期限 - insurance_payment_date: 保險繳交日期 + insurance_type: 保險一 + insurance_payment_deadline: 保險一有效期限 + insurance_payment_date: 保險一繳交日期 + insurance_type2: 保險二 + insurance_payment_deadline2: 保險二有效期限 + insurance_payment_date2: 保險二繳交日期 + insurance_type3: 保險三 + insurance_payment_deadline3: 保險三有效期限 + insurance_payment_date3: 保險三繳交日期 other_commitment: 其他回饋或承諾事項 note: 備註
<%= "#{contract.early_rent} / #{contract.operation_rent}" %><%= contract.royalty %><%= contract.display_royalty %> <%= "#{contract.contract_start_date} / #{contract.contract_end_date}" %> <%= contract.renewal_permission.present? ? t("vm_contract.renewal.#{contract.renewal_permission}") : t("vm_contract.renewal.false") %> <%= inviting.venue_management_main.title %> - <%= link_to inviting.case_no, (@venue_management_page_url.blank? ? "#" : "/#{I18n.locale}"+@venue_management_page_url+"/#{inviting.case_no.strip}-#{inviting.id}?method=show_inviting"), :target => '_self' %> + <%= link_to inviting.display_case_no, (@venue_management_page_url.blank? ? "#" : "/#{I18n.locale}"+@venue_management_page_url+"/#{inviting.display_case_no.strip}-#{inviting.id}?method=show_inviting"), :target => '_self' %>
<%= inviting.publish_times %> <%= inviting.start_date.to_s + "/" + inviting.end_date.to_s %> <%= "#{inviting.early_rent} / #{inviting.operation_rent}" %><%= inviting.royalty %><%= inviting.display_royalty %> <%= t("vm_inviting.enums.#{inviting.house_tax_payer}") + "/" + t("vm_inviting.enums.#{inviting.land_tax_payer}") %> <%= inviting.contractor_manager %> <%= t("vm_inviting.enums.bid_result.#{inviting.bid_result}") %> <%= venue_management.display_event_during %> <%= venue_management.display_signup_during %> - <%= link_to venue_management.venue_management_contracts.count, venue_management_contracts_admin_venue_management_path(venue_management.id) %> + <%= link_to venue_management.venue_management_invitings.count, venue_management_invitings_admin_venue_management_path(venue_management.id) %> - <%= link_to venue_management.venue_management_invitings.count, venue_management_invitings_admin_venue_management_path(venue_management.id) %> + <%= link_to venue_management.venue_management_contracts.count, venue_management_contracts_admin_venue_management_path(venue_management.id) %> <%= link_to venue_management.venue_management_memorabilias.count, venue_management_memorabilias_admin_venue_management_path(venue_management.id) %> diff --git a/app/views/admin/venue_shared/_form_reminder.html.erb b/app/views/admin/venue_shared/_form_reminder.html.erb new file mode 100644 index 0000000..5f61c40 --- /dev/null +++ b/app/views/admin/venue_shared/_form_reminder.html.erb @@ -0,0 +1,110 @@ +
+
+ + + <% @site_in_use_locales.each_with_index do |locale, i| %> + <%= locale %>"> + <%= f.fields_for :description_translations do |f| %> + <%= f.text_field locale, :class => "input-large", placeholder: t(:url_alt), :value => (form_reminder.description_translations[locale] rescue nil) %> + <% end %> + + <% end %> + +
+ <%= f.datetime_picker :reminder_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => (form_reminder.nil? || form_reminder.new_record?) %> + <% if form_reminder.nil? || form_reminder.new_record? %> + + + + <% else %> + + <%= f.hidden_field :id %> + + <%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %> + + <% end %> +
+ \ No newline at end of file diff --git a/app/views/admin/venue_shared/_venue_file_link_reminder.html.erb b/app/views/admin/venue_shared/_venue_file_link_reminder.html.erb new file mode 100644 index 0000000..a5dcff0 --- /dev/null +++ b/app/views/admin/venue_shared/_venue_file_link_reminder.html.erb @@ -0,0 +1,131 @@ + +
+ +
+ + + <% if !venue.nil? && !venue.venue_management_links.blank? %> +
+ <% venue.venue_management_links.each_with_index do |venue_management_link, i| %> + <%= f.fields_for :venue_management_links, venue_management_link do |f| %> + <%= render :partial => 'admin/venue_shared/form_link', :locals => {:f => f, :i => i,form_link: venue_management_link} %> + <% end %> + <% end %> +
+
+ <% end %> + + +
+
+

+ <%= hidden_field_tag 'venue_management_link_field_count', venue.venue_management_links.count %> + <%= t(:add) %> +

+
+
+ + +
+ +
+ + + <% if !venue.nil? && !venue.venue_management_files.blank? %> +
+ <% venue.venue_management_files.each_with_index do |venue_management_file, i| %> + <%= f.fields_for :venue_management_files, venue_management_file do |f| %> + <%= render :partial => 'admin/venue_shared/form_file', :locals => {:f => f, :i => i,form_file: venue_management_file} %> + <% end %> + <% end %> +
+
+ <% end %> + + +
+
+

+ <%= hidden_field_tag 'venue_management_file_field_count', venue.venue_management_files.count %> + <%= t(:add) %> +

+ +
+
+ +
+ +
+ + + <% if !venue.nil? && !venue.venue_management_reminders.blank? %> +
+ <% venue.venue_management_reminders.each_with_index do |venue_management_reminder, i| %> + <%= f.fields_for :venue_management_reminders, venue_management_reminder do |f| %> + <%= render :partial => 'admin/venue_shared/form_reminder', :locals => {:f => f, :i => i,form_reminder: venue_management_reminder} %> + <% end %> + <% end %> +
+
+ <% end %> + + +
+
+

+ <%= hidden_field_tag 'venue_management_reminder_field_count', venue.venue_management_reminders.count %> + <%= t(:add) %> +

+ +
+
+ + \ No newline at end of file diff --git a/app/views/venue_managements/show_contract.html.erb b/app/views/venue_managements/show_contract.html.erb index 84c9acb..6923780 100644 --- a/app/views/venue_managements/show_contract.html.erb +++ b/app/views/venue_managements/show_contract.html.erb @@ -27,7 +27,7 @@
<%= t('vm_inviting.royalty') %><%= @venue_management_contract.royalty %><%= @venue_management_contract.display_royalty %>
<%= t('vm_contract.handover_date') %> <%= @venue_management_contract.handover_date %>
<%= t('vm_contract.deposit_amount') %><%= @venue_management_contract.deposit_amount %>
<%= t('vm_contract.deposit_payment_date') %> <%= @venue_management_contract.deposit_payment_date %><%= t('vm_contract.insurance_payment_date') %> <%= @venue_management_contract.insurance_payment_date %>
<%= t('vm_contract.insurance_type2') %><%= @venue_management_contract.insurance_type2 %>
<%= t('vm_contract.insurance_payment_deadline2') %><%= @venue_management_contract.insurance_payment_deadline2 %>
<%= t('vm_contract.insurance_payment_date2') %><%= @venue_management_contract.insurance_payment_date2 %>
<%= t('vm_contract.insurance_type3') %><%= @venue_management_contract.insurance_type3 %>
<%= t('vm_contract.insurance_payment_deadline3') %><%= @venue_management_contract.insurance_payment_deadline3 %>
<%= t('vm_contract.insurance_payment_date3') %><%= @venue_management_contract.insurance_payment_date3 %>
<%= t('vm_contract.other_commitment') %> <%= @venue_management_contract.other_commitment %><%= t('venue_management.title') %> <%= @venue_management.title %>
<%= t('venue_management.speaker') %> <%= @venue_management.speaker %>
<%= t('venue_management.land_number') %><%= @venue_management.land_number %>
<%= t("venue_management.#{area}") %><%= @venue_management.send(area) %>
<%= t('venue_management.land_zoning') %><%= @venue_management.land_zoning %>
<%= t('venue_management.content') %>
<%= t('vm_inviting.royalty') %><%= @venue_management_contract.royalty %><%= @venue_management_contract.display_royalty %>
<%= inviting.publish_times %> <%= "#{inviting.early_rent} / #{inviting.operation_rent}" %><%= inviting.royalty %><%= inviting.display_royalty %> <%= t("vm_inviting.enums.#{inviting.house_tax_payer}") + "/" + t("vm_inviting.enums.#{inviting.land_tax_payer}") %> <%= inviting.contractor_manager %> <%= t("vm_inviting.enums.bid_result.#{inviting.bid_result}") %><%= t('vm_inviting.publish_times') %> <%= @venue_management_inviting.publish_times %>
<%= t('vm_inviting.start_end') %><%= @venue_management_inviting.start_date.to_s + "/" + @venue_management_inviting.end_date.to_s %>
<%= t('vm_inviting.close_date') %><%= @venue_management_inviting.display_close_date %>
<%= t('vm_inviting.bid_date') %><%= @venue_management_inviting.display_bid_date %>
<%= t('vm_inviting.evaluation_date') %><%= @venue_management_inviting.display_evaluation_date %>
<%= t('vm_inviting.rents') %> <%= "#{@venue_management_inviting.early_rent} / #{@venue_management_inviting.operation_rent}" %>
<%= t('vm_inviting.royalty') %><%= @venue_management_inviting.royalty %><%= @venue_management_inviting.display_royalty %>
<%= t('vm_inviting.house_land_tax_payer') %>