dev_cxt2
sw 10 years ago
commit c61e990ad3

@ -180,6 +180,7 @@ class MyController < ApplicationController
# Manage user's password # Manage user's password
def password def password
begin
@act='password' @act='password'
@user = User.current @user = User.current
unless @user.change_password_allowed? unless @user.change_password_allowed?
@ -196,18 +197,20 @@ class MyController < ApplicationController
Token.delete_user_all_tokens(@user) Token.delete_user_all_tokens(@user)
logout_user logout_user
redirect_to signin_url(back_url: my_account_path) redirect_to signin_url(back_url: my_account_path)
return
else else
flash.now[:error] = l(:notice_account_wrong_password) #flash.now[:error] = l(:notice_account_wrong_password)
end end
end end
render :template => 'my/account',:layout=>'base_users_new'
rescue Exception => e rescue Exception => e
if e.message == 'wrong password' if e.message == 'wrong password'
flash.now[:error] = l(:notice_account_wrong_password) # flash.now[:error] = l(:notice_account_wrong_password)
else else
flash.now[:error] = e.message # flash.now[:error] = e.message
end end
render :template => 'my/account',:layout=>'base_users_new' flash.now[:error] = l(:notice_account_old_wrong_password)
end
render :template => 'my/account',:layout=>'base_users_new'
end end
# Create a new feeds key # Create a new feeds key

@ -250,6 +250,14 @@ update
return -1 return -1
end end
end end
if params[:to] == 'gitlab'
g = Gitlab.client
g.post('/session', body: {email: User.current.mail, password: User.current.hashed_password})
redirect_to "http://192.168.41.130:3000/gitlab-org/gitlab-shell/tree/master"
return
end
#if( !User.current.member_of?(@project) || @project.hidden_repo) #if( !User.current.member_of?(@project) || @project.hidden_repo)
@repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty? @repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty?
@ -540,11 +548,12 @@ update
:stack => :side, :stack => :side,
:scale_integers => true, :scale_integers => true,
:step_x_labels => 2, :step_x_labels => 2,
:show_data_values => false, :show_data_values => true,
:graph_title => l(:label_commits_per_month), :graph_title => l(:label_commits_per_month),
:show_graph_title => true :show_graph_title => true
) )
# 具状图
graph.add_data( graph.add_data(
:data => commits_by_month[0..11].reverse, :data => commits_by_month[0..11].reverse,
:title => l(:label_revision_plural) :title => l(:label_revision_plural)
@ -560,7 +569,7 @@ update
def graph_commits_per_author(repository) def graph_commits_per_author(repository)
commits_by_author = Changeset.count(:all, :group => :committer, :conditions => ["repository_id = ?", repository.id]) commits_by_author = Changeset.count(:all, :group => :committer, :conditions => ["repository_id = ?", repository.id])
commits_by_author.to_a.sort! {|x, y| x.last <=> y.last} commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(25)
changes_by_author = Change.count(:all, :group => :committer, :include => :changeset, :conditions => ["#{Changeset.table_name}.repository_id = ?", repository.id]) changes_by_author = Change.count(:all, :group => :committer, :include => :changeset, :conditions => ["#{Changeset.table_name}.repository_id = ?", repository.id])
h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o} h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o}
@ -582,7 +591,7 @@ update
:fields => fields, :fields => fields,
:stack => :side, :stack => :side,
:scale_integers => true, :scale_integers => true,
:show_data_values => false, :show_data_values => true,
:rotate_y_labels => false, :rotate_y_labels => false,
:graph_title => l(:label_commits_per_author), :graph_title => l(:label_commits_per_author),
:show_graph_title => true :show_graph_title => true

@ -142,7 +142,7 @@ class UsersController < ApplicationController
@obj_count = query.count(); @obj_count = query.count();
@obj_pages = Paginator.new @obj_count,limit,params['page'] @obj_pages = Paginator.new @obj_count,limit,params['page']
@list = query.order("#{Project.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all(); @list = query.order("#{Project.table_name}.updated_on desc,#{Project.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
@params = params @params = params
respond_to do |format| respond_to do |format|
@ -281,7 +281,7 @@ class UsersController < ApplicationController
@obj_count = query.count(); @obj_count = query.count();
@obj_pages = Paginator.new @obj_count,limit,params['page'] @obj_pages = Paginator.new @obj_count,limit,params['page']
@list = query.order("#{Course.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all(); @list = query.order("#{Course.table_name}.updated_at desc,#{Course.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
@params = params @params = params
render :layout=>'base_users_new' render :layout=>'base_users_new'
@ -460,14 +460,13 @@ class UsersController < ApplicationController
end end
if params[:lastid]!=nil && !params[:lastid].empty? if params[:lastid]!=nil && !params[:lastid].empty?
query = query.where("#{Course.table_name}.id < ?",params[:lastid]) query = query.where("( (#{Course.table_name}.updated_at=? and #{Course.table_name}.id < ?) or #{Course.table_name}.updated_at<?)",params[:lasttime],params[:lastid],params[:lasttime])
end end
@list = query.order("#{Course.table_name}.id desc").limit(8).all @list = query.order("#{Course.table_name}.updated_at desc,#{Course.table_name}.id desc").limit(8).all
render :layout=>nil render :layout=>nil
end end
def user_projects4show def user_projects4show
query = Project.joins("join members m on #{Project.table_name}.id=m.project_id") query = Project.joins("join members m on #{Project.table_name}.id=m.project_id")
query = query.where("m.user_id = ? and #{Project.table_name}.project_type=?",@user.id,Project::ProjectType_project) query = query.where("m.user_id = ? and #{Project.table_name}.project_type=?",@user.id,Project::ProjectType_project)
if User.current == @user #看自己 if User.current == @user #看自己
@ -477,9 +476,9 @@ class UsersController < ApplicationController
end end
if params[:lastid]!=nil && !params[:lastid].empty? if params[:lastid]!=nil && !params[:lastid].empty?
query = query.where("#{Project.table_name}.id < ?",params[:lastid]) query = query.where("( (#{Project.table_name}.updated_on=? and #{Project.table_name}.id < ?) or #{Project.table_name}.updated_on<?)",params[:lasttime],params[:lastid],params[:lasttime])
end end
@list = query.order("#{Project.table_name}.id desc").limit(8).all @list = query.order("#{Project.table_name}.updated_on desc,#{Project.table_name}.id desc").limit(8).all
render :layout=>nil render :layout=>nil
end end

@ -447,7 +447,9 @@ module UsersHelper
when "Issue" when "Issue"
return activity.act.subject return activity.act.subject
when "Journal" when "Journal"
return details_to_strings(activity.act.details,true).to_s arr = details_to_strings(activity.act.details,true)
arr << activity.act.notes
return arr.to_s
when "JournalsForMessage" when "JournalsForMessage"
return activity.act.notes return activity.act.notes
when "Message" when "Message"

@ -12,6 +12,8 @@ class UserExtensions < ActiveRecord::Base
belongs_to :user belongs_to :user
belongs_to :school, :class_name => 'School', :foreign_key => :school_id belongs_to :school, :class_name => 'School', :foreign_key => :school_id
attr_accessible :user_id,:birthday,:brief_introduction,:gender,:location,:occupation,:work_experience,:zip_code,:identity, :technical_title,:student_id attr_accessible :user_id,:birthday,:brief_introduction,:gender,:location,:occupation,:work_experience,:zip_code,:identity, :technical_title,:student_id
validates_length_of :description, :maximum => 255
validates_length_of :brief_introduction, :maximum => 255
TEACHER = 0 TEACHER = 0
STUDENT = 1 STUDENT = 1
ENTERPRISE = 2 ENTERPRISE = 2

@ -15,7 +15,7 @@
<% hidden_non_project = Setting.find_by_name("hidden_non_project") <% hidden_non_project = Setting.find_by_name("hidden_non_project")
visiable = hidden_non_project && hidden_non_project.value == "0"%> visiable = hidden_non_project && hidden_non_project.value == "0"%>
<% if @show_course == 1 && !visiable %> <% if @show_course == 1 && !visiable %>
<% if User.current.user_extensions && [UserExtensions::TEACHER, UserExtensions::STUDENT].include?(User.current.user_extensions.identity) -%> <%# if User.current.user_extensions && [UserExtensions::TEACHER, UserExtensions::STUDENT].include?(User.current.user_extensions.identity) -%>
<% hasCourse=false %> <% hasCourse=false %>
<% User.current.courses.each do |course| %> <% User.current.courses.each do |course| %>
<% if !course_endTime_timeout?(course) %> <% if !course_endTime_timeout?(course) %>
@ -34,7 +34,7 @@
</ul> </ul>
</li> </li>
<% end %> <% end %>
<% end -%> <%# end -%>
<% end %> <% end %>
<% if User.current.projects.count>0 %> <% if User.current.projects.count>0 %>
@ -47,6 +47,7 @@
</ul> </ul>
</li> </li>
<% end %> <% end %>
<li><a href="<%= url_for(:controller => 'my', :action => 'account') %>">编辑资料</a></li>
<!--<li><a href="javascript:void(0);" class="parent">我的课程</a>--> <!--<li><a href="javascript:void(0);" class="parent">我的课程</a>-->
<!--<ul>--> <!--<ul>-->
<!--<li><a href="javascript:void(0);">新建课程</a></li>--> <!--<li><a href="javascript:void(0);">新建课程</a></li>-->

@ -183,9 +183,9 @@ $(".subNav").click(function(){
<% end %> <% end %>
<% if (@user.user_extensions.identity == 0 || @user.user_extensions.identity == 1) && !@user.user_extensions.school.nil? %> <% if (@user.user_extensions.identity == 0 || @user.user_extensions.identity == 1) && !@user.user_extensions.school.nil? %>
<li><a href="<%= url_for(:controller=>'welcome',:action => 'course', :school_id => @user.user_extensions.school.id,:host=>Setting.host_course) %>"><%= @user.user_extensions.school.name %></a></li> <li style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="<%= @user.user_extensions.school.name %>"><a href="<%= url_for(:controller=>'welcome',:action => 'course', :school_id => @user.user_extensions.school.id,:host=>Setting.host_course) %>"><%= @user.user_extensions.school.name %></a></li>
<% elsif @user.user_extensions.identity == 3 && !@user.user_extensions.occupation.nil? && !@user.user_extensions.occupation.empty? %> <% elsif @user.user_extensions.identity == 3 && !@user.user_extensions.occupation.nil? && !@user.user_extensions.occupation.empty? %>
<li><%= @user.user_extensions.occupation %></li> <li style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="<%= @user.user_extensions.occupation %>"><%= @user.user_extensions.occupation %></li>
<% elsif @user.user_extensions.identity == 2 %> <% elsif @user.user_extensions.identity == 2 %>
<li style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="<%= @user.show_name %>"><%= @user.show_name %></li> <li style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="<%= @user.show_name %>"><%= @user.show_name %></li>
<% end %> <% end %>

@ -17,7 +17,7 @@
<div class="users_dis" id="users_tbc_01"> <div class="users_dis" id="users_tbc_01">
<% if( @act.nil? || @act != 'password') %> <% if( @act.nil? || @act != 'password') %>
<%= render_flash_messages %> <%= render_flash_messages %>
<%= error_messages_for 'user' %> <%= error_messages_for 'user',@user.user_extensions %>
<% end %> <% end %>
<ul class="setting_left"> <ul class="setting_left">
<li>登录名&nbsp;:&nbsp;</li> <li>登录名&nbsp;:&nbsp;</li>
@ -141,11 +141,11 @@
<%= select_tag( 'user[mail_notification]', options_for_select( user_mail_notification_options(@user), @user.mail_notification) ) %> <%= select_tag( 'user[mail_notification]', options_for_select( user_mail_notification_options(@user), @user.mail_notification) ) %>
<label>不要发送对我自己提交的修改的通知<%= check_box_tag 'no_self_notified', 1, @user.pref[:no_self_notified],:style=>"height:14px;" %></label> <label>不要发送对我自己提交的修改的通知<%= check_box_tag 'no_self_notified', 1, @user.pref[:no_self_notified],:style=>"height:14px;" %></label>
</li> </li>
<li><input name="brief_introduction" class="w450" type="text" value="<%= (@user.user_extensions.nil?) ? '' : @user.user_extensions.brief_introduction %>"></li> <li><input name="brief_introduction" class="w450" type="text" maxlength="255" value="<%= (@user.user_extensions.nil?) ? '' : @user.user_extensions.brief_introduction %>"></li>
<li style="height:auto;"><textarea name="description" class="w450 h200" style="resize:none;"><%= (@user.user_extensions.nil?) ? '' : @user.user_extensions.description %></textarea></li> <li style="height:auto;"><textarea name="description" class="w450 h200" maxlength="255" style="resize:none;"><%= (@user.user_extensions.nil?) ? '' : @user.user_extensions.description %></textarea></li>
<li style="display:none;"><%= f.select :language, :Chinese => :zh, :English => :en %></li> <li style="display:none;"><%= f.select :language, :Chinese => :zh, :English => :en %></li>
<li class="ml2"> <li class="ml2">
<a href="javascript:$('#my_account_form_btn').click();" class="blue_btn fl">确认</a> <a href="javascript:;" id="my_account_form_link" class="blue_btn fl">确认</a>
<input type="submit" id="my_account_form_btn" style="display:none;"/> <input type="submit" id="my_account_form_btn" style="display:none;"/>
<!--<a href="javascript:void(0);" class="grey_btn ml10 fl">取消</a>--> <!--<a href="javascript:void(0);" class="grey_btn ml10 fl">取消</a>-->
</li> </li>
@ -169,7 +169,7 @@
<li><input id="new_password" name="new_password" class="w210" type="password" required="true"><span class="c_red ml5">请输入6-12个字符</span></li> <li><input id="new_password" name="new_password" class="w210" type="password" required="true"><span class="c_red ml5">请输入6-12个字符</span></li>
<li><input id="new_password_confirmation" name="new_password_confirmation" class="w210" type="password" required="true"></li> <li><input id="new_password_confirmation" name="new_password_confirmation" class="w210" type="password" required="true"></li>
<li class="ml2"> <li class="ml2">
<a href="javascript:$('#my_password_form_btn').click();" class="blue_btn fl">确认</a> <a href="javascript:;" id="my_password_form_link" class="blue_btn fl">确认</a>
<input type="submit" id="my_password_form_btn" style="display:none;"/> <input type="submit" id="my_password_form_btn" style="display:none;"/>
<!--<a href="javascript:void(0);" class="grey_btn ml10 fl">取消</a>--> <!--<a href="javascript:void(0);" class="grey_btn ml10 fl">取消</a>-->
</li> </li>
@ -528,6 +528,12 @@
<% if( !@act.nil? && @act == 'password') %> <% if( !@act.nil? && @act == 'password') %>
$("#users_tb_2").click(); $("#users_tb_2").click();
<% end %> <% end %>
$('#my_account_form_link').click(function(){
$('#my_account_form_btn').click();
});
$('#my_password_form_link').click(function(){
$('#my_password_form_btn').click();
});
}); });
</script> </script>
<script type="text/javascript"> <script type="text/javascript">

@ -4,7 +4,7 @@
<p> <p>
<%= tag("embed", :width => 670, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_month")) %> <%= tag("embed", :width => 670, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_month")) %>
</p> </p>
<p> <p style="padding-top: 50px;">
<%= tag("embed", :width => 670, :height => 400, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_author")) %> <%= tag("embed", :width => 670, :height => 400, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_author")) %>
</p> </p>
<p><%= link_to l(:button_back), :action => 'show', :id => @project %></p> <p><%= link_to l(:button_back), :action => 'show', :id => @project %></p>

@ -38,9 +38,9 @@
<% if(course_end_flag) %> <% if(course_end_flag) %>
<span class="grey_n_btn fr mt20">课程结束</span> <span class="grey_n_btn fr mt20">课程结束</span>
<% elsif(can_edit_flag) %> <% elsif(can_edit_flag) %>
<a href="<%=url_for(:controller => 'homework_common', :action => 'new',:course=>item.id, :host=>Setting.host_course)%>" class="blue_n_btn fr mt20">发布作业</a> <a href="<%=url_for(:controller => 'homework_common', :action => 'new',:course=>item.id, :host=>Setting.host_course)%>" target="_blank" class="blue_n_btn fr mt20">发布作业</a>
<% else %> <% else %>
<a href="<%=url_for(:controller => 'homework_common', :action => 'index',:course=>item.id, :host=>Setting.host_course)%>" class="blue_n_btn fr mt20">提交作品</a> <a href="<%=url_for(:controller => 'homework_common', :action => 'index',:course=>item.id, :host=>Setting.host_course)%>" target="_blank" class="blue_n_btn fr mt20">提交作品</a>
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
</div> </div>

@ -36,14 +36,14 @@
<p nhname='contentmsg'></p> <p nhname='contentmsg'></p>
<div nhname='toolbar_container' style="float:left;padding-top:3px;"></div> <div nhname='toolbar_container' style="float:left;padding-top:3px;"></div>
<a id="new_message_cancel_btn" href="javascript:void(0)" class="grey_n_btn fr " style="margin-top:3px;">取消</a> <a id="new_message_cancel_btn" href="javascript:void(0)" class="grey_n_btn fr " style="margin-top:3px;">取消</a>
<a id="new_message_submit_btn" href="javascript:void(0)" class="blue_n_btn fr mr5 " style="margin-top:3px;">发布</a> <a id="new_message_submit_btn" href="javascript:void(0)" class="blue_n_btn fr mr5 " style="margin-top:3px;">留言</a>
</form> </form>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div class="message_list_box" nhname="list_more_div" id="nh_messages" style="display:none;"> <div class="message_list_box" nhname="list_more_div" id="nh_messages" style="display:none;">
<div nhname="container" data-nodatamsg="暂无留言" data-pagesize="3" data-url="<%= url_for(:controller => 'users', :action => 'user_feedback4show') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div> <div nhname="container" data-nodatamsg="暂无留言" data-pagesize="3" data-url="<%= url_for(:controller => 'users', :action => 'user_feedback4show') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="message_list_more"> <div class="message_list_more" style="width:700px">
<a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr mr10">收起</a> <a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr mr10">收起</a>
<div class="cl"></div> <div class="cl"></div>
</div> </div>
@ -273,6 +273,10 @@
if($("div[nhname='rec']",p.container).length > 0){ if($("div[nhname='rec']",p.container).length > 0){
var lastid = $("div[nhname='rec']",p.container).filter(':last').data('id'); var lastid = $("div[nhname='rec']",p.container).filter(':last').data('id');
url += "?lastid="+lastid; url += "?lastid="+lastid;
var lasttime = $("div[nhname='rec']",p.container).filter(':last').data('time');
if(lasttime != undefined){
url += "&lasttime="+lasttime;
}
} }
$.ajax( {url:url,dataType:'text',success:function(data){ $.ajax( {url:url,dataType:'text',success:function(data){
var html = $("<div>"+data+"</div>"); var html = $("<div>"+data+"</div>");

@ -1,6 +1,6 @@
<% for item in @list %> <% for item in @list %>
<div class="home_courses_list fl" nhname="rec" data-id="<%= item.id %>"> <div class="home_courses_list fl" nhname="rec" data-id="<%= item.id %>" data-time="<%= item.updated_at %>">
<div class="courses_list_pic fl ml10 mr10"> <div class="courses_list_pic fl ml10 mr10">
<a href="<%= url_for(:controller => 'courses', :action=>"show", :id=>item.id, :host=>Setting.host_course) %>"><%= image_tag(url_to_avatar(item), :style => 'width:64px;height:64px;') %></a> <a href="<%= url_for(:controller => 'courses', :action=>"show", :id=>item.id, :host=>Setting.host_course) %>"><%= image_tag(url_to_avatar(item), :style => 'width:64px;height:64px;') %></a>
</div> </div>

@ -43,7 +43,7 @@
</tbody></table> </tbody></table>
</div> </div>
</div> </div>
<a href="<%= url_for(:controller => 'issues', :action=>"new", :project_id=>item.id, :host=>Setting.host_name) %>" class="blue_n_btn fr mt20">发布问题</a> <a href="<%= url_for(:controller => 'issues', :action=>"new", :project_id=>item.id, :host=>Setting.host_name) %>" target="_blank" class="blue_n_btn fr mt20">发布问题</a>
<div class="cl"></div> <div class="cl"></div>
</div> </div>
<% end %> <% end %>

@ -1,5 +1,5 @@
<% for item in @list %> <% for item in @list %>
<div class="home_courses_list fl" nhname="rec" data-id="<%= item.id %>"> <div class="home_courses_list fl" nhname="rec" data-id="<%= item.id %>" data-time="<%= item.updated_on %>">
<div class="courses_list_pic fl ml10 mr10"> <div class="courses_list_pic fl ml10 mr10">
<a href="<%= url_for(:controller => 'projects', :action=>"show", :id=>item.id, :host=>Setting.host_name) %>"><%= image_tag(url_to_avatar(item), :style => 'width:64px;height:64px;') %></a> <a href="<%= url_for(:controller => 'projects', :action=>"show", :id=>item.id, :host=>Setting.host_name) %>"><%= image_tag(url_to_avatar(item), :style => 'width:64px;height:64px;') %></a>
</div> </div>

@ -31,9 +31,11 @@ zh:
label_account_identity_developer: 开发者 label_account_identity_developer: 开发者
label_account_identity_enterprise: 组织 label_account_identity_enterprise: 组织
label_account_identity_studentID: 请输入学号 label_account_identity_studentID: 请输入学号
field_brief_introduction_my: 个人签名
field_description: 个人简介
field_is_required: 必填 field_is_required: 必填
field_firstname: 名字 field_firstname: 名字或组织名
firstname_empty: 名字不能为空 firstname_empty: 名字不能为空
field_firstname_eg: '(例:张三丰,请填写[三丰])' field_firstname_eg: '(例:张三丰,请填写[三丰])'
field_lastname: 姓氏 field_lastname: 姓氏

@ -7,8 +7,29 @@ zh:
direction: ltr direction: ltr
jquery: jquery:
locale: "zh-CN" locale: "zh-CN"
date:
formats:
# Use the strftime parameters for formats.
# When no format has been given, it uses default.
# You can provide other formats here if you like!
default: "%Y-%m-%d"
short: "%b%d日"
long: "%Y年%b%d日"
day_names: [星期天, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
# Don't forget the nil at the beginning; there's no such thing as a 0th month
month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
# Used in date_select and datime_select.
order:
- :year
- :month
- :day
notice_account_updated: 帐号更新成功 notice_account_updated: 帐号更新成功
notice_account_old_wrong_password: 原始密码错误
notice_account_wrong_password: 密码错误 notice_account_wrong_password: 密码错误
name_can_be_empty: 可以不填写真实姓名[保密所需] name_can_be_empty: 可以不填写真实姓名[保密所需]
notice_successful_create: 创建成功 notice_successful_create: 创建成功
@ -265,9 +286,9 @@ zh:
permission_view_gantt: 查看甘特图 permission_view_gantt: 查看甘特图
permission_view_calendar: 查看日历 permission_view_calendar: 查看日历
permission_view_issue_watchers: 查看跟踪者列表 permission_view_issue_watchers: 查看跟踪者列表
permission_add_issue_watchers: 添加跟踪者 permission_add_issue_watchers: 添加跟踪者
permission_delete_issue_watchers: 删除跟踪者 permission_delete_issue_watchers: 删除跟踪者
permission_log_time: 登记工时 permission_log_time: 登记工时
@ -636,7 +657,7 @@ zh:
label_comment_add: 添加评论 label_comment_add: 添加评论
label_comment_added: 评论已添加 label_comment_added: 评论已添加
label_comment_delete: 删除评论 label_comment_delete: 删除评论
@ -1200,9 +1221,9 @@ zh:
label_post_on: 发表了 label_post_on: 发表了
label_post_on_issue: 发表了问题 label_post_on_issue: 发表了问题
label_updated_time_on: " 更新于 %{value} " label_updated_time_on: " 更新于 %{value} "
label_call_list: 需求列表 label_call_list: 需求列表
@ -1513,9 +1534,9 @@ zh:
label_news_number: 新闻的数量 label_news_number: 新闻的数量
label_wiki_number: wiki的数量 label_wiki_number: wiki的数量
label_wiki_mail_notification: 发布了wiki label_wiki_mail_notification: 发布了wiki
# redmine活跃度评分 # redmine活跃度评分
label_message_number: 留言的数量 # delete label_message_number: 留言的数量 # delete
label_activity_number: 个人动态数量 # delete label_activity_number: 个人动态数量 # delete
@ -1525,14 +1546,14 @@ zh:
label_wiki_number: wiki的数量 # delete label_wiki_number: wiki的数量 # delete
label_activities: 个人动态 label_activities: 个人动态
label_issue_message_number: 对issue的留言数量 label_issue_message_number: 对issue的留言数量
label_code_submit_number: 代码提交次数 label_code_submit_number: 代码提交次数
label_topic_number: 讨论区发言数量 label_topic_number: 讨论区发言数量
label_join_contest: 加入竞赛 label_join_contest: 加入竞赛
label_exit_contest: 退出竞赛 label_exit_contest: 退出竞赛
label_participator: 参与者 label_participator: 参与者
@ -1627,7 +1648,7 @@ zh:
label_bid_contest_show_course_name: 课程名称 label_bid_contest_show_course_name: 课程名称
label_bid_contest_show_teacher_name: 教师 label_bid_contest_show_teacher_name: 教师
label_contest_list: 竞赛列表 label_contest_list: 竞赛列表
label_bids_task_list: 作业列表 label_bids_task_list: 作业列表
@ -1958,9 +1979,9 @@ zh:
label_poll_republish_success: 取消成功 label_poll_republish_success: 取消成功
label_answer_total: 总计: label_answer_total: 总计:
label_join_project: 加入项目 label_join_project: 加入项目
# #
# #
# 项目企业模块 # 项目企业模块

Loading…
Cancel
Save