Add signup search feature.
Add assign organizer to seminar events and assign signups to reviewers feature.
This commit is contained in:
1 parent
a605fc0df7
commit
2f076ab2cf
29 files changed
+1474
-349
No files matched your search
@@ -64,7 +64,12 @@
|
||||
<%= f.datetime_picker :seminar_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.organizer') %></label>
|
||||
<div class="controls">
|
||||
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'seminar_main[organizer_id]', email_members:Array(f.object.organizer), index: "1", select_name: 'organizer_id'} %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -131,30 +136,28 @@
|
||||
</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} %>
|
||||
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'seminar_main[reviewer_ids][]', email_members:@member, index: "2", select_name: 'reviewer_ids'} %>
|
||||
<% else %>
|
||||
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'seminar_main[seminar_reviews_attributes][0][reviewer_id][]', email_members:[]} %>
|
||||
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'seminar_main[reviewer_ids][]', email_members:[], index: "2", select_name: 'reviewer_ids'} %>
|
||||
<% end %>
|
||||
</div>
|
||||
</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? %>
|
||||
<%= f.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 class="control-group">
|
||||
<label class="control-label muted"><%= t('seminar.review_end_date') %></label>
|
||||
<div class="controls">
|
||||
<%= f.datetime_picker :review_end_date, :no_label => true, :format=>"yyyy/MM/dd", :new_record => @seminar.new_record? %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Signup Set Module -->
|
||||
<div class="tab-pane fade in " id="signup_set" style="padding: 1.2em;">
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
<% @field_names = [] %>
|
||||
<% @field_name_translations = [] %>
|
||||
<% default_hidden = [] %>
|
||||
<% if @seminar.present? %>
|
||||
<% if @seminar.seminar_signup_field_sets.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_sets.each do |field_set| %>
|
||||
<% default_hidden << "seminar_signup_field_set.#{field_set.field_name}" if (field_set.hidden) %>
|
||||
<% @field_names << "seminar_signup_field_set.#{field_set.field_name}" %>
|
||||
<% @field_name_translations << field_set.name[I18n.locale] %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% ['seminar_signup.name','seminar_signup.tel','seminar.registration_status'].each do |th| %>
|
||||
<% @field_names << "default.#{th}" %>
|
||||
<% @field_name_translations << t(th) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if @seminar.seminar_signup_field_customs.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_customs.each do |field_set| %>
|
||||
<% s = SeminarSignupField.where(id:field_set.seminar_signup_field_id).first %>
|
||||
<% title = s.title rescue '' %>
|
||||
<% next if title.blank? %>
|
||||
<% next if s.key.blank? %>
|
||||
<% default_hidden << "seminar_signup_field_custom.#{s.key}" if (field_set.hidden) %>
|
||||
<% @field_names << "seminar_signup_field_custom.#{s.key}" %>
|
||||
<% @field_name_translations << (title)%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% @seminar.seminar_signup_fields.each do |s| %>
|
||||
<% default_hidden << "seminar_signup_fields.#{s.key}" %>
|
||||
<% @field_names << "seminar_signup_fields.#{s.key}" %>
|
||||
<% @field_name_translations << s.title %>
|
||||
<% end %>
|
||||
<% if @seminar.seminar_submission_field_sets.count != 0 %>
|
||||
<% show1 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='title'}[0].hidden)
|
||||
show2 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='file'}[0].hidden)
|
||||
show3 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='description'}[0].hidden)
|
||||
%>
|
||||
<% else %>
|
||||
<% show1 = true
|
||||
show2 = true
|
||||
show3 = true
|
||||
%>
|
||||
<% end %>
|
||||
<% default_hidden << "seminar_signup_contributes.title" if !show1 %>
|
||||
<% @field_names << 'seminar_signup_contributes.title' %>
|
||||
<% @field_name_translations << t('seminar_signup.title') %>
|
||||
|
||||
<% default_hidden << "seminar_signup_contributes.file" if !show2 %>
|
||||
<% @field_names << 'seminar_signup_contributes.file' %>
|
||||
<% @field_name_translations << t('seminar_signup.file') %>
|
||||
|
||||
<% default_hidden << "seminar_signup_contributes.description" if !show3 %>
|
||||
<% @field_names << 'seminar_signup_contributes.description' %>
|
||||
<% @field_name_translations << t('seminar_signup.description') %>
|
||||
<% @seminar.seminar_submission_fields.each do |s| %>
|
||||
<% @field_names << "seminar_submission_fields.#{s.key}" %>
|
||||
<% @field_name_translations << s.title %>
|
||||
<% end %>
|
||||
<% @display_field = @seminar_signup_admin_setting.display_field %>
|
||||
<% if @display_field.blank?
|
||||
@display_field = @field_names - default_hidden
|
||||
end %>
|
||||
<% else %>
|
||||
<% @field_names = [] %>
|
||||
<% @field_name_translations = [] %>
|
||||
<% default_show = [] %>
|
||||
<% seminar_signup_field_sets = SeminarSignupFieldSet.all.uniq{|s| s.field_name} %>
|
||||
<% if seminar_signup_field_sets.count != 0 %>
|
||||
<% seminar_signup_field_sets.each do |field_set| %>
|
||||
<% default_show << "seminar_signup_field_set.#{field_set.field_name}" if !(field_set.hidden) %>
|
||||
<% @field_names << "seminar_signup_field_set.#{field_set.field_name}" %>
|
||||
<% @field_name_translations << field_set.name[I18n.locale] %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% ['seminar_signup.name','seminar_signup.tel','seminar.registration_status'].each do |th| %>
|
||||
<% @field_names << "default.#{th}" %>
|
||||
<% @field_name_translations << t(th) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% seminar_signup_field_customs = SeminarSignupFieldCustom.all.map{|field_set| SeminarSignupField.where(id: field_set.seminar_signup_field_id).first}.select{|s| !s.nil?}.uniq{|s| s.key } %>
|
||||
<% if seminar_signup_field_customs.count != 0 %>
|
||||
<% seminar_signup_field_customs.each do |s| %>
|
||||
<% title = s.title rescue '' %>
|
||||
<% next if title.blank? %>
|
||||
<% next if s.key.blank? %>
|
||||
<% @field_names << "seminar_signup_field_custom.#{s.key}" %>
|
||||
<% @field_name_translations << (title)%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% seminar_signup_fields = SeminarSignupField.all.uniq{|s| s.key} %>
|
||||
<% seminar_signup_fields.each do |s| %>
|
||||
<% @field_names << "seminar_signup_fields.#{s.key}" %>
|
||||
<% @field_name_translations << s.title %>
|
||||
<% end %>
|
||||
<% show1 = true
|
||||
show2 = true
|
||||
show3 = true
|
||||
%>
|
||||
<% default_show << "seminar_signup_contributes.title" if show1 %>
|
||||
<% @field_names << 'seminar_signup_contributes.title' %>
|
||||
<% @field_name_translations << t('seminar_signup.title') %>
|
||||
|
||||
<% default_show << "seminar_signup_contributes.file" if show2 %>
|
||||
<% @field_names << 'seminar_signup_contributes.file' %>
|
||||
<% @field_name_translations << t('seminar_signup.file') %>
|
||||
|
||||
<% default_show << "seminar_signup_contributes.description" if show3 %>
|
||||
<% @field_names << 'seminar_signup_contributes.description' %>
|
||||
<% @field_name_translations << t('seminar_signup.description') %>
|
||||
<% seminar_submission_fields = SeminarSignupField.all.uniq{|s| s.key} %>
|
||||
<% seminar_submission_fields.each do |s| %>
|
||||
<% @field_names << "seminar_submission_fields.#{s.key}" %>
|
||||
<% @field_name_translations << s.title %>
|
||||
<% end %>
|
||||
<% @display_field = @seminar_signup_admin_setting.display_field %>
|
||||
<% if @display_field.blank?
|
||||
@display_field = default_show
|
||||
end %>
|
||||
<% end %>
|
||||
@@ -22,11 +22,12 @@
|
||||
<a href="<%= page_for_seminar(seminar) %>?method=show_data" target="_blank"><%= seminar.title %></a>
|
||||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills">
|
||||
<% if can_edit_or_delete?(seminar) %>
|
||||
<% if admin_for_seminar(seminar) %>
|
||||
<li><a href="/admin/seminars/<%=seminar.id.to_s%>/edit"><%= t(:edit) %></a></li>
|
||||
<li><a href="<%= admin_seminar_item_contents_path(:seminar_main_id=>seminar.id.to_s) %>"><%= t('seminar.set_seminar_item_content') %></a></li>
|
||||
<li><a href="/admin/seminars/<%=seminar.id.to_s%>/seminar_signup_field"><%= t('seminar.set_seminar_signup_field') %></a></li>
|
||||
<li><a href="/admin/seminars/<%=seminar.id.to_s%>/seminar_submission_field"><%= t('seminar.set_seminar_submission_field') %></a></li>
|
||||
<li><a href="<%=reviewer_setting_admin_seminar_path(seminar.id)%>"><%= t('seminar.reviewer_setting') %></a></li>
|
||||
<li><a href="#" class="delete text-error" rel="/admin/seminars/<%=seminar.id.to_s%>"><%= t(:delete_) %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
@@ -34,8 +35,19 @@
|
||||
</td>
|
||||
<td><%= SeminarMain.time_range(seminar.seminar_start_date, seminar.seminar_end_date) %></td>
|
||||
<td><%= SeminarMain.time_range(seminar.signup_start_date, seminar.signup_end_date) %></td>
|
||||
<td><a href="/admin/seminars/<%=seminar.id.to_s%>/seminar_signup"><%= seminar.seminar_signups.count %></a></td>
|
||||
<td><a href="/admin/seminars/<%=seminar.id.to_s%>/export?format=xlsx" target="_blank"><%= t('seminar.export') %></a></td>
|
||||
<td><a href="/admin/seminars/<%=seminar.id.to_s%>/seminar_signup">
|
||||
<% @seminar_review = seminar.seminar_reviews.where(:reviewer_id => current_user.member_profile_id.to_s).first %>
|
||||
<% if @seminar_review.present? && !@can_edit %>
|
||||
<%= @seminar_review.all_seminar_signup_ids.count %>
|
||||
<% else %>
|
||||
<%= seminar.seminar_signups.count %>
|
||||
<% end %>
|
||||
</a></td>
|
||||
<td>
|
||||
<% if can_see_seminar_signup(seminar) %>
|
||||
<a href="/admin/seminars/<%=seminar.id.to_s%>/export?format=xlsx" target="_blank"><%= t('seminar.export') %></a>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
|
||||
@@ -0,0 +1,225 @@
|
||||
<h3 class="pull-left"><%= @seminar.title %></h3>
|
||||
<div style="clear: both;"></div>
|
||||
<% org_seminar_signups = @seminar_signups %>
|
||||
<div style="float: left;width: 50%;">
|
||||
<h4><%= t("seminar.reviewer") %></h4>
|
||||
<% reviewer_show_ids = @seminar.reviewer_show_ids %>
|
||||
<% if reviewer_show_ids.nil?
|
||||
reviewer_show_ids = @seminar.reviewer_ids[0..1]
|
||||
@seminar.update(:reviewer_show_ids=>reviewer_show_ids)
|
||||
end
|
||||
%>
|
||||
<% count = 0 %>
|
||||
<% reviewer_show_ids.each do |reviewer_id| %>
|
||||
<% seminar_review = @seminar.seminar_reviews.where(:reviewer_id => reviewer_id.to_s).first %>
|
||||
<% next if seminar_review.nil? %>
|
||||
<% count += 1 %>
|
||||
<div class="reviewer_block" data-id="<%=seminar_review.id.to_s%>" data-count="<%=count%>">
|
||||
<h5><%= MemberProfile.find(reviewer_id).name rescue "" %></h5>
|
||||
<span class="zoom_out_btn">-</span>
|
||||
<% @seminar_signups = SeminarSignup.where(:id.in=>seminar_review.all_seminar_signup_ids) %>
|
||||
<% @seminar_signups = @seminar_signups.page(params["page_no#{count}"]).per(5) %>
|
||||
<% @seminar_signups = @seminar_signups.page(0) if @seminar_signups.to_a.count == 0 %>
|
||||
<%= render :partial => "seminar_signup_render_table",:locals=>{:@seminar_signups=>@seminar_signups,:@drag => true,:@include_blank=>true,:@reviewer_id=>seminar_review.id.to_s} %>
|
||||
<%
|
||||
pagination_html = content_tag :div, class: "bottomnav clearfix", style: "position: static;" do
|
||||
content_tag :div, paginate(@seminar_signups), class: "pagination pagination-centered"
|
||||
end
|
||||
%>
|
||||
<%= pagination_html.gsub(/page_no#{count}=\d*/,"").gsub('&&','&').gsub(/page=(\d*)/m){|ff| ff.gsub("page=#{$1}","page=#{params[:page]}&page_no#{count}=#{$1}")}.html_safe %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if count != 2 && @seminar.seminar_reviews.count >= 2 %>
|
||||
<% (0...(2-count)).each do |i| %>
|
||||
<div class="blank_block reviewer_block">
|
||||
<i class="fa fa-plus-circle add_btn"></i>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% @seminar_signups = org_seminar_signups
|
||||
@include_blank = false
|
||||
@reviewer_id = nil
|
||||
%>
|
||||
<div style="float: right;width: 50%;" data-count="<%=count+=1%>">
|
||||
<div id="main-table" style="overflow: scroll;">
|
||||
<%= render :partial => "seminar_signup_render_table" %>
|
||||
</div>
|
||||
<%=
|
||||
content_tag :div, class: "bottomnav clearfix", style: "position: static;" do
|
||||
content_tag :div, paginate(@seminar_signups), class: "pagination pagination-centered"
|
||||
end
|
||||
%>
|
||||
</div>
|
||||
<% unless request.xhr? %>
|
||||
<div id='dialog-confirm' title="<%= t("seminar.select_reviewer") %>" style="display: none;">
|
||||
<div style="clear:both;"></div>
|
||||
<div id="info_texts">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, :class => 'icon-cog icon-white') + t("seminar.field_display_setting"), seminar_signup_admin_setting_admin_seminar_path(params[:id]), :class => 'btn btn-primary' %>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
function generate_pagination(reviewer_id,index=1,start=1,end=1,active=1){
|
||||
var pagination = $('<div class="pagination pagination-centered">');
|
||||
pagination.append('<div class="pagination"><ul></ul></div>');
|
||||
var href = "<%=get_reviewer_block_admin_seminar_path(@seminar.id)%>?reviewer_id="+reviewer_id+"&page_no"+index+"=new_page_no";
|
||||
if(active != start){
|
||||
pagination.find("ul").append("<li class=\"first\"><a href=\""+href.replace('new_page_no',1)+"\">« First</a></li>");
|
||||
pagination.find("ul").append("<li class=\"prev\"><a href=\""+href.replace('new_page_no',active-1)+"\">‹ Prev</a></li>");
|
||||
}
|
||||
for(var i=start;i<end;i++){
|
||||
if(i == active){
|
||||
pagination.find("ul").append("<li class=\"page active\"><a href=\""+href.replace('new_page_no',i)+"\">"+i+"</a></li>");
|
||||
}else{
|
||||
pagination.find("ul").append("<li class=\"page\"><a href=\""+href.replace('new_page_no',i)+"\">"+i+"</a></li>");
|
||||
}
|
||||
}
|
||||
if(active != end && end != 1){
|
||||
pagination.find("ul").append("<li class=\"next\"><a href=\""+href.replace('new_page_no',active+1)+"\">Next ›</a></li>");
|
||||
pagination.find("ul").append("<li class=\"last\"><a href=\""+href.replace('new_page_no',end)+"\">Last »</a></li>");
|
||||
}
|
||||
return pagination.prop("outerHTML");
|
||||
}
|
||||
function adjust_height(){
|
||||
var bottom_offset = $(".bottomnav").eq(1).offset().top;
|
||||
var top_offset = [$('ul.pull-right').offset().top,$('h3.pull-left').offset().top];
|
||||
var top_height = [$('ul.pull-right').height(),$("h3.pull-left").height()];
|
||||
var top_all_offset_bottom = top_offset.map(function(d,i){return d+top_height[i]});
|
||||
top_all_offset_bottom = Math.max.apply(null, top_all_offset_bottom);
|
||||
var bottom_height = $(".bottomnav")[0].offsetHeight;
|
||||
var block_height;// = bottom_offset - top_all_offset_bottom - bottom_height - 100;
|
||||
block_height = $(window).height() - top_all_offset_bottom - bottom_height - 100;
|
||||
$("#main-table").height(block_height);
|
||||
$(".reviewer_block").height(block_height / 2);
|
||||
}
|
||||
function a_tag_xhr_request(ele){
|
||||
var href = $(ele).attr("href");
|
||||
var div_block = $(ele).parents(".bottomnav").parent();
|
||||
var index = div_block.data("count");
|
||||
$.get(href).done(function(data){
|
||||
var $d = $(data);
|
||||
div_block.html($d.find('[data-count='+index+']').html());
|
||||
$(".pagination a").attr("onclick","a_tag_xhr_request(this);return false;");
|
||||
adjust_height();
|
||||
window.history.pushState(data,null,href);
|
||||
})
|
||||
}
|
||||
function init_func(){
|
||||
adjust_height();
|
||||
$(".zoom_out_btn").off("click").on("click",function(){
|
||||
var parent = $(this).parent();
|
||||
var id = parent.data("id");
|
||||
$.post("<%=admin_seminar_update_seminar_review_path%>",{id: id,mode: "hide"}).done(function(data){
|
||||
console.log(data);
|
||||
parent.css("display","none");
|
||||
parent.before('<div class="blank_block reviewer_block">'+
|
||||
'<i class="fa fa-plus-circle add_btn"></i>'+
|
||||
'</div>');
|
||||
init_func();
|
||||
})
|
||||
})
|
||||
$(".blank_block .add_btn").off("click").on("click",function(){
|
||||
var ele = $(this).parent();
|
||||
$.get("<%=get_hide_reviewer_admin_seminar_path(@seminar.id)%>").done(function(data){
|
||||
$("#info_texts").html(data);
|
||||
$( "#dialog-confirm" ).dialog({
|
||||
resizable: true,
|
||||
minHeight: 300,
|
||||
maxHeight: 400,
|
||||
modal: true,
|
||||
width: '80%',
|
||||
close: function(){$( this ).dialog( "close" );},
|
||||
open: function(){
|
||||
$(".selected_item").click(function(){
|
||||
var reviewer_id = $(this).data("id");
|
||||
$.get("<%=get_reviewer_block_admin_seminar_path(@seminar.id)%>",{reviewer_id: reviewer_id}).done(function(data){
|
||||
ele.prop("outerHTML",data);
|
||||
init_func();
|
||||
$( "#dialog-confirm" ).dialog( "close" );
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
$(".pagination a").attr("onclick","a_tag_xhr_request(this);return false;")
|
||||
$( ".table tbody" ).sortable({
|
||||
revert: true,
|
||||
handle: ".brand",
|
||||
connectWith: ".table tbody",
|
||||
update: function(event, ui) {
|
||||
var target = $(event.target);
|
||||
var mode = "";
|
||||
var id = target.data("id");
|
||||
var signup_id = ui.item.data("id");
|
||||
if(ui.item.parent().data("id") == id){
|
||||
mode = "append";
|
||||
}else{
|
||||
mode = "remove";
|
||||
}
|
||||
if(target.find("tr").not(".blank_tr").length == 0){
|
||||
target.find(".blank_tr").css("display","");
|
||||
}else{
|
||||
target.find(".blank_tr").css("display","none");
|
||||
}
|
||||
if(id != undefined){
|
||||
$.post("<%=admin_seminar_update_seminar_review_path%>",{id: id,mode: mode,signup_id: signup_id}).done(function(data){
|
||||
console.log(data);
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
$(document).ready(function(){
|
||||
|
||||
init_func();
|
||||
})
|
||||
$(window).resize(function(){
|
||||
adjust_height();
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.icons-list-2 {
|
||||
cursor: all-scroll;
|
||||
}
|
||||
.reviewer_block{
|
||||
overflow: scroll;
|
||||
border: 0.2em solid black;
|
||||
position: relative;
|
||||
}
|
||||
.zoom_out_btn{
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
background: #454545;
|
||||
color: #FFFFFF;
|
||||
font-size: 2em;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.blank_block .add_btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
font-size: 3em;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: -10px 0 0 -10px;
|
||||
display: inline-block;
|
||||
font-family: FontAwesome;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
<% end %>
|
||||
@@ -0,0 +1,122 @@
|
||||
<table class="table main-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<% render :partial => "get_display_fields" %>
|
||||
<% if @seminar.nil? %>
|
||||
<th><%= t('seminar.title') %></th>
|
||||
<% end %>
|
||||
<% if @drag%>
|
||||
<th></th>
|
||||
<% end %>
|
||||
<% @field_name_translations.each_with_index do |trans,i|%>
|
||||
<% next unless @display_field.include?(@field_names[i]) %>
|
||||
<th class="span2" id="<%=@field_names[i]%>"><%= trans %></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sort-holder" <%=@reviewer_id.nil? ? "" : "data-id=#{@reviewer_id}" %>>
|
||||
<% @seminar_signups.each do |seminar_signup| %>
|
||||
<% len = seminar_signup.seminar_signup_contributes.count %>
|
||||
<% rowspan = "rowspan=#{len==0? 1 : len}" %>
|
||||
<% vals = [] %>
|
||||
<tr data-id="<%=seminar_signup.id.to_s%>">
|
||||
<% if @drag%>
|
||||
<td <%=rowspan%>><span class="brand"><i class="icons-list-2"></i></span></td>
|
||||
<% end %>
|
||||
<% vals << seminar_signup.seminar_main.title if @seminar.nil? %>
|
||||
<% @display_field.each_with_index do |fn,i|%>
|
||||
<% names = fn.split(".") %>
|
||||
<% val = "" %>
|
||||
<% if names[0] == "seminar_signup_field_set" %>
|
||||
<% if names[1] == "name" %>
|
||||
<% val = seminar_signup.name
|
||||
val += "<div class=\"quick-edit\">
|
||||
<ul class=\"nav nav-pills\">"
|
||||
if can_edit_or_delete?(seminar_signup)
|
||||
val += "<li><a href=\"/admin/seminar_signups/#{seminar_signup.id}/edit\">#{t(:edit)}</a></li>
|
||||
<li><a href=\"#{admin_seminar_signup_path(seminar_signup.id)}\" class=\"delete text-error\" rel=\"nofollow\" data-method=\"delete\" data-confirm=\"Are you sure?\">#{t(:delete_)}</a></li>"
|
||||
end
|
||||
val += "</ul>
|
||||
</div>"
|
||||
%>
|
||||
<% elsif names[1] == 'status' %>
|
||||
<% val = t("seminar.registration_status_#{seminar_signup.status}") if !seminar_signup.status.blank? %>
|
||||
<% elsif names[1] != 'recaptcha' %>
|
||||
<% val = seminar_signup.send("#{names[1]}") %>
|
||||
<% end %>
|
||||
<% elsif names[0] == "default" %>
|
||||
<% if names[2] == "name" %>
|
||||
<% val = seminar_signup.name
|
||||
val += "<div class=\"quick-edit\">
|
||||
<ul class=\"nav nav-pills\">"
|
||||
if can_edit_or_delete?(seminar_signup)
|
||||
val += "<li><a href=\"/admin/seminar_signups/#{seminar_signup.id}/edit\">#{t(:edit)}</a></li>
|
||||
<li><a href=\"#{admin_seminar_signup_path(seminar_signup.id)}\" class=\"delete text-error\" rel=\"nofollow\" data-method=\"delete\" data-confirm=\"Are you sure?\">#{t(:delete_)}</a></li>"
|
||||
end
|
||||
val += "</ul>
|
||||
</div>"
|
||||
%>
|
||||
<% elsif names[2] == "tel" %>
|
||||
<% val = seminar_signup.tel %>
|
||||
<% elsif names[2] == "registration_status" %>
|
||||
<% val = t("seminar.registration_status_#{seminar_signup.status}") if !seminar_signup.status.blank? %>
|
||||
<% end %>
|
||||
<% elsif names[0] == "seminar_signup_field_custom" || names[0] == "seminar_signup_fields" %>
|
||||
<% val = seminar_signup.seminar_signup_values.where(:key=>names[1]).first.get_value_by_locale(I18n.locale) rescue "" %>
|
||||
<% elsif names[0] == "seminar_signup_contributes" %>
|
||||
<% if names[1] == "file" %>
|
||||
<% val = seminar_signup.seminar_signup_contributes.to_a %>
|
||||
<% else %>
|
||||
<% val = seminar_signup.seminar_signup_contributes.collect{|s| s.send(names[1])} %>
|
||||
<% end %>
|
||||
<% elsif names[0] == "seminar_submission_fields" %>
|
||||
<% val = seminar_signup.seminar_signup_contributes.collect{|s| (s.seminar_submission_values.where(:key=>names[1]).first.get_value_by_locale(I18n.locale) rescue "")} %>
|
||||
<% end %>
|
||||
<% vals << val %>
|
||||
<% end %>
|
||||
<% count = 0 %>
|
||||
<% indices = [] %>
|
||||
<% vals.each_with_index do |val,i| %>
|
||||
<% if val.class == Array %>
|
||||
<% count = val.count - 1 %>
|
||||
<% indices << i%>
|
||||
<td>
|
||||
<% if val[0].class == SeminarSignupContribute #File %>
|
||||
<% seminar_signup_contribute = val[0] %>
|
||||
<%= link_to (seminar_signup_contribute.title.blank? ? File.basename(seminar_signup_contribute.file.path) : seminar_signup_contribute.title) , seminar_signup_contribute.file.url, {:target => '_blank', :title => Nokogiri::HTML(seminar_signup_contribute.description).text} if seminar_signup_contribute.file.file %>
|
||||
<% else %>
|
||||
<%= val[0].html_safe.to_s rescue "" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td <%= rowspan %>><%= val.to_s.html_safe %></td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% (0...count).each do |i|%>
|
||||
<tr>
|
||||
<% indices.each do |index| %>
|
||||
<td>
|
||||
<% if vals[index][i].class == SeminarSignupContribute #File %>
|
||||
<% seminar_signup_contribute = vals[index][i] %>
|
||||
<%= link_to (seminar_signup_contribute.title.blank? ? File.basename(seminar_signup_contribute.file.path) : seminar_signup_contribute.title) , seminar_signup_contribute.file.url, {:target => '_blank', :title => Nokogiri::HTML(seminar_signup_contribute.description).text} if seminar_signup_contribute.file.file %>
|
||||
<% else %>
|
||||
<%= vals[index][i].html_safe.to_s rescue "" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% if @include_blank && @seminar_signups.count == 0 %>
|
||||
<tr class="blank_tr">
|
||||
<% if @drag %>
|
||||
<td rowspan="3"></td>
|
||||
<% end %>
|
||||
<% (0...@display_field.count).each do |f| %>
|
||||
<td rowspan="3"></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -0,0 +1,22 @@
|
||||
<form id="module-search-form">
|
||||
<div class="sc-field">
|
||||
<input name="type" value="<%=params[:type]%>" type="hidden">
|
||||
<input id="filter-input" class="search-query input-medium" type="text" name="search" value="<%= params[:search] %>" placeholder="搜尋">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<h4><%= @seminar.title %></h4>
|
||||
|
||||
<%= render :partial => "seminar_signup_render_table" %>
|
||||
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="pagination pagination-centered"><%= (paginate(@seminar_signups) rescue nil) %></div>
|
||||
<% if @can_edit %>
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, :class => 'icon-cog icon-white') + t("seminar.field_display_setting"), seminar_signup_admin_setting_admin_seminar_path(params[:id]), :class => 'btn btn-primary' %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= render 'layouts/delete_modal', delete_options: @delete_options %>
|
||||
@@ -0,0 +1,33 @@
|
||||
<% 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 %>
|
||||
<fieldset>
|
||||
<legend>查詢報名人</legend>
|
||||
<form method="get" id="searchform" class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<label for="name" class="control-label">報名人姓名</label>
|
||||
<div class="controls">
|
||||
<input name="name" type="text" id="name" value="<%=params[:name]%>" size="30">
|
||||
<input type="submit" id="searchsubmit" value="<%=t(:search_)%>">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<%= render :partial => "seminar_signup_render_table" %>
|
||||
<% if @can_edit %>
|
||||
<div class="bottomnav clearfix">
|
||||
<div class="pagination pagination-centered"><%= (paginate(@seminar_signups) rescue nil) %></div>
|
||||
<div class="action pull-right">
|
||||
<%= link_to content_tag(:i, nil, :class => 'icon-cog icon-white') + t("seminar.field_display_setting"), seminar_signup_admin_setting_admin_seminar_path("enquiry_for_applicants"), :class => 'btn btn-primary' %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
@@ -34,7 +34,7 @@ wb.add_worksheet(name: (@seminar.title.to_s[0..27]+'...')) do |sheet|
|
||||
|
||||
sheet.add_row row
|
||||
|
||||
@seminar.seminar_signups.each do |signup|
|
||||
@seminar_signups.each do |signup|
|
||||
|
||||
row2 = []
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<ul class="checkbox-card">
|
||||
<% @hide_reviewers.each do |member|%>
|
||||
<% member_name = member.name %>
|
||||
<% member_id = member.id.to_s %>
|
||||
<% member_pic_url = ((member.avatar.file.present? rescue false) ? member.avatar.url : "/assets/member-pic.png") %>
|
||||
<li class="filter-item selected_item selected_member check-item" data-id="<%=member_id%>" style="margin: 0 10px 10px 0;">
|
||||
<label style="height: 100%;padding: 0;">
|
||||
<img style="max-height: 100%;" alt="Member pic" class="member-pic" src="<%=member_pic_url%>">
|
||||
<span class="user-name" style="float: right;width: 95px;padding-top: 8px;font-size: 1em;position: absolute;padding-left: 0.5em;"><%=member_name%></span>
|
||||
</label>
|
||||
<input name="member_ids[]" type="hidden" value="<%=member_id%>">
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<style type="text/css">
|
||||
.checkbox-card li:hover label span, .checkbox-card li:hover label span.user-name{
|
||||
color: #363636;
|
||||
}
|
||||
.checkbox-card li:hover{
|
||||
background-color: #cccccc;
|
||||
}
|
||||
.selected_item{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,14 @@
|
||||
<% seminar_review = @seminar.seminar_reviews.where(:reviewer_id => @reviewer_id.to_s).first %>
|
||||
<% unless seminar_review.nil? %>
|
||||
<div class="reviewer_block" data-id="<%=seminar_review.id.to_s%>">
|
||||
<h5><%= MemberProfile.find(@reviewer_id).name rescue "" %></h5>
|
||||
<span class="zoom_out_btn">-</span>
|
||||
<% @seminar_signups = SeminarSignup.where(:id.in=>seminar_review.all_seminar_signup_ids) %>
|
||||
<%= render :partial => "seminar_signup_render_table",:locals=>{:@seminar_signups=>@seminar_signups.page(params[:page]).per(5),:@drag => true,:@include_blank=>true,:@reviewer_id=>seminar_review.id.to_s} %>
|
||||
<%=
|
||||
content_tag :div, class: "bottomnav clearfix", style: "position: static;" do
|
||||
content_tag :div, paginate(@seminar_signups), class: "pagination pagination-centered"
|
||||
end
|
||||
%>
|
||||
</div>
|
||||
<% end %>
|
||||
@@ -0,0 +1,99 @@
|
||||
<% select_keys = [] %>
|
||||
<% fields_values = @fields_values.map{|i,fields_values|
|
||||
"<div class=\"fields_value_block\">" + fields_values.map.with_index{|v,ii| "<label class=\"checkbox-inline\">" + check_box_tag("seminar_main[seminar_reviews_attributes][new_index][default_topics_values][new_value_index][]",ii,false,{:id=>nil}) + "#{v}</label>" }.join("") +
|
||||
"</div>"
|
||||
} %>
|
||||
<%= form_for @seminar, url: update_reviewer_setting_admin_seminar_path(@seminar.id), html: {class: "form-horizontal main-forms"} do |f| %>
|
||||
<fieldset>
|
||||
<% count = 0 %>
|
||||
<% @seminar_reviews.each_with_index do |seminar_review,i| %>
|
||||
<% next if seminar_review.review.nil? %>
|
||||
<%= f.fields_for :seminar_reviews,seminar_review do |f| %>
|
||||
<h4><%= seminar_review.review.name rescue "" %></h4>
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t('seminar.assign_fields') %></label>
|
||||
<div class="controls">
|
||||
<% seminar_review.default_topics.each_with_index do |v,ii| %>
|
||||
<div class="border-block">
|
||||
<span class="remove_btn">X</span>
|
||||
<%= select_tag("seminar_main[seminar_reviews_attributes][#{count}][default_topics][]" , options_for_select(@fields_translations.zip(@fields),v),{:class=>"select_field_types","data-index"=>count}) %>
|
||||
<% select_index = @fields.index(v) %>
|
||||
<% checked_values = seminar_review.default_topics_values[ii] %>
|
||||
<div class="fields_value_block">
|
||||
<% @fields_values[select_index].each_with_index do |v,iii| %>
|
||||
<% checked = checked_values.include?(iii.to_s) rescue false %>
|
||||
<label class="checkbox-inline">
|
||||
<%= check_box_tag("seminar_main[seminar_reviews_attributes][#{count}][default_topics_values][#{ii}][]",iii,checked,{:id=>nil}) + v %>
|
||||
</label>
|
||||
<% end if select_index.present? %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% select_keys << select_tag("seminar_main[seminar_reviews_attributes][#{count}][default_topics][]" , options_for_select(@fields_translations.zip(@fields)),{:class=>"select_field_types","data-index"=>count}) %>
|
||||
<button class="btn btn-primary add_assign_fields" type="button" data-index=<%=count%>><%=t('seminar.add_assign_fields')%></button>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% count += 1 %>
|
||||
<% end %>
|
||||
<div class="form-actions">
|
||||
<%= 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>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<script type="text/javascript">
|
||||
function init_reviews(){
|
||||
$(".select_field_types").off("change").on("change",function(){
|
||||
var selectedIndex = $(this).prop("selectedIndex");
|
||||
var index = $(this).data("index");
|
||||
var length = $(this).parent().parent().find(".border-block").length;
|
||||
$(this).siblings(".fields_value_block").html(fields_values[selectedIndex].replaceAll("new_index",index).replaceAll("new_value_index",length))
|
||||
})
|
||||
$(".remove_btn").off("click").on("click",function(){
|
||||
if(window.confirm("<%=t('seminar.are_you_want_to_remove')%>"))
|
||||
$(this).parent().remove();
|
||||
})
|
||||
}
|
||||
$(document).ready(function(){
|
||||
select_keys = <%= select_keys.to_s.html_safe %>;
|
||||
fields_values = <%= fields_values.to_s.html_safe %>;
|
||||
$(".add_assign_fields").click(function(){
|
||||
var index = $(this).data("index");
|
||||
var div_block = $("<div class=\"border-block\"><span class=\"remove_btn\">X</span></div>");
|
||||
div_block.append(select_keys[index]);
|
||||
var length = $(this).siblings(".border-block").length;
|
||||
div_block.append(fields_values[0].replaceAll("new_index",index).replaceAll("new_value_index",length));
|
||||
$(this).before(div_block);
|
||||
init_reviews();
|
||||
})
|
||||
init_reviews();
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.checkbox-inline{
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-top: 0.4375em;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding-left: 1.25em;
|
||||
}
|
||||
.border-block{
|
||||
position: relative;
|
||||
border: 0.2em solid;
|
||||
padding: 1.3em 0 1.3em 1.3em;
|
||||
}
|
||||
.remove_btn{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: red;
|
||||
background-color: #333333;
|
||||
width: 1.3em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
@@ -1,215 +1,21 @@
|
||||
|
||||
<span id="index_table">
|
||||
<span id="index_table" style="display: inline-block;">
|
||||
<script>
|
||||
if(document.querySelectorAll("#orbit-bar").length==0) location.reload();
|
||||
</script>
|
||||
|
||||
|
||||
<form id="module-search-form">
|
||||
<div class="sc-field">
|
||||
<input id="filter-input" class="search-query input-medium" type="text" name="search" value="<%= params[:search] %>" placeholder="搜尋">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<h4><%= @seminar.title %></h4>
|
||||
|
||||
<table class="table main-list">
|
||||
<thead>
|
||||
<tr class="sort-header">
|
||||
<% if @seminar.seminar_signup_field_sets.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_sets.each do |field_set| %>
|
||||
<% if !(field_set.hidden) %>
|
||||
<th class='span2'><%= field_set.name[I18n.locale] %></th>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<th class='span2'><%= t('seminar_signup.name')%></th>
|
||||
<th class='span2'><%= t('seminar_signup.tel')%></th>
|
||||
<th class='span2'><%= t('seminar.registration_status')%></th>
|
||||
<% end %>
|
||||
<% if @seminar.seminar_signup_field_customs.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_customs.each do |field_set| %>
|
||||
<% if !(field_set.hidden) %>
|
||||
<th class='span2'><%= SeminarSignupField.where(id:field_set.seminar_signup_field_id).first.title rescue '' %></th>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if @seminar.seminar_submission_field_sets.count != 0 %>
|
||||
<% show1 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='title'}[0].hidden)
|
||||
show2 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='file'}[0].hidden)
|
||||
show3 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='description'}[0].hidden)
|
||||
%>
|
||||
<% else %>
|
||||
<% show1 = true
|
||||
show2 = true
|
||||
show3 = true
|
||||
%>
|
||||
<% end %>
|
||||
<% if show1 %>
|
||||
<th class='span2'><%= t('seminar_signup.title')%></th>
|
||||
<% end %>
|
||||
<% if show2 %>
|
||||
<th class='span2'><%= t('seminar_signup.file')%></th>
|
||||
<% end %>
|
||||
<% if show3 %>
|
||||
<th class='span2'><%= t('seminar_signup.description')%></th>
|
||||
<% end %>
|
||||
<% @seminar.seminar_submission_fields.asc(:_id).each do |submission_field| %>
|
||||
<th class='span2'><%= submission_field.title %></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @seminar_signups.each do |seminar_signup| %>
|
||||
<% len = seminar_signup.seminar_signup_contributes.count %>
|
||||
<tr>
|
||||
<% if @seminar.seminar_signup_field_sets.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_sets.each do |field_set| %>
|
||||
<% if !(field_set.hidden) %>
|
||||
<td rowspan="<%= len==0? 1 : len %>">
|
||||
<% if field_set.field_name== 'name' %>
|
||||
<%= seminar_signup.name %>
|
||||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills">
|
||||
<% if can_edit_or_delete?(seminar_signup) %>
|
||||
<li><a href="/admin/seminar_signups/<%=seminar_signup.id.to_s%>/edit"><%= t(:edit) %></a></li>
|
||||
<li><a href="#" class="delete text-error" rel="/admin/seminar_signups/<%=seminar_signup.id.to_s%>"><%= t(:delete_) %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<% elsif field_set.field_name== 'status' %>
|
||||
<%= t("seminar.registration_status_#{seminar_signup.status}") if !seminar_signup.status.blank? %>
|
||||
<% elsif field_set.field_name != 'recaptcha' %>
|
||||
<%= seminar_signup.send("#{field_set.field_name}") %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<td rowspan="<%= len==0? 1 : len %>">
|
||||
<%= seminar_signup.name %>
|
||||
<div class="quick-edit">
|
||||
<ul class="nav nav-pills">
|
||||
<% if can_edit_or_delete?(seminar_signup) %>
|
||||
<li><a href="/admin/seminar_signups/<%=seminar_signup.id.to_s%>/edit"><%= t(:edit) %></a></li>
|
||||
<li><a href="#" class="delete text-error" rel="/admin/seminar_signups/<%=seminar_signup.id.to_s%>"><%= t(:delete_) %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
<td rowspan="<%= len==0? 1 : len %>"><%= seminar_signup.tel %></td>
|
||||
<td rowspan="<%= len==0? 1 : len %>"><%= t("seminar.registration_status_#{seminar_signup.status}") if !seminar_signup.status.blank? %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if @seminar.seminar_signup_field_customs.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_customs.each do |field_set| %>
|
||||
<% if !(field_set.hidden) %>
|
||||
<td rowspan="<%= len==0? 1 : len %>">
|
||||
<% seminar_signup.seminar_signup_values.each do |seminar_signup_values| %>
|
||||
<% if seminar_signup_values.seminar_signup_field_id == field_set.seminar_signup_field_id %>
|
||||
<% if seminar_signup_values.value.class == String || seminar_signup_values.value.nil? %>
|
||||
<%= seminar_signup_values.get_value_by_locale(I18n.locale,seminar_signup_values) %>
|
||||
<% else %>
|
||||
<% seminar_signup_values.value.each do |key,v| %>
|
||||
<%= "#{I18n.t(key)}:#{seminar_signup_values.get_value_by_locale(key,seminar_signup_values)}" %>
|
||||
<br>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% count_set = 0 %>
|
||||
<% if @seminar.seminar_submission_field_sets.count != 0 %>
|
||||
<% show1 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='title'}[0].hidden)
|
||||
show2 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='file'}[0].hidden)
|
||||
show3 = !(@seminar.seminar_submission_field_sets.select{|v| v.field_name=='description'}[0].hidden)
|
||||
%>
|
||||
<% @seminar.seminar_submission_field_sets.each do |field_set| %>
|
||||
<% if !(field_set.hidden) %>
|
||||
<% count_set+=1 %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% show1 = true
|
||||
show2 = true
|
||||
show3 = true
|
||||
%>
|
||||
<% count_set = 2 %>
|
||||
<% end %>
|
||||
<% if len==0 %>
|
||||
<%
|
||||
count_field = @seminar.seminar_submission_fields.count
|
||||
%>
|
||||
<ul>
|
||||
<% for i in 1..count_field+count_set %>
|
||||
<td rowspan="1">
|
||||
</td>
|
||||
<% end %>
|
||||
</ul>
|
||||
</tr>
|
||||
<% end %>
|
||||
<ul>
|
||||
<% seminar_signup.seminar_signup_contributes.collect do |seminar_signup_contribute| %>
|
||||
<% if show1 %>
|
||||
<td>
|
||||
<li><%= seminar_signup_contribute.title.to_s %></li>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if show2 %>
|
||||
<td>
|
||||
<li>
|
||||
<%= link_to (seminar_signup_contribute.title.blank? ? File.basename(seminar_signup_contribute.file.path) : seminar_signup_contribute.title) , seminar_signup_contribute.file.url, {:target => '_blank', :title => Nokogiri::HTML(seminar_signup_contribute.description).text} if seminar_signup_contribute.file.file %>
|
||||
</li>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if show3 %>
|
||||
<td>
|
||||
<li><%= seminar_signup_contribute.description.to_s.html_safe %></li>
|
||||
</td>
|
||||
<% end %>
|
||||
<%
|
||||
count_value = seminar_signup_contribute.seminar_submission_values.count
|
||||
count_field = @seminar.seminar_submission_fields.count
|
||||
%>
|
||||
<% if count_value == count_field %>
|
||||
<% seminar_signup_contribute.seminar_submission_values.asc(:seminar_submission_field_id).each do |value| %>
|
||||
<td>
|
||||
<span style="display: list-item;">
|
||||
<% if value.value.class == String || value.value.nil? %>
|
||||
<%= value.get_value_by_locale(I18n.locale,value) %>
|
||||
<% else %>
|
||||
<% value.value.each do |key,v| %>
|
||||
<%= "#{I18n.t(key)}:#{value.get_value_by_locale(key,value)}" %>
|
||||
<br>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% for i in 1..(count_field-count_value) %>
|
||||
<td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<% end %>
|
||||
</ul>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<%=
|
||||
content_tag :div, class: "bottomnav clearfix" do
|
||||
content_tag :div, paginate(@seminar_signups), class: "pagination pagination-centered"
|
||||
end
|
||||
%>
|
||||
</span>
|
||||
|
||||
<%= render 'layouts/delete_modal', delete_options: @delete_options %>
|
||||
<% if @can_edit %>
|
||||
<ul class="pull-right"><li><a href="?type=" class="btn"><%= t('seminar.dashboard') %></a></li><li><a href="?type=table" class="btn"><%= t('seminar.table') %></a></li></ul>
|
||||
<% end %>
|
||||
<% if params[:type] == "table" || (!@can_edit) %>
|
||||
<div style="clear: both;"></div>
|
||||
<%= render :partial => 'seminar_signup_table' %>
|
||||
<% else %>
|
||||
<%= render :partial => 'seminar_signup_dashboard' %>
|
||||
<% end %>
|
||||
<style type="text/css">
|
||||
.pull-right li{
|
||||
float: left;
|
||||
}
|
||||
li{
|
||||
list-style: none;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,57 @@
|
||||
<% 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 %>
|
||||
<%= form_for @seminar_signup_admin_setting, url: update_seminar_signup_admin_setting_admin_seminar_path, html: {class: "form-horizontal main-forms"} do |f| %>
|
||||
<h3>
|
||||
<% if @seminar %>
|
||||
<%= @seminar.title %>
|
||||
<% else %>
|
||||
<%= t("seminar.enquiry_for_applicants_display_fields_setting") %>
|
||||
<% end %>
|
||||
</h3>
|
||||
<fieldset>
|
||||
<!-- Input Area -->
|
||||
<div class="input-area">
|
||||
<h4><%= t('seminar.display_field') %></h4>
|
||||
<% render :partial => "get_display_fields" %>
|
||||
<% max_length = 10 %>
|
||||
<% @field_name_translations.each_with_index do |trans,i|%>
|
||||
<% if i % max_length == 0 %>
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="span2"><%= trans %></th>
|
||||
<% else %>
|
||||
<th class="span2"><%= trans %></th>
|
||||
<% end %>
|
||||
<% if ((i % max_length) == (max_length - 1) || i == (@field_name_translations.count - 1)) %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @field_names[((i/max_length) *max_length) ..i].each do |fn|%>
|
||||
<td><%= check_box_tag "#{f.object_name}[display_field][]",fn , @display_field.include?(fn) %></td>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= hidden_field_tag :id, params[:id] %>
|
||||
</div>
|
||||
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||||
<input type="hidden" name="referer_url" value="<%= get_referer_url %>">
|
||||
<%= link_to t('cancel'), seminar_signup_admin_seminar_path(params[:id]), :class=>"btn" %>
|
||||
</div>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
@@ -0,0 +1,103 @@
|
||||
<table class="table main-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<% render :partial => "get_display_fields" %>
|
||||
<% @field_name_translations.each_with_index do |trans,i|%>
|
||||
<% next unless @display_field.include?(@field_names[i]) %>
|
||||
<th class="span2" id="<%=@field_names[i]%>"><%= trans %></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sort-holder">
|
||||
<% @seminar_signups.each do |seminar_signup| %>
|
||||
<% len = seminar_signup.seminar_signup_contributes.count %>
|
||||
<% rowspan = "rowspan=#{len==0? 1 : len}" %>
|
||||
<% vals = [] %>
|
||||
<tr>
|
||||
<% @field_names.each_with_index do |fn,i|%>
|
||||
<% next unless @display_field.include?(fn) %>
|
||||
<% names = fn.split(".") %>
|
||||
<% val = "" %>
|
||||
<% if names[0] == "seminar_signup_field_set" %>
|
||||
<% if names[1] == "name" %>
|
||||
<% val = seminar_signup.name
|
||||
val += "<div class=\"quick-edit\">
|
||||
<ul class=\"nav nav-pills\">"
|
||||
if can_edit_or_delete?(seminar_signup)
|
||||
val += "<li><a href=\"/admin/seminar_signups/#{seminar_signup.id}/edit\">#{t(:edit)}</a></li>
|
||||
<li><a href=\"#{admin_seminar_signup_path(seminar_signup.id)}\" class=\"delete text-error\" rel=\"nofollow\" data-method=\"delete\" data-confirm=\"Are you sure?\">#{t(:delete_)}</a></li>"
|
||||
end
|
||||
val += "</ul>
|
||||
</div>"
|
||||
%>
|
||||
<% elsif names[1] == 'status' %>
|
||||
<% val = t("seminar.registration_status_#{seminar_signup.status}") if !seminar_signup.status.blank? %>
|
||||
<% elsif names[1] != 'recaptcha' %>
|
||||
<% val = seminar_signup.send("#{names[1]}") %>
|
||||
<% end %>
|
||||
<% elsif names[0] == "default" %>
|
||||
<% if names[2] == "name" %>
|
||||
<% val = seminar_signup.name
|
||||
val += "<div class=\"quick-edit\">
|
||||
<ul class=\"nav nav-pills\">"
|
||||
if can_edit_or_delete?(seminar_signup)
|
||||
val += "<li><a href=\"/admin/seminar_signups/#{seminar_signup.id}/edit\">#{t(:edit)}</a></li>
|
||||
<li><a href=\"#{admin_seminar_signup_path(seminar_signup.id)}\" class=\"delete text-error\" rel=\"nofollow\" data-method=\"delete\" data-confirm=\"Are you sure?\">#{t(:delete_)}</a></li>"
|
||||
end
|
||||
val += "</ul>
|
||||
</div>"
|
||||
%>
|
||||
<% elsif names[2] == "tel" %>
|
||||
<% val = seminar_signup.tel %>
|
||||
<% elsif names[2] == "registration_status" %>
|
||||
<% val = t("seminar.registration_status_#{seminar_signup.status}") if !seminar_signup.status.blank? %>
|
||||
<% end %>
|
||||
<% elsif names[0] == "seminar_signup_field_custom" || names[0] == "seminar_signup_fields" %>
|
||||
<% val = seminar_signup.seminar_signup_values.where(:key=>names[1]).first.get_value_by_locale(I18n.locale) rescue "" %>
|
||||
<% elsif names[0] == "seminar_signup_contributes" %>
|
||||
<% if names[1] == "file" %>
|
||||
<% val = seminar_signup.seminar_signup_contributes.to_a %>
|
||||
<% else %>
|
||||
<% val = seminar_signup.seminar_signup_contributes.collect{|s| s.send(names[1])} %>
|
||||
<% end %>
|
||||
<% elsif names[0] == "seminar_submission_fields" %>
|
||||
<% val = seminar_signup.seminar_signup_contributes.collect{|s| (s.seminar_submission_values.where(:key=>names[1]).first.get_value_by_locale(I18n.locale) rescue "")} %>
|
||||
<% end %>
|
||||
<% vals << val %>
|
||||
<% end %>
|
||||
<% count = 0 %>
|
||||
<% indices = [] %>
|
||||
<% vals.each_with_index do |val,i| %>
|
||||
<% if val.class == Array %>
|
||||
<% count = val.count - 1 %>
|
||||
<% indices << i%>
|
||||
<td>
|
||||
<% if val[0].class == SeminarSignupContribute #File %>
|
||||
<% seminar_signup_contribute = val[0] %>
|
||||
<%= link_to (seminar_signup_contribute.title.blank? ? File.basename(seminar_signup_contribute.file.path) : seminar_signup_contribute.title) , seminar_signup_contribute.file.url, {:target => '_blank', :title => Nokogiri::HTML(seminar_signup_contribute.description).text} if seminar_signup_contribute.file.file %>
|
||||
<% else %>
|
||||
<%= val[0].html_safe.to_s rescue "" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td <%= rowspan %>><%= val.to_s.html_safe %></td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% (0...count).each do |i|%>
|
||||
<tr>
|
||||
<% indices.each do |index| %>
|
||||
<td>
|
||||
<% if vals[index][i].class == SeminarSignupContribute #File %>
|
||||
<% seminar_signup_contribute = vals[index][i] %>
|
||||
<%= link_to (seminar_signup_contribute.title.blank? ? File.basename(seminar_signup_contribute.file.path) : seminar_signup_contribute.title) , seminar_signup_contribute.file.url, {:target => '_blank', :title => Nokogiri::HTML(seminar_signup_contribute.description).text} if seminar_signup_contribute.file.file %>
|
||||
<% else %>
|
||||
<%= vals[index][i].html_safe.to_s rescue "" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
Reference in new issue
Block a user