Merge remote-tracking branch 'origin/szzh' into guange_dev
This commit is contained in:
commit
08eae0e5eb
|
@ -40,6 +40,17 @@ module Mobile
|
|||
{status: 0}
|
||||
end
|
||||
|
||||
desc "忘记密码"
|
||||
params do
|
||||
requires :mail,type: String
|
||||
end
|
||||
post 'lost_password' do
|
||||
us = UsersService.new
|
||||
message = us.lost_password params
|
||||
present :message, message
|
||||
present :status, 0
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,16 +3,23 @@
|
|||
module Mobile
|
||||
module Apis
|
||||
class Upgrade < Grape::API
|
||||
include ApplicationHelper
|
||||
resource :upgrade do
|
||||
desc "get update info"
|
||||
params do
|
||||
requires :platform, type: String, desc: '平台名,android, ios'
|
||||
end
|
||||
get do
|
||||
@current_version = ::PhoneAppVersion.reorder('created_at desc').first
|
||||
attachment = @current_version.attachments.first
|
||||
if attachment.nil?
|
||||
raise '未发现客户端!'
|
||||
end
|
||||
url = Setting.host_name + "/attachments/download/" + attachment.id.to_s + "/" + attachment.filename
|
||||
{
|
||||
version: '2',
|
||||
url: 'http://u06.shellinfo.cn/trustie/Trustie_Beta1.0.0_201412310917.apk',
|
||||
desc: '更新了什么功能'
|
||||
version: @current_version.version,
|
||||
url: url,
|
||||
desc: @current_version.description
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
module Mobile
|
||||
module Entities
|
||||
class CourseDynamic < Grape::Entity
|
||||
include Redmine::I18n
|
||||
def self.course_dynamic_expose(field)
|
||||
expose field do |c,opt|
|
||||
c[field] if (c.is_a?(Hash) && c.key?(field))
|
||||
if field == :update_time
|
||||
(format_time(c[field]) if (c.is_a?(Hash) && c.key?(field)))
|
||||
else
|
||||
c[field] if (c.is_a?(Hash) && c.key?(field))
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
course_dynamic_expose :type
|
||||
|
@ -11,6 +17,8 @@ module Mobile
|
|||
course_dynamic_expose :course_name
|
||||
course_dynamic_expose :course_id
|
||||
course_dynamic_expose :course_img_url
|
||||
course_dynamic_expose :message
|
||||
course_dynamic_expose :update_time
|
||||
end
|
||||
end
|
||||
end
|
|
@ -337,6 +337,40 @@ class AdminController < ApplicationController
|
|||
end
|
||||
|
||||
def create_version
|
||||
@versions = PhoneAppVersion.reorder('created_at desc')
|
||||
@new_version = PhoneAppVersion.new
|
||||
@new_version.version = params[:version]
|
||||
@new_version.description = params[:description]
|
||||
if params[:attachments][:dummy][:file].nil? || params[:attachments][:dummy][:file] == ""
|
||||
respond_to do |format|
|
||||
flash.now[:error] = "#{l :label_version_create_fail}: #{l(:label_client_need)}"
|
||||
#flash.now[:error] = "#{l :label_first_page_create_fail}: #{@course_page.errors.full_messages[0]}"
|
||||
format.html {
|
||||
render :action => 'mobile_version'
|
||||
}
|
||||
format.api { render_validation_errors(@new_version) }
|
||||
end
|
||||
else
|
||||
@new_version.save_attachments(params[:attachments] || (params[:version] && params[:version][:uploads]))
|
||||
if @new_version.save
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
flash[:notice] = l(:notice_successful_create)
|
||||
redirect_to mobile_version_url
|
||||
}
|
||||
format.api { render_api_ok }
|
||||
end
|
||||
else
|
||||
respond_to do |format|
|
||||
flash.now[:error] = "#{l :label_version_create_fail}: #{@new_version.errors.full_messages[0]}"
|
||||
#flash.now[:error] = "#{l :label_first_page_create_fail}: #{@course_page.errors.full_messages[0]}"
|
||||
format.html {
|
||||
render :action => 'mobile_version'
|
||||
}
|
||||
format.api { render_validation_errors(@new_version) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -177,6 +177,25 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
end
|
||||
|
||||
def logged_user_by_apptoken
|
||||
#从手机端传来apptoken则将当前登陆用户变为对应的用户
|
||||
if params[:apptoken]
|
||||
token = ApiKey.where(access_token: params[:apptoken]).first
|
||||
if token.expired?
|
||||
return
|
||||
end
|
||||
if token && !token.expired?
|
||||
@current_user = User.find(token.user_id)
|
||||
end
|
||||
unless @current_user.nil?
|
||||
self.logged_user = @current_user
|
||||
if @current_user
|
||||
@current_user.update_column(:last_login_on, Time.now)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Logs out current user
|
||||
def logout_user
|
||||
if User.current.logged?
|
||||
|
|
|
@ -231,6 +231,8 @@ class AttachmentsController < ApplicationController
|
|||
format.html { redirect_to_referer_or softapplications_path(@attachment.container) }
|
||||
elsif !@attachment.container.nil? && @attachment.container.is_a?(Bid)
|
||||
format.html { redirect_to_referer_or respond_path(@attachment.container) }
|
||||
elsif !@attachment.container.nil? && @attachment.container.is_a?(PhoneAppVersion)
|
||||
format.html { redirect_to_referer_or mobile_version_path }
|
||||
else
|
||||
if @project.nil?
|
||||
format.html { redirect_to_referer_or forum_memo_path(@attachment.container.forum, @attachment.container) }
|
||||
|
@ -415,7 +417,7 @@ private
|
|||
@attachment.container.board.course)
|
||||
@course = @attachment.container.board.course
|
||||
else
|
||||
unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication'
|
||||
unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion'
|
||||
@project = @attachment.project
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,6 +30,7 @@ class BoardsController < ApplicationController
|
|||
|
||||
def index
|
||||
#modify by nwb
|
||||
@flag = params[:flag] || false
|
||||
if @project
|
||||
@boards = @project.boards.includes(:last_message => :author).all
|
||||
@boards = [] << @boards[0] if @boards.any?
|
||||
|
|
|
@ -17,6 +17,7 @@ class CoursesController < ApplicationController
|
|||
menu_item l(:label_sort_by_influence), :only => :index
|
||||
|
||||
before_filter :can_show_course, :except => []
|
||||
before_filter :logged_user_by_apptoken,:only => [:show,:new_homework,:feedback]
|
||||
before_filter :find_course, :except => [ :index, :search,:list, :new,:join,:unjoin, :create, :copy, :statistics, :new_join, :course, :enterprise_course, :course_enterprise,:view_homework_attaches,:join_private_courses]
|
||||
before_filter :authorize_course, :only => [:show, :settings, :edit, :update, :modules, :close, :reopen, :view_homework_attaches, :course]
|
||||
before_filter :authorize_course_global, :only => [:view_homework_attaches, :new,:create]
|
||||
|
|
|
@ -21,6 +21,7 @@ class FilesController < ApplicationController
|
|||
|
||||
menu_item :files
|
||||
before_filter :auth_login1, :only => [:index]
|
||||
before_filter :logged_user_by_apptoken,:only => [:index]
|
||||
before_filter :find_project_by_project_id#, :except => [:getattachtype]
|
||||
before_filter :authorize, :except => [:getattachtype,:quote_resource_show,:search]
|
||||
|
||||
|
@ -98,6 +99,7 @@ class FilesController < ApplicationController
|
|||
end
|
||||
|
||||
def index
|
||||
@flag = params[:flag] || false
|
||||
#sort_init 'filename', 'asc'
|
||||
sort_init 'created_on', 'desc'
|
||||
sort_update 'created_on' => "#{Attachment.table_name}.created_on",
|
||||
|
|
|
@ -6,7 +6,7 @@ class HomeworkAttachController < ApplicationController
|
|||
###############################
|
||||
before_filter :can_show_course,except: []
|
||||
#判断当前角色权限时需先找到当前操作的project
|
||||
before_filter :find_course_by_bid_id, :only => [:new]
|
||||
before_filter :logged_user_by_apptoken,:find_course_by_bid_id, :only => [:new]
|
||||
before_filter :find_bid_and_course,:only => [:get_not_batch_homework,:get_batch_homeworks,:get_homeworks,:get_homework_jours, :get_student_batch_homework, :get_my_homework]
|
||||
before_filter :find_course_by_hoemwork_id, :only => [:edit,:update,:destroy,:show,:add_homework_users,:destory_homework_users, :praise_homework]
|
||||
#判断当前角色是否有操作权限
|
||||
|
|
|
@ -107,17 +107,24 @@ class MembersController < ApplicationController
|
|||
AppliedProject.deleteappiled(member.user_id, @project.id)
|
||||
end
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html { redirect_to_settings_in_projects }
|
||||
format.js { @members = members; @applied_members = applied_members; }
|
||||
format.api {
|
||||
@member = members.first
|
||||
if @member.valid?
|
||||
render :action => 'show', :status => :created, :location => membership_url(@member)
|
||||
else
|
||||
render_validation_errors(@member)
|
||||
end
|
||||
}
|
||||
if params[:flag]
|
||||
flash[:notice] = l(:label_invite_success)
|
||||
respond_to do |format|
|
||||
format.html { redirect_to invite_members_project_url(@project) }
|
||||
end
|
||||
else
|
||||
respond_to do |format|
|
||||
format.html { redirect_to_settings_in_projects }
|
||||
format.js { @members = members; @applied_members = applied_members; }
|
||||
format.api {
|
||||
@member = members.first
|
||||
if @member.valid?
|
||||
render :action => 'show', :status => :created, :location => membership_url(@member)
|
||||
else
|
||||
render_validation_errors(@member)
|
||||
end
|
||||
}
|
||||
end
|
||||
end
|
||||
elsif @course
|
||||
course_info = []
|
||||
|
@ -310,6 +317,7 @@ class MembersController < ApplicationController
|
|||
end
|
||||
|
||||
def autocomplete
|
||||
@flag = params[:flag] || false
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
|
|
@ -180,6 +180,7 @@ class ProjectsController < ApplicationController
|
|||
@project = Project.new
|
||||
@project.safe_attributes = params[:project]
|
||||
@project.organization_id = params[:organization_id]
|
||||
@project.user_id = User.current.id
|
||||
if validate_parent_id && @project.save
|
||||
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
||||
# Add current user as a project member if he is not admin
|
||||
|
@ -333,30 +334,41 @@ class ProjectsController < ApplicationController
|
|||
end
|
||||
|
||||
def send_mail_to_member
|
||||
|
||||
if !params[:mail].nil? && User.find_by_mail(params[:mail].to_s).nil?
|
||||
if !params[:mail].blank? && User.find_by_mail(params[:mail].to_s).nil?
|
||||
email = params[:mail]
|
||||
Mailer.send_invite_in_project(email, @project, User.current).deliver
|
||||
@is_zhuce =false
|
||||
flash[:notice] = l(:notice_email_sent, :value => email)
|
||||
else
|
||||
@is_zhuce = true
|
||||
end
|
||||
respond_to do |format|
|
||||
format.js
|
||||
format.html{redirect_to invite_members_by_mail_project_url(@project)}
|
||||
end
|
||||
end
|
||||
#发送邮件邀请新用户
|
||||
def invite_members_by_mail
|
||||
@is_zhuce =false
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.js
|
||||
if User.current.member_of?(@project) || User.current.admin?
|
||||
@is_zhuce = false
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.js
|
||||
end
|
||||
else
|
||||
render_403
|
||||
end
|
||||
end
|
||||
|
||||
# 邀请Trustie注册用户
|
||||
def invite_members
|
||||
@member ||= @project.members.new
|
||||
if User.current.member_of?(@project) || User.current.admin?
|
||||
@member ||= @project.members.new
|
||||
respond_to do |format|
|
||||
format.html
|
||||
end
|
||||
else
|
||||
render_403
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
|
|
|
@ -19,6 +19,7 @@ class UsersController < ApplicationController
|
|||
layout :setting_layout
|
||||
#Added by young
|
||||
before_filter :auth_login1, :only => [:show, :user_activities, :user_newfeedback]
|
||||
before_filter :logged_user_by_apptoken, :only => [:show,:user_newfeedback]
|
||||
menu_item :activity
|
||||
menu_item :user_information, :only => :info
|
||||
menu_item :user_course, :only => :user_courses
|
||||
|
@ -445,12 +446,13 @@ class UsersController < ApplicationController
|
|||
activity = Activity.where(where_condition).where('user_id = ?', @user.id).order('id desc')
|
||||
end
|
||||
activity = activity.reject { |e|
|
||||
!User.current.admin? &&
|
||||
e.act.nil? ||
|
||||
(!User.current.admin? && !e.act.nil?
|
||||
(((e.act_type == "Issue") && !e.act.project.visible?(User.current)) ||
|
||||
(e.act_type == "Bid" && !e.act.courses.first.nil? && e.act.courses.first.is_public == 0 && !User.current.member_of_course?(e.act.courses.first)) ||
|
||||
(e.act_type == "Journal" && e.act.respond_to?("Project") && !e.act.project.visible?(User.current)) ||
|
||||
(e.act_type == "News" && ((!e.act.project.nil? && !e.act.project.visible?(User.current)) || (!e.act.course.nil? && e.act.course.is_public == 0 && !User.current.member_of_course?(e.act.course)))) ||
|
||||
(e.act_type == "Message" && !e.act.board.nil? && ((!e.act.board.project.nil? && !e.act.board.project.visible?(User.current)) || (!e.act.board.course.nil? && e.act.board.course.is_public == 0 && !User.current.member_of_course?(e.act.board.course)))))
|
||||
(e.act_type == "Message" && !e.act.board.nil? && ((!e.act.board.project.nil? && !e.act.board.project.visible?(User.current)) || (!e.act.board.course.nil? && e.act.board.course.is_public == 0 && !User.current.member_of_course?(e.act.board.course))))))
|
||||
}
|
||||
@activity_count = activity.count
|
||||
@activity_pages = Paginator.new @activity_count, pre_count, params['page']
|
||||
|
|
|
@ -28,7 +28,8 @@ class WelcomeController < ApplicationController
|
|||
# 企业版定制: params[:project]为传过来的参数
|
||||
unless params[:organization].nil?
|
||||
@organization = Organization.find params[:organization]
|
||||
@organization_projects = Project.visible.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
|
||||
# @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
|
||||
@organization_projects = @organization.projects.visible.joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").order("project_scores.score DESC").limit(10).all
|
||||
@part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : []
|
||||
# @cur_projects = Project.find(params[:organization])
|
||||
# @organization = @cur_projects.enterprise_name
|
||||
|
|
|
@ -490,6 +490,15 @@ module ApplicationHelper
|
|||
s.html_safe
|
||||
end
|
||||
|
||||
#项目成员列表复选框生成
|
||||
def project_member_check_box_tags_ex name, principals
|
||||
s = ''
|
||||
principals.each do |principal|
|
||||
s << "<li>#{ check_box_tag name, principal.id, false, :id => nil } #{h link_to principal.userInfo, user_path( principal.id)}</li>\n"
|
||||
end
|
||||
s.html_safe
|
||||
end
|
||||
|
||||
#扩展的checkbox生成
|
||||
def principals_check_box_tags_ex(name, principals)
|
||||
s = ''
|
||||
|
@ -1198,6 +1207,17 @@ module ApplicationHelper
|
|||
html_safe
|
||||
end
|
||||
|
||||
def wiki_simple_format_without_paragraph(text)
|
||||
text.to_s.
|
||||
gsub(/\r\n?/, "\n"). # \r\n and \r -> \n
|
||||
gsub(/\n\n+/, "<br /><br />"). # 2+ newline -> 2 br
|
||||
gsub(/([^\n]\n)(?=[^\n])/, '\1<br />'). # 1 newline -> br
|
||||
gsub("&nbsp", " "). #gsub(/<\/?.*?>/,"").
|
||||
gsub(/<\/?.*?>/, "").
|
||||
gsub(""", "'").
|
||||
html_safe
|
||||
end
|
||||
|
||||
def lang_options_for_select(blank=true)
|
||||
{ 'Chinese简体中文 '=> 'zh', :English => :en}
|
||||
end
|
||||
|
|
|
@ -351,10 +351,28 @@ module CoursesHelper
|
|||
str
|
||||
end
|
||||
|
||||
# added by nwb
|
||||
# added by meng
|
||||
# 课程time+term简写(2014.春/2014.秋)国际化输出
|
||||
def get_course_term course
|
||||
str = ( course.try(:time).to_s << '.' << course.try(:term).to_s )
|
||||
str[0..-4]
|
||||
strterm = course.try(:term).to_s
|
||||
if !(User.current.language == 'zh')
|
||||
strterm == '春季学期' ? strterm = 'spring term' : strterm = 'autumn term'
|
||||
str = ( course.try(:time).to_s << '.' << strterm )
|
||||
str[0..-6]
|
||||
else
|
||||
str = ( course.try(:time).to_s << '.' << strterm )
|
||||
str[0..-4]
|
||||
end
|
||||
end
|
||||
|
||||
# added by meng
|
||||
# 课程term(春季学期/秋季学期)国际化输出
|
||||
def get_course_term_locales course
|
||||
str = course.try(:term).to_s
|
||||
if !(User.current.language == 'zh')
|
||||
str == '春季学期' ? str = ' ' + 'spring term' : str = ' ' + 'autumn term'
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
def members_to_user_ids members
|
||||
|
|
|
@ -48,7 +48,7 @@ module FilesHelper
|
|||
def courses_check_box_tags(name,courses,current_course,attachment)
|
||||
s = ''
|
||||
courses.each do |course|
|
||||
if !(attachment.container_type && attachment.container_id == course.id) && is_course_teacher(User.current,course) && course_in_current_or_next_term(course)
|
||||
if !course_contains_attachment?(course,attachment) && is_course_teacher(User.current,course) && course_in_current_or_next_term(course)
|
||||
s << "<label>#{ check_box_tag name, course.id, false, :id => nil } #{h course.name}</label> [#{get_course_term course}]<br/>"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,15 +23,22 @@ module MembersHelper
|
|||
principal_count = scope.count
|
||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young
|
||||
principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
|
||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||
|
||||
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
|
||||
s + content_tag('div', content_tag('ul', links), :class => 'pagination_new')
|
||||
end
|
||||
|
||||
#获取项目可邀请的成员列表
|
||||
def render_project_members project
|
||||
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
||||
principals = paginateHelper scope,10
|
||||
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :style => "margin-left: -40px;")
|
||||
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options|
|
||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q],:flag => true, :format => 'js')), :remote => true
|
||||
}
|
||||
s + content_tag('ul', links,:class => 'wlist')
|
||||
end
|
||||
|
||||
# add by nwb
|
||||
|
@ -71,4 +78,18 @@ module MembersHelper
|
|||
s + content_tag('div', content_tag('ul', links), :class => 'applied_new')
|
||||
end
|
||||
|
||||
private
|
||||
def paginateHelper obj, pre_size=20
|
||||
@obj_count = obj.count
|
||||
@obj_pages = Redmine::Pagination::Paginator.new @obj_count, pre_size, params['page']
|
||||
if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation
|
||||
obj.limit(@obj_pages.per_page).offset(@obj_pages.offset)
|
||||
elsif obj.kind_of? Array
|
||||
obj[@obj_pages.offset, @obj_pages.per_page]
|
||||
else
|
||||
logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}"
|
||||
raise RuntimeError, 'unknow type, Please input you type into this helper.'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -283,6 +283,6 @@ module WatchersHelper
|
|||
|
||||
def exit_project_link(project)
|
||||
link_to(l(:label_exit_project),exit_cur_project_path(project.id),
|
||||
:remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px;margin-right:10px;height:22px;background:none repeat scroll 0% 0% #64BDD9;TES" )
|
||||
:remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 22px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES" )
|
||||
end
|
||||
end
|
||||
|
|
|
@ -341,7 +341,7 @@ module WelcomeHelper
|
|||
end
|
||||
str
|
||||
rescue Exception => e
|
||||
str << content_tag("span", l(:field_user_active_unknow))
|
||||
str << content_tag("span", l('user.active.unknow'))
|
||||
end
|
||||
|
||||
def show_event_reply event
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
class PhoneAppVersion < ActiveRecord::Base
|
||||
attr_accessible :description, :version
|
||||
validates_presence_of :description, :version
|
||||
validates_uniqueness_of :version
|
||||
acts_as_attachable
|
||||
end
|
||||
|
|
|
@ -131,7 +131,7 @@ class Project < ActiveRecord::Base
|
|||
#ActiveModel::Dirty 这里有一个changed方法。对任何对象都可以用
|
||||
after_save :update_inherited_members, :if => Proc.new {|project| project.inherit_members_changed?}
|
||||
# 创建project之后默认创建一个board,之后的board去掉了board的概念
|
||||
after_create :create_board_sync
|
||||
after_create :create_board_sync,:acts_as_forge_activities
|
||||
before_destroy :delete_all_members
|
||||
def remove_references_before_destroy
|
||||
return if self.id.nil?
|
||||
|
@ -1154,6 +1154,13 @@ class Project < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
# Time 2015-03-10 15:33:16
|
||||
# Author lizanle
|
||||
# Description 新建项目要在ForgeActivities中加一条数据。
|
||||
def acts_as_forge_activities
|
||||
fa = ForgeActivity.new(:user_id => User.current.id,:project_id => self.id,
|
||||
:forge_act_id => self.id,:forge_act_type => "ProjectCreateInfo")
|
||||
fa.save!
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -33,16 +33,32 @@ class UserExtensions < ActiveRecord::Base
|
|||
return self.brief_introduction
|
||||
end
|
||||
|
||||
# added by bai
|
||||
# added by meng
|
||||
def show_identity
|
||||
if self.identity == 0
|
||||
user_identity = '教师'
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '教师'
|
||||
else
|
||||
user_identity = 'Teacher'
|
||||
end
|
||||
elsif self.identity == 1
|
||||
user_identity = '学生'
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '学生'
|
||||
else
|
||||
user_identity = 'Student'
|
||||
end
|
||||
elsif self.identity == 2
|
||||
user_identity = '企业'
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '企业'
|
||||
else
|
||||
user_identity = 'Enterprise'
|
||||
end
|
||||
elsif self.identity == 3
|
||||
user_identity = '开发者'
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '开发者'
|
||||
else
|
||||
user_identity = 'Developer'
|
||||
end
|
||||
else
|
||||
user_identity = ''
|
||||
end
|
||||
|
|
|
@ -344,27 +344,67 @@ class CoursesService
|
|||
else
|
||||
membership = @user.coursememberships.all(:conditions => Course.visible_condition(current_user))
|
||||
end
|
||||
if membership.nil? || membership.count == 0
|
||||
raise l(:label_no_courses,:locale => current_user.language.nil? ? 'zh':current_user.language)
|
||||
end
|
||||
membership.sort! {|older, newer| newer.created_on <=> older.created_on }
|
||||
result = []
|
||||
membership.each do |mp|
|
||||
course = mp.course
|
||||
unless current_user.nil? || !(current_user.admin? || course.is_public == 1 || (course.is_public == 0 && current_user.member_of_course?(course)))
|
||||
count,is_teacher = get_course_anonymous_evaluation current_user,course
|
||||
if is_teacher
|
||||
student_commit_number = count
|
||||
else
|
||||
need_anonymous_comments_count = count
|
||||
latest_course_dynamics = []
|
||||
latest_news = course.news.order("created_on desc").first
|
||||
unless latest_news.nil?
|
||||
latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
end
|
||||
latest_message = course.journals_for_messages.order("created_on desc").first
|
||||
unless latest_message.nil?
|
||||
latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
end
|
||||
latest_attachment = course.attachments.order("created_on desc").first
|
||||
unless latest_attachment.nil?
|
||||
latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
end
|
||||
latest_bid = course.homeworks.order('updated_on DESC').first
|
||||
unless latest_bid.nil?
|
||||
latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
end
|
||||
#每个作业中的最新留言
|
||||
messages = []
|
||||
course.homeworks.each do |bid|
|
||||
jour = bid.journals_for_messages.order("created_on desc").first
|
||||
unless jour.nil?
|
||||
messages << jour
|
||||
end
|
||||
news_count = course.news.count
|
||||
message_count = course.journals_for_messages.count
|
||||
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => 1,:count => message_count}
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => 2,:count => need_anonymous_comments_count}
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => 3,:count => student_commit_number}
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => 4,:count => news_count}
|
||||
#{:course_name => course.name,:need_anonymous_comments_count=>need_anonymous_comments_count,:student_commit_number=>student_commit_number,:news_count=> news_count,:message_count=>message_count}
|
||||
end
|
||||
unless messages.count == 0
|
||||
messages.sort!{|order,newer| newer.created_on <=> order.created_on}
|
||||
end
|
||||
latest_bid_message = messages.first
|
||||
unless latest_bid_message.nil?
|
||||
latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => '最近更新了作业'}#l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
end
|
||||
#每个作业中学生最后提交的作业
|
||||
homeworks = []
|
||||
course.homeworks.each do |bid|
|
||||
homework_attach = bid.homeworks.order('updated_at DESC').first
|
||||
unless homework_attach.nil?
|
||||
homeworks << homework_attach
|
||||
end
|
||||
end
|
||||
unless homeworks.count == 0
|
||||
homeworks.sort!{|order,newer| newer.updated_at <=> order.updated_at}
|
||||
end
|
||||
latest_homework_attach = homeworks.first
|
||||
unless latest_homework_attach.nil?
|
||||
latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => '最近更新了作业'}#l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
end
|
||||
latest_course_dynamics.sort!{|order,newer| newer[:time] <=> order[:time]}
|
||||
latest_course_dynamic = latest_course_dynamics.first
|
||||
unless latest_course_dynamic.nil?
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => latest_course_dynamic[:type],:update_time => latest_course_dynamic[:time],:message => latest_course_dynamic[:message],:count => nil}
|
||||
end
|
||||
end
|
||||
result.sort!{|order,newer| newer[:update_time] <=> order[:update_time]}
|
||||
result
|
||||
end
|
||||
|
||||
|
|
|
@ -80,6 +80,28 @@ class UsersService
|
|||
{:id => @user.id, :img_url => img_url, :nickname => @user.login, :gender => gender, :work_unit => work_unit, :mail => @user.mail, :location => location, :brief_introduction => @user.user_extensions.brief_introduction}
|
||||
end
|
||||
|
||||
#忘记密码
|
||||
def lost_password params
|
||||
user = ::User.find_by_mail(params[:mail].to_s)
|
||||
# user not found or not active
|
||||
unless user && user.active?
|
||||
raise l(:notice_account_unknown_email,:locale => 'zh')
|
||||
end
|
||||
# user cannot change its password
|
||||
unless user.change_password_allowed?
|
||||
raise l(:notice_can_t_change_password,:locale => user.language)
|
||||
return
|
||||
end
|
||||
# create a new token for password recovery
|
||||
token = Token.new(:user => user, :action => "recovery")
|
||||
if token.save
|
||||
Thread.new do
|
||||
Mailer.lost_password(token).deliver
|
||||
end
|
||||
return l(:notice_account_lost_email_sent,:locale => user.language)
|
||||
end
|
||||
end
|
||||
|
||||
#编辑用户
|
||||
#gender 1:female 0:male 其他:male
|
||||
def edit_user params
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
<h3><%= l(:label_mobile_version) %></h3>
|
||||
<a href="javascript:void(0)" onclick="$('#new_version').slideToggle(400); ">发布新版本</a>
|
||||
<div>
|
||||
<form id="new_version" style="display: none">
|
||||
发布新版本
|
||||
</form>
|
||||
<%= form_tag({:controller => 'admin', :action => 'create_version'},{:id => 'new_version',:style=>'display:none'}) do %>
|
||||
<p style="margin-left:60px;padding-right: 20px;">
|
||||
<label for='version'><%= l(:label_version_number) %>:</label>
|
||||
<%= text_field_tag 'version', params[:version],:value => @new_version.version, :size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
|
||||
</p>
|
||||
<p style="margin-left:60px;padding-right: 20px;">
|
||||
<label for='description'><%= l(:label_version_description)%>:</label>
|
||||
<%= text_field_tag 'description', params[:description],:value => @new_version.description,:size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
|
||||
</p>
|
||||
<p style="margin-left:60px;padding-right: 20px;">
|
||||
<%= render :partial => 'attachments/form', :locals => {:container => @new_version} %>
|
||||
</p>
|
||||
<%= submit_tag l(:button_save), :class => "small", :name => nil %>
|
||||
<% end %>
|
||||
</div>
|
||||
<br/>
|
||||
<div>当前版本:</div>
|
||||
|
@ -25,7 +36,10 @@
|
|||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<% if !@versions.first.nil? && @versions.first.attachments.any?%>
|
||||
<% options = {:author => true, :deletable => true } %>
|
||||
<%= render :partial => 'attachments/links', :locals => {:attachments => @versions.first.attachments, :options => options, :is_float => true} %>
|
||||
<% end %>
|
||||
<br/>
|
||||
|
||||
<div>历史版本:</div>
|
||||
|
|
|
@ -172,9 +172,9 @@
|
|||
<tr>
|
||||
<td style="text-align: left" colspan="2">
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_create_time) %>
|
||||
<%= l(:label_end_time) %>
|
||||
:
|
||||
<%=format_time bid.created_on %>
|
||||
<%= bid.deadline %>
|
||||
</span>
|
||||
<span style="float: right">
|
||||
<% if betweentime(bid.deadline) < 0 %>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<div id="add-message" class="add_frame" style="display:none;">
|
||||
<div id="add-message" class="add_frame" style="display:<%= !@flag.nil?&&@flag=='true' ? '' : 'none' %>;">
|
||||
<% if User.current.logged? %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_message_new) %></h2>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2">
|
||||
<a href="http://<%= Setting.host_course%>" style="color: #15bccf;">
|
||||
高校课程实践社区
|
||||
<%= l(:label_courses_community)%>
|
||||
</a>
|
||||
</td>
|
||||
<td class="location-list">
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2">
|
||||
<a href="http://<%= Setting.host_course%>" style="color: #15bccf;">
|
||||
高校课程实践社区
|
||||
<%= l(:label_courses_community)%>
|
||||
</a>
|
||||
</td>
|
||||
<td class="location-list">
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
</div>
|
||||
|
||||
<% if @grouped.empty? %>
|
||||
<p class="nodata">
|
||||
<p class="nodata" style="margin-top: 30px;">
|
||||
<%= l(:label_no_data) %>
|
||||
</p>
|
||||
<% end %>
|
||||
|
|
|
@ -1,38 +1,45 @@
|
|||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%=h @document.title %></h2>
|
||||
<h2 class="project_h2"><%= l(:project_module_documents) %></h2>
|
||||
</div>
|
||||
<div class="frame-wiki">
|
||||
<div class="frame-wiki">
|
||||
<div class="contextual">
|
||||
<% if User.current.allowed_to?(:edit_documents, @project) %>
|
||||
<%= link_to l(:button_edit), edit_document_path(@document), :class => 'icon icon-edit', :accesskey => accesskey(:edit) %>
|
||||
<% end %>
|
||||
<% if User.current.allowed_to?(:delete_documents, @project) %>
|
||||
<%= delete_link document_path(@document) %>
|
||||
<% end %>
|
||||
</div>
|
||||
<p style="padding-top: 5px">
|
||||
<%= h @document.title %>
|
||||
</p>
|
||||
<p>
|
||||
<em><%#=h @document.category.name %>
|
||||
<br />
|
||||
<%= format_date @document.created_on %></em>
|
||||
</p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @document, :description, :attachments => @document.attachments %>
|
||||
</div>
|
||||
|
||||
<div class="contextual">
|
||||
<% if User.current.allowed_to?(:edit_documents, @project) %>
|
||||
<%= link_to l(:button_edit), edit_document_path(@document), :class => 'icon icon-edit', :accesskey => accesskey(:edit) %>
|
||||
<% end %>
|
||||
<% if User.current.allowed_to?(:delete_documents, @project) %>
|
||||
<%= delete_link document_path(@document) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<p><em><%#=h @document.category.name %><br />
|
||||
<%= format_date @document.created_on %></em></p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @document, :description, :attachments => @document.attachments %>
|
||||
</div>
|
||||
|
||||
<div style="border-top:solid 1px #C6E9F1;"></div>
|
||||
<h3><%= l(:label_attachment_plural) %></h3>
|
||||
<%= link_to_attachments @document %>
|
||||
|
||||
<% if authorize_for('documents', 'add_attachment') %>
|
||||
<p><%= link_to l(:label_attachment_new), {}, :onclick => "$('#add_attachment_form').show(); return false;",
|
||||
:id => 'attach_files_link' %></p>
|
||||
<%= form_tag({ :controller => 'documents', :action => 'add_attachment', :id => @document }, :multipart => true, :id => "add_attachment_form", :style => "display:none;") do %>
|
||||
<div class="box">
|
||||
<p><%= render :partial => 'attachments/form' %></p>
|
||||
</div>
|
||||
<%= submit_tag l(:button_add) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% html_title @document.title -%>
|
||||
<div style="border-top:solid 1px #C6E9F1;"></div>
|
||||
<h3><%= l(:label_attachment_plural) %></h3>
|
||||
<%= link_to_attachments @document %>
|
||||
|
||||
<% if authorize_for('documents', 'add_attachment') %>
|
||||
<p>
|
||||
<%= link_to l(:label_attachment_new), {}, :onclick => "$('#add_attachment_form').show(); return false;",
|
||||
:id => 'attach_files_link' %>
|
||||
</p>
|
||||
<%= form_tag({ :controller => 'documents', :action => 'add_attachment', :id => @document }, :multipart => true, :id => "add_attachment_form", :style => "display:none;") do %>
|
||||
<div class="box">
|
||||
<p>
|
||||
<%= render :partial => 'attachments/form' %>
|
||||
</p>
|
||||
</div>
|
||||
<%= submit_tag l(:button_add) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% html_title @document.title -%>
|
||||
</div>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
:description_placeholder => l(:label_optional_description)
|
||||
} %>
|
||||
<!--<input type="submit" name="" value="上传文件" class="f_l ml10" style="width:80px; height:26px;">-->
|
||||
<label class="f_l ml10 c_grey">
|
||||
<label class="f_l ml10 c_grey" style=" margin-top: 3px;">
|
||||
<span id="upload_file_count">
|
||||
<%= l(:label_no_file_uploaded)%>
|
||||
</span>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<%= link_to(l(:label_upload_files), 'javascript:void(0);', :class => 'icon m5p5 button_submit', :onclick => "$('#relation_file_div').slideUp();$('#upload_file_div').slideToggle('slow');") if User.current.allowed_to?(:manage_files, @project) %>
|
||||
<%= link_to(l(:label_relation_files), 'javascript:void(0);', :onclick => "$('#upload_file_div').slideUp();$('#relation_file_div').slideToggle();", :class => 'icon m5p5 button_submit') if User.current.allowed_to?(:manage_files, @project) %>
|
||||
<p></p>
|
||||
<div id="upload_file_div" class="relation_file_div hidden">
|
||||
<div id="upload_file_div" class="relation_file_div <%= !@flag.nil?&&@flag=="true" ? '' : 'hidden'%>">
|
||||
<%= render :partial => 'new', locals: {project: @project} %>
|
||||
</div>
|
||||
<div id="relation_file_div" class="relation_file_div hidden">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%=l(:label_attachment_new)%></h2>
|
||||
<h2 class="project_h2"><%= l(:label_course_file) %></h2>
|
||||
</div>
|
||||
|
||||
<%= error_messages_for 'attachment' %>
|
||||
|
@ -8,11 +8,10 @@
|
|||
|
||||
<% if @versions.any? %>
|
||||
<p><label for="version_id"><%=l(:field_version)%></label>
|
||||
<%= select_tag "version_id", content_tag('option', '') +
|
||||
options_from_collection_for_select(@versions, "id", "name") %></p>
|
||||
<%= select_tag "version_id", content_tag('option', '') + options_from_collection_for_select(@versions, "id", "name") %></p>
|
||||
<% end %>
|
||||
|
||||
<p><label><%=l(:label_attachment_plural)%></label><%= render :partial => 'attachments/form' %></p>
|
||||
<p><label><%= l(:label_attachment_plural) %></label><%= render :partial => 'attachments/form' %></p>
|
||||
</div>
|
||||
<%= submit_tag l(:button_add) %>
|
||||
<% end %>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
$(function(){
|
||||
$("#button1").click(function(){
|
||||
myTips("您的意见已经反馈到公共贴吧的新手讨论吧,我们会第一时间解决您的问题,谢谢支持!","success");
|
||||
myTips(<%= l(:label_forums_feedback_success)%>,"success");
|
||||
});
|
||||
|
||||
})
|
|
@ -1,13 +1,13 @@
|
|||
<%= form_tag({:controller => 'homework_attach', :action => 'add_jour_reply'}, :remote => true) do %>
|
||||
<%= text_area_tag 'user_notes', "", :class => 'noline',
|
||||
:style => "resize: none;", :rows => 4,
|
||||
:placeholder => l(:label_projects_feedback_respond_content),
|
||||
:placeholder => l(:label_feedback_respond_content),
|
||||
:maxlength => 250 %>
|
||||
<span style="float: left; margin-top: 1px; margin-right: 4px;"></span>
|
||||
<%= hidden_field_tag 'reference_id', params[:reference_id], :value => journal.id %>
|
||||
<%= hidden_field_tag 'reference_user_id', params[:reference_user_id], :value => m_reply_id.user.id %>
|
||||
<%= hidden_field_tag 'reference_message_id', params[:reference_message_id], :value => m_reply_id.id %>
|
||||
<%= submit_tag l(:button_projects_feedback_respond),
|
||||
<%= submit_tag l(:button_feedback_respond),
|
||||
:name => nil , :class => "enterprise", :style => "float: right; margin-top: 1px; margin-right: 4px;"%>
|
||||
|
||||
<% end %>
|
|
@ -25,7 +25,7 @@
|
|||
:homework_id =>homework.id },
|
||||
:remote => true, :confirm => l(:text_are_you_sure), :title => l(:button_delete)) %>
|
||||
<% end %>
|
||||
<%= link_to l(:label_projects_feedback_respond),'',
|
||||
<%= link_to l(:button_reply),'',
|
||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), ''); $('##{ids} textarea') ;return false;"}
|
||||
%>
|
||||
</span>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<div class="recall_con">
|
||||
<% id = 'project_respond_form_'+ reply.id.to_s %>
|
||||
<%= link_to reply.user.name, user_path(reply.user) %>
|
||||
回复
|
||||
<%= l(:label_reply_to)%>
|
||||
<% parent_jour = JournalsForMessage.find reply.m_reply_id %>
|
||||
<% if show_name && parent_jour %>
|
||||
<%= link_to parent_jour.user.name, user_path(parent_jour.user) %>
|
||||
|
@ -34,7 +34,7 @@
|
|||
:remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', :class => "delete", :title => l(:button_delete)) %>
|
||||
<% end %>
|
||||
<% if reply_allow %>
|
||||
<%= link_to l(:label_projects_feedback_respond),'',
|
||||
<%= link_to l(:button_reply),'',
|
||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{id}'), $('##{id} textarea'), ''); return false;"} %>
|
||||
<% end %> <!-- #{l(:label_reply_plural)} #{m_reply_id.user.name}: -->
|
||||
</span>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<% ids = 'project_respond_form_'+ jour.id.to_s%>
|
||||
<div class="ping_disfoot">
|
||||
<span>
|
||||
<%= link_to l(:label_projects_feedback_respond),'',
|
||||
<%= link_to l(:label_newfeedback_respond),'',
|
||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), ''); $('##{ids} textarea') ;return false;"}
|
||||
%>
|
||||
</span>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
</span>
|
||||
<% ids = 'project_respond_form_'+ journal.id.to_s%>
|
||||
<span>
|
||||
<%= link_to l(:label_projects_feedback_respond),'',
|
||||
<%= link_to l(:button_reply),'',
|
||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.name}: '); $('##{ids} textarea') ;return false;"}
|
||||
%>
|
||||
<% if journal.user==User.current|| User.current.admin? %>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<h2 class="project_h2">问题跟踪</h2>
|
||||
</div>
|
||||
<div class="problem_top">
|
||||
<% if @project.enabled_modules.where("name = 'issue_tracking'").count > 0 %>
|
||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||
<span>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to l(:label_issue_new), {:controller => 'issues', :action => 'new', :copy_from => nil}, :param => :project_id, :caption => :label_issue_new,
|
||||
|
|
|
@ -5,4 +5,6 @@
|
|||
per_page: number of items to fetch per page
|
||||
remote: data-remote
|
||||
-%>
|
||||
|
||||
<span class="spacer">
|
||||
<%= raw(t 'views.pagination.truncate') %>
|
||||
</span>
|
|
@ -62,7 +62,7 @@
|
|||
$.fn.fix = function(options){
|
||||
var defaults = {
|
||||
float : 'right',
|
||||
minStatue : false,
|
||||
minStatue : true,
|
||||
skin : 'blue',
|
||||
durationTime : 1000
|
||||
}
|
||||
|
@ -107,7 +107,7 @@
|
|||
|
||||
$(function(){
|
||||
$("#button1").click(function(){
|
||||
myTips("您的意见已经反馈到公共贴吧的新手讨论吧,我们会第一时间解决您的问题,谢谢支持!","success");
|
||||
myTips("<%= l(:label_feedback_success) %>","success");
|
||||
});
|
||||
|
||||
})
|
||||
|
@ -153,7 +153,7 @@ function cookieget(n)
|
|||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>意见反馈</title>
|
||||
<title><%= l(:label_feedback) %></title>
|
||||
|
||||
</head>
|
||||
<body style="height:auto" >
|
||||
|
@ -161,15 +161,15 @@ function cookieget(n)
|
|||
<div class="scrollsidebar" id="scrollsidebar" style="float: right">
|
||||
<div class="side_content">
|
||||
<div class="side_list">
|
||||
<div class="side_title"><a title="意见反馈" class="close_btn"><span><%= l(:label_feedback) %></span></a></div>
|
||||
<div class="side_title"><a title="<%= l(:label_feedback) %>" class="close_btn"><span><%= l(:label_feedback) %></span></a></div>
|
||||
<div class="side_center">
|
||||
<div class="custom_service">
|
||||
<% get_memo %>
|
||||
<%= form_for(@new_memo, :url => create_feedback_forum_path(@public_forum)) do |f| %>
|
||||
<%= f.text_area :subject, :class => "opnionText",:placeholder => "有什么想说的,尽管来咆哮吧~~"%>
|
||||
<%= f.hidden_field :content, :required => true ,:value=>'该贴来自用户反馈!'%>
|
||||
<%= f.text_area :subject, :class => "opnionText", :placeholder => l(:label_feedback_tips) %>
|
||||
<%= f.hidden_field :content, :required => true , :value => l(:label_feedback_value) %>
|
||||
<%#= f.submit :value => l(:label_memo_create), :class => "opnionButton", :id => "button1" %>
|
||||
<a href="javascript:void(0);" class="opnionButton" style=" color:#fff;" id="" onclick="f_submit();">提 交</a>
|
||||
<a href="javascript:void(0);" class="opnionButton" style=" color:#fff;" id="" onclick="f_submit();"><%= l(:label_submit)%></a>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="msgserver">
|
||||
|
@ -180,7 +180,7 @@ function cookieget(n)
|
|||
<div class="side_bottom"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show_btn"><span>提交</span></div>
|
||||
<div class="show_btn"><span><%= l(:label_submit)%></span></div>
|
||||
</div>
|
||||
<!-- ?ú?? ?á?? -->
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2">
|
||||
<a href="http://<%= Setting.host_course%>" style="color: #15bccf;">
|
||||
高校课程实践社区
|
||||
<%= l(:label_courses_community)%>
|
||||
</a>
|
||||
</td>
|
||||
<td style="width: auto; color: #15bccf">
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
<!--description-->
|
||||
<div class="inf_user_context">
|
||||
<div class="font_title_left">
|
||||
<%= l(:label_project_overview) %>
|
||||
<%= l(:label_overview) %>
|
||||
</div>
|
||||
<div style="padding-bottom: 8px">
|
||||
<% if @bid.description.size>0 %>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2">
|
||||
<a href="http://<%= Setting.host_course%>" style="color: #15bccf;">
|
||||
高校课程实践社区
|
||||
<%= l(:label_courses_community)%>
|
||||
</a>
|
||||
</td>
|
||||
<td style="color: #15bccf">
|
||||
|
@ -86,7 +86,7 @@
|
|||
|
||||
<td>
|
||||
<p class="top-content-list">
|
||||
<%= link_to "主页", home_path %>
|
||||
<%= link_to l(:field_homepage), home_path %>
|
||||
>
|
||||
<a href="http://<%= Setting.host_course%>" class="link_other_item">
|
||||
<%=l(:label_courses_management_platform)%>
|
||||
|
@ -230,7 +230,7 @@
|
|||
</td>
|
||||
<td class="font_lighter_sidebar">
|
||||
<%= @course.time %>
|
||||
<%= @course.term %>
|
||||
<%= get_course_term_locales @course %>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- end -->
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<div class="top-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf">软件项目托管社区</td>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf"><%= l(:label_projects_community)%></td>
|
||||
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
|
||||
<td rowspan="2" width="250px">
|
||||
<div class="top-content-search">
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2">
|
||||
<a href="http://<%= Setting.host_course%>" style="color: #15bccf;">
|
||||
高校课程实践社区
|
||||
<%= l(:label_courses_community)%>
|
||||
</a>
|
||||
</td>
|
||||
<td style="width: auto; color: #15bccf">
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<div class="top-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf">软件项目托管社区</td>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf"><%= l(:label_projects_community)%></td>
|
||||
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
|
||||
<td rowspan="2" width="250px">
|
||||
<div class="top-content-search">
|
||||
|
|
|
@ -174,7 +174,7 @@
|
|||
|
||||
<div class="inf_user_context" style="line-height: normal;margin-top: 10px;">
|
||||
<div class="font_title_left">
|
||||
<%= l(:label_project_overview) %>
|
||||
<%= l(:label_overview) %>
|
||||
</div>
|
||||
<div style="padding-bottom: 8px">
|
||||
<% if @contest.description.size>0 %>
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
|
||||
<div class="inf_user_context">
|
||||
<div class="font_title_left">
|
||||
<%= l(:label_project_overview) %>
|
||||
<%= l(:label_overview) %>
|
||||
</div>
|
||||
|
||||
<div style="padding-bottom: 8px">
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<div class="top-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2"><a href="http://<%= Setting.host_name%>" style="color: #15bccf;"> 软件项目托管社区 </a></td>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2"><a href="http://<%= Setting.host_name%>" style="color: #15bccf;"> <%= l(:label_projects_community)%> </a></td>
|
||||
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
|
||||
<td rowspan="2" width="250px">
|
||||
<div class="top-content-search">
|
||||
|
@ -39,8 +39,7 @@
|
|||
var name = $.trim($("#name").val());
|
||||
if(name.length == 0)
|
||||
{
|
||||
$("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>
|
||||
");
|
||||
$("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>");
|
||||
$("#project_name_span").css('color','#ff0000');
|
||||
$("#project_name_span").focus();
|
||||
return false;
|
||||
|
@ -51,12 +50,22 @@
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 项目描述超过展开
|
||||
$(function(){
|
||||
$(".subNav").click(function(){
|
||||
$(this).toggleClass("currentDd").siblings(".subNav").removeClass("currentDd")
|
||||
$(this).toggleClass("currentDt").siblings(".subNav").removeClass("currentDt")
|
||||
|
||||
// 修改数字控制速度, slideUp(500)控制卷起速度
|
||||
$(this).next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500);
|
||||
})
|
||||
})
|
||||
|
||||
function submitSerch()
|
||||
{
|
||||
if(regexName()){$("#project_search_form").submit();}
|
||||
}
|
||||
function show_more_msg()
|
||||
{$("#course_description").toggleClass("course_description_none");}
|
||||
</script>
|
||||
|
||||
<%= form_tag(projects_search_path, :method => :get, :id => "project_search_form") do %>
|
||||
<%= text_field_tag 'name', params[:name], :size => 20, :onkeyup => "regexName();", :style => "float:left" %>
|
||||
<%= hidden_field_tag 'project_type', params[:project_type] %>
|
||||
|
@ -78,17 +87,6 @@
|
|||
</div>
|
||||
<!-- 左边侧栏内容 -->
|
||||
<div id="sidebar">
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$(".subNav").click(function() {
|
||||
$(this).toggleClass("currentDd").siblings(".subNav").removeClass("currentDd")
|
||||
$(this).toggleClass("currentDt").siblings(".subNav").removeClass("currentDt")
|
||||
|
||||
// 修改数字控制速度, slideUp(500)控制卷起速度
|
||||
$(this).next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500);
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<div class="project_left">
|
||||
<div class="project_info">
|
||||
<div class="pr_info_logo fl mr10 mb5">
|
||||
|
@ -103,67 +101,93 @@
|
|||
</div>
|
||||
<!-- 项目得分 -->
|
||||
<div class="cl"></div>
|
||||
<div class="pr_info_name><%= link_to @project.name, project_path(@project) %>
|
||||
<div class="pr_info_name">
|
||||
<%= link_to @project.name, project_path(@project) %>
|
||||
<% if !@project.is_public? %>
|
||||
<span class="img_private ">私有</span>
|
||||
<span class="img_private"><%= l(:label_private)%></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="pr_info_score">
|
||||
<% if @project.project_type == 0 %>
|
||||
<%= l(:label_project_grade)%> :
|
||||
<%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects',
|
||||
:action => 'show_projects_score',
|
||||
:remote => true,
|
||||
:id => @project.id },
|
||||
:style => "color: #EC6300;")%>
|
||||
<%= l(:label_project_score)%> :
|
||||
<%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects',
|
||||
:action => 'show_projects_score',
|
||||
:remote => true,
|
||||
:id => @project.id },
|
||||
:style => "color: #EC6300;") %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="pr_info_foot">
|
||||
<%= l(:label_member) %>(<a class="info_foot_num" href="#" target="_blank"><%= link_to "#{@project.members.count}", project_member_path(@project) %></a>)
|
||||
<span>| </span><%= l(:label_user_watchered) %>(<a class="info_foot_num" href="#" target="_blank"><%= link_to @project.watcher_users.count, :controller=>"projects", :action=>"watcherlist", :id => @project %></a>)
|
||||
<span>| </span><%= l(:project_module_attachments) %>(<a class="info_foot_num" href="#" target="_blank"><%= link_to "#{@project.attachments.count}", project_files_path(@project) %></a>)</div>
|
||||
<%= l(:label_member) %>(<span class="info_foot_num" >
|
||||
<%= link_to "#{@project.members.count}", project_member_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
<span>| </span>
|
||||
<%= l(:label_user_watcher) %>(<span class="info_foot_num">
|
||||
<%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
<span>| </span>
|
||||
<%= l(:project_module_attachments) %>(<span class="info_foot_num" >
|
||||
<%= link_to "#{@project.attachments.count}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></a>)</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--项目信息 end-->
|
||||
|
||||
<div class="subNavBox">
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<div class="subNav currentDd currentDt subNav_jiantou">邀请</div>
|
||||
<div class="subNav currentDd currentDt subNav_jiantou"><%= l(:label_invite)%></div>
|
||||
<ul class="navContent " style="display:block; padding-left: 0px; margin-top:0px;">
|
||||
<li><%= link_to "发送邮件邀请新用户", :controller=>"projects", :action=>"invite_members_by_mail", :id => @project %></li>
|
||||
<li><%= link_to "邀请Trustie注册用户", :controller=>"projects", :action=>"invite_members", :id => @project %></li>
|
||||
<li><%= link_to l(:label_invite_new_user), :controller=>"projects", :action=>"invite_members_by_mail", :id => @project %></li>
|
||||
<li><%= link_to l(:label_invite_trustie_user), :controller=>"projects", :action=>"invite_members", :id => @project %></li>
|
||||
</ul>
|
||||
<% end %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_activity), {:controller => 'projects', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||
<% unless ForgeActivity.where("project_id = ?", @project.id).count == 0 %>
|
||||
<span class="subnav_num">(<%= ForgeActivity.where("project_id = ?", @project.id).count %>)</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_issue_tracking), project_issues_path(@project), :style => "color:#3CA5C6" %><span class="subnav_num">(<%= @project.issues.count %>)</span>
|
||||
<span>
|
||||
<% if User.current.logged? && User.current.member_of?(@project) %>
|
||||
<%= link_to "+发布问题", new_project_issue_path(@project) , :style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<%= link_to "讨论区", project_boards_path(@project), :style => "color:#3CA5C6" %>
|
||||
<span class="subnav_num">(<%= @project.boards.first.topics.count %>)</span>
|
||||
<% if User.current.logged? && User.current.member_of?(@project) %>
|
||||
<%= link_to "+发贴", new_board_message_path(@project.boards.first, true), :layout => 'base_projects',:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:4px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_course_file), project_files_path(@project), :style => "color:#3CA5C6" %><span class="subnav_num">(<%= @project.attachments.count %>)</span>
|
||||
<% if User.current.logged? && User.current.member_of?(@project) %>
|
||||
<%= link_to "+上传资源", new_project_file_path(@project),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:field_user_active_changeset), {:controller => 'repositories', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||
<span class="subnav_num">(<%= @project.repositories.count %>)</span>
|
||||
<% if User.current.logged? && User.current.member_of?(@project) %>
|
||||
<%= link_to "+创建版本库", new_project_repository_path(@project),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<%= link_to l(:label_issue_tracking), project_issues_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless @project.issues.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.issues.count %>)</span><span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_release_issue), new_project_issue_path(@project) , :style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% unless @project.enabled_modules.where("name = 'boards'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_boards), project_boards_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless @project.boards.first.topics.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.boards.first.topics.count %>)</span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:project_module_boards_post), project_boards_path(@project, :flag => true), :layout => 'base_projects',:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:4px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'files'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_course_file), project_files_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless @project.attachments.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.attachments.count %>)</span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_upload_files), project_files_path(@project,:flag => true),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'repository'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_repository), {:controller => 'repositories', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||
<% unless @project.repositories.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.repositories.count %>)</span>
|
||||
<% end %>
|
||||
<%# if User.current.member_of?(@project) %>
|
||||
<%#= link_to "+"+l(:project_module_create_repository), new_project_repository_path(@project),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<%# end %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="subNav subNav_jiantou"><%= l(:label_more) %></div>
|
||||
<ul class="navContent" style="padding-left: 0px">
|
||||
|
@ -171,14 +195,16 @@
|
|||
</ul>
|
||||
</div><!--项目侧导航 end-->
|
||||
<div class="cl"></div>
|
||||
<!-- 项目描述 -->
|
||||
<div class="project_intro">
|
||||
<h4 class="project_h4">项目简介:</h4><%= @project.description %>
|
||||
<div class="lg-foot">
|
||||
展开更多信息 <span class="g-arr-down"><img src="/images/new_project/jiantou.jpg" width="12" height="6" /></span>
|
||||
<div id="course_description" class="course_description">
|
||||
<h4 ><%= l(:label_project_overview) %></h4><%= @project.description %>
|
||||
</div>
|
||||
</div><!--项目简介 end-->
|
||||
<div class="lg-foot" onclick="show_more_msg();"><%= l(:label_expend_information) %><span class="g-arr-down"><img src="/images/jiantou.jpg" width="12" height="6" /></span></div>
|
||||
</div>
|
||||
<!-- tag模块 -->
|
||||
<div class="project_Label">
|
||||
<h4 class="project_h4">标签:</h4>
|
||||
<h4 class="project_h4"><%= l(:label_tag)%>:</h4>
|
||||
<div class="tag_h" >
|
||||
<div class="user_tags">
|
||||
<div id="tags">
|
||||
|
|
|
@ -217,7 +217,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% unless @user.user_extensions.location.empty?%>
|
||||
<% unless @user.user_extensions.nil?&&@user.user_extensions.location.empty?%>
|
||||
<tr>
|
||||
|
||||
<td style=" float: right" width="70px">
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
<% if @project%>
|
||||
$('#principals_for_new_member').html('<%= escape_javascript(render_principals_for_new_members(@project)) %>');
|
||||
<% if @flag == "true"%>
|
||||
$('#principals_for_new_member').html('<%= escape_javascript(render_project_members(@project)) %>');
|
||||
<% else%>
|
||||
$('#principals_for_new_member').html('<%= escape_javascript(render_principals_for_new_members(@project)) %>');
|
||||
<% end%>
|
||||
<% elsif @course%>
|
||||
var checked = $("#principals input:checked").size();
|
||||
if(checked > 0)
|
||||
{
|
||||
alert('翻页或搜索后将丢失当前选择的用户数据!');
|
||||
}
|
||||
$('#principals_for_new_member').html('<%= escape_javascript(render_principals_for_new_course_members(@course)) %>');
|
||||
var checked = $("#principals input:checked").size();
|
||||
if(checked > 0)
|
||||
{
|
||||
alert('翻页或搜索后将丢失当前选择的用户数据!');
|
||||
}
|
||||
$('#principals_for_new_member').html('<%= escape_javascript(render_principals_for_new_course_members(@course)) %>');
|
||||
<%end%>
|
||||
var collection=$("#principals_for_new_member").children("#principals").children("label");
|
||||
collection.css("text-overflow","ellipsis");
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="top-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf">软件项目托管社区</td>
|
||||
<td class="info_font" style="width: 240px; color: #15bccf"><%= l(:label_projects_community)%></td>
|
||||
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
|
||||
<td rowspan="2" width="250px">
|
||||
<div class="top-content-search">
|
||||
|
@ -17,7 +17,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td style="padding-left: 8px"><%= link_to request.host()+"/forums", forums_path %></td>
|
||||
<td><p class="top-content-list"><%=link_to l(:label_home),home_path %> > <%=link_to '公共贴吧', :controller => 'forums', :action => 'index' %> > <%=link_to @forum.name %></p></td>
|
||||
<td><p class="top-content-list"><%=link_to l(:label_home),home_path %> > <%=link_to l(:label_forum), :controller => 'forums', :action => 'index' %> > <%=link_to @forum.name %></p></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
$("#my_account_form").submit();
|
||||
}
|
||||
else {
|
||||
parent.alert("姓氏和名字不能为空");
|
||||
parent.alert("<%= l(:label_firstname_lastname_empty)%>");
|
||||
}
|
||||
}
|
||||
function get_options(value) {
|
||||
|
@ -320,7 +320,7 @@
|
|||
|
||||
<p style="width:400px;padding-left: 55px;"><label style="margin-right: 5px;" for="userProvince"><%= l(:label_location) %></label>
|
||||
<select onchange="showcity(this.value, document.getElementById('userCity'));" name="province" id="userProvince" class="location">
|
||||
<option value="">--请选择省份--</option>
|
||||
<option value=""><%= l('location.select.click')%></option>
|
||||
<option value="北京">北京</option>
|
||||
<option value="上海">上海</option>
|
||||
<option value="广东">广东</option>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div>
|
||||
|
||||
<%= render :partial => 'news/news', :collection => @news %>
|
||||
<div class=more><%= link_to"更多",:contoller=>'project',:action=>'index'%></div>
|
||||
<div class=more><%= link_to l(:button_more),:contoller=>'project',:action=>'index'%></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= call_hook(:view_projects_show_right, :project => @project) %>
|
||||
|
@ -47,7 +47,7 @@
|
|||
</li> <% end -%>
|
||||
</ul>
|
||||
<% end -%>
|
||||
<div class=more><%= link_to"更多",:contoller=>'project',:action=>'index'%></div>
|
||||
<div class=more><%= link_to l(:button_more),:contoller=>'project',:action=>'index'%></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<%= text_area_tag 'project_respond', "",
|
||||
:class => 'noline', :required => true,
|
||||
:style => "resize: none;", :rows => 3,
|
||||
:placeholder => l(:label_projects_feedback_respond_content),
|
||||
:placeholder => l(:label_feedback_respond_content),
|
||||
:maxlength => 250 %>
|
||||
|
||||
<%= hidden_field_tag 'reference_id', params[:reference_id], :value => journal.id %>
|
||||
<%= hidden_field_tag 'reference_user_id', params[:reference_user_id], :value => m_reply_id.user.id %>
|
||||
<%= hidden_field_tag 'reference_message_id', params[:reference_message_id], :value => m_reply_id.id %>
|
||||
<%= submit_tag l(:button_projects_feedback_respond), :name => nil , :class => "enterprise"%>
|
||||
<%= submit_tag l(:button_feedback_respond), :name => nil , :class => "enterprise"%>
|
||||
|
||||
<%end%>
|
||||
|
|
|
@ -4,27 +4,45 @@
|
|||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:field_user_active_news), project_news_index_path(@project) %>
|
||||
<% unless @project.enabled_modules.where("name = 'news'").empty? %>
|
||||
<%= link_to l(:project_module_news), project_news_index_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'wiki'").empty? %>
|
||||
<%= link_to l(:project_module_wiki), project_wiki_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'code_review'").empty? %>
|
||||
<%= link_to l(:project_module_code_review), {controller: 'code_review', action: 'index', id: @project.id} %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'calendar'").empty? %>
|
||||
<%= link_to l(:project_module_calendar),project_calendar_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'gantt'").empty? %>
|
||||
<%= link_to l(:project_module_gantt) ,project_gantt_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'documents'").empty? %>
|
||||
<%= link_to l(:project_module_documents), project_documents_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<%= link_to l(:label_roadmap) ,project_roadmap_path(@project) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_project_tool_response) ,project_feedback_path(@project)%>
|
||||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'dts'").empty? %>
|
||||
<%= link_to l(:label_module_share) ,share_show_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2">邀请加入</h2>
|
||||
</div>
|
||||
<%= error_messages_for 'member' %>
|
||||
<%#= render_flash_messages %>
|
||||
<%
|
||||
roles = Role.givable.all
|
||||
if @project.project_type == Project::ProjectType_course
|
||||
|
@ -14,36 +15,46 @@
|
|||
|
||||
<div style="margin-left: 30px" >
|
||||
<div class="floatbox" style="margin:100px;">
|
||||
<div ><a href="#" class="box_close"></a></div>
|
||||
<div >
|
||||
<a href="#" class="box_close"></a>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="box_main">
|
||||
<h3 class="box_h3">邀请Trustie注册用户</h3>
|
||||
<% if roles.any? %>
|
||||
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
|
||||
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :method => :post}) do |f| %>
|
||||
<div class="invi_search">
|
||||
<input hidden="hidden" value="true" name="flag">
|
||||
<input id="principal_search" class="invi_search_input fl" type="text" placeholder="输入用户名称搜索好友">
|
||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js',:flag => true) }')" %>
|
||||
<div class="cl"></div>
|
||||
|
||||
<div class="invi_search">
|
||||
<%= label_tag "principal_search", l(:label_principal_search) %>
|
||||
<%= text_field_tag 'principal_search', nil %>
|
||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
|
||||
<div id="principals_for_new_member">
|
||||
<%= render_project_members(@project) %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
|
||||
<div id="principals_for_new_member">
|
||||
<%= render_principals_for_new_members(@project) %>
|
||||
</div>
|
||||
<p style="padding-top: 5px">
|
||||
<%= l(:label_role_plural) %>:
|
||||
<% roles.each do |role| %>
|
||||
<label>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>
|
||||
<%= h role %>
|
||||
</label>
|
||||
<ul class="rolebox">
|
||||
<li class="fl mr5">
|
||||
<%= l(:label_role_plural) %>:
|
||||
</li>
|
||||
<% roles.each do |role| %>
|
||||
<li class="fl mr5">
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>
|
||||
<%= h role %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<div class="cl mb10"></div>
|
||||
<a href="#" class="btn_free" onclick="$('#new_membership').submit();">
|
||||
<%= l(:label_invite_members)%>
|
||||
</a>
|
||||
</div>
|
||||
<!--<p>-->
|
||||
<!--<%#= submit_tag l(:label_invite_members), :id => 'member-add-submit', :style => 'display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;' %>-->
|
||||
<!--</p>-->
|
||||
<% end %>
|
||||
</p>
|
||||
<p>
|
||||
<%= submit_tag l(:label_invite_members), :id => 'member-add-submit', :style => 'display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;' %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,29 @@
|
|||
<script>
|
||||
function verifyAddress() {
|
||||
var email = $('#mail').val();
|
||||
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
|
||||
if (email == "" || filter.test(email)) {
|
||||
$("#valid_email").html("");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#valid_email").html("您所填写的电子邮件格式不正确");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// if (filter.test(email)&& !(email.value == null)) return true;
|
||||
// else
|
||||
// {
|
||||
// document.getElementById('valid_email').innerHTML = "您所填写的电子邮件格式不正确";
|
||||
// document.getElementById('valid_email').style.color = "#FF0000";
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
</script>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2">邀请加入</h2>
|
||||
<h2 class="project_h2"><%= l(:label_invite_join)%></h2>
|
||||
</div>
|
||||
<div class="floatbox" style="margin:130px;">
|
||||
<div >
|
||||
|
@ -7,18 +31,22 @@
|
|||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="box_main">
|
||||
<h3 class="box_h3">发送邮件邀请新用户</h3>
|
||||
<h3 class="box_h3"><%= l(:label_invite_new_user)%></h3>
|
||||
<p class="box_p">
|
||||
输入好友邮箱地址,Trustie帮您免费发送!
|
||||
<%= l(:label_invite_email_tips)%>
|
||||
</p>
|
||||
<div id="is_registed">
|
||||
<%= render :partial => 'regested', locals: { :isregisted => false} %>
|
||||
</div>
|
||||
<%= form_tag('send_mail_to_member', :controller => 'projects',:action => 'send_mail_to_member', method: 'get',:remote=>true) do %>
|
||||
<%= text_field_tag 'mail', '邮箱', :class => "fb_item fl" %>
|
||||
<div class="cl"></div>
|
||||
<div class="cl"></div>
|
||||
<%= submit_tag '免费发送', :style => "display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;" %>
|
||||
<%= form_tag('send_mail_to_member', :controller => 'projects',:action => 'send_mail_to_member', method: 'get') do %>
|
||||
<span id="valid_email" style="color: #FF0000;"></span>
|
||||
<%= text_field_tag 'mail', '', :class => "fb_item fl", :placeholder => l(:label_input_email), :onblur => "verifyAddress();" %>
|
||||
<div class="cl"></div>
|
||||
<div class="cl"></div>
|
||||
<a href="#" class="btn_free" onclick="$(this).parent().submit();">
|
||||
<%= l(:label_send_email)%>
|
||||
</a>
|
||||
<%#= submit_tag '免费发送', :style => "display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
|
@ -2,18 +2,22 @@
|
|||
@nav_dispaly_forum_label = 1 %>
|
||||
|
||||
<%= labelled_form_for @project do |f| %>
|
||||
<div class="project_new"><%=l(:label_project_new)%><span class="description"> <%=raw l(:label_project_new_description)%></span>
|
||||
<div class="project_new">
|
||||
<%=l(:label_project_new)%>
|
||||
<span class="description">
|
||||
</span>
|
||||
<div class="box tabular" >
|
||||
<p style="font-weight: bold; color: rgb(237,137,36)">
|
||||
<%=raw l(:label_project_new_description)%>
|
||||
</p>
|
||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||
<span style="padding-left: 60px">
|
||||
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
||||
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
||||
</span>
|
||||
</div>
|
||||
<%#= submit_tag l(:button_create_and_continue), :name => 'continue' %>
|
||||
<%= javascript_tag "$('#project_name').focus();" %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% html_title(l(:label_project_new)) -%>
|
|
@ -21,7 +21,37 @@
|
|||
<div class="scroll">
|
||||
<% unless @events_pages.empty? %>
|
||||
<% @events_pages.each do |e| -%>
|
||||
<% act = e.forge_act;
|
||||
<% if e.forge_act_type == "ProjectCreateInfo"%>
|
||||
<div class="font_description">
|
||||
<table width="660">
|
||||
<tr>
|
||||
<td>
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<table width="580">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<%= link_to_user(e.user)%>
|
||||
|
||||
<%= l(:label_project_new) %>
|
||||
<%= link_to e.project.name %>
|
||||
<strong> !</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font_lighter" >
|
||||
<%= l :label_create_time %>:
|
||||
<%= format_time(e.created_at) %>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<% end %>
|
||||
<% next if e.forge_act_type.safe_constantize.nil?
|
||||
act = e.forge_act;
|
||||
next if act.nil? %>
|
||||
<% if e.forge_act_type == "Issue" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;margin-top: 10px;">
|
||||
|
@ -180,4 +210,4 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<%= paginate @events_pages, :window => 3%>
|
||||
<%= paginate @events_pages, :left => 3, :right => 3%>
|
|
@ -1,8 +1,8 @@
|
|||
<div style="width: 57%;margin: 10px auto;">
|
||||
<%= form_tag( search_stores_path, method: 'post') do %>
|
||||
<%= text_field_tag 'name', params[:name], placeholder:'请输入要搜索的关键字', name: "name", :class => 'blueinputbar', :style => 'width:450px;'%>
|
||||
<%= text_field_tag 'name', params[:name], placeholder: l('welcome.search.information'), name: "name", :class => 'blueinputbar', :style => 'width:450px;'%>
|
||||
|
||||
<%= submit_tag l(:label_search), :class => "enterprise"%>
|
||||
<% end %>
|
||||
<div class='font_lighter' style="display: inline-block; margin-top:3px;">全站文件搜索。不会搜索私有项目中的内容。</div>
|
||||
<div class='font_lighter' style="display: inline-block; margin-top:3px;"><%= l(:label_resources_search_all)%></div>
|
||||
</div>
|
|
@ -2,19 +2,31 @@
|
|||
<%= render :partial => "tags/tag_name",:locals => {:obj => obj,:non_list_all => false ,:object_flag => object_flag} %>
|
||||
</div>
|
||||
<% if User.current.logged? %>
|
||||
<span> <%= toggle_link ("+ 添加标签"), 'put-tag-form', {:focus => 'tags_name'} %> </span>
|
||||
<span> <%= toggle_link (l(:label_add_tag)), 'put-tag-form', {:focus => 'tags_name'} %> </span>
|
||||
<% end %>
|
||||
<div id="put-tag-form" style="display: none;text-align: center">
|
||||
<%= form_for "tag_for_save",:remote=>true,:url=>tag_path,
|
||||
:update => "tags_show",
|
||||
:complete => '$("#put-tag-form").slideUp();' do |f| %>
|
||||
<%= f.text_field :name ,:id => "tags_name",:size=>"20",
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<%= f.text_field :name ,:id => "tags_name",:size=>"20",
|
||||
:require=>true,
|
||||
:maxlength => Setting.tags_max_length,
|
||||
:minlength=>Setting.tags_min_length %>
|
||||
<%= f.text_field :object_id,:value=> obj.id,:style=>"display:none"%>
|
||||
<%= f.text_field :object_flag,:value=> object_flag,:style=>"display:none"%>
|
||||
<a href="#" onclick='$("#tags_name").parent().submit();' type="button" class="submit f_l" style="margin-top: 10px;"></a>
|
||||
</td>
|
||||
|
||||
<%= f.text_field :object_id,:value=> obj.id,:style=>"display:none"%>
|
||||
|
||||
|
||||
<%= f.text_field :object_flag,:value=> object_flag,:style=>"display:none"%>
|
||||
|
||||
<td style="margin-left: 5px">
|
||||
<a href="#" onclick='$("#tags_name").parent().submit();' type="button" class="submit f_l"></a>
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -9,18 +9,35 @@
|
|||
<tr>
|
||||
<td class="r1" style="word-break: break-all;word-wrap: break-word;">
|
||||
<div class="cb">
|
||||
<strong><%= l(:label_attachment) %>: <%= file.filename %></strong>
|
||||
<strong>
|
||||
<%= l(:label_attachment) %>:
|
||||
|
||||
<%= file.filename %>
|
||||
</strong>
|
||||
<span style="margin-left: 4px;">
|
||||
<%= link_to_attachment file, {:download => true, :text => image_tag("/images/button/dl.png", width: "70px", alt: l(:button_download), :class => 'download_icon')}%>
|
||||
<%= link_to_attachment file, {:download => true, :text => image_tag("/images/button/dl.png", width: "70px", alt: l(:button_download), :class => 'download_icon')}%>
|
||||
</span>
|
||||
</div>
|
||||
<strong><%= l(:field_description) %></strong>: <%= file.description %>
|
||||
<div class="c9 gray-color"> <%= l('attachment.category')%><%=result_come_from file%> </div>
|
||||
<strong>
|
||||
<%= l(:field_description) %>
|
||||
</strong>:
|
||||
|
||||
<%= file.description %>
|
||||
<div class="c9 gray-color">
|
||||
<%= l('label_attachment_category')%>
|
||||
<%=result_come_from file%>
|
||||
</div>
|
||||
<span class="gray blue-color">
|
||||
<%= l('attachment.download_num')%><%= file.downloads%>|
|
||||
<%= l('attachment.size')%><%= number_to_human_size(file.filesize) %>|
|
||||
<%= l('attachment.sharer')%><a class="gray" ><%= link_to file.author, user_path(file.author), target: "_blank" unless file.author.blank? %></a>|
|
||||
<%= l('attachment.upload_time')%><%= format_time(file.created_on) %>
|
||||
<%= l('label_attachment_download_num')%>
|
||||
<%= file.downloads%>|
|
||||
<%= l('label_attachment_size')%>
|
||||
<%= number_to_human_size(file.filesize) %>|
|
||||
<%= l('label_attachment_sharer')%>
|
||||
<a class="gray" >
|
||||
<%= link_to file.author, user_path(file.author), target: "_blank" unless file.author.blank? %>
|
||||
</a>|
|
||||
<%= l('label_attachment_upload_time')%>
|
||||
<%= format_time(file.created_on) %>
|
||||
</span>
|
||||
<div style="display: none"></div>
|
||||
</td>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
<div> 踩别人的帖子数量 * (-2) = <%= option_num.tread %> * (-2) = <%= option_num.tread * (-2) %></div>
|
||||
<div> 帖子被一级会员顶的次数 * 4 = <%= option_num.praise_by_one %> * 4 = <%= option_num.praise_by_one * 4 %></div>
|
||||
<div> 帖子被二级会员顶的次数 * 6 = <%= option_num.praise_by_two %> * 6 = <%= option_num.praise_by_two * 6 %></div>
|
||||
<div> 帖子被三级会员顶的次数 * 8 = <%= option_num.praise_by_three %> * 8 = <%= option_num.praise_by_three * 8 %></div>
|
||||
<div> 帖子被一级会员踩的次数 * (-2) = <%= option_num.tread_by_one %> * (-2) = <%= option_num.tread_by_one * (-2) %></div>
|
||||
<div> 帖子被二级会员踩的次数 * (-4) = <%= option_num.tread_by_two %> * (-4) = <%= option_num.tread_by_two * (-4) %></div>
|
||||
<div> 帖子被三级会员踩的次数 * (-6) = <%= option_num.tread_by_three %> * (-6) = <%= option_num.tread_by_three * (-6) %></div>
|
||||
<div> 技术得分 = <%= option_num.tread * (-2) %> + <%= option_num.praise_by_one * 4 %> + <%= option_num.praise_by_two * 6 %> + <%= option_num.praise_by_three * 8 %> + (<%= option_num.tread_by_one * (-2) %>) + ( <%= option_num.tread_by_two * (-4) %>) + (<%= option_num.tread_by_three * (-6) %>) = <%= skill(option_num) %> </div>
|
||||
<div> <%= l('userscore.skill.tramples')%> * (-2) = <%= option_num.tread %> * (-2) = <%= option_num.tread * (-2) %></div>
|
||||
<div> <%= l('userscore.skill.like.level1')%> * 4 = <%= option_num.praise_by_one %> * 4 = <%= option_num.praise_by_one * 4 %></div>
|
||||
<div> <%= l('userscore.skill.like.level2')%> * 6 = <%= option_num.praise_by_two %> * 6 = <%= option_num.praise_by_two * 6 %></div>
|
||||
<div> <%= l('userscore.skill.like.level3')%> * 8 = <%= option_num.praise_by_three %> * 8 = <%= option_num.praise_by_three * 8 %></div>
|
||||
<div> <%= l('userscore.skill.dislike.level1')%> * (-2) = <%= option_num.tread_by_one %> * (-2) = <%= option_num.tread_by_one * (-2) %></div>
|
||||
<div> <%= l('userscore.skill.dislike.level2')%> * (-4) = <%= option_num.tread_by_two %> * (-4) = <%= option_num.tread_by_two * (-4) %></div>
|
||||
<div> <%= l('userscore.skill.dislike.level3')%> * (-6) = <%= option_num.tread_by_three %> * (-6) = <%= option_num.tread_by_three * (-6) %></div>
|
||||
<div> <%= l(:label_user_score_of_skill)%> = <%= option_num.tread * (-2) %> + <%= option_num.praise_by_one * 4 %> + <%= option_num.praise_by_two * 6 %> + <%= option_num.praise_by_three * 8 %> + (<%= option_num.tread_by_one * (-2) %>) + ( <%= option_num.tread_by_two * (-4) %>) + (<%= option_num.tread_by_three * (-6) %>) = <%= skill(option_num) %> </div>
|
|
@ -57,7 +57,7 @@
|
|||
</span>
|
||||
<span style="float: right; padding-left: 8px">
|
||||
<%= l(:label_course_term) %>
|
||||
: <%= @course.time %><%= @course.term %>
|
||||
: <%= @course.time %><%= get_course_term_locales @course %>
|
||||
</span>
|
||||
<% end %>
|
||||
</td>
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<div class="menu">
|
||||
<%= link_to "#{l(:label_course_new)}", new_course_path, class: 'icon icon-add' if @user == User.current %>
|
||||
<ul>
|
||||
<li mode='doing' class="on">进行中</li>
|
||||
<li mode='end'>已完结</li>
|
||||
<li mode='doing' class="on"><%= l('user.courses.doing')%></li>
|
||||
<li mode='end'><%= l('user.courses.done')%></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<div class="menu">
|
||||
<%= link_to "#{l(:label_course_new)}", new_course_path, class: 'icon icon-add' if user == User.current %>
|
||||
<ul>
|
||||
<li mode='doing' class="on">进行中</li>
|
||||
<li mode='end'>已完结</li>
|
||||
<li mode='doing' class="on"><%= l('user.courses.doing')%></li>
|
||||
<li mode='end'><%= l('user.courses.done')%></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
<div> 提交代码次数 * 4 = <%= option_num.changeset %> * 4 = <%= option_num.changeset * 4 %></div>
|
||||
<div> 提交文档次数 * 4 = <%= option_num.document %> * 4 = <%= option_num.document * 4 %></div>
|
||||
<div> 提交附件次数 * 4 = <%= option_num.attachment %> * 4 = <%= option_num.attachment * 4 %></div>
|
||||
<div> 更新缺陷完成度次数 * 2 = <%= option_num.issue_done_ratio %> * 2 = <%= option_num.issue_done_ratio * 2 %></div>
|
||||
<div> 发布缺陷数量 * 4 = <%= option_num.post_issue %> * 4 = <%= option_num.post_issue * 4 %></div>
|
||||
<div> 项目贡献得分 = <%= option_num.changeset * 4 %> + <%= option_num.document * 4 %> + <%= option_num.attachment * 4 %> + <%= option_num.issue_done_ratio * 2 %> + <%= option_num.post_issue * 4 %> = <%= active(option_num) %> </div>
|
||||
<div> <%= l('userscore.active.commit.codes')%> * 4 = <%= option_num.changeset %> * 4 = <%= option_num.changeset * 4 %></div>
|
||||
<div> <%= l('userscore.active.commit.documents')%> * 4 = <%= option_num.document %> * 4 = <%= option_num.document * 4 %></div>
|
||||
<div> <%= l('userscore.active.commit.attachments')%> * 4 = <%= option_num.attachment %> * 4 = <%= option_num.attachment * 4 %></div>
|
||||
<div> <%= l('userscore.active.update_issues')%> * 2 = <%= option_num.issue_done_ratio %> * 2 = <%= option_num.issue_done_ratio * 2 %></div>
|
||||
<div> <%= l('userscore.active.release_issues')%> * 4 = <%= option_num.post_issue %> * 4 = <%= option_num.post_issue * 4 %></div>
|
||||
<div> <%= l(:label_user_score_of_active)%> = <%= option_num.changeset * 4 %> + <%= option_num.document * 4 %> + <%= option_num.attachment * 4 %> + <%= option_num.issue_done_ratio * 2 %> + <%= option_num.post_issue * 4 %> = <%= active(option_num) %> </div>
|
|
@ -16,8 +16,8 @@
|
|||
<div class="menu">
|
||||
<%= link_to "#{l(:label_course_new)}", new_course_path, class: 'icon icon-add' if @user == User.current %>
|
||||
<ul>
|
||||
<li mode='doing' class="on"><%= l('user.courses.doing')%></li>
|
||||
<li mode='end'><%= l('user.courses.done')%></li>
|
||||
<li mode='doing' class="on"><%= l(:label_course_doing)%></li>
|
||||
<li mode='end'><%= l(:label_course_done)%></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
|
||||
<div> 被关注人数 * 2 = <%= option_num.follow %> * 2 = <%= option_num.follow * 2 %></div>
|
||||
<div> 影响力得分 = <%= option_num.follow * 2 %></div>
|
||||
<div> <%= l('userscore.influence.followers')%> * 2 = <%= option_num.follow %> * 2 = <%= option_num.follow * 2 %></div>
|
||||
<div> <%= l(:label_user_score_of_influence)%> = <%= option_num.follow * 2 %></div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
<div> 发帖数量 * 2 = <%= option_num.memo %> * 2 = <%= option_num.memo * 2 %></div>
|
||||
<div> 对缺陷留言数量 * 1 = <%= option_num.messages_for_issues %> * 1 = <%= option_num.messages_for_issues * 1 %></div>
|
||||
<div> 更改缺陷状态次数 * 1 = <%= option_num.issues_status %> * 1= <%= option_num.issues_status * 1 %></div>
|
||||
<div> 对留言的回复数量 * 1 = <%= option_num.replay_for_message %> * 1 = <%= option_num.replay_for_message * 1 %></div>
|
||||
<div> 对帖子的回复数量 * 1 = <%= option_num.replay_for_memo %> * 1 = <%= option_num.replay_for_memo * 1 %></div>
|
||||
<div> 协同得分 = <%= option_num.memo * 2 %> + <%= option_num.messages_for_issues * 1 %> + <%= option_num.issues_status * 1 %> + <%= option_num.replay_for_message * 1 %> + <%= option_num.replay_for_memo * 1 %> = <%= collaboration(option_num) %> </div>
|
||||
<div> <%= l('userscore.collaboration.memos')%> * 2 = <%= option_num.memo %> * 2 = <%= option_num.memo * 2 %></div>
|
||||
<div> <%= l('userscore.collaboration.message_for_issues')%> * 1 = <%= option_num.messages_for_issues %> * 1 = <%= option_num.messages_for_issues * 1 %></div>
|
||||
<div> <%= l('userscore.collaboration.issue_status')%> * 1 = <%= option_num.issues_status %> * 1= <%= option_num.issues_status * 1 %></div>
|
||||
<div> <%= l('userscore.collaboration.reply_for_messages')%> * 1 = <%= option_num.replay_for_message %> * 1 = <%= option_num.replay_for_message * 1 %></div>
|
||||
<div> <%= l('userscore.collaboration.reply_for_memos')%> * 1 = <%= option_num.replay_for_memo %> * 1 = <%= option_num.replay_for_memo * 1 %></div>
|
||||
<div> <%= l(:label_user_score_of_collaboration)%> = <%= option_num.memo * 2 %> + <%= option_num.messages_for_issues * 1 %> + <%= option_num.issues_status * 1 %> + <%= option_num.replay_for_message * 1 %> + <%= option_num.replay_for_memo * 1 %> = <%= collaboration(option_num) %> </div>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="menu-div">
|
||||
<div class="menu">
|
||||
<span style="color: #000; font-weight: bold;">
|
||||
<%= l(:label_user_activity, :value => @user.name) %>
|
||||
<%= l(:label_user_activities, :name => @user.name) %>
|
||||
</span>
|
||||
<ul><%#链接绑定在页面最下方的jQuery%>
|
||||
<li mode='all' class="<%= "on" if @state.eql?(0) %>">
|
||||
|
@ -63,16 +63,37 @@
|
|||
<%= link_to("#{l(:label_i)}", user_path(e.user_id)) %>
|
||||
</strong>
|
||||
|
||||
<% if User.current.language == "zh" %>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_i_have_feedback) %>
|
||||
<%= link_to("#{e.act.user.name}", user_path(e.act.user.id)) %>
|
||||
<%= l(:label_of_feedback) + l(:label_layouts_feedback) %>
|
||||
</span>
|
||||
<% else %>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_i_have_feedback) %>
|
||||
<%= l(:label_layouts_feedback) + l(:label_of_feedback) %>
|
||||
<%= link_to("#{e.act.user.name}", user_path(e.act.user.id)) %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<strong>
|
||||
<%= link_to("#{e.user.name}", user_path(e.user_id)) %>
|
||||
</strong>
|
||||
<% end %>
|
||||
<span class="font_lighter">
|
||||
<% if User.current.language == "zh" %>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_have_feedback) %>
|
||||
<%= link_to("#{e.act.user.name}", user_path(e.act.user.id)) %>
|
||||
<%= l(:label_of_feedback) + l(:label_layouts_feedback) %>
|
||||
</span>
|
||||
</span>
|
||||
<% else %>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_have_feedback) %>
|
||||
<%= l(:label_layouts_feedback) + l(:label_of_feedback) %>
|
||||
<%= link_to("#{e.act.user.name}", user_path(e.act.user.id)) %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -91,7 +112,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
|
@ -155,7 +176,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<!--<div style="display: inline-block; float: right; margin-top: 0px">-->
|
||||
|
@ -216,7 +237,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
|
@ -333,7 +354,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
|
@ -372,7 +393,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
|
@ -417,7 +438,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
|
@ -457,7 +478,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
|
@ -493,7 +514,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
|
@ -548,7 +569,7 @@
|
|||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter">
|
||||
<%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %>
|
||||
<%= (l(:label_update_time).to_s << ': ' << format_time(e.act.created_on)).to_s %>
|
||||
</span>
|
||||
</div>
|
||||
</tr>
|
||||
|
@ -569,7 +590,7 @@
|
|||
</div>
|
||||
<% else %> <!-- < %# unless @activity.empty? %> -->
|
||||
<% if @user == User.current %>
|
||||
<%= l(:label_user_activities) %>
|
||||
<%= l(:label_user_activities_no) %>
|
||||
<% else %>
|
||||
<p class="font_description">
|
||||
<%= l(:label_user_activities_other) %>
|
||||
|
@ -596,7 +617,7 @@
|
|||
<% elsif e.jour_type == 'User' %>
|
||||
<%= l(:label_in_users) %><%= link_to(e.jour.firstname, feedback_path(e.jour)) %> <%= l(:label_quote_my_words) %>
|
||||
<% elsif e.jour_type == 'Project' %>
|
||||
<%= '在'<<l(:field_project) %><%= link_to(e.jour.name, feedback_path(e.jour)) %> <%= l(:label_reply_plural) %>
|
||||
<%= l(:label_in_projects) %><%= link_to(e.jour.name, feedback_path(e.jour)) %> <%= l(:label_reply_plural) %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<%= l(:label_about_requirement) %><%= link_to(e.jour.name, respond_path(e.jour_id)) %> <%= l(:label_have_respond) %>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<table width="580" border="0">
|
||||
<tr>
|
||||
<td colspan="2" valign="top"><strong> <%= link_to_user(membership.user) if membership.respond_to?(:user) %></strong>
|
||||
<span class="font_lighter"> <%= l(:label_peoject_take_in) %></span> <%= link_to_project(membership.project) %></td>
|
||||
<span class="font_lighter"> <%= l(:label_project_take_in) %></span> <%= link_to_project(membership.project) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580" style="word-break:break-all;word-wrap: break-word;">
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<!--modified by young-->
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_roadmap) %></h2>
|
||||
</div>
|
||||
<div class="content-title-top">
|
||||
<%= link_to l(:label_version_new), new_project_version_path(@project), :class => 'icon icon-add' if User.current.allowed_to?(:manage_versions, @project) %>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<!--modified by young-->
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_roadmap) %></h2>
|
||||
</div>
|
||||
<div class="contextual" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
|
||||
<%= link_to(l(:button_edit), edit_version_path(@version), :class => 'icon icon-edit') if User.current.allowed_to?(:manage_versions, @version.project) %>
|
||||
<%= link_to_if_authorized(l(:button_edit_associated_wikipage,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div >
|
||||
<%= form_tag( search_stores_path, method: 'post') do %>
|
||||
<%= text_field_tag 'name', params[:name], placeholder:'请输入要搜索的关键字', name: "name", :class => 'blueinputbar', :style => 'width:300px;'%>
|
||||
<%= text_field_tag 'name', params[:name], placeholder: l('welcome.search.information'), name: "name", :class => 'blueinputbar', :style => 'width:300px;'%>
|
||||
|
||||
<%= submit_tag l(:label_search), :class => "enterprise"%>
|
||||
<% end %>
|
||||
<div class='font_lighter' style="margin: 0; padding: 0; margin-top: 4px;">全站文件搜索。不会搜索私有项目中的内容。</div>
|
||||
<div class='font_lighter' style="margin: 0; padding: 0; margin-top: 4px;"><%= l(:label_resources_search_all)%></div>
|
||||
</div>
|
|
@ -133,7 +133,24 @@
|
|||
</div>
|
||||
<div class="welcome_left" id="welcome_left">
|
||||
<% unless @contest_page.nil? %>
|
||||
<span class="font_welcome_trustie"><%= @contest_page.title %></span> <span class="font_welcome_tdescription">, <%= @contest_page.description %></span>
|
||||
<span class="font_welcome_trustie">
|
||||
<!--
|
||||
edit by meng
|
||||
@@contest_page.title存储在first_page表中的title字段
|
||||
原本代码
|
||||
<%= @contest_page.title %>
|
||||
!-->
|
||||
<%= l(:label_welcome_trustie_contest) %>
|
||||
</span>
|
||||
<span class="font_welcome_tdescription">,
|
||||
<!--
|
||||
edit by meng
|
||||
@course_page.description存储在first_page表中的description字段
|
||||
原本代码
|
||||
<%= @contest_page.description %>
|
||||
!-->
|
||||
<%= l(:label_welcome_trustie_contest_description) %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -56,12 +56,24 @@
|
|||
</span>
|
||||
<% unless @course_page.nil? %>
|
||||
<span class="font_welcome_trustie">
|
||||
<%= @course_page.title %>
|
||||
<!--
|
||||
edit by meng
|
||||
@course_page.title存储在first_page表中的title字段
|
||||
原本代码
|
||||
<%= @course_page.title %>
|
||||
!-->
|
||||
<%= l(:label_welcome_trustie_course) %>
|
||||
</span>
|
||||
|
||||
<% if @school_id.nil? and (User.current.user_extensions.nil? || User.current.user_extensions.school.nil?) %>
|
||||
<span class="font_welcome_tdescription">,
|
||||
<%= @course_page.description %>
|
||||
<!--
|
||||
edit by meng
|
||||
@course_page.description存储在first_page表中的description字段
|
||||
原本代码
|
||||
<%= @course_page.description %>
|
||||
!-->
|
||||
<%= l(:label_welcome_trustie_course_description) %>
|
||||
</span>
|
||||
<% else %>
|
||||
<% if @school_id == "0" %>
|
||||
|
|
|
@ -29,5 +29,5 @@
|
|||
</p>
|
||||
|
||||
<div class="text-diff" style="word-break: break-all;word-wrap: break-word;">
|
||||
<%= simple_format_without_paragraph @diff.to_html %>
|
||||
<%= wiki_simple_format_without_paragraph @diff.to_html %>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<% id = 'project_respond_form_'+journal.id.to_s%>
|
||||
<span>
|
||||
<% if reply_allow %>
|
||||
<%= link_to l(:label_projects_feedback_respond),'#',
|
||||
<%= link_to l(:button_reply),'#',
|
||||
{:focus => 'project_respond',
|
||||
:onclick => "toggleAndSettingWordsVal($('##{id}'),
|
||||
$('##{id} textarea'),
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<div class="recall_con">
|
||||
<% id = 'project_respond_form_'+ reply.id.to_s %>
|
||||
<%= link_to reply.user.name, user_path(reply.user) %>
|
||||
回复
|
||||
<%= l(:label_reply_to)%>
|
||||
<% if show_name %>
|
||||
<%= link_to parent_jour.user.name, user_path(parent_jour.user) %>
|
||||
<% else %>
|
||||
|
@ -36,7 +36,7 @@
|
|||
:remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', :class => "delete", :title => l(:button_delete)) %>
|
||||
<% end %>
|
||||
<% if reply_allow %>
|
||||
<%= link_to l(:label_projects_feedback_respond),'',
|
||||
<%= link_to l(:button_reply),'',
|
||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{id}'), $('##{id} textarea'), ''); return false;"} %>
|
||||
<% end %> <!-- #{l(:label_reply_plural)} #{m_reply_id.user.name}: -->
|
||||
</span>
|
||||
|
|
|
@ -51,7 +51,7 @@ function checkMaxLength() {
|
|||
<% ids = 'project_respond_form_'+ journal.id.to_s%>
|
||||
<span>
|
||||
<% if reply_allow %>
|
||||
<%= link_to l(:label_projects_feedback_respond),'',
|
||||
<%= link_to l(:button_reply),'',
|
||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.name}: '); $('##{ids} textarea') ;return false;"}
|
||||
%>
|
||||
<% end %>
|
||||
|
|
|
@ -47,15 +47,15 @@
|
|||
</div>
|
||||
|
||||
<% if User.current.logged? %>
|
||||
<% if @user.safe_attribute? 'user_message' %>
|
||||
<%# if @user.safe_attribute? 'user_message' %>
|
||||
<%= f.text_area 'user_message', :rows => 3, :cols => 65,
|
||||
:placeholder => "#{l(:label_leave_a_message)}",
|
||||
:style => "resize: none; width: 98%",
|
||||
:class => 'noline'%>
|
||||
<% end %>
|
||||
<%# end %>
|
||||
<%= f.text_field :reference_user_id, :style=>"display:none"%>
|
||||
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
||||
<% else %>
|
||||
<%else %>
|
||||
<div style="font-size: 14px;margin:10px;">
|
||||
<%= l(:label_user_login_tips) %>
|
||||
<%= link_to l(:label_user_login_new), signin_path %>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<%= form_tag(words_create_reply_path, :remote => true) do %>
|
||||
<%= text_area_tag 'user_notes', "", :class => 'noline',
|
||||
:style => "resize: none;", :rows => 4,
|
||||
:placeholder => l(:label_projects_feedback_respond_content),
|
||||
:placeholder => l(:label_feedback_respond_content),
|
||||
:maxlength => 250 %>
|
||||
|
||||
<%= hidden_field_tag 'reference_id', params[:reference_id], :value => journal.id %>
|
||||
<%= hidden_field_tag 'reference_user_id', params[:reference_user_id], :value => m_reply_id.user.id %>
|
||||
<%= hidden_field_tag 'reference_message_id', params[:reference_message_id], :value => m_reply_id.id %>
|
||||
<%= hidden_field_tag 'show_name',params[:show_name],:value => show_name.nil? ? true : show_name %>
|
||||
<%= submit_tag l(:button_projects_feedback_respond), :name => nil ,
|
||||
<%= submit_tag l(:button_feedback_respond), :name => nil ,
|
||||
:class => "enterprise",
|
||||
:style => "float: right; margin-top: 1px; margin-right: 4px;"%>
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
Kaminari.configure do |config|
|
||||
# config.default_per_page = 25
|
||||
# config.max_per_page = nil
|
||||
config.window = 2
|
||||
config.window = 0
|
||||
# config.outer_window = 3
|
||||
# config.left = 2
|
||||
# config.right = 2
|
||||
|
|
|
@ -31,13 +31,13 @@ en:
|
|||
#
|
||||
lable_user_name: Username
|
||||
label_login_prompt: Email/Trustie account
|
||||
label_stay_logged_in: "Keep me signed in"
|
||||
label_stay_logged_in: "Remember me"
|
||||
label_password_lost: "Forget password?"
|
||||
button_login: Login
|
||||
# account_controller中判断用户名或密码输入有误的提示信息
|
||||
notice_account_invalid_creditentials: "Invalid user or password."
|
||||
# account_controller中判断未激活的提示信息
|
||||
notice_account_invalid_creditentials_new: "Please check your email to activate your account."
|
||||
notice_account_invalid_creditentials_new: "Please check your email to activate your account. Email verification helps our support team verify ownership if you lose account access and allows you to receive all the notifications you ask for. "
|
||||
|
||||
|
||||
#
|
||||
|
@ -81,10 +81,10 @@ en:
|
|||
#
|
||||
# 激活
|
||||
#
|
||||
label_regiter_account: Registering for an account
|
||||
label_email_valid: E-mail activation
|
||||
notice_email_register_time: "Please click on the link in the email to continue to complete the registration within 24 hours"
|
||||
label_regiter_account: Sign up for Trustie
|
||||
label_email_valid: Email verification
|
||||
notice_email_register_time: "Please click the link in verification email to complete the registration within 24 hours."
|
||||
notice_email_arrival: "An activation email has been sent to the email address you register."
|
||||
label_check_email: "Now check your email"
|
||||
label_mail_resend: "Resend the activation email"
|
||||
label_mail_resend: "Resend verification email"
|
||||
notice_account_activated: "Your Trustie account has been activated. You can now sign in."
|
|
@ -39,7 +39,7 @@ zh:
|
|||
# account_controller中判断用户名或密码输入有误的提示信息
|
||||
notice_account_invalid_creditentials: "无效的用户名或密码"
|
||||
# account_controller中判断未激活的提示信息
|
||||
notice_account_invalid_creditentials_new: "您还未到邮箱激活"
|
||||
notice_account_invalid_creditentials_new: "您还未到邮箱激活。如果您丢失帐户,电子邮件验证帮助我们的支持团队验证帐户的所有权,并允许您接收所有您要求的通知。"
|
||||
|
||||
|
||||
#
|
||||
|
@ -84,7 +84,7 @@ zh:
|
|||
#
|
||||
label_regiter_account: 注册帐号
|
||||
label_email_valid: 邮箱激活
|
||||
notice_email_register_time: 请在24小时内点击邮件中的链接继续完成注册
|
||||
notice_email_register_time: 请在24小时内点击邮件中的链接完成注册
|
||||
notice_email_arrival: 邮件已发送到邮箱
|
||||
label_check_email: 立即查收邮件
|
||||
label_mail_resend: 重新发送激活邮件
|
||||
|
|
|
@ -155,12 +155,20 @@ en:
|
|||
|
||||
actionview_instancetag_blank_option: Please select
|
||||
|
||||
|
||||
#
|
||||
# Trustie公共标签
|
||||
#
|
||||
#
|
||||
#
|
||||
label_user: User
|
||||
label_project: Project
|
||||
label_issue: Issue
|
||||
label_requirement: Calls
|
||||
label_forum: Forum
|
||||
label_contest: Contest
|
||||
|
||||
|
||||
|
||||
|
||||
label_issue_plural: Issues Tracking
|
||||
label_project_plural: Projects
|
||||
|
@ -172,7 +180,21 @@ en:
|
|||
|
||||
label_loading: Loading...
|
||||
|
||||
|
||||
label_create_time: Created time
|
||||
label_update_time: Update time
|
||||
|
||||
label_reply: Reply
|
||||
|
||||
label_anonymous: Anonymous #作业和留言 模块
|
||||
|
||||
text_are_you_sure: Are you sure? #js 提示
|
||||
|
||||
|
||||
# 项目、课程、用户公用
|
||||
label_settings: Settings
|
||||
label_information_plural: Information
|
||||
label_member_plural: Members
|
||||
|
||||
#
|
||||
# Trustie按钮类
|
||||
#
|
||||
|
@ -184,9 +206,13 @@ en:
|
|||
button_cancel: Cancel
|
||||
label_submit: Submit
|
||||
button_project_tags_add: Add
|
||||
label_more: More
|
||||
label_more: "More>>"
|
||||
button_download: Download
|
||||
|
||||
button_delete: Delete
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Trustie上传头像模块
|
||||
#
|
||||
|
@ -194,7 +220,6 @@ en:
|
|||
#
|
||||
button_upload_photo: Upload photo
|
||||
button_delete_file: delete
|
||||
text_are_you_sure: Are you sure?
|
||||
error_attachment_too_big: "This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})"
|
||||
error_pic_type: "Only supports the following image formats:"
|
||||
|
||||
|
@ -207,7 +232,7 @@ en:
|
|||
label_tag: Tag
|
||||
label_tags_no: no tags now!
|
||||
label_more_tags: More
|
||||
label_add_tag: '+ Add tags'
|
||||
label_add_tag: "+ Add tags"
|
||||
|
||||
label_tags_count: "The total number of tags:"
|
||||
|
||||
|
@ -251,14 +276,98 @@ en:
|
|||
sharer: "Sharer:"
|
||||
upload_time: "Upload time:"
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台主页
|
||||
#
|
||||
# 用户动态栏
|
||||
#
|
||||
lable_user_active: Recent Activities
|
||||
user:
|
||||
active:
|
||||
published: released
|
||||
uploaded: uploaded
|
||||
updated: updated
|
||||
unknow: unknown content
|
||||
|
||||
|
||||
field_user_active_news: ' news'
|
||||
field_user_active_issue: ' issue'
|
||||
field_user_active_attachment: ' attachment'
|
||||
field_user_active_message: ' message'
|
||||
field_user_active_reply: ' reply'
|
||||
field_user_active_bid: ' work'
|
||||
field_user_active_memo: ' memo'
|
||||
field_user_active_document: ' document'
|
||||
field_user_active_changeset: ' repository'
|
||||
field_user_active_issue_note: ' issue-note'
|
||||
|
||||
field_updated_on: Updated on
|
||||
field_time_ago: ago
|
||||
field_active_reply: "Reply("
|
||||
# 用户动态中event.title和event.description
|
||||
# 通过act_as_event方法的option配置
|
||||
# "#{o.tracker.name} ##{o.id} (#{o.status}): #{o.subject}"
|
||||
# "缺陷 #1869 (已解决):subject"
|
||||
# tracker.name和status在数据库中以中文字段形式存储
|
||||
|
||||
# 项目托管平台主页 > 贴吧动态栏
|
||||
lable_bar_active: Question&Feedback
|
||||
label_my_question: My-question
|
||||
label_my_feedback: My-feedback
|
||||
label_updated_time: "Updated %{value} ago"
|
||||
label_question_sponsor: Sponsor
|
||||
label_final_reply: Last-reply
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 意见反馈
|
||||
#
|
||||
label_feedback: Feedback
|
||||
label_feedback_tips: "Anything you want to say, roar it here ~~"
|
||||
label_technical_support: "Support: "
|
||||
label_feedback_success: "Your comments have been posted back to the bar of discussion by newbie(in the Public Post Bar), we will be the first time to solve your problem, thanks for your support!"
|
||||
label_feedback_value: "The posts comes from user feedback!"
|
||||
|
||||
|
||||
#
|
||||
# Trustie
|
||||
#
|
||||
# 新闻
|
||||
#
|
||||
label_news: 新闻
|
||||
|
||||
|
||||
#
|
||||
# Trustie
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# 日志
|
||||
#
|
||||
label_log_detail: "日志详情"
|
||||
label_log_delete_log: "删除日志"
|
||||
label_log_access_analysis: "访问统计"
|
||||
label_log_time_analysis: "耗时分析"
|
||||
label_log_refresh: "刷新"
|
||||
label_log_key: "关键字:"
|
||||
label_log_time: "时间:"
|
||||
label_log_delete_confirm: "确认清除该天日志内容?"
|
||||
label_log_access_count: "访问次数"
|
||||
label_log_url: "URL路径"
|
||||
label_log_ip: "访问IP"
|
||||
label_log_access_time: "访问时间"
|
||||
label_log_access_controller_action: "模块路径"
|
||||
label_log_response_time: "响应时间"
|
||||
label_log_views_time: "页面渲染时间"
|
||||
label_log_views_time_percent: "页面渲染时间百分比"
|
||||
label_log_active_record_time: "AR响应时间"
|
||||
label_log_active_record_time_percent: "AR响应时间百分比"
|
||||
views:
|
||||
pagination:
|
||||
first: "« 首页"
|
||||
last: "末页 »"
|
||||
previous: "« 上一页"
|
||||
next: "下一页 »"
|
||||
truncate: "..."
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
|
||||
# Chinese (China) translations for Ruby on Rails
|
||||
# by tsechingho (http://github.com/tsechingho)
|
||||
zh:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
|
@ -166,18 +163,39 @@ zh:
|
|||
general_first_day_of_week: '7'
|
||||
|
||||
actionview_instancetag_blank_option: 请选择
|
||||
|
||||
|
||||
#
|
||||
# Trustie公共标签
|
||||
#
|
||||
#
|
||||
#
|
||||
label_user: 用户
|
||||
label_project: 项目
|
||||
label_issue: 问题
|
||||
label_requirement: 需求
|
||||
label_forum: 公共贴吧
|
||||
|
||||
label_contest: 竞赛
|
||||
|
||||
|
||||
field_description: 描述
|
||||
|
||||
label_loading: 载入中...
|
||||
|
||||
label_create_time: 创建时间
|
||||
label_update_time: 更新时间
|
||||
label_reply: 回复
|
||||
|
||||
label_anonymous: 匿名 #作业和留言 模块
|
||||
|
||||
|
||||
text_are_you_sure: 您确定要删除吗? #js 提示
|
||||
|
||||
# 项目、课程、用户公用
|
||||
label_settings: 配置
|
||||
label_information_plural: 信息
|
||||
label_member_plural: 成员
|
||||
|
||||
#
|
||||
# Trustie按钮类
|
||||
#
|
||||
|
@ -189,9 +207,12 @@ zh:
|
|||
button_cancel: 取消
|
||||
label_submit: 提交
|
||||
button_project_tags_add: 增加
|
||||
label_more: 更多>>
|
||||
label_more: "更多>>"
|
||||
button_download: 下载
|
||||
|
||||
button_more: 更多
|
||||
button_delete: 删除
|
||||
|
||||
|
||||
#
|
||||
# Trustie上传头像模块
|
||||
#
|
||||
|
@ -199,7 +220,6 @@ zh:
|
|||
#
|
||||
button_upload_photo: 上传图片
|
||||
button_delete_file: 删除
|
||||
text_are_you_sure: 您确定要删除吗?
|
||||
error_attachment_too_big: 该文件无法上传。超过文件大小限制 (%{max_size})
|
||||
error_pic_type: "仅支持如下图片格式:"
|
||||
|
||||
|
@ -263,5 +283,105 @@ zh:
|
|||
sharer: "共享者:"
|
||||
upload_time: "上传时间:"
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台主页
|
||||
#
|
||||
# 用户动态栏
|
||||
#
|
||||
lable_user_active: 用户动态
|
||||
user:
|
||||
active:
|
||||
published: 发表了
|
||||
uploaded: 上传了
|
||||
updated: 更新了
|
||||
unknow: 未知内容
|
||||
|
||||
field_user_active_news: 新闻
|
||||
field_user_active_issue: 问题
|
||||
field_user_active_attachment: 附件
|
||||
field_user_active_message: 主题
|
||||
field_user_active_reply: 回复
|
||||
field_user_active_bid: 作业
|
||||
field_user_active_memo: 主题
|
||||
field_user_active_document: 文件
|
||||
field_user_active_changeset: 版本库
|
||||
field_user_active_issue_note: 问题说明
|
||||
|
||||
field_updated_on: 更新于
|
||||
field_time_ago: 前
|
||||
field_active_reply: "回复("
|
||||
|
||||
#
|
||||
# 项目托管平台主页
|
||||
#
|
||||
# 贴吧动态栏
|
||||
#
|
||||
lable_bar_active: 问题和反馈动态
|
||||
label_my_question: 我要提问
|
||||
label_my_feedback: 我要反馈
|
||||
|
||||
label_updated_time: " 更新于 %{value} 之前"
|
||||
label_question_sponsor: 楼主
|
||||
label_final_reply: 最后回复
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 意见反馈
|
||||
#
|
||||
label_feedback: 意见反馈
|
||||
label_feedback_tips: "有什么想说的,尽管来咆哮吧~~"
|
||||
label_technical_support: "技术支持:"
|
||||
label_feedback_success: "您的意见已经反馈到公共贴吧的新手讨论吧,我们会第一时间解决您的问题,谢谢支持!"
|
||||
label_feedback_value: "该贴来自用户反馈!"
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
# 评论
|
||||
#
|
||||
label_find_all_comments: 查看所有评论
|
||||
label_comments_count: (%{count}条评论)
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
# 新闻
|
||||
#
|
||||
label_news: 新闻
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
# 日志
|
||||
#
|
||||
label_log_detail: "日志详情"
|
||||
label_log_delete_log: "删除日志"
|
||||
label_log_access_analysis: "访问统计"
|
||||
label_log_time_analysis: "耗时分析"
|
||||
label_log_refresh: "刷新"
|
||||
label_log_key: "关键字:"
|
||||
label_log_time: "时间:"
|
||||
label_log_delete_confirm: "确认清除该天日志内容?"
|
||||
label_log_access_count: "访问次数"
|
||||
label_log_url: "URL路径"
|
||||
label_log_ip: "访问IP"
|
||||
label_log_access_time: "访问时间"
|
||||
label_log_access_controller_action: "模块路径"
|
||||
label_log_response_time: "响应时间"
|
||||
label_log_views_time: "页面渲染时间"
|
||||
label_log_views_time_percent: "页面渲染时间百分比"
|
||||
label_log_active_record_time: "AR响应时间"
|
||||
label_log_active_record_time_percent: "AR响应时间百分比"
|
||||
views:
|
||||
pagination:
|
||||
first: "« 首页"
|
||||
last: "末页 »"
|
||||
previous: "« 上一页"
|
||||
next: "下一页 »"
|
||||
truncate: "..."
|
|
@ -1,3 +1,18 @@
|
|||
en:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
|
||||
|
||||
# 托管平台主页 > 底部承办单位
|
||||
label_hosted_by: Organizer
|
||||
label_hosted_by: National Key Laboratory for Parallel and Distributed Processing, NUDT
|
||||
label_sponsor: Department of Computer Science and Technology, NUDT
|
||||
label_co_organizer_NUDT: College of Computer, NUDT
|
||||
label_co_organizer_EECS: Institute of Software, EECS
|
||||
label_co_organizer_BHU: Beihang University School of Computer Science & Engineering
|
||||
label_co_organizer_CAS: Institute of Software, CAS
|
||||
label_co_organizer_InforS: InforSuite
|
||||
label_rights_reserved: ©2007~2014
|
||||
label_contact_us: Contact
|
||||
# 英文版不需要显示国内许可证 ,需要页面做判断
|
||||
# label_license: 湘ICP备09019772
|
|
@ -1,4 +1,62 @@
|
|||
en:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
#
|
||||
# 课程托管平台
|
||||
#
|
||||
# 课程公共标签
|
||||
#
|
||||
label_course_join_student: 加入课程
|
||||
label_course_new: 新建课程
|
||||
|
||||
label_homework: 课程作业
|
||||
label_course_news: 课程通知
|
||||
label_main_teacher: 主讲教师
|
||||
label_course_term: 开课学期
|
||||
|
||||
label_join_course: 加入
|
||||
label_exit_course: exit course
|
||||
# 资源库 (课程、项目按类型分)
|
||||
label_course_file: File
|
||||
label_upload_files: Upload
|
||||
|
||||
#
|
||||
# 课程托管平台主页
|
||||
#
|
||||
# 热门课程栏
|
||||
#
|
||||
label_school_no_course: The school did not offer any courses, you can view other school curriculum
|
||||
label_school_less_course: The school offers courses in less, you can view other school curriculum
|
||||
|
||||
|
||||
#
|
||||
# 课程托管平台
|
||||
#
|
||||
# 新建课程
|
||||
#
|
||||
lable_input_class: Type in class period here
|
||||
|
||||
|
||||
# 教师权限课程关闭和重启
|
||||
label_course_closed: Close
|
||||
label_course_reload: Reopen
|
||||
label_course_closed_tips: "Are you sure you want to reopen the course?"
|
||||
# end
|
||||
|
||||
|
||||
# 课程排序
|
||||
label_sort_by_time: sorted by time
|
||||
label_sort_by_active: sorted by active
|
||||
label_sort_by_influence: sorted by influence
|
||||
label_sort_by_activity: Sort by activities
|
||||
# end
|
||||
|
||||
|
||||
#
|
||||
# 课程托管平台
|
||||
#
|
||||
# 课程资源上传
|
||||
#
|
||||
label_file_upload: Resource files
|
||||
label_file_upload_error_messages: "Upload error, please check your network environment, and refresh the page to upload."
|
||||
button_confirm: Confirm
|
|
@ -5,6 +5,64 @@ zh:
|
|||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
|
||||
#
|
||||
# 课程托管平台
|
||||
#
|
||||
# 课程公共标签
|
||||
#
|
||||
label_course_join_student: 加入课程
|
||||
label_course_new: 新建课程
|
||||
|
||||
label_homework: 课程作业
|
||||
label_course_news: 课程通知
|
||||
label_main_teacher: 主讲教师
|
||||
label_course_term: 开课学期
|
||||
|
||||
label_join_course: 加入
|
||||
label_exit_course: 退出
|
||||
# 资源库 (课程、项目按类型分)
|
||||
label_course_file: 资源库
|
||||
label_upload_files: 上传资源
|
||||
|
||||
#
|
||||
# 课程托管平台主页
|
||||
#
|
||||
# 热门课程栏
|
||||
#
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
label_school_no_course: 该学校本学期未开设任何课程,您可以查看其他学校课程
|
||||
label_school_less_course: 该学校本学期开设课程较少,您也可以查看其他学校课程
|
||||
|
||||
|
||||
|
||||
#
|
||||
# 课程托管平台
|
||||
#
|
||||
# 新建课程
|
||||
#
|
||||
lable_input_class: 在此输入课时
|
||||
|
||||
|
||||
# 教师权限课程关闭和重启
|
||||
label_course_closed: 关闭
|
||||
label_course_reload: 重开
|
||||
label_course_closed_tips: "确定要%{desc}课程?"
|
||||
# end
|
||||
|
||||
|
||||
# 课程排序
|
||||
label_sort_by_time: 按时间排序
|
||||
label_sort_by_active: 按活跃度排序
|
||||
label_sort_by_influence: 按影响力排序
|
||||
label_sort_by_activity: 按动态数排序
|
||||
# end
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
|
|
|
@ -27,7 +27,7 @@ en:
|
|||
notice_account_deleted: "Your account has been permanently deleted."
|
||||
notice_user_successful_create: "User %{id} created."
|
||||
|
||||
error_attachment_empty: "error in add file"
|
||||
error_attachment_empty: "error in add file"
|
||||
error_class_period_only_num: "class period can only digital"
|
||||
error_can_t_load_default_data: "Default configuration could not be loaded: %{value}"
|
||||
error_scm_not_found: "The entry or revision was not found in the repository."
|
||||
|
@ -102,7 +102,6 @@ en:
|
|||
field_user: User
|
||||
field_principal: Principal
|
||||
field_role: Role
|
||||
field_homepage: Homepage
|
||||
field_parent: Subproject of
|
||||
field_is_in_roadmap: Issues displayed in roadmap
|
||||
field_admin: Administrator
|
||||
|
@ -332,15 +331,8 @@ en:
|
|||
|
||||
project_module_issue_tracking: Issue tracking
|
||||
project_module_time_tracking: Time tracking
|
||||
project_module_news: News
|
||||
project_module_documents: Documents
|
||||
project_module_files: Files
|
||||
project_module_wiki: Wiki
|
||||
project_module_repository: Repository
|
||||
project_module_boards: Forums
|
||||
project_module_calendar: Calendar
|
||||
project_module_gantt: Gantt
|
||||
|
||||
project_module_boards: Forums
|
||||
# edit by meng
|
||||
lable_hot_course: Hot Courses
|
||||
label_course_join_student: Join a course
|
||||
|
@ -354,7 +346,7 @@ en:
|
|||
label_user_for_project_grade: Score
|
||||
label_relation_files: Select an existing resource
|
||||
# Personal signature tips
|
||||
label_my_brief_introduction: How are feeling today? Leave your footprints ~
|
||||
|
||||
|
||||
# create course and course info
|
||||
|
||||
|
@ -378,27 +370,21 @@ en:
|
|||
label_student_score: Student's score
|
||||
label_without_score: No evaluated
|
||||
label_homework_description: Description
|
||||
label_responses: Messages
|
||||
|
||||
lable_has_commit_homework: You have submitted your work
|
||||
label_user_create_project_homework: created the task
|
||||
label_commit_limit: Expired but can submit your work
|
||||
# steam the student
|
||||
label_current_group: Current group
|
||||
# DTS Test tool
|
||||
project_module_dts: DTS Test tool
|
||||
label_module_share: DTS Test tool
|
||||
field_dts_test: DTS Test tool
|
||||
# Feedback module
|
||||
label_technical_support: Support :
|
||||
label_feedback: Feedback
|
||||
#end
|
||||
|
||||
|
||||
|
||||
label_user_plural: Users
|
||||
label_user_new: New user
|
||||
label_user_anonymous: Anonymous
|
||||
label_activity_project: 'Project: ' #added by bai
|
||||
label_user_activity: "%{value}'s activities"
|
||||
|
||||
label_project_plural: Projects
|
||||
label_project_deposit: Projects
|
||||
label_first_page_made: Homepage customization
|
||||
label_project_first_page: Project hosting platform page
|
||||
label_course_first_page: Practice teaching platform of home page
|
||||
|
@ -445,7 +431,6 @@ en:
|
|||
label_role_non_member: Non member
|
||||
label_member: Members
|
||||
label_member_new: New member
|
||||
label_member_plural: Members
|
||||
label_tracker: Tracker
|
||||
label_tracker_plural: Trackers
|
||||
label_tracker_new: New tracker
|
||||
|
@ -454,34 +439,29 @@ en:
|
|||
label_issue_status_plural: Issue statuses
|
||||
label_issue_status_new: New status
|
||||
label_issue_category: Issue category
|
||||
label_issue_category_plural: Issue categories
|
||||
label_issue_category_new: New category
|
||||
label_custom_field: Custom field
|
||||
label_custom_field_plural: Custom fields
|
||||
label_custom_field_new: New custom field
|
||||
label_enumerations: Enumerations
|
||||
label_enumeration_new: New value
|
||||
label_information: Information
|
||||
label_information_plural: Information
|
||||
label_please_login: Please log in
|
||||
label_home: Home
|
||||
label_my_page: My page
|
||||
|
||||
label_my_message: Msgs
|
||||
label_my_projects: My projects
|
||||
|
||||
label_my_page_block: My page block
|
||||
label_administration: Administration
|
||||
label_login: Login
|
||||
|
||||
# end
|
||||
label_help: Help
|
||||
|
||||
label_last_login: Last connection
|
||||
label_registered_on: Registered on
|
||||
label_activity: Activities
|
||||
label_overall_activity: Overall activity
|
||||
label_user_activity: "%{value}'s activity"
|
||||
|
||||
label_new: New
|
||||
label_new_user: registered a new account
|
||||
|
||||
label_logged_as: Logged in as
|
||||
label_environment: Environment
|
||||
label_authentication: Authentication
|
||||
|
@ -522,7 +502,6 @@ en:
|
|||
label_overview: Activities
|
||||
label_version: Version
|
||||
label_version_new: New version
|
||||
label_version_plural: Versions
|
||||
label_close_versions: Close completed versions
|
||||
label_confirmation: Confirmation
|
||||
label_export_to: 'Also available in:'
|
||||
|
@ -622,7 +601,7 @@ en:
|
|||
label_repository_no: Have no repository?
|
||||
label_repository_new_repos: New repository
|
||||
#end
|
||||
label_repository_plural: Repositories
|
||||
|
||||
label_browse: Browse
|
||||
label_branch: Branch
|
||||
label_revision: Revision
|
||||
|
@ -647,7 +626,6 @@ en:
|
|||
label_roadmap_due_in: "Due in %{value}"
|
||||
label_roadmap_overdue: "%{value} late"
|
||||
label_roadmap_no_issues: No issues for this version
|
||||
label_search: Search
|
||||
label_result_plural: Results
|
||||
label_all_words: All words
|
||||
label_wiki: Wiki
|
||||
|
@ -714,7 +692,7 @@ en:
|
|||
label_message_last: Last message
|
||||
label_message_new: New message
|
||||
label_message_posted: Message added
|
||||
label_reply_plural: Replies
|
||||
|
||||
label_send_information: Send account information to the user
|
||||
label_year: Year
|
||||
label_month: Month
|
||||
|
@ -727,7 +705,6 @@ en:
|
|||
label_feeds_access_key: RSS access key
|
||||
label_missing_feeds_access_key: Missing a RSS access key
|
||||
label_feeds_access_key_created_on: "RSS access key created %{value} ago"
|
||||
label_module_plural: Modules
|
||||
label_added_time_by: "Added by %{author} %{age} ago"
|
||||
label_updated_time_by: "Updated by %{author} %{age} ago"
|
||||
label_jump_to_a_project: Jump to a project...
|
||||
|
@ -826,7 +803,7 @@ en:
|
|||
button_uncheck_all: Uncheck all
|
||||
button_collapse_all: Collapse all
|
||||
button_expand_all: Expand all
|
||||
button_delete: Delete
|
||||
|
||||
button_create_and_continue: Create and continue
|
||||
button_test: Test
|
||||
button_edit: Edit
|
||||
|
@ -983,7 +960,6 @@ en:
|
|||
|
||||
enumeration_issue_priorities: Issue priorities
|
||||
enumeration_doc_categories: Document categories
|
||||
enumeration_activities: Activities
|
||||
enumeration_system_activity: System Activity
|
||||
description_filter: Filter
|
||||
description_search: Searchfield
|
||||
|
@ -1030,27 +1006,13 @@ en:
|
|||
|
||||
#huang
|
||||
label_file_new: Download
|
||||
label_user_edit: "Edit information"
|
||||
label_my_course: "My Course"
|
||||
label_user_info: "User information" #huang 添加
|
||||
label_user_watcher: "Followers" # huang添加的 # modified by bai
|
||||
label_user_fans: "Followed by" # modified by bai
|
||||
|
||||
# modify by men
|
||||
label_x_user_fans:
|
||||
zero: fan
|
||||
one: fan
|
||||
other: fans
|
||||
#end
|
||||
label_user_commits: "Code commits"
|
||||
label_user_watchered: "Followed by" # huang添加的
|
||||
label_user_newfeedback: "Messages" ## huang添加的 # modified by bai
|
||||
label_user_login: "Last login:"
|
||||
|
||||
|
||||
label_user_mail: "E-mail:"
|
||||
label_user_joinin: "Join date:"
|
||||
label_user_activities: "You have no activities,come and join us!"
|
||||
label_user_activities_other: The user has no activities now!
|
||||
label_project_overview: "Overview"
|
||||
|
||||
label_overview: "Overview"
|
||||
label_project_tool: "Tool"
|
||||
label_project_issues: "Issues"
|
||||
label_project_newother: "See other comments"
|
||||
|
@ -1069,21 +1031,21 @@ en:
|
|||
label_unapply_project: Unsubscribe
|
||||
|
||||
#fq
|
||||
button_leave_meassge: Submit
|
||||
|
||||
button_clear_meassge: Reset
|
||||
label_leave_message_to: leave %{name} a message
|
||||
label_leave_message: Message content
|
||||
label_message: message board
|
||||
field_add: Add before %{time}
|
||||
button_more: More
|
||||
label_user_response: Feedback # modified by bai
|
||||
|
||||
label_bidding_project: projects
|
||||
button_bidding: I will participate in it
|
||||
label_new_call: New call
|
||||
label_user_information: My informations
|
||||
|
||||
#Customer added!Added by nie
|
||||
label_create_time: Created time
|
||||
|
||||
label_current_contributors: current contributors
|
||||
#modify by men
|
||||
label_x_current_contributors:
|
||||
|
@ -1112,10 +1074,7 @@ en:
|
|||
label_member_since: joined
|
||||
label_contribute_to: Participates %{project_count} projects:
|
||||
#modify by men
|
||||
label_x_contribute_to:
|
||||
zero: Participates %{count} project:
|
||||
one: Participates %{count} project:
|
||||
other: Participates %{count} projects:
|
||||
|
||||
#end
|
||||
label_total_commit: Totally %{total_commit} commits # modified by bai
|
||||
#modify by men
|
||||
|
@ -1170,11 +1129,11 @@ en:
|
|||
|
||||
label_leave_me_message: left a message to me
|
||||
label_leave_others_message: leave message to him/her
|
||||
label_leave_a_message: Leave him/her a message:
|
||||
|
||||
label_leave_your_message: Leave a message to you
|
||||
label_new_activities: ' has a new activity in' # modified by bai
|
||||
label_new_activity: ' has a new activity in'
|
||||
label_i_new_activity: ' have a new activity in'
|
||||
|
||||
|
||||
label_create_project: had participated in
|
||||
label_praise: praise
|
||||
label_cancel_praise: cancel praise
|
||||
|
@ -1199,19 +1158,19 @@ en:
|
|||
#end
|
||||
label_me: me
|
||||
label_my: my
|
||||
label_i: I
|
||||
|
||||
label_join_bidding: joined the bidding
|
||||
label_bidding_user: Bidding user:
|
||||
label_bidding_reason: Bidding reason:
|
||||
label_username: username:
|
||||
label_password: password:
|
||||
label_about_requirement: about requirement:
|
||||
label_about_issue: about issue:
|
||||
label_quote_my_words: ' quoted my words'
|
||||
label_have_respond: had a respond
|
||||
|
||||
|
||||
|
||||
|
||||
label_welcome: Welcome
|
||||
|
||||
label_goto: Go to>>
|
||||
|
||||
label_join: join Trustie!
|
||||
label_repository_new: link to existing SVN repository
|
||||
label_repository_path: path of repository
|
||||
|
@ -1223,7 +1182,7 @@ en:
|
|||
label_exist_repository_path: Define exist repository's path of URL and format must be file:///, http://, https://, svn://
|
||||
label_project_no_activity: The project has no activities now!
|
||||
label_follow_no_requirement: You don't have followed any requirements!
|
||||
label_no_user_respond_you: There is no respond for you!
|
||||
|
||||
|
||||
label_all_revisions: All revisions:
|
||||
label_repository_name: Repository name
|
||||
|
@ -1240,9 +1199,7 @@ en:
|
|||
label_welcome_my_respond: Please leave your comments and suggestions here!
|
||||
label_no_current_fans: The user has no fans now
|
||||
label_no_current_watchers: The user hasn't watched others
|
||||
label_project_tool_response: Response
|
||||
label_course_feedback: Feedback
|
||||
label_active_call: call
|
||||
|
||||
|
||||
label_boy: Man
|
||||
|
@ -1280,16 +1237,13 @@ en:
|
|||
label_bids_new_money: input the award money,such as 500,2.5 etc.
|
||||
label_bids_new_credit: input the work corresponding course credits,such as 3,2.5 etc.
|
||||
label_bids_new_content: input the award content,such as certificate,things etc.
|
||||
label_user_login_tips: You havn't logged in,for leaving message please login first
|
||||
|
||||
label_user_login_new: login
|
||||
label_project_sort: the way of sorting
|
||||
#modified by bai
|
||||
label_sort_by_time: sorted by time
|
||||
label_sort_by_active: sorted by active
|
||||
label_sort_by_influence: sorted by influence
|
||||
|
||||
#end
|
||||
label_bids_published: published
|
||||
label_bids_published_ago: ago
|
||||
|
||||
# label_welcome_trustie: Trustie
|
||||
# label_welcome_trustie_project: Online projects hosting platform
|
||||
# label_welcome_trustie_course: Online Courses practice platform
|
||||
|
@ -1298,15 +1252,12 @@ en:
|
|||
# label_welcome_trustie_course_description: Teachers and Students for Chinese universities to provide social-oriented curriculum management, resource sharing, cooperation achieved, collaborative research.
|
||||
# label_welcome_trustie_contest_description: Software for Chinese college students and practitioners to provide social-oriented contest management, code hosting, resource sharing, cooperation and exchange.
|
||||
# label_welcome_trustie_description: a socialized collaboration platform for project management, collaborative research, software development and software crowdsourcing for creative university students and entrepreneurs.
|
||||
label_bid_respond_quote: Respond
|
||||
|
||||
label_bid_if_agreement: If you like me, please press me #bai
|
||||
label_bid_respond_delete: Delete
|
||||
label_newfeedback_message: messages
|
||||
label_newfeedback_quote: Respond
|
||||
label_newfeedback_delete: Delete
|
||||
label_layouts_feedback: Messages
|
||||
label_have_feedback: Have
|
||||
label_of_feedback: Of
|
||||
|
||||
|
||||
|
||||
|
||||
label_welcome_participate: participates
|
||||
#modify by men
|
||||
label_x_welcome_participate:
|
||||
|
@ -1316,25 +1267,20 @@ en:
|
|||
#end
|
||||
label_welcome_participate_project: projects
|
||||
label_projects_feedback: responded to the project
|
||||
label_projects_feedback_respond: Respond
|
||||
label_projects_feedback_respond_success: Respond success
|
||||
button_projects_feedback_respond: Respond
|
||||
label_projects_feedback_respond_content: Please input your words
|
||||
label_in_issues: in the issue:
|
||||
label_in_bids: in the call:
|
||||
label_in_users: in the user:
|
||||
|
||||
|
||||
|
||||
label_user_create_project: has created
|
||||
|
||||
#added by bai
|
||||
label_identity: Identity
|
||||
label_teacher: Teacher
|
||||
label_student: Student
|
||||
label_school_all: Schools
|
||||
label_school_not_fount: Not found by your input query condition.
|
||||
label_other: Other
|
||||
|
||||
|
||||
label_location: Location
|
||||
|
||||
#end
|
||||
label_course: Course
|
||||
label_course_new: New course
|
||||
|
@ -1360,18 +1306,15 @@ en:
|
|||
one: teachers
|
||||
other: teachers
|
||||
#add by men
|
||||
label_brief_introduction: Personality words
|
||||
label_technical_title: Title
|
||||
label_technicl_title_professor: Professor
|
||||
label_technicl_title_associate_professor: Associate professor
|
||||
label_technicl_title_lecturer: Lecturer
|
||||
label_technicl_title_teaching_assistant: Teaching assistant
|
||||
|
||||
|
||||
|
||||
label_enter_college: College Entrance
|
||||
lable_enter_enterprise: Enterprise Entrance
|
||||
label_homework_info: Status
|
||||
label_question_student: Feedback
|
||||
label_student_response: Feedback
|
||||
label_my_question: Please raise your questions here!
|
||||
# label_my_question: Please raise your questions here!
|
||||
label_teacher_homework: "Teacher's name"
|
||||
label_course_homework: Corresponding courses
|
||||
|
||||
|
@ -1395,7 +1338,7 @@ en:
|
|||
text_command: The password is required when applying a course, and it will be released by the teacher of.
|
||||
label_enterprise_into: Enterprise Entrance
|
||||
label_college_into: College Entrance
|
||||
label_user_course: Courses
|
||||
|
||||
label_new_course: Courses
|
||||
field_tea_name: Teacher
|
||||
label_course_college: College
|
||||
|
@ -1435,8 +1378,8 @@ en:
|
|||
label_main_term: Term
|
||||
label_teacher_work_unit: Position
|
||||
label_course_overview: Status
|
||||
label_course_file: File
|
||||
label_stores_index: Resource search
|
||||
|
||||
|
||||
label_course_news: News
|
||||
#wang
|
||||
label_contest_userresponse: Userresponse
|
||||
|
@ -1450,10 +1393,10 @@ en:
|
|||
|
||||
label_bids_task_list: Tasks list
|
||||
label_join_course: join course
|
||||
label_exit_course: exit course
|
||||
|
||||
label_new_join: Join
|
||||
label_new_join_order: Please input the course order.
|
||||
label_homeworks_form_new_description: Release a task,the submit form of the task may be accessory or project,setting in the task form.
|
||||
label_homeworks_form_new_description: Release a task, the submit form of the task may be accessory or project, setting in the task form.
|
||||
label_course_settings: Setting
|
||||
field_homework_type: Submit form
|
||||
label_task_submit_form_accessory: Submitted as accessory
|
||||
|
@ -1468,14 +1411,11 @@ en:
|
|||
label_assign_homework: assigned homewok
|
||||
label_noawards: No awards
|
||||
|
||||
label_requirement_enterprise: Requirements
|
||||
label_requirement_enterprise_list: Requirements List
|
||||
label_contest_innovate: Competition community
|
||||
label_software_user: Users
|
||||
label_course_practice: Courses
|
||||
|
||||
|
||||
label_course_all: Teacher
|
||||
label_teacher_all: Student
|
||||
label_user_home: User Space
|
||||
|
||||
field_hidden_repo: code protected
|
||||
label_newbie_faq: newbie FAQ
|
||||
|
@ -1501,8 +1441,8 @@ en:
|
|||
label_activity_time: publish date
|
||||
|
||||
label_your_course: your course
|
||||
label_have_message : have a new message
|
||||
:lable_not_receive_mail: Click here don't receive email form site!
|
||||
label_have_message: have a new message
|
||||
lable_not_receive_mail: Click here don't receive email form site!
|
||||
#added by linchun as competition#
|
||||
|
||||
label_current_hot_contest: Latest Hot Competition
|
||||
|
@ -1510,211 +1450,9 @@ en:
|
|||
label_issue_feedback_activities: Question&Feedback
|
||||
label_more_information: More...
|
||||
label_release_time: Release-time
|
||||
label_question_sponsor: Sponsor
|
||||
label_final_reply: Final-reply
|
||||
label_reply: Reply
|
||||
|
||||
label_weixin: WeiXin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Trustie个人主页
|
||||
#
|
||||
# Trustie个人主页>
|
||||
# 动态栏
|
||||
label_user_activity: "%{name} Activities"
|
||||
label_user_all_activity: All activities
|
||||
label_user_activity_myself: About me
|
||||
label_user_all_respond: All replies
|
||||
# 项目栏
|
||||
label_project_unadd: "No project, go to creat it!"
|
||||
label_project_un: "You haven't joined any project yet!"
|
||||
|
||||
|
||||
label_has_watched_project: The projects of attention
|
||||
label_project_take: The projects of participation
|
||||
|
||||
|
||||
|
||||
|
||||
# 托管平台主页
|
||||
# edit by meng
|
||||
# 托管平台主页> 顶部菜单
|
||||
field_homepage: Homepage
|
||||
label_project_deposit: Projects
|
||||
label_course_practice: Courses
|
||||
label_forum_all: Forums
|
||||
# label_school_all: Schools
|
||||
label_contest_innovate: Competition community
|
||||
label_software_user: Users
|
||||
label_requirement_enterprise: Requirements
|
||||
label_stores_index: Resource search
|
||||
|
||||
# 托管平台主页 > 搜索提示信息
|
||||
welcome:
|
||||
search:
|
||||
information: "Please input the keywords!" # 搜索提示信息
|
||||
select: # 下拉列表
|
||||
project: project
|
||||
course: course
|
||||
user: user
|
||||
userinfo:
|
||||
nickname: nickname
|
||||
showname: name
|
||||
email: email
|
||||
|
||||
# 托管平台主页 > 下方托管平台链接
|
||||
label_projects_management_platform: Projects-platform
|
||||
label_courses_management_platform: Courses-platform
|
||||
label_contests_management_platform: Competitions-platform
|
||||
|
||||
# 托管平台主页 > 底部承办单位
|
||||
label_hosted_by: Organizer
|
||||
label_hosted_by: National Key Laboratory for Parallel and Distributed Processing, NUDT
|
||||
label_sponsor: Department of Computer Science and Technology, NUDT
|
||||
label_co_organizer_NUDT: College of Computer, NUDT
|
||||
label_co_organizer_EECS: Institute of Software, EECS
|
||||
label_co_organizer_BHU: Beihang University School of Computer Science & Engineering
|
||||
label_co_organizer_CAS: Institute of Software, CAS
|
||||
label_co_organizer_InforS: InforSuite
|
||||
label_rights_reserved: ©2007~2014
|
||||
label_contact_us: Contact
|
||||
# 英文版不需要显示国内许可证 ,需要页面做判断
|
||||
# label_license: 湘ICP备09019772
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 项目托管平台
|
||||
# 项目托管平台主页 > 主旨
|
||||
label_welcome_trustie_project: Trustie online projects hosting platform
|
||||
label_welcome_trustie_project_description: "Software for Chinese college students and practitioners to provide social-oriented project management, code hosting, resource sharing, cooperation and exchange."
|
||||
|
||||
# 项目托管平台主页 > 热门项目栏
|
||||
lable_hot_projects: Hot Projects
|
||||
label_project_new: New project
|
||||
label_join_project: Join a project
|
||||
label_private: private
|
||||
label_project_member_amount: "%{count} members"
|
||||
label_project_score_tips: "Considering all activities of the project, project's score reflects the activity level of project"
|
||||
label_project_score: Score
|
||||
|
||||
# 项目托管平台主页 > 用户动态栏
|
||||
lable_user_active: Recent Activities
|
||||
user:
|
||||
active:
|
||||
published: released
|
||||
uploaded: uploaded
|
||||
updated: updated
|
||||
unknow: Unknown content
|
||||
|
||||
|
||||
field_user_active_news: ' news'
|
||||
field_user_active_issue: ' issue'
|
||||
field_user_active_attachment: ' attachment'
|
||||
field_user_active_message: ' message'
|
||||
field_user_active_reply: ' reply'
|
||||
field_user_active_bid: ' work'
|
||||
field_user_active_memo: ' memo'
|
||||
field_user_active_document: ' document'
|
||||
field_user_active_changeset: ' repository'
|
||||
field_user_active_issue_note: ' issue-note'
|
||||
|
||||
field_updated_on: Updated on
|
||||
field_time_ago: ago
|
||||
field_active_reply: "Reply("
|
||||
# 用户动态中event.title和event.description
|
||||
# 通过act_as_event方法的option配置
|
||||
# "#{o.tracker.name} ##{o.id} (#{o.status}): #{o.subject}"
|
||||
# "缺陷 #1869 (已解决):subject"
|
||||
# tracker.name和status在数据库中以中文字段形式存储
|
||||
|
||||
# 项目托管平台主页 > 贴吧动态栏
|
||||
lable_bar_active: Recent Posts
|
||||
label_my_question: My-question
|
||||
label_my_feedback: My-feedback
|
||||
label_updated_time: "Updated %{value} ago"
|
||||
label_question_sponsor: Sponsor
|
||||
label_final_reply: Last-reply
|
||||
|
||||
|
||||
# 项目托管平台 > 新建项目
|
||||
label_project_new_description: "A project can be used to do anything that requires distributed collaboration."
|
||||
field_name: Name
|
||||
field_description: Description
|
||||
field_identifier: Identifier
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter.<br />Once saved, the identifier cannot be changed."
|
||||
field_is_public: Public
|
||||
field_hidden_repo: code protected
|
||||
button_create: Create
|
||||
|
||||
|
||||
# 项目托管平台 > 加入项目
|
||||
|
||||
project:
|
||||
join:
|
||||
title: 快速进入项目通道
|
||||
description: "只要持有项目的ID,就可快速申请加入所在项目。项目页面搜索不到的私有项目只能从此通道进入哦!"
|
||||
id:
|
||||
label: "Project ID:"
|
||||
tips: "Project ID is the number within the project's url"
|
||||
|
||||
# 公共
|
||||
label_apply_project: Apply Project
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 课程托管平台主页
|
||||
# 课程托管平台主页 > 主旨
|
||||
label_welcome_trustie_course: Trustie online courses practice platform
|
||||
label_welcome_trustie_course_description: Teachers and Students for Chinese universities to provide social-oriented curriculum management, resource sharing, cooperation achieved, collaborative research.
|
||||
# 课程托管平台主页 >
|
||||
|
||||
|
||||
# 竞赛托管平台主页
|
||||
# 竞赛托管平台主页 > 主旨
|
||||
label_welcome_trustie_contest: Trustie online contests practice platform
|
||||
label_welcome_trustie_contest_description: Software for Chinese college students and practitioners to provide social-oriented contest management, code hosting, resource sharing, cooperation and exchange.
|
||||
# 竞赛托管平台主页 >
|
||||
|
||||
|
||||
# edit by meng
|
||||
# emailer translation
|
||||
mail_issue_greetings: "Dear user , Greetings from Trustie"
|
||||
mail_issue_footer: "Unsubscribe this message?"
|
||||
mail_issue_title_userin: "in"
|
||||
mail_issue_title_active: "has a new activity which relevants to you , please pay more attention to this!"
|
||||
mail_issue_subject: "Title:"
|
||||
mail_issue_content: "Content:"
|
||||
mail_issue_sent_from: "From:"
|
||||
mail_issue_from_project: "project issue"
|
||||
mail_issue_attachments: "Attachments:"
|
||||
mail_issue_reply: "Want reply"
|
||||
#end
|
||||
# modified by meng
|
||||
# file_upload translation
|
||||
label_file_upload: Resource files
|
||||
label_file_upload_error_messages: "Upload error, please check your network environment, and refresh the page to upload."
|
||||
button_confirm: Confirm
|
||||
# shut down and restart course
|
||||
label_course_closed: Close
|
||||
label_course_reopen: Reopen
|
||||
label_course_closed_tips: "Are you sure you want to reopen the course?"
|
||||
# end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
label_work_quantity: work
|
||||
label_contest_work: Competition work
|
||||
|
@ -1730,7 +1468,6 @@ en:
|
|||
label_attendingcontestwork_deposit_project: Deposit project
|
||||
label_attendingcontestwork_sorting_intimation: You can re-scoring, but just record the last scoring result!
|
||||
|
||||
label_upload_files: Files-upload
|
||||
label_upload_softwarepackage: Softwarepackage-upload
|
||||
label_upload_cuttingphoto: Photo-upload
|
||||
label_system_platform: Platform
|
||||
|
@ -1806,7 +1543,7 @@ en:
|
|||
|
||||
label_contest_notification: Notice
|
||||
lable_contest_user: Release person
|
||||
label_contest_innovate_community: Competition community
|
||||
|
||||
|
||||
label_user_login_score_and_comment: You are not logged in, please log in and then score and comment the work!
|
||||
label_user_login_notificationcomment: You are not logged in, please log in and then comment the notification!
|
||||
|
@ -1815,7 +1552,7 @@ en:
|
|||
|
||||
label_borad_project: Project-borad
|
||||
|
||||
label_update_time: Update time
|
||||
|
||||
label_project_notice: release the notice
|
||||
label_no_file_uploaded: No file uploaded
|
||||
label_forum_new: New forum
|
||||
|
@ -1823,47 +1560,36 @@ en:
|
|||
bale_edit_notice: Edit
|
||||
|
||||
label_user_grade: Individual score
|
||||
label_active_homework: homework
|
||||
|
||||
label_course_term: Semester
|
||||
label_comment_time: Comment time
|
||||
label_bidding_user_studentcode: Student ID
|
||||
|
||||
label_bidding_user_studentname: name
|
||||
|
||||
# label_organizers: Organizer
|
||||
# label_organizers_information: National Key Laboratory of Parallel and Distributed Processing, NUDT
|
||||
# label_organizers_information_institute: Department of Computer Sciencer and Technology
|
||||
# label_copyright: Copyright
|
||||
# label_contact_us: Contact us
|
||||
# label_record: 湘ICP备09019772
|
||||
|
||||
|
||||
|
||||
label_check_comment: Check comment
|
||||
label_notification: Notification
|
||||
label_must_answer: Will answer
|
||||
label_poll_title: The questionnaire survey _ questionnaire page
|
||||
label_question_number: 'question %{question_number}:'
|
||||
label_complete_question: The answer has been completed
|
||||
#end
|
||||
#end
|
||||
|
||||
# ajax异步验证
|
||||
modal_valid_passing: can be used.
|
||||
|
||||
|
||||
label_school_no_course: The school did not offer any courses, you can view other school curriculum
|
||||
label_school_less_course: The school offers courses in less, you can view other school curriculum
|
||||
|
||||
label_file_not_found: Sorry, the file can't be downloaded now!
|
||||
label_goto_homepage: Return to the home page
|
||||
label_trustie_team: The Trustie development team
|
||||
label_memos_max_length: The content of the post up to 65535 characters in length
|
||||
label_forums_max_length: Post Bar describing the maximum length of 65535 characters
|
||||
label_unknow_type: Unknow type
|
||||
label_score_less_than_zero: Score less than 0, revised to 0
|
||||
|
||||
review_assignments: Review assignments
|
||||
label_my_school: My school
|
||||
label_all_schol: All school
|
||||
label_select_province: Please select the provinces
|
||||
label_search_conditions_not_null: The search conditions cannot be blank
|
||||
|
||||
label_attachment: attachment
|
||||
label_max_length: A maximum of 250 characters
|
||||
|
@ -1876,3 +1602,10 @@ en:
|
|||
label_submit_comments: Submit_comments
|
||||
label_course_empty_select: You have not selected course!
|
||||
label_enterprise_page_made: enterprise_page
|
||||
|
||||
#api
|
||||
label_recently_updated_notification: Recently updated notification
|
||||
label_recently_updated_homework: Recently updated the homework
|
||||
label_recently_updated_message: Recently updated the message
|
||||
label_recently_updated_courseware: Recently updated the courseware
|
||||
label_no_courses: You do not participate in any course, please search the curriculum, course, or create a course!
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
en:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
# Chinese (China) translations for Ruby on Rails
|
||||
#
|
||||
zh:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
|
@ -2,3 +2,18 @@ en:
|
|||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
|
||||
#
|
||||
# 邮件模块
|
||||
#
|
||||
# 项目问题跟踪邮件
|
||||
#
|
||||
mail_issue_greetings: "Dear user , Greetings from Trustie"
|
||||
mail_issue_footer: "Unsubscribe this message?"
|
||||
mail_issue_title_userin: "in"
|
||||
mail_issue_title_active: "has a new activity which relevants to you , please pay more attention to this!"
|
||||
mail_issue_subject: "Title:"
|
||||
mail_issue_content: "Content:"
|
||||
mail_issue_sent_from: "From:"
|
||||
mail_issue_from_project: "project issue"
|
||||
mail_issue_attachments: "Attachments:"
|
||||
mail_issue_reply: "Want reply"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue