Merge branch 'develop' into dev_newproject

This commit is contained in:
huang 2016-11-15 09:01:45 +08:00
commit 3561009efc
24 changed files with 75 additions and 68 deletions

View File

@ -1,3 +1,4 @@
#coding=utf-8
module Mobile
module Entities
class Issue <Grape::Entity
@ -19,7 +20,7 @@ module Mobile
when :issue_priority
get_issue_priority_api issue.priority_id
when :issue_assigned_to
(get_user(issue.assigned_to_id)).login
issue.assigned_to_id.nil? ? "未指派" : (get_user(issue.assigned_to_id)).login
when :issue_status
IssueStatus.find(issue.status_id).name
when :comment_count

View File

@ -1457,7 +1457,7 @@ class CoursesController < ApplicationController
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
) AS score,(SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
) AS score,(SELECT max(message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id
) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id
AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score,

View File

@ -1215,7 +1215,7 @@ class UsersController < ApplicationController
#引入资源列表根据关键词过滤
def user_ref_resource_searc
def user_ref_resource_search
@resource_id = params[:mul_id]
@resource_type = params[:mul_type]
@order, @b_sort = params[:order] || "created_on", params[:sort] || "asc"
@ -1657,8 +1657,8 @@ class UsersController < ApplicationController
shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id)
shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id)
@page = params[:page] ? params[:page].to_i + 1 : 0
user_project_ids = (@user.projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")"
user_course_ids = (@user.courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")"
user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")"
user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")"
course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')"
project_types = "('Message','Issue','Project')"
principal_types = "JournalsForMessage"

View File

@ -2946,32 +2946,34 @@ module ApplicationHelper
#根据传入作业确定显示为提交作品、补交作品、查看作品等
def student_for_homework_common homework
if User.current.member_of_course?(homework.course)
if User.current.allowed_to?(:as_teacher, homework.course)
link_to "查看作品", student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green fr mt5', :title => "查看作品", :target => '_blank'
else User.current.member_of_course?(homework.course)
work = cur_user_works_for_homework homework
project = cur_user_projects_for_homework homework
if work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")
if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1
link_to "查看详情", homework_common_index_path(:course_id => homework.course_id), :class => 'hw_btn_green2 fr mt5',:title => '查看分组作业详情', :target => '_blank'
link_to "查看详情", homework_common_index_path(:course_id => homework.course_id), :class => 'hw_btn_green fr mt5',:title => '查看分组作业详情', :target => '_blank'
else
link_to "提交作品", new_student_work_url_without_domain(homework.id),:class => 'hw_btn_green2 fr mt5', :target => '_blank'
link_to "提交作品", new_student_work_url_without_domain(homework.id),:class => 'hw_btn_green fr mt5', :target => '_blank'
end
elsif work.nil? && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d")
if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1
link_to "查看详情", homework_common_index_path(:course_id => homework.course_id), :class => 'hw_btn_green2 fr mt5',:title => '查看分组作业详情', :target => '_blank'
link_to "查看详情", homework_common_index_path(:course_id => homework.course_id), :class => 'hw_btn_green fr mt5',:title => '查看分组作业详情', :target => '_blank'
else
link_to "补交作品", new_student_work_url_without_domain(homework.id),:class => 'btn_orange_big fr mt5', :target => '_blank'
end
else
if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 2 #匿评作业,且作业状态不是在开启匿评之前
link_to "作品匿评", student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green2 fr mt5', :title => "开启匿评后不可修改作品", :target => '_blank'
link_to "作品匿评", student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green fr mt5', :title => "开启匿评后不可修改作品", :target => '_blank'
elsif homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3
link_to "查看作品",student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green2 fr mt5', :title => "匿评已结束", :target => '_blank'
link_to "查看作品",student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green fr mt5', :title => "匿评已结束", :target => '_blank'
elsif homework.homework_type == 2 && Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")#编程作业不能修改作品
link_to "修改作品", new_student_work_url_without_domain(homework.id),:class => 'hw_btn_green2 fr mt5', :target => '_blank'
link_to "修改作品", new_student_work_url_without_domain(homework.id),:class => 'hw_btn_green fr mt5', :target => '_blank'
elsif Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") && work.user_id == User.current.id
link_to "修改作品", edit_student_work_url_without_domain(work.id),:class => 'hw_btn_green2 fr mt5', :target => '_blank'
link_to "修改作品", edit_student_work_url_without_domain(work.id),:class => 'hw_btn_green fr mt5', :target => '_blank'
else
link_to "查看作品", student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green2 fr mt5', :title => "作业截止后不可修改作品", :target => '_blank'
link_to "查看作品", student_work_index_url_in_org(homework.id, 2), :class => 'hw_btn_green fr mt5', :title => "作业截止后不可修改作品", :target => '_blank'
end
end
end

View File

@ -1,6 +1,6 @@
<% is_teacher = User.current.allowed_to?(:as_teacher, @course) || User.current.admin? %>
<% if members.any? %>
<table class="sy_new_table clear sy_new_table_width" cellpadding="0" cellspacing="0">
<table class="sy_new_table clear sy_new_table_width" cellpadding="0" cellspacing="0" id="student_list_table">
<thead>
<tr class="clear">
<th class="sy_th6">序号</th>
@ -123,7 +123,7 @@
<%= form_tag({:controller => 'courses', :action => 'teacher_assign_group', :id => @course.id,:user_id => member.user_id, :group_id => @group && @group != -1 ? @group.id : -1},:remote=>'true', :method => 'post', :id=>"join_group_form_#{member.id}", :class => 'query_form') do %>
<div class="select-class-option">
<span class="hidden" style="display:inline-block; vertical-align:middle; max-width:70px;"><%=member.course_group_id == 0 ? "暂无" : member.course_group.name %></span>
<a href="javascript:void(0)" class="sy_icons_edit pic_edit_icon" alt="编辑" style="background-position:0 5px;"></a>
<a href="javascript:void(0)" class="sy_icons_edit pic_edit_icon fr mt9 options_show_or_hide" alt="编辑" style="background-position:0 5px;"></a>
</div>
<%= select( :name,:group_id, course_group_option(@course),
{ :include_blank => false,:selected => member.course_group_id},
@ -136,7 +136,7 @@
</td>
<% if is_teacher %>
<td>
<a href="javascript:void(0)" onClick="delete_confirm_box('<%=delete_member_course_path(@course, :member_id => member.id) %>', '确认删除该成员吗?');" class="sy_icons_del fl"></a>
<a href="javascript:void(0)" onClick="delete_confirm_box('<%=delete_member_course_path(@course, :member_id => member.id) %>', '确认删除该成员吗?');" class="sy_icons_del fl options_show_or_hide"></a>
</td>
<% end %>
</tr>
@ -159,6 +159,11 @@
<script>
$(document).ready(function(){
// $("#student_list_table").mouseover(function(){
// $(".options_show_or_hide").show();
// }).mouseout(function(){
// $(".options_show_or_hide").hide();
// });
$(".pic_edit_icon").click(function(){
$(this).parent().hide();
$(this).parent().next().show();

View File

@ -2,3 +2,4 @@ hideModal();
$("#member_li_<%=params[:member_id] %>").html("");
$("#st_groups").html("<%=escape_javascript(render :partial => 'new_groups_name', :locals => {:course_groups => @course_groups}) %>");
$("#group_children_list").html("<%= escape_javascript( render :partial => 'layouts/group_children_list', :locals => {:course => @course})%>");
$("#student_number").html("<%= studentCount(@course) %>");

View File

@ -3,3 +3,4 @@
*/
$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
$("#member_content").html("<%= escape_javascript( render :partial => 'new_member_list', :locals => {:members => @members})%>");
$("#group_children_list").html("<%= escape_javascript( render :partial => 'layouts/group_children_list', :locals => {:course => @course})%>");

View File

@ -35,7 +35,7 @@
<p class="fontGrey3" style="padding-bottom:10px; padding-top:3px;">加入QQ群</p>
</div>
<div class="fr mr10 tac">
<img src="/images/wechat/trustie_QR.jpg" width="80" style="display:inline-block; margin-right:-5px;" /><p class="fontGrey3" style="padding-bottom:10px;">关注官方微信</p>
<img src="/images/wechat/trustie_QR.jpg" width="80" style="display:inline-block; margin-right:-5px;" /><p class="fontGrey3" style="padding-bottom:10px;">关注微信APP</p>
</div>
<div class="cl"></div>
</div>

View File

@ -68,11 +68,11 @@
</li>
<% if hidden_unproject_infos %>
<li>
<%= link_to '我的课程',{:controller => "users", :action => "user_courselist", :id => User.current.id}, :class => "menuGrey" %>
<%= link_to '我的课程',{:controller => "users", :action => "user_courselist", :id => User.current}, :class => "menuGrey" %>
</li>
<% end %>
<li>
<%= link_to "我的组织", user_organizations_user_path(:id => User.current.id), :class => "menuGrey"%>
<%= link_to "我的组织", user_organizations_user_path(:id => User.current), :class => "menuGrey"%>
</li>
<li>
<%= link_to "新建组织", new_organization_path, :class => "menuGrey"%>

View File

@ -34,7 +34,7 @@
<p class="fontGrey3" style="padding-bottom:10px; padding-top:3px;">加入QQ群</p>
</div>
<div class="fr mr10 tac">
<img src="/images/wechat/trustie_QR.jpg" width="80" style="display:inline-block; margin-right:-5px;" /><p class="fontGrey3" style="padding-bottom:10px;">关注官方微信</p>
<img src="/images/wechat/trustie_QR.jpg" width="80" style="display:inline-block; margin-right:-5px;" /><p class="fontGrey3" style="padding-bottom:10px;">关注微信APP</p>
</div>
<div class="cl"></div>
</div>

View File

@ -134,19 +134,19 @@
</div>
<ul class="user_atten clear">
<li>
<a href="<%=user_blogs_path(:user_id => @user.id) %>">
<a href="<%=user_blogs_path(:user_id => @user) %>">
<strong>博客</strong><br />
<span class="sy_cgrey"><%=@user.blog.blog_comments.where("#{BlogComment.table_name}.parent_id is null").count %></span>
</a>
</li>
<li>
<a href="<%=user_watchlist_user_path(@user.id) %>">
<a href="<%=user_watchlist_user_path(@user) %>">
<strong>关注</strong><br />
<span class="sy_cgrey"><%=User.watched_by(@user.id).count %></span>
<span class="sy_cgrey"><%=User.watched_by(@user).count %></span>
</a>
</li>
<li>
<a href="<%=user_fanslist_user_path(@user.id) %>">
<a href="<%=user_fanslist_user_path(@user) %>">
<strong>粉丝</strong><br />
<span class="sy_cgrey"><%= @user.watcher_users.count %></span>
</a>

View File

@ -17,8 +17,9 @@
</li>
<% end %>
</div>
<p class="none c_red" style="margin-left: 33px;" id="error_show"></p>
<div class="cl"></div>
<a href="javascript:void(0);" class="fr sy_btn_blue mr35" onclick="submit_quote();">导&nbsp;&nbsp;入</a>
<a href="javascript:void(0);" class="fr sy_btn_blue mr35" id="submit_quote" onclick="submit_quote();">导&nbsp;&nbsp;入</a>
<a href="javascript:void(0);" class="fr sy_btn_grey mr5" onclick="hideModal();">取&nbsp;&nbsp;消</a>
<% end -%>
</div>
@ -38,6 +39,7 @@
closeModal();
}else{
$('#error_show').html('您没有选择任何问卷');
$('#error_show').show();
}
}
</script>

View File

@ -1,18 +1,20 @@
<div class="autoscroll">
<table class="list entries mt5" id="browser" style="table-layout: fixed;">
<tbody>
<tr style="border: 1px solid #DDD; border-bottom:none;">
<td>
<a href="<%= project_roadmap_path(@project) %>" class="fl linkBlue2 mt3" >
<span class="new_roadmap_icons_back mr5"></span>
返回上级目录
</a>
</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
<% unless @path.blank? %>
<tbody>
<tr style="border: 1px solid #DDD; border-bottom:none;">
<td>
<a href="javascript:history.go(-1)" class="fl linkBlue2 mt3" >
<span class="new_roadmap_icons_back mr5"></span>
返回上级目录
</a>
</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
<% end %>
<tbody style="line-height: 1.9;">
<%= render :partial => 'dir_list_content' %>
</tbody>

View File

@ -12,12 +12,12 @@
<script>
$(".icons_sy_close").live('click',function(){
$(this).parent().parent().next().next().show();
$(this).parent().parent().parent().next().show();
$(this).removeClass("icons_sy_close");
$(this).addClass("icons_sy_open");
});
$(".icons_sy_open").live('click',function(){
$(this).parent().parent().next().next().hide();
$(this).parent().parent().parent().next().hide();
$(this).addClass("icons_sy_close");
$(this).removeClass("icons_sy_open");
});

View File

@ -1,4 +1,5 @@
<div class="sy_courses_open f14 fontGrey3">
<div>
<span class="icons_sy_open fl mr5" title="点击展开/收起详情" style="cursor: pointer;"></span>
<span class="fl" style="width:280px;">
<span class="hidden fl" style="max-width:220px;"><%= student_work.name %></span>
@ -39,6 +40,7 @@
</div>
</div>
<% end %>
</div>
<div class="cl"></div>
</div>
<div class="fl sy_p_grey">

View File

@ -55,14 +55,14 @@
<td class="hworkStName float-none <%= @homework.homework_type == 2 ? 'w180' : 'w190' %>" title="姓名" onclick="show_student_work('<%= student_work_path(student_work)%>');" style="cursor: pointer;">
匿名
</td>
<td class="hworkStID <%= @homework.homework_type == 2 ? 'w180' : 'w190' %> float-none" title="学号">
<td class="hworkStID <%= @homework.homework_type == 2 ? 'w180' : 'w190' %> float-none" title="学号" onclick="show_student_work('<%= student_work_path(student_work)%>');">
--
</td>
<% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %>
<td class="hworkName pr10 w220 float-none student_work_<%= student_work.id%>">
<td class="hworkName pr10 w220 float-none student_work_<%= student_work.id%>" onclick="show_student_work('<%= student_work_path(student_work)%>');">
<div style="text-align: left">匿名</div>
</td>
<td class="hworkPrName float-none mr10 student_work_<%= student_work.id%>" title="">
<td class="hworkPrName float-none mr10 student_work_<%= student_work.id%>" title="" onclick="show_student_work('<%= student_work_path(student_work)%>');">
匿名
</td>
<% elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 0 %>

View File

@ -11,7 +11,10 @@
<span class="c_red ml80" id="new_syllabus_name_notice" style="display: none;">课程名称不能为空且至少有两个字符</span>
</li>
<div class="cl"></div>
<li class="ml125 fontGrey3"><span class="success-icon mr25">正确示例:软件工程</span><span class="error-icon">错误示例2016软件工程</span></li>
<li class="ml125 fontGrey3"><span class="success-icon mr70">正确示例:</span><span class="error-icon">错误示例:</span></li>
<li class="ml125 mt5 fontGrey3"><span class="ml25 mr70">软件工程</span><span style="margin-left: 37px;">2016软件工程</span></li>
<li class="ml125 mt5 fontGrey3"><span class="ml25 mr70">统计学原理</span><span style="margin-left: 25px;">统计学原理计算机系</span></li>
<li class="ml125 mt5 fontGrey3"><span class="ml25 mr70">并行处理</span><span style="margin-left: 36px;">并行处理2016秋季A班</span></li>
<li class="mt10 ml45">
<label><span class="c_white">*</span>&nbsp;<%= l(:label_tags_course_eng_name)%>&nbsp;&nbsp;</label>
<input type="text" name="eng_name" id="new_syllabus_eng_name" placeholder="例如Software Engineering" class="name_input" maxlength="100">
@ -29,7 +32,7 @@
<em style="top: 9px;"></em>
<span style="top: 9px;"></span>
<p>
课程是针对一个具体的学科方向开展的教学内容与进程安排<br/>本质上,一门课程就是一个教学计划
课程是针对一个具体的学科方向开展的教学内容与进程安排<br/>本质上,一门课程就是一个教学计划<br/><br/>班级是实行教学任务的群体,创建班级后才能开展在线教学
</p>
</div>
</div><!--talknew end-->

View File

@ -1,8 +1,8 @@
<div class="orig_user fl">
<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => "33", :height => "33"), user_path(comment.creator_user.id), :alt => "用户头像" %>
<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => "33", :height => "33"), user_path(comment.creator_user), :alt => "用户头像" %>
</div>
<div class="orig_right fl">
<%= link_to comment.creator_user.show_name, user_path(comment.creator_user.id), :class => "content-username" %>
<%= link_to comment.creator_user.show_name, user_path(comment.creator_user), :class => "content-username" %>
<span class="orig_area"><%= time_from_now(comment.respond_to?(:created_on) ? comment.created_on : comment.created_at) %></span>
<div class="orig_content ">
<% if comment.class == Journal %>

View File

@ -1,5 +1,5 @@
<div class="homepagePostReplyPublisher">
<%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user.id), :class => "newsBlue mr10 f14" %>
<%= link_to comment.creator_user.show_name, user_url_in_org(comment.creator_user), :class => "newsBlue mr10 f14" %>
<%= time_from_now(comment.respond_to?(:created_on) ? comment.created_on : comment.created_at) %>
</div>
<% if !comment.parent.nil? && !comment.parent.parent.nil? %>

View File

@ -8,7 +8,7 @@
</script>
<li class="homepagePostReplyContainer" nhname="reply_rec">
<div class="homepagePostReplyPortrait">
<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user) %>
</div>
<div class="homepagePostReplyDes" onmouseover="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').show();" onmouseout="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').hide();">
<%= render :partial => 'users/message_contents', :locals => {:comment => comment}%>

View File

@ -10,7 +10,7 @@
<% end %>
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %></div>
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author), :alt => "用户头像" %></div>
<div class="homepagePostReplyInputContainer mb10">
<% if User.current.logged? %>
<div nhname='new_message_<%= user_activity_id %>' style="display:none;">

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20161111070615) do
ActiveRecord::Schema.define(:version => 20161111081619) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@ -518,20 +518,6 @@ ActiveRecord::Schema.define(:version => 20161111070615) do
t.integer "container_id", :default => 0
end
create_table "course_class_post", :id => false, :force => true do |t|
t.integer "班级id", :default => 0, :null => false
t.string "班级名"
t.integer "帖子id", :default => 0, :null => false
t.integer "主贴id"
t.string "帖子标题", :default => "", :null => false
t.text "帖子内容"
t.integer "帖子用户id"
t.integer "帖子回复数", :default => 0, :null => false
t.integer "最后回帖id"
t.datetime "发帖时间", :null => false
t.datetime "帖子更新时间", :null => false
end
create_table "course_contributor_scores", :force => true do |t|
t.integer "course_id"
t.integer "user_id"
@ -1876,6 +1862,7 @@ ActiveRecord::Schema.define(:version => 20161111070615) do
t.integer "is_leader"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "course_id"
end
add_index "student_work_projects", ["homework_common_id"], :name => "index_student_work_projects_on_homework_common_id"

View File

@ -110,7 +110,7 @@ function addFile(inputEl, file, eagerUpload,btnId) {
'class': 'upload_filename readonly hidden',
'name': 'attachments[' + attachmentId + '][filename]',
'readonly': 'readonly',
'style': 'border:none; width:464px;'
'style': 'border:none; max-width:270px;'
}).val(file.name),
// $('<input>', {
// 'type': 'text',

View File

@ -195,6 +195,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
.mt6{ margin-top:6px;}
.mt7 {margin-top:7px;}
.mt8{ margin-top:8px !important;}
.mt9{ margin-top:9px !important;}
.mt10{ margin-top:10px !important;}
.mt12 { margin-top:12px !important;}
.mt15 {margin-top:15px;}