added some modifications

This commit is contained in:
Harry Bomrah 2017-08-08 17:04:59 +08:00
parent 16a07cb5ac
commit c122fc27b4
7 changed files with 342 additions and 46 deletions

View File

@ -94,7 +94,6 @@ class ActivesController < ApplicationController
end
def show
params = OrbitHelper.params
module_app = ModuleApp.where(:key => "active").first

View File

@ -18,9 +18,25 @@ class Act
field :sign_start_date , :type => DateTime, :default => Time.now
field :sign_end_date , :type => DateTime, :default => Time.now
field :sign_up, :type => Boolean, :default => false
field :has_idno, :type => Boolean, :default => false
field :note, localize: true
field :has_name, :type => Boolean, :default => true
field :has_tel, :type => Boolean, :default => true
field :has_phone, :type => Boolean, :default => true
field :has_fax, :type => Boolean, :default => true
field :has_email, :type => Boolean, :default => true
field :has_idno, :type => Boolean, :default => false
field :has_sex, :type => Boolean, :default => false
field :has_birthday, :type => Boolean, :default => false
field :has_note, :type => Boolean, :default => false
field :has_organization, :type => Boolean, :default => false
field :has_title, :type => Boolean, :default => false
field :has_address, :type => Boolean, :default => false
field :has_emergency_contact_number, :type => Boolean, :default => false
field :has_emergency_contact_person, :type => Boolean, :default => false
field :has_vegetarian, :type => Boolean, :default => false
has_many :act_links, :autosave => true, :dependent => :destroy
has_many :act_files, :autosave => true, :dependent => :destroy
has_many :act_signups, :autosave => true, :dependent => :destroy

View File

@ -14,6 +14,13 @@ class ActSignup
field :fax, type: String
field :email, type: String
field :note
field :organization
field :title
field :address
field :emergency_contact_number
field :emergency_contact_person
field :vegetarian, type: Boolean
belongs_to :act

View File

@ -14,7 +14,13 @@
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
<%= javascript_include_tag "lib/module-area" %>
<%= javascript_include_tag "validator" %>
<style>
.text-error{
color: red;
}
</style>
<% flash.each do |key, msg| %>
<%= content_tag :p, msg, :class => [key, "alert alert-error in fade"] %>
@ -33,82 +39,192 @@
<!-- Name -->
<div class="form-group">
<label for="name" class="col-sm-2 control-label">*<%= t('act_signup.name') %></label>
<label for="name" class="col-sm-2 control-label"><%= @act.has_name ? "*" : "" %><%= t('act_signup.name') %></label>
<div class="col-sm-10">
<%= f.text_field :name, :class=>"input-medium form-control", :id=>'name', :placeholder=> t('act_signup.name'), :required => true %>
<% if @act.has_name %>
<%= f.text_field :name, :class=>"input-medium form-control", :id=>'name', :placeholder=> t('act_signup.name'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :name, :class=>"input-medium form-control", :id=>'name', :placeholder=> t('act_signup.name') %>
<% end %>
</div>
</div>
<% if @act.has_idno %>
<!-- IDNO -->
<div class="form-group">
<label for="name" class="col-sm-2 control-label">*<%= t('act_signup.idno') %></label>
<label for="name" class="col-sm-2 control-label"><%= @act.has_idno ? "*" : "" %><%= t('act_signup.idno') %></label>
<div class="col-sm-10">
<%= f.text_field :idno, :class=>"input-medium form-control", :placeholder=> t('act_signup.idno'), :required => true %>
<% if @act.has_idno %>
<%= f.text_field :idno, :class=>"input-medium form-control", :placeholder=> t('act_signup.idno'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :idno, :class=>"input-medium form-control", :placeholder=> t('act_signup.idno') %>
<% end %>
</div>
</div>
<% end %>
<!-- Birthday -->
<div class="form-group">
<label for="birthday" class="col-sm-2 control-label"><%= t('act_signup.birthday') %></label>
<label for="birthday" class="col-sm-2 control-label"><%= @act.has_birthday ? "*" : "" %><%= t('act_signup.birthday') %></label>
<div class="col-sm-10">
<% if @act.has_birthday %>
<%= f.datetime_picker :birthday, :no_label => true, :format=>"yyyy/MM/dd", :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.datetime_picker :birthday, :no_label => true, :format=>"yyyy/MM/dd" %>
<% end %>
</div>
</div>
<!-- Sex -->
<div class="form-group">
<label for="sex" class="col-sm-2 control-label"><%= t('act_signup.sex') %></label>
<label for="sex" class="col-sm-2 control-label"><%= @act.has_sex ? "*" : "" %><%= t('act_signup.sex') %></label>
<div class="col-sm-10">
<label class="radio-inline">
<%= f.radio_button :sex, "male" %><%= t('users.male')%>
</label>
<label class="radio-inline">
<% if @act.has_sex %>
<%= f.radio_button :sex, "female", :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %><%= t('users.female')%>
<% else %>
<%= f.radio_button :sex, "female" %><%= t('users.female')%>
<% end %>
</label>
</div>
</div>
<!-- Tel -->
<div class="form-group">
<label for="tel" class="col-sm-2 control-label">*<%= t('act_signup.tel') %></label>
<label for="tel" class="col-sm-2 control-label"><%= @act.has_tel ? "*" : "" %><%= t('act_signup.tel') %></label>
<div class="col-sm-10">
<%= f.text_field :tel, :class=>"input-medium form-control", :placeholder=> t('act_signup.tel'), :required => true %>
<% if @act.has_tel %>
<%= f.text_field :tel, :class=>"input-medium form-control", :placeholder=> t('act_signup.tel'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :tel, :class=>"input-medium form-control", :placeholder=> t('act_signup.tel') %>
<% end %>
</div>
</div>
<!-- Phone -->
<div class="form-group">
<label for="phone" class="col-sm-2 control-label"><%= t('act_signup.phone') %></label>
<label for="phone" class="col-sm-2 control-label"><%= @act.has_phone ? "*" : "" %><%= t('act_signup.phone') %></label>
<div class="col-sm-10">
<% if @act.has_phone %>
<%= f.text_field :phone, :class=>"input-medium form-control", :placeholder=> t('act_signup.phone'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :phone, :class=>"input-medium form-control", :placeholder=> t('act_signup.phone') %>
<% end %>
</div>
</div>
<!-- Fax -->
<div class="form-group">
<label for="fax" class="col-sm-2 control-label"><%= t('act_signup.fax') %></label>
<label for="fax" class="col-sm-2 control-label"><%= @act.has_fax ? "*" : "" %><%= t('act_signup.fax') %></label>
<div class="col-sm-10">
<% if @act.has_fax %>
<%= f.text_field :fax, :class=>"input-medium form-control", :placeholder=> t('act_signup.fax'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :fax, :class=>"input-medium form-control", :placeholder=> t('act_signup.fax') %>
<% end %>
</div>
</div>
<!-- Email -->
<div class="form-group">
<label for="email" class="col-sm-2 control-label">*<%= t(:email) %></label>
<label for="email" class="col-sm-2 control-label"><%= @act.has_email ? "*" : "" %><%= t(:email) %></label>
<div class="col-sm-10">
<%= f.email_field :email, :class=>"input-medium form-control availibility", :placeholder=> t(:email), :required => true %>
<% if @act.has_email %>
<%= f.email_field :email, :class=>"input-medium form-control availibility", :placeholder=> t(:email), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.email_field :email, :class=>"input-medium form-control availibility", :placeholder=> t(:email) %>
<% end %>
</div>
</div>
<!-- Note -->
<div class="form-group">
<label for="note" class="col-sm-2 control-label"><%= t('act.note') %></label>
<label for="note" class="col-sm-2 control-label"><%= @act.has_note ? "*" : "" %><%= t('act_signup.note') %></label>
<div class="col-sm-10">
<%= f.text_area :note, rows: 5, :class=>"input-medium form-control", :placeholder=> t('act.note') %>
<% if @act.has_note %>
<%= f.text_area :note, rows: 5, :class=>"input-medium form-control", :placeholder=> t('act_signup.note'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_area :note, rows: 5, :class=>"input-medium form-control", :placeholder=> t('act_signup.note') %>
<% end %>
</div>
</div>
<!-- Organization -->
<div class="form-group">
<label for="fax" class="col-sm-2 control-label"><%= @act.has_organization ? "*" : "" %><%= t('act_signup.organization') %></label>
<div class="col-sm-10">
<% if @act.has_fax %>
<%= f.text_field :organization, :class=>"input-medium form-control", :placeholder=> t('act_signup.organization'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :organization, :class=>"input-medium form-control", :placeholder=> t('act_signup.organization') %>
<% end %>
</div>
</div>
<!-- Title -->
<div class="form-group">
<label for="fax" class="col-sm-2 control-label"><%= @act.has_title ? "*" : "" %><%= t('act_signup.title') %></label>
<div class="col-sm-10">
<% if @act.has_fax %>
<%= f.text_field :title, :class=>"input-medium form-control", :placeholder=> t('act_signup.title'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :title, :class=>"input-medium form-control", :placeholder=> t('act_signup.title') %>
<% end %>
</div>
</div>
<!-- Address -->
<div class="form-group">
<label for="note" class="col-sm-2 control-label"><%= @act.has_address ? "*" : "" %><%= t('act_signup.address') %></label>
<div class="col-sm-10">
<% if @act.has_address %>
<%= f.text_area :address, rows: 5, :class=>"input-medium form-control", :placeholder=> t('act_signup.address'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_area :address, rows: 5, :class=>"input-medium form-control", :placeholder=> t('act_signup.address') %>
<% end %>
</div>
</div>
<!-- Emergency Contact Person -->
<div class="form-group">
<label for="fax" class="col-sm-2 control-label"><%= @act.has_emergency_contact_person ? "*" : "" %><%= t('act_signup.emergency_contact_person') %></label>
<div class="col-sm-10">
<% if @act.has_fax %>
<%= f.text_field :emergency_contact_person, :class=>"input-medium form-control", :placeholder=> t('act_signup.emergency_contact_person'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :emergency_contact_person, :class=>"input-medium form-control", :placeholder=> t('act_signup.emergency_contact_person') %>
<% end %>
</div>
</div>
<!-- Emergency Contact Number -->
<div class="form-group">
<label for="fax" class="col-sm-2 control-label"><%= @act.has_emergency_contact_number ? "*" : "" %><%= t('act_signup.emergency_contact_number') %></label>
<div class="col-sm-10">
<% if @act.has_fax %>
<%= f.text_field :emergency_contact_number, :class=>"input-medium form-control", :placeholder=> t('act_signup.emergency_contact_number'), :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %>
<% else %>
<%= f.text_field :emergency_contact_number, :class=>"input-medium form-control", :placeholder=> t('act_signup.emergency_contact_number') %>
<% end %>
</div>
</div>
<!-- Vegetarian -->
<div class="form-group">
<label for="sex" class="col-sm-2 control-label"><%= @act.has_vegetarian ? "*" : "" %><%= t('act_signup.vegetarian') %></label>
<div class="col-sm-10">
<label class="radio-inline">
<%= f.radio_button :vegetarian, "true" %><%= t(:yes_)%>
</label>
<label class="radio-inline">
<% if @act.has_vegetarian %>
<%= f.radio_button :vegetarian, "false", :data => {"fv-validation" => "required;", "fv-messages" => "Cannot be empty.;"} %><%= t(:no_) %>
<% else %>
<%= f.radio_button :vegetarian, "false" %><%= t(:no_) %>
<% end %>
</label>
</div>
</div>
@ -124,7 +240,7 @@
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<label>
<input id="agree" name="agree" value="1" type="checkbox" required="required">
<input id="agree" name="agree" value="1" type="checkbox" data-fv-validation="required;" data-fv-messages="Please agree to privacy policy.;">
<a href="<%= OrbitHelper.url_to_show(@act.to_param) %>?method=show_privacy" target="_blank"><%= t("act_signup.agree")%></a>
</label>
</div>
@ -144,22 +260,9 @@
<script type="text/javascript">
(function(){
var validated = false,
chks = false
$("form.content").submit(function(event) {
var form = $(this),
val_num = 0,
isChecked = $('#agree:checked').val()?true:false;
if(!isChecked){
return false;
}
});
})();
// (function(){
var vForm = new FormValidator($("#new-act-signup"));
// })();
</script>
<% elsif @act.sign_up.blank? %>

View File

@ -19,6 +19,7 @@
<div class="nav-name"><strong><%= t(:module) %></strong></div>
<ul class="nav nav-pills module-nav">
<li class="active"><a href="#basic" data-toggle="tab"><%= t(:basic) %></a></li>
<li><a href="#settings" data-toggle="tab"><%= t("act.settings") %></a></li>
</ul>
<!-- Module -->
@ -39,14 +40,14 @@
<div class="control-group">
<label class="control-label muted"><%= t('act.act_start_date') %></label>
<div class="controls">
<%= f.datetime_picker :act_start_date, :no_label => true %>
<%= f.datetime_picker :act_start_date, :no_label => true, :new_record => @act.new_record? %>
</div>
</div>
<div class="control-group">
<label class="control-label muted"><%= t('act.act_end_date') %></label>
<div class="controls">
<%= f.datetime_picker :act_end_date, :no_label => true %>
<%= f.datetime_picker :act_end_date, :no_label => true, :new_record => @act.new_record? %>
</div>
</div>
@ -54,14 +55,14 @@
<div class="control-group">
<label class="control-label muted"><%= t('act.sign_start_date') %></label>
<div class="controls">
<%= f.datetime_picker :sign_start_date, :no_label => true %>
<%= f.datetime_picker :sign_start_date, :no_label => true, :new_record => @act.new_record? %>
</div>
</div>
<div class="control-group">
<label class="control-label muted"><%= t('act.sign_end_date') %></label>
<div class="controls">
<%= f.datetime_picker :sign_end_date, :no_label => true %>
<%= f.datetime_picker :sign_end_date, :no_label => true, :new_record => @act.new_record? %>
</div>
</div>
@ -73,8 +74,54 @@
<label class="radio inline"><%= f.radio_button :sign_up, "no", checked: @act.sign_up == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
</div>
<div class="tab-pane fade" id="settings">
<!-- Name -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_name') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_name, "yes", checked: @act.has_name == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_name, "no", checked: @act.has_name == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Idno -->
<!-- Tel No -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_tel') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_tel, "yes", checked: @act.has_tel == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_tel, "no", checked: @act.has_tel == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Mobile No -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_phone') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_phone, "yes", checked: @act.has_phone == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_phone, "no", checked: @act.has_phone == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Fax No -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_fax') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_fax, "yes", checked: @act.has_fax == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_fax, "no", checked: @act.has_fax == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Email Id -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_email') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_email, "yes", checked: @act.has_email == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_email, "no", checked: @act.has_email == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- ID No -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_idno') %></label>
<div class="controls">
@ -83,8 +130,88 @@
</div>
</div>
</div>
<!-- Gender -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_sex') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_sex, "yes", checked: @act.has_sex == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_sex, "no", checked: @act.has_sex == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Birthday -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_birthday') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_birthday, "yes", checked: @act.has_birthday == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_birthday, "no", checked: @act.has_birthday == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Note -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_note') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_note, "yes", checked: @act.has_note == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_note, "no", checked: @act.has_note == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Organization -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_organization') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_organization, "yes", checked: @act.has_organization == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_organization, "no", checked: @act.has_organization == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Title -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_title') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_title, "yes", checked: @act.has_title == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_title, "no", checked: @act.has_title == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Address -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_address') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_address, "yes", checked: @act.has_address == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_address, "no", checked: @act.has_address == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Emergency Contact Number -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_emergency_contact_number') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_emergency_contact_number, "yes", checked: @act.has_emergency_contact_number == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_emergency_contact_number, "no", checked: @act.has_emergency_contact_number == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Emergency Contact Person -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_emergency_contact_person') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_emergency_contact_person, "yes", checked: @act.has_emergency_contact_person == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_emergency_contact_person, "no", checked: @act.has_emergency_contact_person == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
<!-- Vegetarian -->
<div class="control-group">
<label class="control-label muted"><%= t('act.has_vegetarian') %></label>
<div class="controls">
<label class="radio inline"><%= f.radio_button :has_vegetarian, "yes", checked: @act.has_vegetarian == true ? true : false %><%= t(:yes_) %></label>
<label class="radio inline"><%= f.radio_button :has_vegetarian, "no", checked: @act.has_vegetarian == false ? true : false %><%= t(:no_) %></label>
</div>
</div>
</div>
</div>
<!-- Language Tabs -->

View File

@ -24,7 +24,6 @@ en:
sign_start_date: Sign up start date
sign_end_date: Sign up end date
is_sign_up: Enable online registration
has_idno: ID number required
set_active_agreements: Policy Content Setting
active_agreements: Policy Content
active_agreements_content: Content of Privacy and Personal Information Protection Policy
@ -35,6 +34,22 @@ en:
sign_up_not_yet: Not Yet Started
sign_up_not_open: Not Open
sign_up_overdue: Overdue
settings: Activity Settings
has_idno: ID number required
has_birthday: Birthday
has_sex: Gender
has_organization: Organization
has_title: Title
has_address: Address
has_emergency_contact_person: Emergency Contact Person
has_emergency_contact_number: Emergency Contact Number
has_vegetarian: Vegetarian
has_name: Name
has_tel: Telephone
has_phone: Mobile Number
has_fax: Fax
has_email: Email
has_note: Note
default_widget:
title: Title
@ -51,4 +66,11 @@ en:
tel: TEL
phone: Mobile telephone
fax: Fax
agree: "Accept Privacy and Personal Information Protection Policy of the Site"
agree: "Accept Privacy and Personal Information Protection Policy of the Site"
organization: Organization
title: Title
address: Address
emergency_contact_person: Emergency Contact Person
emergency_contact_number: Emergency Contact Number
vegetarian: Vegetarian
note: Note

View File

@ -24,7 +24,6 @@ zh_tw:
sign_start_date: 報名開始日期
sign_end_date: 報名結束日期
is_sign_up: 是否線上報名
has_idno: 報名是否需填寫身分證字號
set_active_agreements: 設定個資宣告
active_agreements: 個資宣告
active_agreements_content: 個資同意書內容
@ -35,6 +34,22 @@ zh_tw:
sign_up_not_yet: 報名時間未開始
sign_up_not_open: 未開放報名
sign_up_overdue: 報名時間已過
settings: Activity Settings
has_idno: 報名是否需填寫身分證字號
has_birthday: 出生年月日
has_sex: 性別
has_organization: 單位
has_title: 職稱
has_address: 地址
has_emergency_contact_person: 緊急聯絡人
has_emergency_contact_number: 緊急聯絡人電話
has_vegetarian: 素食
has_name: 姓名
has_tel: 聯絡電話
has_phone: 行動電話
has_fax: 傳真
has_email: 電子郵件
has_note: 備註
default_widget:
title: 活動標題
@ -52,4 +67,11 @@ zh_tw:
phone: 行動電話
fax: 傳真
agree: 同意接受本站個資及隱私權保護宣告
recaptcha: 驗證碼
recaptcha: 驗證碼
organization: 單位
title: 職稱
address: 地址
emergency_contact_person: 緊急聯絡人
emergency_contact_number: 緊急聯絡人電話
vegetarian: 素食
note: 備註