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

This commit is contained in:
cxt 2016-12-30 16:37:43 +08:00
commit cde8a8957c
17 changed files with 238 additions and 106 deletions

View File

@ -1888,7 +1888,7 @@ class UsersController < ApplicationController
@applied_message_alls << mess
end
elsif (message_all.message_type == "AppliedMessage" )
if (mess.applied_type == "AppliedContest" && mess.status == 0) || (mess.applied_type == "StudentWorksScoresAppeal" && mess.status == 0) || (mess.applied_type == "AppliedProject" && mess.status == 1) || ( mess.applied_type == "ApplyAddSchools" && ApplyAddSchools.where(:school_id => mess.applied_id, :status => 0).count != 0 )
if (mess.applied_type == "AppliedContest" && mess.status == 0) || (mess.applied_type == "StudentWorksScoresAppeal" && mess.status == 0) || (mess.applied_type == "AppliedProject" && mess.status == 1 && AppliedMessage.where("applied_id = #{mess.applied_id} and status != 1").count == 0) || ( mess.applied_type == "ApplyAddSchools" && ApplyAddSchools.where(:school_id => mess.applied_id, :status => 0).count != 0 )
@applied_message_alls << mess
end
elsif message_all.message_type == "CourseMessage"
@ -2099,7 +2099,7 @@ class UsersController < ApplicationController
@message_alls << mess
end
elsif (message_all.message_type == "AppliedMessage" )
if (mess.applied_type == "AppliedContest" && mess.status == 0) || (mess.applied_type == "StudentWorksScoresAppeal" && mess.status == 0) || (mess.applied_type == "AppliedProject" && mess.status == 1) || ( mess.applied_type == "ApplyAddSchools" && ApplyAddSchools.where(:school_id => mess.applied_id, :status => 0).count != 0 )
if (mess.applied_type == "AppliedContest" && mess.status == 0) || (mess.applied_type == "StudentWorksScoresAppeal" && mess.status == 0) || (mess.applied_type == "AppliedProject" && mess.status == 1 && AppliedMessage.where("applied_id = #{mess.applied_id} and status != 1").count == 0) || ( mess.applied_type == "ApplyAddSchools" && ApplyAddSchools.where(:school_id => mess.applied_id, :status => 0).count != 0 )
@message_alls << mess
end
elsif message_all.message_type == "CourseMessage"
@ -4067,8 +4067,10 @@ class UsersController < ApplicationController
@contest = Contest.find params[:contest]
member = ContestMember.where("user_id = #{@user.id} and contest_id = #{@contest.id}")
end
unless member.empty?
if !member.empty? && params[:contest]
member.first.update_attribute(:is_collect, member.first.is_collect == false ? 1 : 0)
elsif !member.empty?
member.first.update_attribute(:is_collect, member.first.is_collect == 0 ? 1 : 0)
end
if @project
@projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)

View File

@ -19,11 +19,11 @@ class VersionsController < ApplicationController
layout "base_projects"
menu_item :roadmap
model_object Version
before_filter :find_model_object, :except => [:index, :new, :create, :close_completed]
before_filter :find_model_object, :except => [:index, :new, :create, :close_completed,:judge_version_title]
#before_filter :find_model_object_contest, :except => [:index, :new, :create]
before_filter :find_project_from_association, :except => [:index, :new, :create, :close_completed]
before_filter :find_project_by_project_id, :only => [:index, :new, :create, :close_completed]
before_filter :authorize
before_filter :find_project_from_association, :except => [:index, :new, :create, :close_completed, :judge_version_title]
before_filter :find_project_by_project_id, :only => [:index, :new, :create, :close_completed,:judge_version_title]
before_filter :authorize, :except => [:judge_version_title]
accept_api_auth :index, :show, :create, :update, :destroy
@ -189,9 +189,9 @@ class VersionsController < ApplicationController
end
else
respond_to do |format|
format.html { flash[:error] = @version.errors.full_messages.flatten.to_s
redirect_to settings_project_url(@project, :tab => 'versions') }
format.js { render :action => 'new' }
# format.html { flash[:error] = @version.errors.full_messages.flatten.to_s
# redirect_to settings_project_url(@project, :tab => 'versions') }
format.js { @error = @version.errors.full_messages.flatten.to_s }
format.api { render_validation_errors(@version) }
end
end
@ -275,6 +275,21 @@ class VersionsController < ApplicationController
redirect_to settings_contest_url(@contest, :tab => 'versions')
end
# 判断里程碑是否重名
def judge_version_title
begin
version = Version.where(:name => params[:version_name], :project_id => @project.id).first
if version.blank?
result = {:result => true}
else
result = {:result => false}
end
rescue Exception => e
puts e
end
render :json => result
end
def destroy
begin
project = @version.project

View File

@ -848,9 +848,10 @@ class Mailer < ActionMailer::Base
def register(token)
set_language_if_valid(token.user.language)
@token = token
@login = token.user.try(:login)
@url = url_for(:controller => 'account', :action => 'activate', :token => token.value)
mail :to => token.user.mail,
:subject => l(:mail_subject)
:subject => "#{Setting.mail_subject}"
end
def test_email(user)

View File

@ -42,8 +42,7 @@
<h4 style="font-size: 18px;margin-top: 10px; padding-bottom: 10px;"><%= l(:notice_email_register_time) %></h4>
<div class="to-email mb10" style="padding-bottom: 8px; font-size: 14px">
<div class="to-email" style="padding-bottom:15px; font-size:14px; padding-top:10px;">
<span ><%= l(:notice_email_arrival)%></span>
<a href="#" class="f-blue"><%= @user.mail %></a>
<span ><%= l(:notice_email_arrival)%> <%= @user.mail %></span>
</div>
<p>
<a href="http://mail.<%= email %>" class="btn btn-blue" target="_blank"><%= l(:label_check_email)%></a>

View File

@ -8,7 +8,13 @@
<% end %>
<div class="cl"></div>
<div class="banner-game"><img src="/images/game/banner-game.png" width="968" height="110"/></div>
<div class="banner-game">
<% if @contest.id == 786 %>
<img src="/images/game/appbanner.jpg" width="968" height="110"/>
<% else %>
<img src="/images/game/banner-game.png" width="968" height="110"/>
<% end %>
</div>
<div class="sy_class_info fl">
<div class="sy_class_titbox">
<h3 class="fl sy_class_title"><%= @contest.name %></h3>
@ -50,4 +56,4 @@
<p class="mt10 mb5"><%= @contest.invite_code_halt == 0 ? "请将邀请码告诉成员" : "邀请码已停用" %></p>
<p class="mb10"><%= @contest.invite_code_halt == 0 ? "他们可以主动加入" : "暂时停止成员主动加入" %></p>
</div>
<% end %>
<% end %>

View File

@ -1,6 +1,56 @@
<p><%= l(:mail_body_register) %><br />
<%= link_to h(@url), @url %></p>
<p>如果点击链接无效请复制该链接到浏览器中打开</p>
<br>
<p>感谢您的使用!</p>
<p>Trustie团队</p><p></p>
<html>
<head>
<style type="text/css">
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;}
body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5; background:#eaebec;}
div,img,tr,td,table{ border:0;}
table,tr,td{border:0;}
ol,ul,li{ list-style-type:none}
.new_content{ background:#fff; width: 100%;}
.email-page-link{ }
.email-link-top{ }
.c_white{ color:#fff;}
.email-link-con{ }
.email-link-line{ }
.email-link-footer{ padding:15px; color:#333; line-height: 1.9; }
.c_grey02{ color: #888;}
.fb{ font-weight: normal;}
.f14{ }
</style>
</head>
<body style="background:#fff;">
<div class="new_content">
<div style="width: 598px; background:#fff; margin:20px auto;">
<div style="height:50px; width: 578px; background:#3b94d6; padding:9px 10px 6px;border:1px solid #ddd; border-bottom:none;">
<a href="https://www.trustie.net/"><img src="http://www.trustie.net/images/nav_logo.png" width="51" height="45" ></a>
<p style="color:#fff; float:right; margin-top:15px;">确实让创新更美好</p>
<div style="clear:both; overflow:hidden;"></div>
</div>
<div style="width: 558px; border-left:1px solid #ddd;border-right:1px solid #ddd; background:#fff; padding:20px; color:#333; line-height: 1.9;">
<p style="font-size: 14px; color:#333;">
<span style="font-weight:bold;color:#3b94d6;"><%= @login %></span>,您好!<br/>
您已经成功注册为Trustie用户<br/>
请点击以下链接激活您的帐号:<br/>
<%= link_to h(@url), @url, :style => "font-weight: normal; color:#3b94d6;" %><br/>
<span style="font-weight: normal;color:#666;font-size: 12px;">
(如果链接点击无效,请手动复制链接并粘贴到浏览器地址栏中,然后按“回车”打开页面即可)
</span>
</p>
<div style="width: 100%; border-top: 1px solid #ddd; margin:30px 0;"></div>
<img src="https://www.trustie.net/images/wechat/trustie_QR.jpg" width="120" height="120" >
<p style=" color:#666;">
扫一扫,关注 Trustie 微信公众号,更方便获任务通知,作业等提醒<br/>
想了解更多信息,请访问 <a href="www.trustie.net" style=" color:#3b94d6;"> www.trustie.net</a>
</p>
</div>
<div style="padding:20px; color:#333; line-height: 1.9;background: #eee;border:1px solid #ddd; border-top:none; width: 558px;">
<p style="color:#888; float:left;">如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见<br/>
联系电话13467631747 QQ群373967360</p>
<p style="color:#888; float:right;font-weight: bold;font-size: 16px;">Trustie团队</p>
<div style="clear:both; overflow:hidden;"></div>
</div>
</div>
</div>
</body>
</html>

View File

@ -25,8 +25,8 @@
</div>
</div>
<% if contest && User.current.admin_of_contest?(@contest) %>
<%= labelled_form_for @news, :url => new_contest_news_path(:contest_id => @contest),
:html => {:id => 'news-form', :nhname => 'form', :multipart => true, :method => "get"} do |f| %>
<%= labelled_form_for @news, :url => {:controller => 'news', :action => 'new', :contest_id => @contest.id},
:html => {:id => 'news-form', :nhname => 'form', :multipart => true} do |f| %>
<%= render :partial => 'contest_news_new', :locals => {:f => f, :news => @news, :edit_mode => false, :contest => @contest} %>
<% end %>
<% end %>

View File

@ -1,5 +1,5 @@
<% if @project.shared_versions.empty? %>
<div class="pro_new_prompt ml15 mr15 mb10"><p><%= l(:milestone_no_data) %></p></div>
<div class="pro_new_prompt ml15 mr15 mb10"><p><%= l(:milestone_no_data) %></p></div>
<% end %>
<div class=" sy_new_tchbox clear " >
<a href="javascript:void(0);" class=" sy_btn_green mb10 fr" onclick="pro_st_show_ban1();">新建里程碑</a>
@ -8,73 +8,45 @@
</div>
<% if @project.shared_versions.any? %>
<div class=" clear ml15 mr15" >
<table class="sy_new_table clear mb15" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th class="fl" style="width:156px;">名称</th>
<th class="w80 fl">结束日期</th>
<th class="w350 fl">描述</th>
<th class="w50 fl">状态</th>
<th class="w150 fl">操作</th>
</tr>
</thead>
<tbody>
<% @project.shared_versions.reverse.each do |version| %>
<div class=" clear ml15 mr15" >
<table class="sy_new_table clear mb15" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th class="fl hidden" style="width:156px;" title="<%= version.name %>" >
<%= link_to version.name, version_path(version), :class => "c_blue02" %>
</th>
<th class="fl w80"><%= format_date(version.effective_date) %></th>
<th class="fl w350 hidden"><%=h version.description %></th>
<th class="fl w50"><%= l("version_status_#{version.status}") %></th>
<th class="fl w150">
<% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %>
<%= link_to l(:button_edit), edit_version_path(version, :is_setting => true), :class => 'sy_btn_blue mr5', :remote => true %>
<%= delete_link_version version_path(version, :is_setting => true), :class=>"sy_btn_grey mr5", :remote => true %>
<% end %>
</th>
<th class="fl" style="width:156px;">名称</th>
<th class="w80 fl">结束日期</th>
<th class="w350 fl">描述</th>
<th class="w50 fl">状态</th>
<th class="w150 fl">操作</th>
</tr>
<% end %>
</tbody>
</table>
</div>
</thead>
<tbody>
<% @project.shared_versions.reverse.each do |version| %>
<tr>
<th class="fl hidden" style="width:156px;" title="<%= version.name %>" >
<%= link_to version.name, version_path(version), :class => "c_blue02" %>
</th>
<th class="fl w80"><%= format_date(version.effective_date) %></th>
<th class="fl w350 hidden"><%=h version.description %></th>
<th class="fl w50"><%= l("version_status_#{version.status}") %></th>
<th class="fl w150">
<% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %>
<%= link_to l(:button_edit), edit_version_path(version, :is_setting => true), :class => 'sy_btn_blue mr5', :remote => true %>
<%= delete_link_version version_path(version, :is_setting => true), :class=>"sy_btn_grey mr5", :remote => true %>
<% end %>
</th>
</tr>
<% end %>
</tbody>
</table>
</div>
<% end %>
<script>
// 新建版本
function project_version_commit()
{
if(regex_version_name())
{
$("#new_project_version_form").submit();
}
}
function regex_version_name()
{
var name = $.trim($("#setting_version_name").val());
if(name.length == 0)
{
$("#project_setting_version_title").show();
return false;
}
else
{
$("#project_setting_version_title").hide();
return true;
}
}
function pro_st_show_ban1()
{
$("#pro_st_edit_ban1").toggle();
$("#setting_version_name").val("");
$("#project_setting_create_version_title").val("");
$("#setting_version_description").val("");
$("#setting_version_effective_date").val("");
}
function pro_st_show_ban()
{
$("#pro_st_edit_ban").toggle();
}
</script>

View File

@ -1,10 +1,10 @@
<%= form_for :version, :url => project_versions_path(@project, :is_setting => true),:html=>{:id=>"new_project_version_form", :remote => true} do |f| %>
<%= form_for :version, :url => project_versions_path(@project, :is_setting => true),:html=>{:id => "setting_new_project_version_form", :remote => true} do |f| %>
<div id="pro_st_edit_ban1" style="display:none;">
<ul class="pro_newsetting_con mb15">
<li class="mb10 clear">
<label class="label02"><span class="c_red f12">*</span>&nbsp;<%= l(:field_name) %>&nbsp;&nbsp;:&nbsp;</label>
<%= f.text_field :name, :maxlength => 60, :class=>"w650 fl", :style=>"height: 28px;", :id => "setting_version_name" %>
<p class="c_orange ml100" style="display: none" id="project_setting_version_title">标题不能为空</p>
<%= f.text_field :name, :maxlength => 60, :class=>"w650 fl", :style=>"height: 28px;", :id => "project_setting_create_version_title" %>
<p class="c_orange ml100" style="display: none" id="project_setting_version_name">名称不能为空</p>
</li>
<li class="mb10 clear">
<label class="fl">&nbsp;<%= l(:label_version_description) %>&nbsp;&nbsp;:&nbsp;</label>
@ -24,11 +24,30 @@
<div class="cl mb10"></div>
</ul>
<a href="javascript:void(0);" class="fr sy_btn_grey " onclick="pro_st_show_ban1();">取消</a>
<a href="javascript:void(0);" onclick="project_version_commit();" class="fr sy_btn_blue mr5">保存</a>
<a href="javascript:void(0);" onclick="project_setting_version_commit();" class="fr sy_btn_blue mr5">保存</a>
</div>
<% end %>
<script>
function project_version_commit(){
$("#new_project_version_form").submit();
}
// 新建版本
function project_setting_version_commit()
{
if(regex_setting_version_name())
{
$("#setting_new_project_version_form").submit();
}
}
function regex_setting_version_name()
{
var name = $.trim($("#project_setting_create_version_title").val());
if(name.length == 0)
{
$("#project_setting_version_name").show();
return false;
}
else
{
$("#project_setting_version_name").hide();
return true;
}
}
</script>

View File

@ -48,13 +48,11 @@
<script>
$(document).ready(function(){
console.log("2222222222");
$.ajax({
url:"<%= repository_tree_changes_project_path(@project, :rev => @rev, :ent_path => ent_path, :gpid => @project.gpid) %>",
type: "GET",
data: "text",
success:function(data){
console.log(data);
$('#changes_message_<%=tr_id %>').html(data.message)
$('#changes_author_<%=tr_id %>').html(data.author_name)
$('#changes_time_<%=tr_id %>').html(data.time)

View File

@ -57,6 +57,8 @@
<%# cache [act, act.comments.count] do %>
<%= render :partial => 'course_news', :locals => {:activity => act, :user_activity_id => user_activity.id} %>
<%# end %>
<% when 'Attachment'%>
<%= render :partial => 'users/course_attachment', :locals => {:activity => act, :user_activity_id => user_activity.id} %>
<% when 'Message' %>
<%= render :partial => 'course_message', :locals => {:activity => act, :user_activity_id => user_activity.id, :is_course => 0, :is_board => 0} %>
<% when 'Poll' %>

View File

@ -12,9 +12,11 @@
<%= labelled_form_for @version, :html => {:id => "popub_new_project_version_form", :remote => @is_setting ? true :false}, :is_setting => @is_setting, :is_index => @is_index, :is_create => @is_create do |f| %>
<ul class="pro_newsetting_con mb15 ">
<li class="mb10 clear">
<label class=" fl"><span class="c_red f12">*</span>&nbsp;名称&nbsp;&nbsp;:&nbsp;</label>
<%= f.text_field :name, :maxlength => 60, :class=>"w650 fl", :style=>"height: 28px;", :id => "popub_setting_version_name", :no_label => true %>
<p class="c_orange ml100" style="display: none" id="pupub_project_setting_version_title">标题不能为空</p>
<label class="fl"><span class="c_red f12">*</span>&nbsp;名称&nbsp;&nbsp;:&nbsp;</label>
<%= f.text_field :name, :maxlength => 60, :class => "w650 fl", :style=>"height: 28px;", :id => "popub_setting_version_name", :no_label => true %>
<div class="clear"></div>
<p class="c_orange ml50" style="display: none" id="pupub_project_setting_version_title">名称不能为空</p>
<p class="c_orange ml50" style="display: none" id="version_name_repetition_tip">名称已经被使用</p>
</li>
<li class="mb10 clear">
<label class="fl ml5">&nbsp;描述&nbsp;&nbsp;:&nbsp;</label>
@ -63,13 +65,32 @@
var name = $.trim($("#popub_setting_version_name").val());
if(name.length == 0)
{
$("#version_name_repetition_tip").hide();
$("#pupub_project_setting_version_title").show();
return false;
}
else
{
$("#pupub_project_setting_version_title").hide();
return true;
$.ajax({
url:"<%= judge_version_title_project_versions_path(:project_id => @project) %>",
type: "GET",
data: {
version_name: $.trim($("#popub_setting_version_name").val())
},
success:function(data){
if(data.result == true) {
$("#pupub_project_setting_version_title").hide();
$("#popub_new_project_version_form").submit();
hideModal();
return true;
}
else{
$("#pupub_project_setting_version_title").hide();
$("#version_name_repetition_tip").show();
return false;
}
}
});
}
}
</script>

View File

@ -8,13 +8,15 @@
<div class="muban_popup_con " >
<div class="clear mt30 ml20 " >
<%#= form_tag( url_for(:controller => 'versions', :action => 'update', :is_setting => true, :is_index => @is_index), :remote => true, :id => 'project_applied_form') do %>
<%= form_for :version, :url => project_versions_path(@project, :is_setting => @is_setting, :is_issue => @is_issue, :is_create => @is_create, :issue_project_id => @issue_project_id),:html => {:id=>"popub_new_project_version_form", :remote => @is_setting ? true : false} do |f| %>
<%= form_for :version, :url => project_versions_path(@project, :is_setting => @is_setting, :is_issue => @is_issue, :is_create => @is_create, :issue_project_id => @issue_project_id),
:html => {:id => "popub_new_project_version_form", :remote => @is_setting ? true : false} do |f| %>
<%#= labelled_form_for @version, :html => {:id => "popub_new_project_version_form", :remote => true, :is_setting => true, :is_index => params[:is_index] } do |f| %>
<ul class="pro_newsetting_con mb15 ">
<li class="mb10 clear">
<label><span class="c_red f12">*</span>&nbsp;名称&nbsp;&nbsp;:&nbsp;</label>
<%= f.text_field :name, :maxlength => 60, :class=>"w650", :style=>"height: 28px;", :id => "popub_setting_version_name", :no_label => true %>
<p class="c_orange ml100" style=" margin-left:50px;display: none" id="pupub_project_setting_version_title">标题不能为空</p>
<p class="c_orange ml100" style=" margin-left:50px;display: none" id="pupub_project_setting_version_title">名称不能为空</p>
<p class="c_orange ml100" style=" margin-left:50px;display: none" id="version_name_repetition_tip">名称已经被使用</p>
</li>
<li class="mb10 clear">
<label class="ml5">&nbsp;描述&nbsp;&nbsp;:&nbsp;</label>
@ -44,11 +46,7 @@
// 新建版本
function popub_project_version_commit()
{
if(popub_regex_version_name())
{
$("#popub_new_project_version_form").submit();
hideModal();
}
popub_regex_version_name();
}
function popub_regex_version_name()
@ -56,13 +54,32 @@
var name = $.trim($("#popub_setting_version_name").val());
if(name.length == 0)
{
$("#version_name_repetition_tip").hide();
$("#pupub_project_setting_version_title").show();
return false;
}
else
{
$("#pupub_project_setting_version_title").hide();
return true;
$.ajax({
url:"<%= judge_version_title_project_versions_path(:project_id => @project) %>",
type: "GET",
data: {
version_name: $.trim($("#popub_setting_version_name").val())
},
success:function(data){
if(data.result == true) {
$("#pupub_project_setting_version_title").hide();
$("#popub_new_project_version_form").submit();
hideModal();
return true;
}
else{
$("#pupub_project_setting_version_title").hide();
$("#version_name_repetition_tip").show();
return false;
}
}
});
}
}
</script>

View File

@ -0,0 +1,22 @@
<div style="width:460px;">
<div class="sy_popup_top">
<h3 class="fl">提示</h3>
<a href="javascript:void(0);" class="sy_icons_close fr" onclick="hideModal()"></a>
<div class="cl"></div>
</div>
<div class="sy_popup_con" style="width:380px;">
<ul class="sy_popup_add" >
<li class="center mb5" style="line-height:20px;text-align: center;">
名称已经被使用
</li>
<li class="mt10">
<label class="mr27">&nbsp;</label>
<a href="javascript:void(0);" class="sy_btn_grey fl" onclick="hideModal()">取&nbsp;&nbsp;消</a>
<%#= link_to "确 定", {:controller => 'repositories', :action => 'forked'}, :class => "sy_btn_blue fl ml20", :onclick => "hideModal();", :target => "_blank" %>
<a href="javascript:void(0);" class="sy_btn_blue fl ml20" onclick="hideModal()">确&nbsp;&nbsp;定</a>
<div class="cl"></div>
</li>
</ul>
</div>
</div>

View File

@ -1 +1,6 @@
$("#pro_st_tbc_04").html('<%= escape_javascript( render :partial => 'projects/settings/new_versions') %>');
<% if @error %>
var htmlvalue = "<%= escape_javascript(render :partial => 'versions/version_name_repetition_tip') %>";
pop_box_new(htmlvalue,300,316);
<% else %>
$("#pro_st_tbc_04").html('<%= escape_javascript( render :partial => 'projects/settings/new_versions') %>');
<% end %>

View File

@ -563,6 +563,8 @@ RedmineApp::Application.routes.draw do
get '/boards/:id/boards_topic', :to =>'boards#show', :as => 'boards_topic'
match 'courses/:course_id/news/index', :to => 'news#index', :via => [:get, :post], :as => 'new_course_news'
match 'courses/:course_id/news/new', :to => 'news#new', :via => [:get, :post]
match 'contests/:contest_id/news/index', :to => 'news#index', :via => [:get, :post], :as => 'new_contest_news'
match 'contests/:contest_id/news/new', :to => 'news#new', :via => [:get, :post]
match 'users/:user_id/homepage/articles/:id', :to => 'article_homepages#show', :as => "user_homepage_show"
match 'users/:id/courses', :to => 'users#course_community', :as => "user_course_community"
@ -990,6 +992,7 @@ RedmineApp::Application.routes.draw do
resources :versions, :except => [:index, :show, :edit, :update, :destroy] do
collection do
put 'close_completed'
get 'judge_version_title'
end
end
get 'versions.:format', :to => 'versions#index'

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB