Application_Form/app/views/admin/application_forms/_form.html.erb

430 lines
18 KiB
Plaintext

<%
multi_helper = Admin::ApplicationFormsHelper::MultiLang
new_record = @application_form.new_record? && @application_form.copy_id.nil?
%>
<% content_for :page_specific_css do %>
<%= stylesheet_link_tag "lib/main-forms" %>
<%= stylesheet_link_tag "lib/fileupload" %>
<%= stylesheet_link_tag "lib/main-list" %>
<% end %>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
<%= javascript_include_tag "lib/file-type" %>
<%= javascript_include_tag "lib/module-area" %>
<% end %>
<style type="text/css">
.col-sm-10.controls{
margin-left:0px;
}
.input-append input{
width: 150px;
}
</style>
<!-- Input Area -->
<div class="input-area">
<!-- Module Tabs -->
<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="#review" data-toggle="tab"><%= t('application_form.review') %></a></li>
<li><a href="#signup_set" data-toggle="tab"><%= t('application_form.signup_set') %></a></li>
<li><a href="#custom_set" data-toggle="tab"><%= t('application_form.custom_set') %></a></li>
<li><a href="#auto_send_email_set" data-toggle="tab"><%= t('application_form.auto_send_email_set') %></a></li>
</ul>
<!-- Module -->
<div class="tab-content module-area">
<!-- Basic Module -->
<div class="tab-pane fade in active" id="basic">
<!-- Category -->
<div class="control-group">
<label class="control-label muted"><%= t(:category) %></label>
<div class="controls">
<%= select_category(f, @module_app) %>
</div>
</div>
<!-- ApplicationForm Date Time Picker -->
<div class="control-group">
<label class="control-label muted"><%= t('application_form.application_form_start_date') %></label>
<div class="controls">
<%= f.datetime_picker :application_form_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => new_record %>
</div>
</div>
<div class="control-group">
<label class="control-label muted"><%= t('application_form.application_form_end_date') %></label>
<div class="controls">
<%= f.datetime_picker :application_form_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => new_record %>
</div>
</div>
<div class="control-group">
<label class="control-label muted"><%= t('application_form.organizer') %></label>
<div class="controls">
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'application_form_main[organizer_id]', email_members:Array(f.object.organizer), index: "1", select_name: 'organizer_id'} %>
</div>
</div>
<% if params[:action] == "copy" %>
<div class="control-group">
<label class="control-label muted"><%= t('application_form.clone_signups') %></label>
<div class="controls">
<%= check_box_tag("clone_signups",true) %>
</div>
</div>
<% end %>
</div>
<!-- Review Module -->
<div class="tab-pane fade in " id="review">
<% (0...@application_form_setting.reviewer_length).each do |k| %>
<div class="control-group big-group">
<label class="control-label muted">
<%= check_box f.object_name,"reviewer_enables][#{k}",{checked: f.object.reviewer_enables[k]},"1","0" %>
<%= t("application_form.reviewers.#{k+1}") %>
</label>
<div class="controls">
<%= select_tag "#{f.object_name}[reviewer_type_list][]",options_for_select(['defined_by_applicant','fixed'].map{|v| [t("application_form.#{v}"),v]},f.object.reviewer_type_list[k]) %>
<div class="members">
<% if !@members[k].nil? %>
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: "#{f.object_name}[reviewer_ids_list][#{k}]", email_members:@members[k], index: "#{k+2}", select_name: "reviewer_ids_list_#{k}"} %>
<% else %>
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: "#{f.object_name}[reviewer_ids_list][#{k}]", email_members:[], index: "#{k+2}", select_name: "reviewer_ids_list_#{k}"} %>
<% end %>
</div>
</div>
</div>
<% end %>
</div>
<!-- Signup Set Module -->
<div class="tab-pane fade in " id="signup_set" style="padding: 1.2em;">
<table>
<thead>
<th><%= t('application_form.field_name') %></th>
<th><%= t('application_form.name') %></th>
<th><%= t('application_form.placeholder') %></th>
<th><%= t('application_form.disable') %></th>
<th><%= t('application_form.hidden') %></th>
</thead>
<tbody>
<% @signup_sets.each_with_index do |attr_signup,signup_index| %>
<tr>
<td>
<%= t("application_form_signup.#{attr_signup.field_name}") %>
</td>
<td>
<%= show_set_field(attr_signup,'application_form_signup_field_sets',signup_index,'name') %>
</td>
<td>
<%= show_set_field(attr_signup,'application_form_signup_field_sets',signup_index,'placeholder') %>
</td>
<td>
<input type="hidden" class="field_name" name='<%= "application_form_main[application_form_signup_field_sets][#{signup_index}][field_name]" %>' value="<%= attr_signup.field_name %>">
<input type="hidden" class="field_set" name='<%= "application_form_main[application_form_signup_field_sets][#{signup_index}][disabled]" %>' value="false">
<%= check_box_tag("application_form_main[application_form_signup_field_sets][#{signup_index}][disabled]", true ,attr_signup.disabled) %>
</td>
<td>
<% if attr_signup.field_name != 'recaptcha' %>
<input type="hidden" class="field_set" name='<%= "application_form_main[application_form_signup_field_sets][#{signup_index}][hidden]" %>' value="false">
<%= check_box_tag("application_form_main[application_form_signup_field_sets][#{signup_index}][hidden]", true ,attr_signup.hidden) %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
<!-- Custom Set Module -->
<div class="tab-pane fade in " id="custom_set" style="padding: 1.2em;">
<table>
<thead>
<th style="padding-right: 2em;"><%= t('application_form.field_name') %></th>
<th><%= t('application_form.hidden') %></th>
</thead>
<tbody>
<% @custom_set.each_with_index do |attr_custom,custom_index| %>
<tr>
<td>
<%= ApplicationFormSignupField.where(id:attr_custom.application_form_signup_field_id).first.title rescue '' %>
</td>
<td>
<input type="hidden" class="field_set" name='<%= "application_form_main[application_form_signup_field_customs][#{custom_index}][hidden]" %>' value="false">
<%= check_box_tag("application_form_main[application_form_signup_field_customs][#{custom_index}][hidden]", true ,attr_custom.hidden) %>
</td>
<% if !attr_custom.new_record? %>
<input for="field_0" id="application_form_main_application_form_signup_field_customs_<%= custom_index.to_s %>_id" name="application_form_main[application_form_signup_field_customs][<%= custom_index.to_s %>][id]" type="hidden" value="<%= attr_custom.id.to_s %>">
<% elsif f.object.copy_id.present? %>
<input name="application_form_main[application_form_signup_field_customs][<%= custom_index.to_s %>][title]" type="hidden" value="<%= attr_custom.application_form_signup_field.title.to_s %>">
<% end %>
</tr>
<% end %>
</tbody>
</table>
</div>
<!-- Email Set Module -->
<div class="tab-pane fade in " id="auto_send_email_set" style="padding: 1.2em;">
<ul class="nav nav-pills module-nav">
<li class="active">
<a href="#email_set0" data-toggle="tab">
<%= t('application_form.email_signup') %>
</a>
</li>
<li class="">
<a href="#email_set1" data-toggle="tab">
<%= t('application_form.email_submission') %>
</a>
</li>
<li class="">
<a href="#email_set2" data-toggle="tab">
<%= t('application_form.email_add_file') %>
</a>
</li>
<li class="">
<a href="#email_set3" data-toggle="tab">
<%= t('application_form.email_edit_file') %>
</a>
</li>
</ul>
<div class="tab-content">
<% (0..3).each do |index1| %>
<% active_email_set = index1==0 ? ' active' : '' %>
<div class="tab-pane<%= active_email_set %>" id="email_set<%= index1 %>" style="padding: 1.2em;">
<table style="width:100%;">
<tbody>
<tr>
<td>
<%= t('application_form.disable') %>
</td>
<td>
<input type="hidden" class="field_set" name='<%= "application_form_main[application_form_email_sets][#{index1}][disabled]" %>' value="false">
<%= check_box_tag("application_form_main[application_form_email_sets][#{index1}][disabled]", true ,@email_set[index1].disabled) %>
</td>
</tr>
<tr>
<td>
<%= t('application_form.email_title') %>
</td>
<td>
<%= show_set_field(@email_set[index1],'application_form_email_sets',index1,'title','text_field') %>
</td>
</tr>
<tr>
<td>
<%= t('application_form.email_content') %>
</td>
<td>
<div class="form-group">
<%= show_set_field(@email_set[index1],'application_form_email_sets',index1,'content','text_area') %>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<% end %>
</div>
</div>
</div>
<!-- Language Tabs -->
<div class="nav-name"><strong><%= t(:language) %></strong></div>
<ul class="nav nav-pills language-nav">
<% @site_in_use_locales.each_with_index do |locale, i| %>
<li class="<%= 'active' if i == 0 %>">
<a data-toggle="tab" href=".<%= locale %>"><%= t(locale) %></a>
</li>
<% end %>
</ul>
<!-- Language -->
<div class="tab-content language-area">
<% @site_in_use_locales.each_with_index do |locale, i| %>
<div class="<%= locale %> tab-pane fade <%= ( i == 0 ) ? "in active" : '' %>">
<!-- Title-->
<div class="control-group input-title">
<label class="control-label muted"><%= t('application_form.title') %></label>
<div class="controls">
<%= f.fields_for :title_translations do |f| %>
<%= f.text_field locale, class: "input-block-level", placeholder: t(:title), value: (@application_form.title_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
<!-- Content -->
<div class="control-group input-content">
<label class="control-label muted"><%= t('application_form.content') %></label>
<div class="controls">
<div class="textarea">
<%= f.fields_for :content_translations do |f| %>
<%= f.cktext_area locale, rows: 5, class: "input-block-level", :value => (@application_form.content_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
</div>
<!-- Place-->
<div class="control-group input-title">
<label class="control-label muted"><%= t('application_form.act_place') %></label>
<div class="controls">
<%= f.fields_for :act_place_translations do |f| %>
<%= f.text_field locale, class: "input-block-level", placeholder: t('application_form.act_place'), value: (@application_form.act_place_translations[locale] rescue nil) %>
<% end %>
</div>
</div>
</div>
<% end %>
<!-- Link -->
<div class="control-group">
<label class="control-label muted"><%= t(:link) %></label>
<div class="controls add-input">
<!-- Exist -->
<% if @application_form && !@application_form.application_form_links.blank? %>
<div class="exist">
<% @application_form.application_form_links.each_with_index do |application_form_link, i| %>
<%= f.fields_for :application_form_links, application_form_link do |f| %>
<%= render :partial => 'form_link', :object => application_form_link, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
<hr>
</div>
<% end %>
<!-- Add -->
<div class="add-target">
</div>
<p class="add-btn">
<%= hidden_field_tag 'application_form_link_field_count', @application_form.application_form_links.count %>
<a id="add_link" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
</p>
</div>
</div>
<!-- File -->
<div class="control-group">
<label class="control-label muted"><%= t(:file_) %></label>
<div class="controls">
<!-- Exist -->
<% if @application_form && !@application_form.application_form_files.blank? %>
<div class="exist">
<% @application_form.application_form_files.each_with_index do |application_form_file, i| %>
<%= f.fields_for :application_form_files, application_form_file do |f| %>
<%= render :partial => 'form_file', :object => application_form_file, :locals => {:f => f, :i => i} %>
<% end %>
<% end %>
<hr>
</div>
<% end %>
<!-- Add -->
<div class="add-target">
</div>
<p class="add-btn">
<%= hidden_field_tag 'application_form_file_field_count', @application_form.application_form_files.to_a.count %>
<a id="add_file" class="trigger btn btn-small btn-primary"><i class="icons-plus"></i> <%= t(:add) %></a>
</p>
</div>
</div>
</div>
</div>
<!-- Form Actions -->
<div class="form-actions">
<%= get_referer_url[:application_formion] rescue "" %>
<%= f.submit t('submit'), class: 'btn btn-primary' %>
<input type="hidden" name="referer_url" value="<%= get_referer_url %>">
<%= link_to t('cancel'), admin_application_forms_path, :class=>"btn" %>
</div>
<% content_for :page_specific_javascript do %>
<script>
function check_members_button(){
$('.controls>.members').each(function(){
if ($(this).parent().find('select[name="application_form_main[reviewer_type_list][]"]').val()=='fixed'){
$(this).removeClass('hide');
}else{
$(this).addClass('hide');
}
})
}
$(function() {
$("#main-wrap").after("");
check_members_button();
$('select[name="application_form_main[reviewer_type_list][]"]').change(function(){
check_members_button();
})
$(document).on('click', '#add_link', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_application_form_links", "g");
var on = $('.language-nav li.active').index();
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_link', f, :application_form_links) %>").replace(old_id, new_id));
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.tab-content').children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
formTip();
});
$(document).on('click', '#add_file', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_application_form_files", "g");
var on = $('.language-nav li.active').index();
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_file', f, :application_form_files) %>").replace(old_id, new_id));
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.input-append').find('.tab-content').each(function() {
$(this).children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
});
formTip();
});
$(document).on('click', '.delete_link', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.delete_file', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.remove_existing_record', function(){
if(confirm("<%= I18n.t(:sure?)%>")){
$(this).children('.should_destroy').attr('value', 1);
$(this).parents('.start-line').hide();
}
});
$(document).on('click','#add_summary_choice',function(){
$(this).before("<div><span class=\"remove_btn\">X</span><input name=\"application_form_main[summary_chioices][]\" type=\"text\"></div>")
})
$(document).on('click','.remove_btn',function(){
$(this).parent().remove();
})
$("input[name=\"application_form_main[enable_summary_choice]\"]").change(function(){
if($(this).prop("checked")){
$(".summary_choice_block").css("display","");
}else{
$(".summary_choice_block").css("display","none");
}
})
});
</script>
<% end %>
<style type="text/css">
.remove_btn{
color: red;
font-weight: bold;
cursor: pointer;
}
</style>