Merge branch 'develop' of https://git.trustie.net/jacknudt/trustieforge into develop

This commit is contained in:
cxt 2017-02-17 15:02:24 +08:00
commit c1301bbd7d
23 changed files with 2767 additions and 2695 deletions

View File

@ -42,7 +42,7 @@ class AccountController < ApplicationController
redirect_to user_path(User.current)
end
else
render :layout => 'login'
render :layout => 'login'
end
else
authenticate_user

View File

@ -783,8 +783,8 @@ class AdminController < ApplicationController
begin
#更新消息表的status
applied_message_id = aas.school_id
applied_message = AppliedMessage.where(:applied_id => applied_message_id, :applied_type => "ApplyAddSchools")
applied_message.update_all(:status => 2)
#applied_message = AppliedMessage.where(:applied_id => applied_message_id, :applied_type => "ApplyAddSchools")
#applied_message.update_all(:status => 2)
aas.update_attribute(:status, 2)
AppliedMessage.create(:user_id => aas.user_id, :status => 2, :viewed => 0, :applied_id => aas.id, :applied_type => "ApplyAddSchools", :name => school[0].name )
users = UserExtensions.where("school_id = #{aas.school_id}")

View File

@ -39,6 +39,9 @@ class BlogCommentsController < ApplicationController
end
end
def show
# 更新博客消息为已读
update_messsages_to_viewed("BlogMessage", params[:blog_id])
@article = BlogComment.find(params[:id])
@replies = BlogComment.where("root_id = #{@article.id}").reorder("created_on desc")
@reply_count = @replies.count

View File

@ -7,7 +7,8 @@ class ContestsController < ApplicationController
helper :attachments
helper :files
include AvatarHelper
include ApplicationHelper
before_filter :find_contest, :only => [:show, :settings, :update, :destroy, :contest_activities, :private_or_public, :switch_role, :set_invite_code_halt, :renew,
:member, :export_all_members, :feedback]
before_filter :is_logged, :only => [:index, :new, :create]
@ -18,8 +19,7 @@ class ContestsController < ApplicationController
def show
#更新创建课程消息状态
contest_request_messages = ContestMessage.where("user_id = #{User.current.id} and contest_id = #{@contest.id} and contest_message_type in ('ContestRequestDealResult', 'JoinContest', 'RemoveFromContest') and viewed = 0")
contest_request_messages.update_all(:viewed => true)
update_messsages_to_viewed("ContestMessage", @contest)
@left_nav_type = 1
respond_to do |format|

View File

@ -9,6 +9,7 @@ class CoursesController < ApplicationController
helper :attachments
helper :files
helper :activity_notifys
include ApplicationHelper
before_filter :auth_login1, :only => [:show, :course_activity, :feedback]
menu_item :overview
@ -489,6 +490,8 @@ class CoursesController < ApplicationController
end
def member
# 当前用户查看班级消息时,设置消息为已读
update_messsages_to_viewed("CourseMessage", @course)
## 有角色参数的才是课程,没有的就是项目
if (User.current.admin? || @course.is_public == 1 || (@course.is_public == 0 && User.current.member_of_course?(@course)))
@render_file = 'new_member_list'

View File

@ -72,6 +72,7 @@ class ProjectsController < ApplicationController
include UsersHelper
### added by william
include ActsAsTaggableOn::TagsHelper
include ApplicationHelper
# 仅仅为了转换Gitlab地址
def project_home
@ -575,7 +576,7 @@ class ProjectsController < ApplicationController
if params[:message_id]
message_invite(params[:message_id], params[:key])
end
update_message_status(User.current, @project)
update_messsages_to_viewed("ForgeMessage", @project)
# params[:login]为邮箱邀请用户加入,主要功能:
# 1、自动注册
# 2、加入项目、创建角色

View File

@ -1036,6 +1036,32 @@ module ApplicationHelper
return @result
end
# 更新各类消息为已读
def update_messsages_to_viewed(message_type, forge_message_id)
if(message_type == "CourseMessage")
query = CourseMessage.where(:course_message_type => ["JoinCourse", "RemoveFromCourse"],
:user_id => User.current,
:course_id => forge_message_id,
:viewed => false)
elsif(message_type == "ForgeMessage")
query = ForgeMessage.where(:forge_message_type => ["ProjectInvite", "JoinProject", "RemoveFromProject"],
:user_id => User.current,
:project_id => forge_message_id,
:viewed => false)
elsif(message_type == "ContestMessage")
query = ContestMessage.where(:contest_message_type => ["ContestRequestDealResult", "JoinContest", "RemoveFromContest"],
:user_id => User.current,
:contest_id => forge_message_id,
:viewed => false)
elsif(message_type == "BlogMessage")
query = BlogMessage.where(:blog_message_type => "BlogComment",
:user_id => User.current,
:blog_id => forge_message_id,
:viewed => false)
end
query.update_all(:viewed => true) unless query.blank?
end
def show_attachment_tip container_id, container_type
atts = Attachment.where(:container_id => container_id, :container_type => container_type, :is_public => 0)
atts.count > 0 ? true :false

View File

@ -34,6 +34,12 @@
<li>
<a href="https://www.ucloud.cn/" target="_blank"><img src="images/footer_logo/p-ucloud.png" width="210" height="40" alt="ucloud"></a>
</li>
<li>
<a href="http://www.nju.edu.cn/" target="_blank"><img src="images/footer_logo/p-nju.png" width="210" height="40" alt="南京大学"></a>
</li>
<li>
<a href="http://www.xtu.edu.cn/" target="_blank"><img src="images/footer_logo/p-xtu.png" width="210" height="40" alt="湘潭大学"></a>
</li>
</ul>
<div class="cl"></div>
</div>

View File

@ -39,7 +39,7 @@
</ul>
<div class="cl"></div>-->
<ul class="copyright">
<li class="fl mr30"><%= l(:label_rights_reserved)%></li>
<li class="fl mr10"><%= l(:label_rights_reserved)%></li>
<li class="fl"><a href="http://www.miibeian.gov.cn/" class="fl f_grey" target="_blank"><%= l(:label_license)%></a></li>
</ul>
</ul>

View File

@ -58,7 +58,7 @@
<li id="user_07" class="user_icons_new">
<%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %>
</li>
<li id="user_08" class="user_icons_addproject">
<li id="user_08" class="user_icons_addproject mb10">
<%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %>
</li>
<li id="user_09" class="user_icons_myissues">

View File

@ -57,14 +57,14 @@
<% if @type == nil || @type == "1" %>
<div id="merge_record_1">
<div id="merge_record_1" style="width: 998px">
<%= render :partial => "pull_requests/pull_request_comments" %>
</div>
<% end %>
<div id="merge_record_2" class="undis">
<div id="merge_record_2" class="undis" style="width: 998px">
<%= render :partial => "pull_requests/pull_request_commits" %>
</div>
<div id="merge_record_3" class="undis">
<div id="merge_record_3" class="undis" style="width: 998px">
<%= render :partial => "pull_requests/pull_request_changes" %>
</div>

View File

@ -13,25 +13,25 @@
<tbody>
<% @unfinished_homeworks.each do |uh| %>
<tr>
<th class="homepageTabAvatar">
<td class="homepageTabAvatar">
<%= link_to image_tag(url_to_avatar(uh.user), :width => "30", :height => "30"), user_path(uh.user), :target => '_blank' %>
</th>
<th>
</td>
<td>
<li class="homepageTabTitle">
<%= link_to uh.name.to_s, student_work_index_path( :homework => uh.id, :tab => 1), :target => "_blank", :class => "homepageTabTitle fl ml5", :title => "#{uh.name.to_s}" %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabProjectName ml5">
<%= link_to uh.course.try(:name), course_path(uh.course_id), :target => "_blank", :class => "homepageTabTitle ml5", :target => "_blank", :title => "#{uh.course.try(:name)}" %>
<li>
</th>
<th>
</td>
<td>
<li class="homepageTabAuthor ml5" >
<%= homework_type_tip(uh.homework_type) %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabTime ml5" >
<% end_time = uh.end_time.to_time.to_i + 24*60*60 - 1 %>
<% if end_time > Time.now.to_i %>
@ -42,7 +42,7 @@
<span class="c_red">已截止</span>
<% end %>
</li>
</th>
</td>
</tr>
<% end %>
</tbody>

View File

@ -11,21 +11,21 @@
<tbody>
<% @unfinished_poll.each do |up| %>
<tr>
<th class="homepageTabAvatar">
<td class="homepageTabAvatar">
<%= link_to image_tag(url_to_avatar(up.user), :width => "30", :height => "30"), user_path(up.user), :target => '_blank' %>
</th>
<th>
</td>
<td>
<li class="homepageTabPollTitle">
<%= link_to up.polls_name.to_s, poll_path(up.id), :target => "_blank", :class => "homepageTabPollTitle fl ml5", :title => "#{up.polls_name.to_s}" %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabProjectName ml5">
<% if up.polls_type == "Course" %>
<%= link_to Course.find(up.polls_group_id).name, course_path(Course.find(up.polls_group_id)), :target => "_blank", :title => "#{Course.find(up.polls_group_id).name}" %>
<% end %>
<li>
</th>
</td>
</tr>
<% end %>
</tbody>

View File

@ -13,20 +13,20 @@
<tbody>
<% @unfinished_test.each do |ut| %>
<tr>
<th class="homepageTabAvatar">
<td class="homepageTabAvatar">
<%= link_to image_tag(url_to_avatar(ut.user), :width => "30", :height => "30"), user_path(ut.user), :target => '_blank' %>
</th>
<th>
</td>
<td>
<li class="homepageTabTitle">
<%= link_to ut.exercise_name.to_s, exercise_index_path(:course_id => ut.course_id), :target => "_blank", :class => "homepageTabTitle fl ml5", :title => "#{ut.exercise_name.to_s}" %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabProjectName ml5">
<%= link_to ut.course.try(:name), course_path(ut.course_id), :target => "_blank", :class => "homepageTabTitle ml5", :title => "#{ut.course.try(:name)}" %>
<li>
</th>
<th>
</td>
<td>
<li class="homepageTabAuthor ml5" >
<% if ut.time.to_i == -1 %>
不限时
@ -34,8 +34,8 @@
<%= ut.time %>
<% end %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabTime ml5" >
<% if ut.end_time > Time.now %>
<span class="c_red"><%= (ut.end_time.to_i - Time.now.to_i) / (24*60*60) %></span> 天
@ -45,7 +45,7 @@
<span class="c_red">已截止</span>
<% end %>
</li>
</th>
</td>
</tr>
<% end %>
</tbody>

View File

@ -14,20 +14,20 @@
<tbody>
<% @unsolved_issues.each do |ui| %>
<tr>
<th class="homepageTabAvatar">
<td class="homepageTabAvatar">
<%= link_to image_tag(url_to_avatar(ui.author), :width => "30", :height => "30"), user_path(ui.author), :target => '_blank' %>
</th>
<th>
</td>
<td>
<li class="homepageTabTitle">
<%= link_to ui.subject.to_s, issue_path(ui), :target => "_blank", :class => "homepageTabTitle fl ml5", :title => "#{ui.subject.to_s}" %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabProjectName ml5">
<%= link_to ui.project.try(:name), project_path(ui.project_id), :target => "_blank", :title => "#{ui.project.try(:name)}" %>
<li>
</th>
<th>
</td>
<td>
<li class="homepageTabAuthor ml5" >
<% if ui.author.show_name == ' ' %>
<%= link_to ui.try(:author), user_path(ui.author_id), :target => "_blank", :title => "#{ui.try(:author)}" %>
@ -35,17 +35,17 @@
<%= link_to ui.author.show_name, user_path(ui.author_id), :target => "_blank", :title => "#{ui.author.show_name}" %>
<% end %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabAuthor ml5" >
<%= ui.priority.name %>
</li>
</th>
<th>
</td>
<td>
<li class="homepageTabAuthor ml5" >
<%= ui.status.name %>
</li>
</th>
</td>
</tr>
<% end %>
</tbody>

View File

@ -3,7 +3,7 @@
“<%= ma.name %>”的申请,已通过审核。谢谢!
</a>
<% elsif ma.status == 2 %>
<a class ="#{ma.viewed == 0 ? 'newsBlack' : 'newsGrey'}" target = '_blank' title="“<%= ma.applied.name %>”的申请,因名称不符合规范,系统已将其更改为“<%= ma.name %>”。谢谢!">
<a class ="#{ma.viewed == 0 ? 'newsBlack' : 'newsGrey'}" target = '_blank' title="“<%= ma.applied.name %>”的申请,因名称不符合规范,系统已将其更改为“<%= ma.name %>”。谢谢!">
“<%= ma.applied.name %>”的申请,因名称不符合规范,系统已将其更改为“<%= ma.name %>”。谢谢!
</a>
<% elsif ma.status == 3 %>

View File

@ -213,6 +213,12 @@
add_class("reorder_turnover_time");
});
});
$(document).ready(function(){
if($.browser.webkit){
$("#issues_filter_por").css("padding-left","5px");
$("#issue_filter_status").css("padding-left","10px");
}
});
</script>
<!--缺陷列表开始-->
@ -258,36 +264,33 @@
<div class="cl"></div>
</ul>
<div class="issues_filter">
<div class="issues_form_filter mt5 mr5">
<div class="my_issues_form_filter mt5">
<%= select( :project, :project_id, options_for_issue_project_list(@issues_filter),
{ :include_blank => false,:selected => @project_id ? @project_id : 0 },
{ :onchange => "remote_function();add_style();", :id => "project_id", :name => "project_id", :class => "fl", :style=>"width: 80px; margin-right:20px;"}
{ :onchange => "remote_function();add_style();", :id => "project_id", :name => "project_id", :class => "fl", :style => "margin: 0 15px;text-align: left;"}
)%>
<select placeholder=" 类型" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin:0px;width:35px; margin-right:10px;">
<select class="my_issues_filter" disabled="disabled" style="width: 50px;;padding-left: 10px;text-align: left;">
<option value="0" selected="selected">类型</option>
</select>
<select placeholder=" 指派给" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin-right: 15px;">
<select class="my_issues_filter" disabled="disabled" style="width: 65px;padding-left: 10px;text-align: left;">
<option value="0" selected="selected">指派给</option>
</select>
<%= select( :issue, :user_id, [[@user.show_name, @user.id]].unshift(["指派给",0]),
{ :include_blank => false, :selected => @assigned_to ? @assigned_to : 0},
{:onchange=>"remote_function();add_style();",:id => "assigned_to_id",:name => "assigned_to_id", :class => "fl", :style => "visibility:hidden; width:0px;margin:0px;padding:0px;"} )
%>
<select placeholder=" 优先度" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin:0px">
<select class="my_issues_filter" disabled="disabled" style="width: 50px;text-align: left;" id="issues_filter_por">
<option value="0" selected="selected">优先度</option>
</select>
<select placeholder=" 里程碑" class="fl my_issues_filter" disabled="disabled" style="padding:0px;margin-left: 20px; margin-right: 10px">
<select class="my_issues_filter" disabled="disabled" style="width: 80px;padding-left: 20px;text-align: left;">
<option value="0" selected="selected">里程碑</option>
</select>
<select placeholder=" 状态" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin-right:10px;width:35px;">
<select class="my_issues_filter" disabled="disabled" style="width: 60px;padding-left: 10px;text-align: left;" id="issue_filter_status">
<option value="0" selected="selected">状态</option>
</select>
<select placeholder=" 完成度" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin:0px">
<select class="my_issues_filter" disabled="disabled" style="width: 50px;text-align: left;">
<option value="0" selected="selected">完成度</option>
</select>
<select placeholder=" 排序" class="fl my_issues_filter" disabled="disabled" style="width:50px;visibility:hidden;margin-left: 0px;margin-right: 0px;">
<option value="0" selected="selected">排序</option>
</select>
</div>
<div class="cl"></div>
</div>

View File

@ -213,6 +213,11 @@
add_class("reorder_turnover_time");
});
});
$(document).ready(function(){
if($.browser.webkit){
$("#issue_filter_status").css("padding-left","10px");
}
});
</script>
<!--缺陷列表开始-->
@ -258,12 +263,12 @@
<div class="cl"></div>
</ul>
<div class="issues_filter">
<div class="issues_form_filter mt5 mr5">
<div class="my_issues_form_filter mt5">
<%= select( :project, :project_id, options_for_issue_project_list(@issues_filter),
{ :include_blank => false,:selected => @project_id ? @project_id : 0 },
{ :onchange => "remote_function();add_style();", :id => "project_id", :name => "project_id", :class => "fl", :style=>"width: 80px; margin-right:20px;"}
{ :onchange => "remote_function();add_style();", :id => "project_id", :name => "project_id", :class => "fl", :style => "margin: 0 15px;text-align: left;"}
)%>
<select placeholder=" 发布人" class="fl my_issues_filter" disabled="disabled" style="padding:0px;width: 50px;margin-right: 15px;">
<select class="fl my_issues_filter" disabled="disabled" style="width: 70px;padding-left: 15px;text-align: left;">
<option value="0" selected="selected">发布人</option>
</select>
<%= select( :issue, :user_id, [[@user.show_name, @user.id]].unshift(["发布人",0]),
@ -271,24 +276,21 @@
{:onchange => "remote_function();add_style();",:id => "author_id", :name => "author_id", :class => "fl", :style => "visibility:hidden;width: 0px;margin:0px;padding:0px;"}
)
%>
<select placeholder=" 类型" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin:0px;width:35px; margin-right:10px;">
<select class="fl my_issues_filter" disabled="disabled" style="width: 50px;;padding-left: 10px;text-align: left;">
<option value="0" selected="selected">类型</option>
</select>
<select placeholder=" 优先度" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin:0px">
<select class="fl my_issues_filter" disabled="disabled" style="width: 50px;text-align: left;padding-left: 5px;" id="issues_filter_por">
<option value="0" selected="selected">优先度</option>
</select>
<select placeholder=" 里程碑" class="fl my_issues_filter" disabled="disabled" style="padding:0px;margin-left: 20px; margin-right: 10px">
<select class="fl my_issues_filter" disabled="disabled" style="width: 90px;padding-left: 25px;text-align: left;">
<option value="0" selected="selected">里程碑</option>
</select>
<select placeholder=" 状态" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin-right:10px;width:35px;">
<select class="fl my_issues_filter" disabled="disabled" style="width: 60px;padding-left: 10px;text-align: left;" id="issue_filter_status">
<option value="0" selected="selected">状态</option>
</select>
<select placeholder=" 完成度" class="fl my_issues_filter" disabled="disabled" style="padding:0px; margin:0px">
<select class="fl my_issues_filter" disabled="disabled" style="width: 50px;text-align: left;">>
<option value="0" selected="selected">完成度</option>
</select>
<select placeholder=" 排序" class="fl my_issues_filter" disabled="disabled" style="width:50px;visibility:hidden;margin-left: 0px;margin-right: 0px;">
<option value="0" selected="selected">排序</option>
</select>
</div>
<div class="cl"></div>
</div>

View File

@ -0,0 +1,9 @@
class UpdateAppliedMessagesStatus < ActiveRecord::Migration
def up
sql = "update applied_messages set status = 1 where applied_id in(2495, 2496, 2497)"
execute(sql)
end
def down
end
end

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -363,7 +363,12 @@ a:hover.upload_btn_grey{background:#8a8a8a;}
.issues_nav_hover{border-bottom:3px solid #3498db; font-weight:bold; }
.issues_nav_nomall {border-bottom:none; }
.issues_nav_tag{ background-color:#eaeaea; padding:2px 8px;-webkit-border-radius:15px;-moz-border-radius:15px;-o-border-radius:15px;border-radius:15px; font-size:12px;}
.issues_form_filter{ position: absolute; top:0; right: 0;}
.my_issues_form_filter{ position: absolute; top:0; right: 0; width:520px}
.my_issues_form_filter select{ width:70px; height:30px; border:none; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; text-align:center}
.my_issues_form_filter select:focus,.issues_form_filter input:focus{border:none; }
.my_issues_form_filter select.my_issues_filter{ background:none; width:50px; padding: 0px}
.my_issues_form_filter select{appearance:none;-moz-appearance:none;-webkit-appearance:none; background: url("/images/new_project/arrow.png") no-repeat scroll right center transparent;}.issues_form_filter{ position: absolute; top:0; right: 0;}
.issues_form_filter select{ width:70px; height:30px; border:none; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; padding-right:10px; background-color:#fff; margin-bottom: 10px; color: #888;}
.issues_form_filter select.issues_filter_select_min{width:50px; }
.issues_form_filter select:focus,.issues_form_filter input:focus{border:none; }
@ -373,7 +378,7 @@ a:hover.upload_btn_grey{background:#8a8a8a;}
.issues_form_filter select::-ms-expand { display: none; }
input.issues_calendar_input{ padding-left:5px; color:#444; border-right:none;}
.issues_data_img{ display:block; width:25px; height:28px; border:1px solid #c8c8c8; border-left:none; background: url("../images/public_icon.png") -29px 9px no-repeat; }
.issues_list_box{ padding:15px; padding-right: 0px; border-bottom:1px dashed #c8c8c8;}
.issues_list_box{ padding:15px; padding-right: 0px; border-bottom:1px dashed #c8c8c8; position: relative;}
.issues_list_titlebox{ font-size:14px; font-weight:bold; margin-bottom:8px;}
a.issues_list_title{ color:#444; max-width:380px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap; }
a:hover.issues_list_title{color:#3b94d6;}
@ -431,7 +436,7 @@ a:hover.btn_newpro_grey,a:active.btn_newpro_grey{ background: #eaeaea;}
.table-td-w180{display:inline-block;with:180px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;}
.table-td-w380{display:inline-block;with:380px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;}
/*项目简介*/
.pro_new_info{ border:1px solid #ddd; background-color:#fff;}
.pro_new_info{ border:1px solid #ddd; background-color:#fff; width:100%;}
.pro_new_info h2{ background: #fff; font-size: 14px; color: #333; height: 40px; line-height: 40px; padding-left: 15px; border-bottom:1px solid #e5e5e5;}
.pro_description_new_info{ border:1px solid #ddd; background-color:#fff;}
/*.pro_new_info p{ padding-bottom:2px; padding-left: 15px; color: #666; padding-right: 5px}*/
@ -485,7 +490,7 @@ p.pro_new_grey{ line-height: 1.9; }
.new_roadmap_type_hover{color: #fff;}
.new_roadmap_nav_tagnomal{ background-color:#eaeaea; padding:0px 5px;-webkit-border-radius:15px;-moz-border-radius:15px;-o-border-radius:15px;border-radius:15px; font-size:12px;}
.new_roadmap_nav_taghover{ padding:0px 5px;-webkit-border-radius:15px;-moz-border-radius:15px;-o-border-radius:15px;border-radius:15px; font-size:12px;background: #6bb1e5; color: #fff;}
.new_roadmap_listbox{ padding:15px;border-bottom:1px solid #dbdbdb;}
.new_roadmap_listbox{width: 970px; padding:15px;border-bottom:1px solid #dbdbdb;}
.new_roadmap_listbox_commit{ padding:15px;}
.new_roadmap_listtitle a{ color: #333;display:block;max-width:800px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
.new_roadmap_listtitle a:hover{ color:#3498db;}
@ -582,10 +587,6 @@ select.issues_filter_active { font-weight: bold; color: #333;}
.issues_list_txt li.issues_list_max{ width:90px }
.btn_newpro_grey{display: inline-block;color: #7b7b7b; border:1px solid #dbdbdb;background:#fff;text-align: center;font-size: 12px; padding:0 15px; height:24px; line-height: 24px; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px;}
a:hover.btn_newpro_grey,a:active.btn_newpro_grey{ background: #eaeaea;}
.my_issues_form_filter{ position: absolute; top:0; right: 0;}
.my_issues_form_filter select{ width:70px; height:30px; border:none; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; text-align:center}
.my_issues_form_filter select.issues_filter_select_min{width:50px; }
.my_issues_form_filter select{appearance:none;-moz-appearance:none;-webkit-appearance:none;}
/* 版本库分析20170103byLB*/
#conbox {font-size: 12px; width:100%;}
#tags {padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; height: 30px}