487 lines
20 KiB
Plaintext
487 lines
20 KiB
Plaintext
<% 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="#signup" data-toggle="tab"><%= t('seminar.signup') %></a></li>
|
|
<li><a href="#review" data-toggle="tab"><%= t('seminar.review') %></a></li>
|
|
<li><a href="#signup_set" data-toggle="tab"><%= t('seminar.signup_set') %></a></li>
|
|
<li><a href="#submission_set" data-toggle="tab"><%= t('seminar.submission_set') %></a></li>
|
|
<li><a href="#custom_set" data-toggle="tab"><%= t('seminar.custom_set') %></a></li>
|
|
<li><a href="#auto_send_email_set" data-toggle="tab"><%= t('seminar.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>
|
|
|
|
<!-- Seminar Date Time Picker -->
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.seminar_start_date') %></label>
|
|
<div class="controls">
|
|
<%= f.datetime_picker :seminar_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.seminar_end_date') %></label>
|
|
<div class="controls">
|
|
<%= f.datetime_picker :seminar_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<!-- Sign up Module -->
|
|
<div class="tab-pane fade in " id="signup">
|
|
|
|
<!-- host -->
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t("seminar.registration_status") %></label>
|
|
<div class="controls">
|
|
<% ['G','C'].each do |t| %>
|
|
<label class="checkbox inline">
|
|
<input type="checkbox" name="seminar_main[registration_status][]" value="<%=t%>" <%=(!@seminar.registration_status.blank? and @seminar.registration_status.include?(t)) ? "checked" : "" %> ><%= t("seminar.registration_status_#{t}") %>
|
|
</label>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sign up Date Time Picker -->
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.signup_start_date') %></label>
|
|
<div class="controls">
|
|
<%= f.datetime_picker :signup_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.signup_end_date') %></label>
|
|
<div class="controls">
|
|
<%= f.datetime_picker :signup_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Contribute Date Time Picker -->
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.contribute_start_date') %></label>
|
|
<div class="controls">
|
|
<%= f.datetime_picker :contribute_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.contribute_end_date') %></label>
|
|
<div class="controls">
|
|
<%= f.datetime_picker :contribute_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.contribute_file_count') %></label>
|
|
<div class="controls">
|
|
<%= f.text_field :contribute_file_count %>
|
|
(<%= t('seminar.blank_no_limit') %>)
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<!-- Review Module -->
|
|
<div class="tab-pane fade in " id="review">
|
|
<%= f.fields_for :seminar_reviews,@review do |seminar_reviews_form| %>
|
|
<div class="control-group big-group">
|
|
<label class="control-label muted"><%= t("seminar.reviewer") %></label>
|
|
<div class="controls">
|
|
<% if !@member.nil? %>
|
|
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'seminar_main[seminar_reviews_attributes][0][reviewer_id][]', email_members:@member} %>
|
|
<% else %>
|
|
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'seminar_main[seminar_reviews_attributes][0][reviewer_id][]', email_members:[]} %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.review_start_date') %></label>
|
|
<div class="controls">
|
|
<%= seminar_reviews_form.datetime_picker :review_start_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t('seminar.review_end_date') %></label>
|
|
<div class="controls">
|
|
<%= seminar_reviews_form.datetime_picker :review_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
<!-- Signup Set Module -->
|
|
<div class="tab-pane fade in " id="signup_set" style="padding: 1.2em;">
|
|
<table>
|
|
<thead>
|
|
<th><%= t('seminar.field_name') %></th>
|
|
<th><%= t('seminar.name') %></th>
|
|
<th><%= t('seminar.placeholder') %></th>
|
|
<th><%= t('seminar.disable') %></th>
|
|
<th><%= t('seminar.hidden') %></th>
|
|
</thead>
|
|
<tbody>
|
|
<% @signup_sets.each_with_index do |attr_signup,signup_index| %>
|
|
<tr>
|
|
<td>
|
|
<%= t("seminar_signup.#{attr_signup.field_name}") %>
|
|
</td>
|
|
<td>
|
|
<%= show_set_field(attr_signup,'seminar_signup_field_sets',signup_index,'name') %>
|
|
</td>
|
|
<td>
|
|
<%= show_set_field(attr_signup,'seminar_signup_field_sets',signup_index,'placeholder') %>
|
|
</td>
|
|
<td>
|
|
<input type="hidden" class="field_name" name='<%= "seminar_main[seminar_signup_field_sets][#{signup_index}][field_name]" %>' value="<%= attr_signup.field_name %>">
|
|
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_signup_field_sets][#{signup_index}][disabled]" %>' value="false">
|
|
<%= check_box_tag("seminar_main[seminar_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='<%= "seminar_main[seminar_signup_field_sets][#{signup_index}][hidden]" %>' value="false">
|
|
<%= check_box_tag("seminar_main[seminar_signup_field_sets][#{signup_index}][hidden]", true ,attr_signup.hidden) %>
|
|
<% end %>
|
|
</td>
|
|
</tr>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
<!-- Submission Set Module -->
|
|
<div class="tab-pane fade in " id="submission_set" style="padding: 1.2em;">
|
|
<table>
|
|
<thead>
|
|
<th><%= t('seminar.field_name') %></th>
|
|
<th><%= t('seminar.name') %></th>
|
|
<th><%= t('seminar.placeholder') %></th>
|
|
<th><%= t('seminar.disable') %></th>
|
|
<th><%= t('seminar.hidden') %></th>
|
|
</thead>
|
|
<tbody>
|
|
<% @submission_set.each_with_index do |attr_signup,submission_index| %>
|
|
<tr>
|
|
<td>
|
|
<%= t("seminar_signup.#{attr_signup.field_name}") %>
|
|
</td>
|
|
<td>
|
|
<%= show_set_field(attr_signup,'seminar_submission_field_sets',submission_index,'name') %>
|
|
</td>
|
|
<td>
|
|
<%= show_set_field(attr_signup,'seminar_submission_field_sets',submission_index,'placeholder') %>
|
|
</td>
|
|
<td>
|
|
<input type="hidden" class="field_name" name='<%= "seminar_main[seminar_submission_field_sets][#{submission_index}][field_name]" %>' value="<%= attr_signup.field_name %>">
|
|
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_submission_field_sets][#{submission_index}][disabled]" %>' value="false">
|
|
<%= check_box_tag("seminar_main[seminar_submission_field_sets][#{submission_index}][disabled]", true ,attr_signup.disabled) %>
|
|
</td>
|
|
<td>
|
|
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_submission_field_sets][#{submission_index}][hidden]" %>' value="false">
|
|
<%= check_box_tag("seminar_main[seminar_submission_field_sets][#{submission_index}][hidden]", true ,attr_signup.hidden) %>
|
|
</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('seminar.field_name') %></th>
|
|
<th><%= t('seminar.hidden') %></th>
|
|
</thead>
|
|
<tbody>
|
|
<% @custom_set.each_with_index do |attr_custom,custom_index| %>
|
|
<tr>
|
|
<td>
|
|
<%= SeminarSignupField.where(id:attr_custom.seminar_signup_field_id).first.title rescue '' %>
|
|
</td>
|
|
<td>
|
|
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_signup_field_customs][#{custom_index}][hidden]" %>' value="false">
|
|
<%= check_box_tag("seminar_main[seminar_signup_field_customs][#{custom_index}][hidden]", true ,attr_custom.hidden) %>
|
|
</td>
|
|
<input for="field_0" id="seminar_main_seminar_signup_field_customs_<%= custom_index.to_s %>_id" name="seminar_main[seminar_signup_field_customs][<%= custom_index.to_s %>][id]" type="hidden" value="<%= attr_custom.id.to_s %>">
|
|
</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('seminar.email_signup') %>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="#email_set1" data-toggle="tab">
|
|
<%= t('seminar.email_submission') %>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="#email_set2" data-toggle="tab">
|
|
<%= t('seminar.email_add_file') %>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="#email_set3" data-toggle="tab">
|
|
<%= t('seminar.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('seminar.disable') %>
|
|
</td>
|
|
<td>
|
|
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_email_sets][#{index1}][disabled]" %>' value="false">
|
|
<%= check_box_tag("seminar_main[seminar_email_sets][#{index1}][disabled]", true ,@email_set[index1].disabled) %>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<%= t('seminar.email_title') %>
|
|
</td>
|
|
<td>
|
|
<%= show_set_field(@email_set[index1],'seminar_email_sets',index1,'title','text_field') %>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<%= t('seminar.email_content') %>
|
|
</td>
|
|
<td>
|
|
<div class="form-group">
|
|
<%= show_set_field(@email_set[index1],'seminar_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('seminar.title') %></label>
|
|
<div class="controls">
|
|
<%= f.fields_for :title_translations do |f| %>
|
|
<%= f.text_field locale, class: "input-block-level", placeholder: t(:title), value: (@seminar.title_translations[locale] rescue nil) %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Speaker -->
|
|
<div class="control-group input-title">
|
|
<label class="control-label muted"><%= t('seminar.speaker') %></label>
|
|
<div class="controls">
|
|
<%= f.fields_for :speaker_translations do |f| %>
|
|
<%= f.text_field locale, class: "input-block-level", placeholder: t('seminar.speaker'), value: (@seminar.speaker_translations[locale] rescue nil) %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Content -->
|
|
<div class="control-group input-content">
|
|
<label class="control-label muted"><%= t('seminar.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 => (@seminar.content_translations[locale] rescue nil) %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Place-->
|
|
<div class="control-group input-title">
|
|
<label class="control-label muted"><%= t('seminar.act_place') %></label>
|
|
<div class="controls">
|
|
<%= f.fields_for :act_place_translations do |f| %>
|
|
<%= f.text_field locale, class: "input-block-level", placeholder: t('seminar.act_place'), value: (@seminar.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 @seminar && !@seminar.seminar_links.blank? %>
|
|
<div class="exist">
|
|
<% @seminar.seminar_links.each_with_index do |seminar_link, i| %>
|
|
<%= f.fields_for :seminar_links, seminar_link do |f| %>
|
|
<%= render :partial => 'form_link', :object => seminar_link, :locals => {:f => f, :i => i} %>
|
|
<% end %>
|
|
<% end %>
|
|
<hr>
|
|
</div>
|
|
<% end %>
|
|
|
|
<!-- Add -->
|
|
<div class="add-target">
|
|
</div>
|
|
<p class="add-btn">
|
|
<%= hidden_field_tag 'seminar_link_field_count', @seminar.seminar_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 @seminar && !@seminar.seminar_files.blank? %>
|
|
<div class="exist">
|
|
<% @seminar.seminar_files.each_with_index do |seminar_file, i| %>
|
|
<%= f.fields_for :seminar_files, seminar_file do |f| %>
|
|
<%= render :partial => 'form_file', :object => seminar_file, :locals => {:f => f, :i => i} %>
|
|
<% end %>
|
|
<% end %>
|
|
<hr>
|
|
</div>
|
|
<% end %>
|
|
|
|
<!-- Add -->
|
|
<div class="add-target">
|
|
</div>
|
|
<p class="add-btn">
|
|
<%= hidden_field_tag 'seminar_file_field_count', @seminar.seminar_files.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[:seminarion] rescue "" %>
|
|
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
|
<input type="hidden" name="referer_url" value="<%= get_referer_url %>">
|
|
<%= link_to t('cancel'), admin_seminars_path, :class=>"btn" %>
|
|
</div>
|
|
|
|
<% content_for :page_specific_javascript do %>
|
|
<script>
|
|
$(function() {
|
|
$("#main-wrap").after("");
|
|
|
|
$(document).on('click', '#add_link', function(){
|
|
var new_id = $(this).prev().attr('value');
|
|
var old_id = new RegExp("new_seminar_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, :seminar_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_seminar_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, :seminar_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();
|
|
}
|
|
});
|
|
|
|
});
|
|
</script>
|
|
<% end %> |