add fields in R2 lab.Puts template file into plugin.
This commit is contained in:
parent
6722f49ca2
commit
49e65ab628
Binary file not shown.
After Width: | Height: | Size: 621 B |
Binary file not shown.
After Width: | Height: | Size: 171 B |
|
@ -47,7 +47,7 @@ class Admin::ExperimentsController < OrbitAdminController
|
|||
@subject = Subject.find(params[:id])
|
||||
bps = create_params
|
||||
bps[:email_member_ids] = bps[:email_member_ids].blank? ? [] : bps[:email_member_ids]
|
||||
|
||||
bps[:co_professor_ids] = bps[:co_professor_ids].blank? ? [] : bps[:co_professor_ids]
|
||||
# @subject[:email_member_ids] = @subject[:email_member_ids].blank? ? [] : @subject[:email_member_ids]
|
||||
@subject.update_attributes(bps)
|
||||
@subject.save
|
||||
|
|
|
@ -18,6 +18,13 @@ class ExperimentsController < ApplicationController
|
|||
"id_to_show" => url
|
||||
}
|
||||
end
|
||||
co_professors = subject.co_professors.collect do |member|
|
||||
url = !member_page.nil? ? "/" + I18n.locale.to_s + member_page.url + "/" + member.to_param : "#"
|
||||
{
|
||||
"name" => member.name,
|
||||
"id_to_show" => url
|
||||
}
|
||||
end
|
||||
{
|
||||
"link_to_show" => OrbitHelper.url_to_show(subject.to_param),
|
||||
"subject" => subject.title,
|
||||
|
@ -25,7 +32,8 @@ class ExperimentsController < ApplicationController
|
|||
"category" => subject.category.title,
|
||||
"direction" => subject.direction,
|
||||
"statuses" => statuses,
|
||||
"members" => members
|
||||
"members" => members,
|
||||
"co_professors" => co_professors
|
||||
}
|
||||
end
|
||||
{
|
||||
|
@ -36,7 +44,8 @@ class ExperimentsController < ApplicationController
|
|||
"th_category" => t('category'),
|
||||
"th_subject" => t('experiment.subject'),
|
||||
"th_direction" => t('experiment.direction'),
|
||||
"th_professor1" => t('experiment.professor1')
|
||||
"th_professor1" => t('experiment.professor1'),
|
||||
"th_professor2" => t('experiment.professor2')
|
||||
},
|
||||
"total_pages" => subjects.total_pages
|
||||
}
|
||||
|
@ -71,12 +80,20 @@ class ExperimentsController < ApplicationController
|
|||
"id_to_show" => url
|
||||
}
|
||||
end
|
||||
co_professors = subject.co_professors.collect do |member|
|
||||
url = !member_page.nil? ? "/" + I18n.locale.to_s + member_page.url + "/" + member.to_param : "#"
|
||||
{
|
||||
"name" => member.name,
|
||||
"id_to_show" => url
|
||||
}
|
||||
end
|
||||
|
||||
tags = subject.tags.map{|tag| { "tag" => tag.name } } rescue []
|
||||
{
|
||||
"data" => {
|
||||
"subject" => subject.title,
|
||||
"img_src" => subject.image.thumb.url || "/assets/experiment-default.jpg",
|
||||
"display" => subject.image.thumb.url.nil? ? "display:none;" : "",
|
||||
"category" => subject.category.title,
|
||||
"facility" => subject.facility,
|
||||
"direction" => subject.direction,
|
||||
|
@ -93,11 +110,14 @@ class ExperimentsController < ApplicationController
|
|||
"th_student" => t('experiment.student'),
|
||||
"th_link" => t('link'),
|
||||
"th_professor1" => t('experiment.professor1'),
|
||||
"th_professor2" => t('experiment.professor2')
|
||||
"th_professor2" => t('experiment.professor2'),
|
||||
"th_area" => t('experiment.area'),
|
||||
"area" => tags.map{|t| t['tag']}.join(' / ')
|
||||
},
|
||||
"tags" => tags,
|
||||
"subject_links" => subject_links,
|
||||
"members" => members,
|
||||
"co_professors" => co_professors,
|
||||
"url_to_edit" => url_to_edit,
|
||||
"statuses" => statuses
|
||||
}
|
||||
|
@ -124,7 +144,14 @@ class ExperimentsController < ApplicationController
|
|||
{
|
||||
"name" => member.name
|
||||
}
|
||||
end
|
||||
end
|
||||
co_professors = subject.co_professors.collect do |member|
|
||||
url = !member_page.nil? ? "/" + I18n.locale.to_s + member_page.url + "/" + member.to_param : "#"
|
||||
{
|
||||
"name" => member.name,
|
||||
"id_to_show" => url
|
||||
}
|
||||
end
|
||||
{
|
||||
"link_to_show" => OrbitHelper.widget_item_url(subject.to_param),
|
||||
"subject" => subject.title,
|
||||
|
@ -133,7 +160,8 @@ class ExperimentsController < ApplicationController
|
|||
"direction" => subject.direction,
|
||||
"statuses" => statuses,
|
||||
"postdate" => subject.created_at.strftime('%Y-%m-%d'),
|
||||
"members" => members
|
||||
"members" => members,
|
||||
"co_professors" => co_professors
|
||||
}
|
||||
end
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@ class Subject
|
|||
field :direction , localize: true
|
||||
field :student, localize: true
|
||||
field :email_member_ids
|
||||
|
||||
field :co_professor_ids
|
||||
mount_uploader :image, ImageUploader
|
||||
has_many :subject_links, :autosave => true, :dependent => :destroy
|
||||
|
||||
|
@ -26,7 +26,9 @@ class Subject
|
|||
|
||||
before_save :clean_values
|
||||
|
||||
|
||||
def co_professors
|
||||
MemberProfile.find(self.co_professor_ids) rescue []
|
||||
end
|
||||
def email_members
|
||||
MemberProfile.find(self.email_member_ids) rescue []
|
||||
end
|
||||
|
|
|
@ -30,6 +30,9 @@
|
|||
<li>
|
||||
<a href="#imageupload" data-toggle="tab"><%= t(:image) %></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tag" data-toggle="tab"><%= t(:tags) %>(<%=t("experiment.area")%>)</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Module -->
|
||||
|
@ -53,7 +56,12 @@
|
|||
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'subject[email_member_ids][]', email_members: @subject.email_members} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t("experiment.professor2") %></label>
|
||||
<div class="controls">
|
||||
<%= render partial: 'admin/member_selects/email_selection_box', locals: {field: 'subject[co_professor_ids][]', email_members: @subject.co_professors,index:'1',select_name:'co_professors'} %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -84,7 +92,7 @@
|
|||
|
||||
<!-- Tag -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted">Tag</label>
|
||||
<label class="control-label muted"><%=t(:tags)%></label>
|
||||
<%= select_tags(f, @module_app) %>
|
||||
</div>
|
||||
|
||||
|
@ -132,7 +140,9 @@
|
|||
<% end %>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane fade" id="area-tags">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -188,7 +198,7 @@
|
|||
<%= f.label :facility ,t('experiment.facility'), :class => "control-label muted" %>
|
||||
<%= f.fields_for :facility_translations do |f| %>
|
||||
<div class="controls">
|
||||
<%= f.text_area locale, :class=>'input-block-level', :value => (@subject.facility_translations[locale] rescue nil) %>
|
||||
<%= f.text_area locale, :class=>'input-block-level ckeditor', :value => (@subject.facility_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
@ -198,7 +208,7 @@
|
|||
<%= f.label :direction ,t('experiment.direction'), :class => "control-label muted" %>
|
||||
<%= f.fields_for :direction_translations do |f| %>
|
||||
<div class="controls">
|
||||
<%= f.text_area locale, :class=>'input-block-level', :value => (@subject.direction_translations[locale] rescue nil) %>
|
||||
<%= f.text_area locale, :class=>'input-block-level ckeditor', :value => (@subject.direction_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
@ -206,7 +216,7 @@
|
|||
<%= f.label :student ,t('experiment.student'), :class => "control-label muted" %>
|
||||
<%= f.fields_for :student_translations do |f| %>
|
||||
<div class="controls">
|
||||
<%= f.text_area locale, :class=>'input-block-level', :value => (@subject.student_translations[locale] rescue nil) %>
|
||||
<%= f.text_area locale, :class=>'input-block-level ckeditor', :value => (@subject.student_translations[locale] rescue nil) %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
@ -11,3 +11,4 @@ en:
|
|||
facility: Facility
|
||||
direction: Research Direction
|
||||
student: Student
|
||||
area: Area
|
||||
|
|
|
@ -11,3 +11,4 @@ zh_tw:
|
|||
facility: 設備
|
||||
direction: 研究目標
|
||||
student: 學生
|
||||
area: 領域
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<div class="widget-experiments widget1">
|
||||
<h3 class="widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-annc__th w-annc__th"> {{th_category}}</th>
|
||||
<th class="w-annc__th w-annc__th"> {{th_subject}}</th>
|
||||
<th class="w-annc__th w-annc__th"> {{th_direction}}</th>
|
||||
<th>{{th_postdate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list=subjects>
|
||||
<tr>
|
||||
<td>{{category}}</td>
|
||||
<td><a class="widget-content-title" href="{{link_to_show}}" target="_blank">{{subject}}</a></td>
|
||||
<td>{{direction}}</td>
|
||||
<td>{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="btn btn-primary pull-right" href="{{more_url}}">More</a>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,105 @@
|
|||
@charset "utf-8";
|
||||
|
||||
@import "../initial";
|
||||
|
||||
// Lab MODULES
|
||||
|
||||
// Widget
|
||||
.widget-experiments{
|
||||
&.widget1{
|
||||
h3{
|
||||
@extend .unity-title;
|
||||
}
|
||||
table{
|
||||
th{
|
||||
background-color: $theme-color-main;
|
||||
color: $theme-white;
|
||||
font-size: $font-15;
|
||||
font-family: $main-font;
|
||||
border: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
td {
|
||||
font-size: $font-15;
|
||||
a{
|
||||
color: $theme-color-main;
|
||||
}
|
||||
.btn-primary{
|
||||
background-color: $theme-color-second;
|
||||
border-color: darken( $theme-color-second , 5%);
|
||||
color: $theme-white;
|
||||
margin-bottom: 6px;
|
||||
&:hover{
|
||||
background-color:darken( $theme-color-second , 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Index
|
||||
.experiment-index{
|
||||
h3{
|
||||
@extend .unity-title;
|
||||
}
|
||||
table{
|
||||
th{
|
||||
background-color: $theme-color-main;
|
||||
color: $theme-white;
|
||||
font-size: $font-15;
|
||||
font-family: $main-font;
|
||||
border: none;
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
td {
|
||||
font-size: $font-15;
|
||||
a{
|
||||
color: $theme-color-main;
|
||||
}
|
||||
.btn-primary{
|
||||
background-color: $theme-color-second;
|
||||
border-color: darken( $theme-color-second , 5%);
|
||||
color: $theme-white;
|
||||
margin-bottom: 6px;
|
||||
&:hover{
|
||||
background-color:darken( $theme-color-second , 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
.img-wrap{
|
||||
@media (min-width: $screen-lg){
|
||||
height: 174px;
|
||||
}
|
||||
@media (max-width: $screen-lg){
|
||||
img{
|
||||
position: static!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Show
|
||||
.show-experiments{
|
||||
table{
|
||||
th{
|
||||
border-right: 2px solid $theme-color-main;
|
||||
color: $theme-color-main;
|
||||
font-size: $font-15;
|
||||
font-family: $main-font;
|
||||
}
|
||||
td{
|
||||
font-size: $font-15;
|
||||
padding-left: 1em;
|
||||
.btn-primary{
|
||||
background-color: $theme-color-second;
|
||||
border-color: darken( $theme-color-second , 5%);
|
||||
margin-bottom: 6px;
|
||||
&:hover{
|
||||
background-color:darken( $theme-color-second , 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
<div class="experiment-index">
|
||||
<table class="table table-hover table-striped">
|
||||
<h3>{{page-title}}</h3>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm-2">{{th_image}}</th>
|
||||
<th class="col-sm-2">{{th_category}}</th>
|
||||
<th class="col-sm-3">{{th_subject}}</th>
|
||||
<th class="col-sm-3">{{th_direction}}</th>
|
||||
<th class="col-sm-2">{{th_professor1}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="subjects">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="img-wrap bullseye">
|
||||
<img src="{{img_src}}">
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="category">{{category}}</span>
|
||||
</td>
|
||||
<td>
|
||||
<a class="index-content-title" href="{{link_to_show}}">{{subject}}</a>
|
||||
</td>
|
||||
<td>
|
||||
{{direction}}
|
||||
</td>
|
||||
<td data-list="members" data-level="1">
|
||||
<a class="btn btn-primary btn-xs" href="{{id_to_show}}">
|
||||
<span class="icons-user">{{name}}</span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{pagination_goes_here}}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<div class="experiment-index">
|
||||
<table class="table table-hover table-striped">
|
||||
<h3>{{page-title}}</h3>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-sm-3">{{th_subject}}</th>
|
||||
<th class="col-sm-2">{{th_professor1}}</th>
|
||||
<th class="col-sm-2">{{th_professor2}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="subjects">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="index-content-title" href="{{link_to_show}}">{{subject}}</a>
|
||||
</td>
|
||||
<td data-list="members" data-level="1">
|
||||
<a class="btn btn-primary btn-xs" href="{{id_to_show}}">
|
||||
<span class="icons-user">{{name}}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td data-list="co_professors" data-level="1">
|
||||
<a class="btn btn-primary btn-xs" href="{{id_to_show}}">
|
||||
<span class="icons-user">{{name}}</span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{pagination_goes_here}}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"frontend": [
|
||||
{
|
||||
"filename" : "index",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 列表 ( 圖片,主題,研究目標,參與教授 )",
|
||||
"en" : "1. Thumbnail ( Picture,Title,Research direction, Participating professors )"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "index2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 列表 ( 主題,參與教授,協同參與教授 )",
|
||||
"en" : "2. Thumbnail ( title, Participating professors ,collaborative participating professors)"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
],
|
||||
"widgets" : [
|
||||
{
|
||||
"filename" : "_widget1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 列表 ( 模組標題, 列表 )",
|
||||
"en" : "1. List (widget-title, list)"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
<div class="show-experiments">
|
||||
<table data-list="tags" data-level="1">
|
||||
<caption><h1>{{category}}</h1></caption>
|
||||
<tr>
|
||||
<th>{{th_area}}</th>
|
||||
<td>{{area}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_subject}}</th>
|
||||
<td>{{subject}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_tel}}</th>
|
||||
<td>{{tel}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_venue}}</th>
|
||||
<td>{{venue}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_professor1}}</th>
|
||||
<td class="post-related" data-level="0" data-list="members">
|
||||
<a class="btn btn-primary btn-xs" href="{{id_to_show}}">
|
||||
<span class="icons-user">{{name}}</span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_professor2}}</th>
|
||||
<td class="post-related" data-level="0" data-list="co_professors">
|
||||
<a class="btn btn-primary btn-xs" href="{{id_to_show}}">
|
||||
<span class="icons-user">{{name}}</span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_facility}}</th>
|
||||
<td>{{facility}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_direction}}</th>
|
||||
<td>{{direction}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_student}}</th>
|
||||
<td>
|
||||
<span class="icons-users">{{student}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_image}}</th>
|
||||
<td class="pull-left"><img src="{{img_src}}" style="{{display}}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_link}}</th>
|
||||
<td class="post-related" data-list="subject_links" data-level="0">
|
||||
<a class="btn btn-primary btn-sm" href="{{link_url}}" target="_blank">{{link_title}}</a><br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{link_to_edit}}
|
||||
<style>
|
||||
.show-experiments caption{
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
color: #777;
|
||||
text-align: left;
|
||||
}
|
||||
.show-experiments caption h1{
|
||||
background: url(/assets/caption.gif) no-repeat 0 4px transparent;
|
||||
padding-left: 30px;
|
||||
color: #000;
|
||||
font-size: 20px;
|
||||
font-family: "微軟正黑體", "新細明體", sans-serif;
|
||||
}
|
||||
.show-experiments td{
|
||||
padding: 0.5em .5rem;
|
||||
padding: 8px 15px;
|
||||
text-align: left;
|
||||
color: #333;
|
||||
vertical-align: top;
|
||||
background: url(/assets/th_bg.gif) top left no-repeat;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,54 @@
|
|||
<div class="show-experiments">
|
||||
<table data-list="tags" data-level="1">
|
||||
<tr>
|
||||
<th class="col-md-3">{{th_image}}</th>
|
||||
<td class="col-md-9 pull-left"><img src="{{img_src}}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_category}}</th>
|
||||
<td>{{category}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_subject}}</th>
|
||||
<td>{{subject}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_tel}}</th>
|
||||
<td>{{tel}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_venue}}</th>
|
||||
<td>{{venue}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_professor1}}</th>
|
||||
<td class="post-related" data-level="0" data-list="members">
|
||||
<a class="btn btn-primary btn-xs" href="{{id_to_show}}">
|
||||
<span class="icons-user">{{name}}</span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_facility}}</th>
|
||||
<td>{{facility}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_direction}}</th>
|
||||
<td>{{direction}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_student}}</th>
|
||||
<td>
|
||||
<span class="icons-users">{{student}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{th_link}}</th>
|
||||
<td class="post-related" data-list="subject_links" data-level="0">
|
||||
<a class="btn btn-primary btn-sm" href="{{link_url}}" target="_blank">{{link_title}}</a><br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{link_to_edit}}
|
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
Loading…
Reference in New Issue