Merge branch 'szzh' into dev_zanle

dev_repository_hjq
lizanle 11 years ago
commit fa8475387a

@ -20,7 +20,7 @@ gem "builder", "3.0.0"
gem 'acts-as-taggable-on', '2.4.1'
gem 'spreadsheet'
gem 'ruby-ole'
#gem 'email_verifier'
#gem 'email_verifier', path: 'lib/email_verifier'
group :development do
gem 'grape-swagger'

@ -35,6 +35,11 @@ module Mobile
#作业状态 0:新建1已开启匿评2已关闭匿评
#只有作业启用了匿评功能且当前用户是课程老师且已提交的作品数量大于或等于2才能开启匿评
homework_expose :homework_state
expose :homework_for_anonymous_comments,using: Mobile::Entities::HomeworkAttach do |f, opt|
f[:homework_for_anonymous_comments] if f.is_a?(Hash) && f.key?(:homework_for_anonymous_comments)
end
end
end
end

@ -0,0 +1,3 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/

@ -0,0 +1,3 @@
// Place all the styles related to the Enterprises controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/

@ -283,4 +283,43 @@ class AdminController < ApplicationController
end
end
#企业主页定制
def enterprise_page_made
@enterprise_page = FirstPage.find_by_page_type('enterprise')
if @enterprise_page.nil?
@enterprise_page = FirstPage.new
@enterprise_page.page_type = 'enterprise'
end
if request.get?
@first_page = FirstPage.find_by_page_type('project')
elsif request.post?
@first_page = FirstPage.find_by_page_type('project')
@first_page.web_title = params[:web_title]
@enterprise_page.web_title = params[:web_title]
@enterprise_page.title = params[:course_title]
@enterprise_page.image_width = params[:image_width]
@enterprise_page.image_height = params[:image_height]
@enterprise_page.description = params[:course_description]
if @first_page.save && @enterprise_page.save
respond_to do |format|
format.html {
flash[:notice] = l(:notice_successful_update)
redirect_to enterprise_page_made_url
}
format.api { render_api_ok }
end
else
respond_to do |format|
flash.now[:error] = "#{l :label_first_page_create_fail}: #{@first_page.errors.full_messages[0]}\n\t#{@enterprise_page.errors.full_messages[0]}"
#flash.now[:error] = "#{l :label_first_page_create_fail}: #{@course_page.errors.full_messages[0]}"
format.html {
render :action => 'enterprise_page_made'
}
format.api { render_validation_errors(@first_page) }
format.api { render_validation_errors(@enterprise_page) }
end
end
end
end
end

@ -6,13 +6,18 @@ class AppliedProjectController < ApplicationController
@project = Project.find_by_id(params[:project_id])
if params[:project_join]
if @project
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
if @applieds.count == 0
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
Mailer.applied_project(appliedproject).deliver
@status = 2
user = User.find @user_id
if user.member_of?(@project)
@status = 3
else
@status = 1
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
if @applieds.count == 0
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
Mailer.applied_project(appliedproject).deliver
@status = 2
else
@status = 1
end
end
else
@status = 0

@ -101,13 +101,7 @@ class HomeworkAttachController < ApplicationController
#获取学生匿评列表
def get_student_batch_homework
@is_student_batch_homework = true
all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT homework_attaches.*,
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score,
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{User.current.id} AND is_teacher_score = 0) AS m_score
FROM homework_attaches
INNER JOIN homework_evaluations ON homework_evaluations.homework_attach_id = homework_attaches.id
WHERE homework_attaches.bid_id = #{@bid.id} AND homework_evaluations.user_id = #{User.current.id} ORDER BY m_score DESC")
all_homework_list = get_student_batch_homework_list @bid,User.current
@cur_page = params[:page] || 1
@cur_type = 4
@homework_list = paginateHelper all_homework_list,10

@ -0,0 +1,6 @@
class OrganizationsController < ApplicationController
layout 'project_base'
def index
@projects = Project.find_by_sql("SELECT * FROM projects WHERE id IN (select MAX(id) from projects GROUP BY enterprise_name)")
end
end

@ -83,6 +83,12 @@ class PollController < ApplicationController
def destroy
if @poll && @poll.destroy
if @is_teacher
polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id}")
else
polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id} and polls_status = 2")
end
@polls = paginateHelper polls,20 #分页
respond_to do |format|
format.js
end

@ -30,6 +30,12 @@ class ProjectsController < ApplicationController
:course, :enterprise_course, :course_enterprise,:view_homework_attaches]
before_filter :authorize, :only => [:show, :settings, :edit, :sort_project_members, :update, :modules, :close,
:reopen,:view_homework_attaches,:course]
before_filter :find_project, :except => [ :index, :search,:list, :new, :create, :copy, :statistics, :new_join, :course, :enterprise_course, :course_enterprise,:view_homework_attaches,:join_project]
# before_filter :authorize, :except => [:new_join, :new_homework, :homework, :statistics, :search, :watcherlist, :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy, :member, :focus, :file,
# :statistics, :feedback, :course, :enterprise_course, :course_enterprise, :project_respond, :share,
# :show_projects_score, :issue_score_index, :news_score_index, :file_score_index, :code_submit_score_index, :projects_topic_score_index]
#此条勿删 课程相关权限 ,:new_homework,:homework,:feedback,,:member
before_filter :authorize, :only => [:show, :settings, :edit, :sort_project_members, :update, :modules, :close, :reopen,:view_homework_attaches,:course]
before_filter :authorize_global, :only => [:new, :create,:view_homework_attaches]
before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy, :calendar]
before_filter :file, :statistics, :watcherlist
@ -541,6 +547,14 @@ class ProjectsController < ApplicationController
end
end
end
#加入私有项目
def join_project
respond_to do |format|
format.js
end
end
private
def memberAccess

@ -25,6 +25,22 @@ class WelcomeController < ApplicationController
before_filter :entry_select, :only => [:index]
def index
unless params[:project].nil?
@cur_projects = Project.find(params[:project])
@organization = @cur_projects.enterprise_name
@organization_projects = Project.find_by_sql(["select * from projects where enterprise_name =? ", @organization])
@e_count = @organization_projects.count
@enterprise_page = FirstPage.find_by_page_type('enterprise')
if @enterprise_page.nil?
@enterprise_page = FirstPage.new
@enterprise_page.page_type = 'enterprise'
end
if @e_count < 9
part_count = 9 - @e_count
# @part_projects = find_all_hot_project part_count, order
@part_projects = find_miracle_project(part_count, 3,"score desc")
end
end
if @first_page.nil? || @first_page.sort_type.nil?
@projects = find_miracle_project(10, 3,"score desc")
else

@ -7,6 +7,7 @@ class ZipdownController < ApplicationController
SAVE_FOLDER = "#{Rails.root}/files"
OUTPUT_FOLDER = "#{Rails.root}/tmp/archiveZip"
def assort
if params[:obj_class] == "Bid"
bid = Bid.find params[:obj_id]

@ -1844,7 +1844,7 @@ module ApplicationHelper
users_link = link_to l(:label_software_user), {:controller => 'users', :action => 'index', :host => Setting.user_domain}
# contest_link = link_to l(:label_contest_innovate), {:controller => 'contests', :action => 'index'}
bids_link = link_to l(:label_requirement_enterprise), {:controller => 'bids', :action => 'index'}
forum_link = link_to l(:label_project_module_forums), {:controller => "forums", :action => "index"}
forum_link = link_to l(:label_forum_all), {:controller => "forums", :action => "index"}
stores_link = link_to l(:label_stores_index), {:controller => 'stores', :action=> 'index'}
school_all_school_link = link_to l(:label_school_all), {:controller => 'school', :action => 'index'}
@ -1963,6 +1963,15 @@ module ApplicationHelper
end
def get_technical_title user
#user.user_extensions.technical_title
if user.user_extensions.technical_title == "Professor" || user.user_extensions.technical_title == "教授"
technical_title = l(:label_technicl_title_professor)
elsif user.user_extensions.technical_title == "Associate professor" || user.user_extensions.technical_title == "副教授"
technical_title = l(:label_technicl_title_associate_professor)
elsif user.user_extensions.technical_title == "Lecturer" || user.user_extensions.technical_title == "讲师"
technical_title = l(:label_technicl_title_lecturer)
elsif user.user_extensions.technical_title == "Teaching assistant" || user.user_extensions.technical_title == "助教"
technical_title = l(:label_technicl_title_teaching_assistant)
end
technical_title
end
end

@ -119,4 +119,15 @@ module HomeworkAttachHelper
#end
ary
end
def get_student_batch_homework_list bid,user
student_batch_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT homework_attaches.*,
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 0) AS s_score,
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{User.current.id} AND is_teacher_score = 0) AS m_score
FROM homework_attaches
INNER JOIN homework_evaluations ON homework_evaluations.homework_attach_id = homework_attaches.id
WHERE homework_attaches.bid_id = #{bid.id} AND homework_evaluations.user_id = #{user.id} ORDER BY m_score DESC")
student_batch_homework_list
end
end

@ -0,0 +1,2 @@
module EnterprisesHelper
end

@ -314,38 +314,38 @@ module WelcomeHelper
str = '&nbsp;'.html_safe
case event.event_type
when 'news'
str << content_tag("span", "发表了") <<
str << content_tag("span", l(:field_user_active_published)) <<
content_tag("span", find_all_event_type(event)) <<
':&nbsp;'.html_safe <<
link_to(strip_tags(event.event_description).gsub(/&nbsp;/,''), event.event_url, {:title => event.event_description})
when 'issue', 'message' , 'bid' , 'wiki-page' , 'document'
str << content_tag("span", "发表了") <<
str << content_tag("span", l(:field_user_active_published)) <<
content_tag("span", find_all_event_type(event)) <<
':&nbsp;'.html_safe <<
link_to(event.event_title, event.event_url, {:title => event.event_title})
when 'reply' ,'Reply', 'Memo'
str << content_tag("span", "发表了") <<
content_tag("span", find_all_event_type(event)) <<
str << content_tag("span", l(:field_user_active_published)) <<
content_tag("span", find_all_event_type(event)) <<
':&nbsp;'.html_safe <<
link_to(strip_tags(event.event_description).gsub(/&nbsp;/,''), event.event_url, {:title => event.event_description})
when 'attachment'
str << content_tag('span', '上传了') <<
str << content_tag('span', l(:field_user_active_uploaded)) <<
content_tag('span', find_all_event_type(event)) <<
':&nbsp;'.html_safe <<
link_to(event.event_title, event.event_url, {:title => event.event_title}) <<
link_to(('&nbsp;['.html_safe+l(:label_downloads_list).to_s << ']'), project_files_path(event.container.project), :class => "attachments_list_color")
else
str << content_tag("span", "更新了") <<
str << content_tag("span", l(:field_user_active_updated)) <<
content_tag("span", find_all_event_type(event)) <<
':&nbsp;'.html_safe << link_to(event.event_title, event.event_url, {:title => event.event_title})
end
str
rescue Exception => e
str << content_tag("span", '未知内容')
str << content_tag("span", l(:field_user_active_unknow))
end
def show_event_reply event
str = "回复("
str = l(:field_active_reply)
case event.event_type
when 'news'
str << link_to( event.comments.count, news_path(event)) << ")"
@ -463,25 +463,25 @@ module WelcomeHelper
def find_all_event_type event
case event.event_type
when 'news'
'新闻'
l(:field_user_active_news)
when 'issue'
'缺陷'
l(:field_user_active_issue)
when 'attachment'
'附件'
l(:field_user_active_attachment)
when 'message'
'主题'
l(:field_user_active_message)
when 'Reply','reply'
'回复'
l(:field_user_active_reply)
when 'bid'
'作业'
l(:field_user_active_bid)
when 'Memo'
'主题'
l(:field_user_active_memo)
when 'document'
'文件'
l(:field_user_active_document)
when 'changeset'
'版本库'
l(:field_user_active_changeset)
when 'issue-note'
'问题说明'
l(:field_user_active_issue_note)
else
event.event_type
end

@ -6,7 +6,7 @@ class Course < ActiveRecord::Base
STATUS_CLOSED = 5
STATUS_ARCHIVED = 9
attr_accessible :code, :extra, :name, :state, :tea_id, :time , :location, :state, :term, :password,:is_public,:description,:class_period, :open_student
attr_accessible :code, :extra, :name, :state, :tea_id, :time , :location, :state, :term, :password,:is_public,:description,:class_period, :open_student, :enterprise_name
#belongs_to :project, :class_name => 'Course', :foreign_key => :extra, primary_key: :identifier
belongs_to :teacher, :class_name => 'User', :foreign_key => :tea_id # 定义一个方法teacher该方法通过tea_id来调用User表
belongs_to :school, :class_name => 'School', :foreign_key => :school_id #定义一个方法school该方法通过school_id来调用School表
@ -35,7 +35,7 @@ class Course < ActiveRecord::Base
acts_as_nested_set :order => 'name', :dependent => :destroy
acts_as_attachable :view_permission => :view_course_files,
:delete_permission => :manage_files
validates_presence_of :password, :term,:name
validates_format_of :class_period, :with =>/^[1-9]\d*$/
validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/

@ -12,8 +12,7 @@ class CourseGroup < ActiveRecord::Base
before_destroy :set_member_nil
attr_accessible :name
validates :name, :presence => true, :length => {:maximum => 20}
validate :unique_name_and_course
validates :name, :presence => true, :length => {:maximum => 20}, :uniqueness => { :scope => :course_id}
@ -22,10 +21,5 @@ class CourseGroup < ActiveRecord::Base
self.members.update_all("course_group_id = 0")
end
end
private
def unique_name_and_course
if CourseGroup.where("name=? and course_id=?", name, course_id).first
errors.add(:name, :groupname_repeat)
end
end
end

@ -114,9 +114,10 @@ class Project < ActiveRecord::Base
validates_presence_of :name, :identifier
validates_uniqueness_of :identifier
validates_uniqueness_of :name
validates_associated :repository, :wiki
# validates_length_of :description, :maximum => 255
validates_associated :wiki#, :repository
# validates_length_of :description, :maximum => 255
validates_length_of :name, :maximum => 255
validates_length_of :enterprise_name, :maximum => 255
validates_length_of :homepage, :maximum => 255
validates_length_of :identifier, :in => 1..IDENTIFIER_MAX_LENGTH
# donwcase letters, digits, dashes but not digits only
@ -763,7 +764,8 @@ class Project < ActiveRecord::Base
'issue_custom_field_ids',
'project_type',
'dts_test',
'attachmenttype'
'attachmenttype',
'enterprise_name'

@ -1,6 +1,7 @@
class CoursesService
include ApplicationHelper
include CoursesHelper
include HomeworkAttachHelper
#TODO:尚未整合权限系统
#参数school_id为0或不传时返回所有课程否则返回对应学校的课程
#参数per_page_count分页功能每页显示的课程数
@ -306,10 +307,8 @@ class CoursesService
bids = course.homeworks.order('deadline DESC')
bids = bids.like(params[:name]) if params[:name].present?
homeworks = []
if is_course_teacher(current_user,course)
bids.each do |bid|
homeworks << show_homework_info(course,bid)
end
bids.each do |bid|
homeworks << show_homework_info(course,bid,current_user,is_course_teacher(current_user,course))
end
homeworks
else
@ -318,7 +317,7 @@ class CoursesService
end
private
def show_homework_info course,bid
def show_homework_info course,bid,current_user,is_course_teacher
author = bid.author.lastname + bid.author.firstname
many_times = course.homeworks.index(bid) + 1
name = bid.name
@ -327,8 +326,27 @@ class CoursesService
description = bid.description
#if is_course_teacher(User.current, course) && @bid.open_anonymous_evaluation == 1 && @bid.homeworks.count >= 2
state = bid.comment_status
unless is_course_teacher
homework_for_anonymous_comments = get_student_batch_homework_list bid,current_user
end
#end
open_anonymous_evaluation = bid.open_anonymous_evaluation
{:course_name => course.name,:id => bid.id, :course_teacher => author, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count,
:description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation,:homework_for_anonymous_comments => homework_for_anonymous_comments}
end
#显示作业列表的同时显示分配给当前学生匿评的作业
def show_homework_info_with_batch course,bid
author = bid.author.lastname + bid.author.firstname
many_times = course.homeworks.index(bid) + 1
name = bid.name
homework_count = bid.homeworks.count #已提交的作业数量
student_questions_count = bid.commit.nil? ? 0 : bid.commit
description = bid.description
#if is_course_teacher(User.current, course) && @bid.open_anonymous_evaluation == 1 && @bid.homeworks.count >= 2
state = bid.comment_status
#end
open_anonymous_evaluation = bid.open_anonymous_evaluation
{:course_name => course.name,:id => bid.id, :course_teacher => author, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count,
:description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation}
end

@ -1,7 +1,7 @@
<head>
<meta charset="utf-8">
<title>注册帐号</title>
<title><%= l(:label_regiter_account)%></title>
<style type="text/css">
#jihuo {
background-image: url("/images/jingtanhao.JPG");
@ -14,15 +14,15 @@
<div style="border: 1px solid #c0c0c0 ; width:850px; margin-top: 10px" >
<h3 style=" padding-bottom: 8px; margin-top:5px; border-bottom: 1px solid #c0c0c0;color:black; ">
<span id = "jihuo" style=" margin-left: 4%;"></span>邮箱激活</h3>
<span id = "jihuo" style=" margin-left: 4%;"></span><%= l(:label_email_valid)%></h3>
<div style="margin-left:auto; margin-right:auto">
<center>
<div >
<h4 style="font-size: 18px;margin-top: 10px; padding-bottom: 10px;">请在24小时内点击邮件中的链接继续完成注册</h4>
<h4 style="font-size: 18px;margin-top: 10px; padding-bottom: 10px;"><%= l(:notice_email_register_time)%></h4>
<div class="to-email" style="padding-bottom: 8px; font-size: 14px">
<div class="to-email" style="padding-bottom: 8px; font-size: 14px">
<span >邮件已发送到邮箱</span>
<span ><%= l(:notice_email_arrival)%></span>
<a href="#" class="f-blue"><%= @user.mail %></a>
</div>
<p>
@ -32,7 +32,7 @@
border: none;
padding: 10px 16px;
line-height: 1.33;" target="_blank">立即查收邮件</a>
line-height: 1.33;" target="_blank"><%= l(:label_check_email)%></a>
&nbsp; &nbsp; <%= link_to l(:label_mail_resend), { :controller => 'account', :action => 'resendmail',:user => @user}, :remote => true, :method => 'get' %>
</p>

@ -3,7 +3,7 @@
@nav_dispaly_main_project_label = 1
@nav_dispaly_main_contest_label = 1 %>
<% @nav_dispaly_forum_label = 1%>
<h3><%=l(:label_password_lost)%></h3>
<h3><%=l(:label_password_forget)%></h3>
<%= form_tag(lost_password_path) do %>
<div class="box tabular">

@ -4,5 +4,6 @@
<li><%= link_to l(:label_course_first_page), {:action => 'course_page_made'}, class: "#{current_page?(course_page_made_path)? 'selected' : nil }" %></li>
<li><%= link_to l(:label_contest_first_page), {:action => 'contest_page_made'}, class: "#{current_page?(contest_page_made_path)? 'selected' : nil }" %></li>
<li><%= link_to l(:label_web_footer_page), {:action => 'web_footer_made'}, class: "#{current_page?(web_footer_made_path)? 'selected' : nil }" %></li>
<li><%= link_to l(:label_enterprise_page_made), {:action => 'enterprise_page_made'}, class: "#{current_page?(enterprise_page_made_path)? 'selected' : nil }" %></li>
</ul>
</div>

@ -0,0 +1,39 @@
<h3><%=l(:label_first_page_made)%></h3>
<%= form_tag(:controller => 'admin', :action => 'enterprise_page_made') do %>
<p style="margin-left:60px;padding-right: 20px;">
<label for='web_title'><%= l(:label_web_title) %>:</label>
<%= text_field_tag 'web_title', params[:wbe_title],:value => @first_page.web_title, :size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
</p>
<%= render 'tab_partial' %>
<h4><%=l(:label_enterprise_page_made)%></h4>
<p style="margin-left:60px;padding-right: 20px;">
<label for='attachments_fields'>&nbsp;&nbsp;&nbsp;<%= l(:label_site_image) %>:</label>
</p>
<div style="margin-left: 82px;" id="avatar">
<%= render :partial=>"avatar/avatar_form",:style => "display:inline",:locals=> {source:@enterprise_page} %>
</div>
<p style="margin-left:60px;padding-right: 20px;">
<label for='image_width' style="vertical-align: top">&nbsp;&nbsp;&nbsp;<%= l(:label_image_width)%>:</label>
<%= text_field_tag 'image_width', params[:label_image_width],:value => @enterprise_page.image_width,:size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
</p>
<p style="margin-left:60px;padding-right: 20px;">
<label for='image_height' style="vertical-align: top">&nbsp;&nbsp;&nbsp;<%= l(:label_imgae_height)%>:</label>
<%= text_field_tag 'image_height', params[:label_imgae_height], :value => @enterprise_page.image_height,:size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
</p>
<p style="margin-left:60px;padding-right: 20px;">
<label for='course_title'>&nbsp;&nbsp;&nbsp;<%= l(:label_site_title) %>:</label>
<%= text_field_tag 'course_title', params[:label_site_title], :value => @enterprise_page.title,:size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
</p>
<p style="margin-left:60px;padding-right: 20px;">
<label for='course_description' style="vertical-align: top">&nbsp;&nbsp;&nbsp;<%= l(:label_site_description)%>:</label>
<%= text_area_tag 'course_description',@enterprise_page.description,:rows => 8, :size => 30,:style => "font-size:small;width:490px;margin-left:10px;" %>
</p>
<%= submit_tag l(:button_save), :class => "small", :name => nil %>
<% end %>
<div>
</div>

@ -4,6 +4,8 @@
alert("请勿重复申请加入该项目");
<% elsif @status == 2%>
alert("申请成功");
<% elsif @status == 3%>
alert("您已加入该项目");
<%else%>
alert("申请失败");
<%end%>

@ -136,34 +136,35 @@
<% else %>
<span style="color: red"><%= l(:label_noawards_current) %></span>
<% end %>
<% else %>
<% case get_prize(c_project) %>
<% when '-1' %>
<%= image_tag("/images/bid/special_reward.png") %>
<% when '0' %>
<%= image_tag("/images/bid/first_reward.png") %>
<% when '1' %>
<%= image_tag("/images/bid/second_reward.png") %>
<% when '2' %>
<%= image_tag("/images/bid/third_reward.png") %>
<% when '3' %>
<%= image_tag("/images/bid/forth_reward.png") %>
<% when '4' %>
<%= image_tag("/images/bid/fifth_reward.png") %>
<% when '5' %>
<%= image_tag("/images/bid/qualified.png") %>
<% end %>
<% end %>
<% else %>
<% case get_prize(c_project) %>
<% when '-1' %>
<%= image_tag("/images/bid/special_reward.png") %>
<% when '0' %>
<%= image_tag("/images/bid/first_reward.png") %>
<% when '1' %>
<%= image_tag("/images/bid/second_reward.png") %>
<% when '2' %>
<%= image_tag("/images/bid/third_reward.png") %>
<% when '3' %>
<%= image_tag("/images/bid/forth_reward.png") %>
<% when '4' %>
<%= image_tag("/images/bid/fifth_reward.png") %>
<% when '5' %>
<%= image_tag("/images/bid/qualified.png") %>
<% end %>
<% end %>
</span>
</strong>
</td>
<!-- 评价显隐控制按钮-->
<% if ((User.current.id == @contest.author_id) && (@contest.deadline > Date.today))||User.current.admin %>
<% if ((User.current.id == @contest.author_id) && (@contest.deadline >= Date.today))||User.current.admin %>
<td valign="top" align="right" width="10%">
<span> <%= toggle_link l(:label_reward), c_project.id.to_s %></span>
<!-- 评价应标项目的表单 -->
<span style="display: none; vertical-align: top " id='<%= c_project.id %>'>
<span style="display: none; vertical-align: top " id='<%= c_project.id %>'>
<%= form_for "set_reward_project", :remote => true, :url => set_reward_project_contest_path do |f| %>
<%= f.text_field :c_id, :style => "display:none", :value => c_project.id, :size => "0" %>
<%= f.select :reward, "<option value = '-1'>#{l(:label_special_reward)}</option>
@ -176,8 +177,9 @@
<%= f.submit :value => l(:button_submit), :class => "submit" %>
<% end %>
</span>
</td>
<% end %>
</td>
<% end %>
</div>
</div>
</div>
@ -282,7 +284,7 @@
</td>
<!-- 评价显隐控制按钮-->
<% if ((User.current.id == @contest.author_id) && (@contest.deadline > Date.today))||User.current.admin %>
<% if ((User.current.id == @contest.author_id) && (@contest.deadline >= Date.today))||User.current.admin %>
<div style="text-align: right;width: 100%;">
<span style="padding-right: 5px; padding-top: 1px"> <%= toggle_link '评奖', c_softapplication.id.to_s %></span>
<!-- 评价应标项目的表单 -->

@ -90,7 +90,7 @@
</td>
</tr>
<tr>
<td class="font_lighter" style="float: right">
<td class="font_lighter" >
<%= l :label_create_time %>:
<%= format_time(@course.created_at) %>
</table>

@ -37,7 +37,7 @@
</head>
<body>
<div class="container">
<div class="container" id="content">
<div class="Newwork">
<div id="tb_" class="tb_">
<ul>
@ -75,7 +75,6 @@
<%= f.text_area :description, :rows => 8, :name => "homework_description", :class => "w620",
:maxlength => 3000, :placeholder => "最多3000个汉字" %>
</p>
<div class="cl"></div>
<p>
<label style="float: left;">
&nbsp;&nbsp;&nbsp;添加附件&nbsp;&nbsp;&nbsp;&nbsp;

@ -37,7 +37,7 @@
function submit_homework_form(){if(regexName()&&regexDescription()){$('#new_homework_attach').submit();}}
</script>
<div class="container">
<div class="container" id="content">
<div class="Newwork">
<div id="tb_" class="tb_">
<ul>
@ -82,9 +82,6 @@
<br />
<span id="homework_attach_description_span" style="padding-left: 100px;"></span>
</p>
<br/> <span id="homework_attach_description_span" style="padding-left: 100px;"></span>
</p>
<div class="cl"></div>
<p>
<label style="float: left;">
&nbsp;&nbsp;&nbsp;添加附件&nbsp;&nbsp;&nbsp;&nbsp;

@ -1,11 +1,11 @@
<%# Link to the "First" page
- available local variables
url: url to the first page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.first?, l('views.pagination.first').html_safe, url, :remote => remote %>
<%# Link to the "First" page
- available local variables
url: url to the first page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.first?, l('views.pagination.first').html_safe, url, :remote => remote %>

@ -1,8 +1,8 @@
<%# Non-link tag that stands for skipped pages...
- available local variables
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%# Non-link tag that stands for skipped pages...
- available local variables
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>

@ -1,11 +1,11 @@
<%# Link to the "Last" page
- available local variables
url: url to the last page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.last?, t('views.pagination.last').html_safe, url, :remote => remote %>
<%# Link to the "Last" page
- available local variables
url: url to the last page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.last?, t('views.pagination.last').html_safe, url, :remote => remote %>

@ -1,11 +1,11 @@
<%# Link to the "Next" page
- available local variables
url: url to the next page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.last?, t('views.pagination.next').html_safe, url, :rel => 'next', :remote => remote %>
<%# Link to the "Next" page
- available local variables
url: url to the next page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.last?, t('views.pagination.next').html_safe, url, :rel => 'next', :remote => remote %>

@ -1,13 +1,13 @@
<%# Link showing page number
- available local variables
page: a page object for "this" page
url: url to this page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
<%= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}
-%>
<%= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} %>
<%# Link showing page number
- available local variables
page: a page object for "this" page
url: url to this page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
<%= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}
-%>
<%= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil} %>

@ -1,23 +1,23 @@
<%# The container tag
- available local variables
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
paginator: the paginator that renders the pagination tags inside
-%>
<%= paginator.render do -%>
<div class="pagination">
<%= first_page_tag unless current_page.first? %>
<%= prev_page_tag unless current_page.first? %>
<% each_page do |page| -%>
<% if page.left_outer? || page.right_outer? || page.inside_window? -%>
<%= page_tag page %>
<% elsif !page.was_truncated? -%>
<%= gap_tag %>
<% end -%>
<% end -%>
<%= next_page_tag unless current_page.last? %>
<%= last_page_tag unless current_page.last? %>
</div>
<% end -%>
<%# The container tag
- available local variables
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
paginator: the paginator that renders the pagination tags inside
-%>
<%= paginator.render do -%>
<div class="pagination">
<%= first_page_tag unless current_page.first? %>
<%= prev_page_tag unless current_page.first? %>
<% each_page do |page| -%>
<% if page.left_outer? || page.right_outer? || page.inside_window? -%>
<%= page_tag page %>
<% elsif !page.was_truncated? -%>
<%= gap_tag %>
<% end -%>
<% end -%>
<%= next_page_tag unless current_page.last? %>
<%= last_page_tag unless current_page.last? %>
</div>
<% end -%>

@ -1,11 +1,11 @@
<%# Link to the "Previous" page
- available local variables
url: url to the previous page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.first?, t('views.pagination.previous').html_safe, url, :rel => 'prev', :remote => remote %>
<%# Link to the "Previous" page
- available local variables
url: url to the previous page
current_page: a page object for the currently displayed page
total_pages: total number of pages
per_page: number of items to fetch per page
remote: data-remote
-%>
<%= link_to_unless current_page.first?, t('views.pagination.previous').html_safe, url, :rel => 'prev', :remote => remote %>

@ -8,7 +8,7 @@
html{ overflow-x:hidden;}
.custom_service p img {display: inline; margin-top:-5px; vertical-align:middle;}
.scrollsidebar{position:absolute; z-index:999; top:150px;}
.scrollsidebar{position:absolute; z-index:999; top:150px;background:none !important;}
.side_content{width:154px; height:auto; overflow:hidden; float:left; }
.side_content .side_list {width:154px;overflow:hidden;}
.show_btn{ width:0; height:112px; overflow:hidden; margin-top:50px; float:left; cursor:pointer;}

@ -9,12 +9,12 @@
<p>
<% if @organizer.nil? %>
<p>
<span>主办单位</span>
<span class="footer_text_link"><a target="_blank" href="http://www.nudt.edu.cn/ArticleShow.asp?ID=47">国防科学技术大学并行与分布处理国家重点实验室</a></span>
<span class="footer_text_link"><a target="_blank" href="http://www.nudt.edu.cn/ArticleShow.asp?ID=41">计算机科学与技术系</a></span>
<span id="copyright">版权©2007~2014</span>
<span class="footer_text_link" id="contact_us"><a target="_blank" href="http://forge.trustie.net/projects/2/member">联系我们</a></span>
<span class="footer_text_link" id="record"><a target="_blank" href="http://www.miibeian.gov.cn/">湘ICP备09019772</a></span>
<span><%= l(:label_hosted_organization) %></span>
<span class="footer_text_link"><a target="_blank" href="http://www.nudt.edu.cn/ArticleShow.asp?ID=47"><%= l(:label_hosted_by) %></a></span>
<span class="footer_text_link"><a target="_blank" href="http://www.nudt.edu.cn/ArticleShow.asp?ID=41"><%= l(:label_sponsor) %></a></span>
<span id="copyright"><%= l(:label_rights_reserved)%></span>
<span class="footer_text_link" id="contact_us"><a target="_blank" href="http://forge.trustie.net/projects/2/member"><%= l(:label_contact_us) %></a></span>
<span class="footer_text_link" id="record"><a target="_blank" href="http://www.miibeian.gov.cn/"><%= l(:label_license) %></a></span>
</p>
<% else %>
<%= @organizer.description.html_safe %>
@ -22,11 +22,11 @@
</p>
<div id="logo_link">
<% if @companies.nil? || @companies.count == 0 %>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/nudt.png',:size=>'100x30',:alt=>"国防科学技术大学计算机学院"),"http://www.nudt.edu.cn/special.asp?classid=12", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/peking_eecs.png',:size=>'100x30',:alt=>"北京大学信息科学技术学院软件研究所"), "http://eecs.pku.edu.cn", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/buaa_scse.png',:size=>'100x30',:alt=>"北京航空航天大学计算机学院"), "http://scse.buaa.edu.cn/", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/iscas.png',:size=>'100x30',:alt=>"中国科学院软件研究所"), "http://www.iscas.ac.cn", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/inforbus.png',:size=>'100x30',:alt=>"山东中创软件商用中间件股份有限公司"), "http://www.inforbus.com", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/nudt.png',:size=>'100x30',:alt=>l(:label_co_organizer_NUDT)),"http://www.nudt.edu.cn/special.asp?classid=12", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/peking_eecs.png',:size=>'100x30',:alt=>l(:label_co_organizer_EECS)), "http://eecs.pku.edu.cn", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/buaa_scse.png',:size=>'100x30',:alt=>l(:label_co_organizer_BHU)), "http://scse.buaa.edu.cn/", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/iscas.png',:size=>'100x30',:alt=>l(:label_co_organizer_CAS)), "http://www.iscas.ac.cn", :target => "_blank" %></span>
<span class="footer_logo_link"><%= link_to image_tag('/images/footer_logo/inforbus.png',:size=>'100x30',:alt=>l(:label_co_organizer_InforS)), "http://www.inforbus.com", :target => "_blank" %></span>
<% else %>
<% @companies && @companies.each do |company| %>
<span class="footer_logo_link"><%= link_to image_tag(url_to_avatar(company),:size=>"100x30",:alt=>company.name),company.url, :target => "_blank" %></span>

@ -2,14 +2,14 @@
<div id="footer" class="muted ">
<div style="border-top:solid 1px #C6E9F1;"></div>
<div class="desc center block-inline">
主办单位:
<%= link_to "国防科学技术大学并行与分布处理国家重点实验室","http://www.nudt.edu.cn/ArticleShow.asp?ID=47"%>
<%= link_to "计算机科学与技术系", "http://www.nudt.edu.cn/ArticleShow.asp?ID=41"%>
<%= link_to "联系我们","http://" + Setting.host_name + "/projects/2/member"%>
<%= link_to "湘ICP备09019772","http://www.miibeian.gov.cn/"%>
<%= l(:label_hosted_organization)%>
<%= link_to l(:label_hosted_by),"http://www.nudt.edu.cn/ArticleShow.asp?ID=47"%>
<%= link_to l(:label_sponsor), "http://www.nudt.edu.cn/ArticleShow.asp?ID=41"%>
<%= link_to l(:label_contact_us),"http://" + Setting.host_name + "/projects/2/member"%>
<%= link_to l(:label_license),"http://www.miibeian.gov.cn/"%>
</div>
<div class="center">
2007~2014
<%= l(:label_rights_reserved)%>
</div>
<%= footer_logo("center ul-style-none", "float-left") %>

@ -31,6 +31,7 @@
text-align: center;
padding-left: 5px !important;
padding-right: 5px !important;
line-height: 1.9;
}
.span_wping a:hover{ background-color:#03a1b3;}
</style>

@ -36,13 +36,41 @@
<td class="info_font" style="width: 240px; color: #15bccf">软件项目托管社区</td>
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
<td rowspan="2" width="250px">
<div class="top-content-search" style="display:none">
<%= form_tag(projects_search_path, :method => :get) do %>
<%= text_field_tag 'name', params[:name], :size => 20 %>
<%= hidden_field_tag 'project_type', params[:project_type] %>
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
<% end %>
</div>
<div class="top-content-search">
<script type="text/javascript">
function regexName()
{
var name = $.trim($("#name").val());
if(name.length == 0)
{
$("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>");
$("#project_name_span").css('color','#ff0000');
$("#project_name_span").focus();
return false;
}
else
{
$("#project_name_span").text("");
return true;
}
}
function submitSerch()
{
if(regexName()){$("#project_search_form").submit();}
}
</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] %>
<%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
<a href="#" onclick="submitSerch();" class="ButtonColor m3p10" style="float:left;padding-top: 3px; margin: 0px;padding-bottom:0px;" >
<%= l(:label_search)%>
</a>
<br />
<span id="project_name_span" style="float: left"></span>
<% end %>
</div>
</td>
</tr>
<tr>

@ -80,6 +80,7 @@
<%=link_to l(:field_homepage), home_path %> >
<a href="http://<%= Setting.host_contest %>" class="link_other_item">
<%=l(:label_contests_management_platform)%>
</a> >
<span title="<%= @contest.name%>">
<%= link_to h(truncate(@contest.name, length: 20, omission: '...')), contest_contestnotifications_path(@contest) %>

@ -21,8 +21,6 @@
<%= call_hook :view_layouts_base_html_head %>
<!-- page specific tags -->
<%= yield :header_tags -%>
<% title1 = @user.user_extensions.technical_title %>
<% language1 = @user.language %>
<script type="text/javascript">
function startXMLHttp()
@ -39,59 +37,11 @@
{
setInterval("startXMLHttp()",5000);
}
function init_title() {
var title = "<%= "#{title1}" %>"
var language = "<%= "#{language1}" %>"
if(language == 'zh') {
switch (title) {
case 'Professor' :
title1 = '教授';
break;
case 'Associate professor' :
title1 = '副教授';
break;
case 'Lecturer' :
title1 = '讲师';
break;
case 'Teaching assistant' :
title1 = '助教';
break;
default :
title1 = title;
break;
}
}
else {
switch (title) {
case '教授' :
title1 = 'Professor';
break;
case '副教授' :
title1 = 'Associate professor';
break;
case '讲师' :
title1 = 'Lecturer';
break;
case '助教' :
title1 = 'Teaching assistant';
break;
default :
title1 = title;
break;
}
}
var obj = document.getElementById('td_tech_title');
if(!(obj == "undefined" || obj == null))
{
obj.innerHTML = title1;
}
}
</script>
</head>
<!--加上 onload="Javascript:t()" 开始定时刷新分数 -->
<body class="<%= h body_css_classes %>" onload="init_title()" >
<body class="<%= h body_css_classes %>">
<div id="wrapper">
<div id="wrapper2">
<div id="wrapper3">
@ -283,10 +233,14 @@
<tr>
<% if @user.user_extensions.identity == 0 %>
<td style=" float: right" width="70px" >
<span style="float: right"> <%= l(:label_technical_title) %></span>
<span style="float: right">
<%= l(:label_technical_title) %>
</span>
</td>
<td class="font_lighter_sidebar" style="padding-left: 0px" width="170px">
<span id = "td_tech_title"></span>
<span id = "td_tech_title">
<%= get_technical_title @user %>
</span>
</td>
<% end %>
</tr>

@ -12,7 +12,11 @@ hideOnLoad();
$("#member-<%= member.id %>").effect("highlight");
<% end %>
<% else %>
<% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %>
alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>');
<% if @members %>
<% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ')%>
alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors || ''))) %>');
<% else%>
// alert('');
<% end%>
<% end %>
<% end %>

@ -3,12 +3,25 @@
<%= @project ? l(:label_news_new) : l(:bale_news_notice) %>
</div>
<div class="box tabular">
<p><%= f.text_field :title, :required => true, :size => 60, :style => "width:488px;", :onkeyup => "regexTitle();" %></p>
<P><span id="title_notice_span">(60个字符以内)</span></P>
<p>
<%= f.text_field :title, :required => true, :size => 60, :style => "width:488px;", :onkeyup => "regexTitle();" %>
</p>
<P>
<span id="title_notice_span">(60个字符以内)</span>
</P>
<!-- <p style="margin-left:-10px;"><%#= f.text_area :summary, :cols => 60, :rows => 2, :style => "width:490px;margin-left:10px;" %></p> -->
<p><%= f.text_area :description, :required => true, :cols => 60, :rows => 11, :class => 'wiki-edit', :style => "width:490px;", :onkeyup => "regexDescription();" %></p>
<P><span id="description_notice_span"></span></P>
<p id="attachments_form" style="margin-left:-10px;"><label style="padding-right: 15px;"><%= l(:label_attachment_plural) %></label><%= render :partial => 'attachments/form', :locals => {:container => @news} %></p>
<p>
<%= f.text_area :description, :required => true, :cols => 60, :rows => 11, :class => 'wiki-edit', :style => "width:490px;", :onkeyup => "regexDescription();" %>
</p>
<P>
<span id="description_notice_span"></span>
</P>
<p id="attachments_form" style="margin-left:-10px;">
<label style="padding-right: 15px;">
<%= l(:label_attachment_plural) %>
</label>
<%= render :partial => 'attachments/form', :locals => {:container => @news} %>
</p>
</div>
<%= wikitoolbar_for 'news_description' %>

@ -83,7 +83,7 @@
<%= render :partial => 'news/form', :locals => {:f => f} %>
<%#= submit_tag l(:button_create), :class => 'whiteButton m3p10 h30', :name => nil %><!-- button-submit -->
<%= link_to l(:button_create), "#", :onclick => 'submitNews();',:onmouseover => 'submitFocus(this);', :class => 'ButtonColor m3p10' %>
|
<%#= preview_link preview_news_path(:project_id => @project), 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()', :class => 'ButtonColor m3p10' %>

@ -0,0 +1,23 @@
<title><%= l(:label_all_enterprises) %></title>
<div class="content_syqy">
<div class="list"><%= l(:label_all_enterprises) %></div>
<div class="syqy_box">
<% if @projects.count == 0 %>
<h3><%= l(:label_enterprise_nil) %></h3>
<% else %>
<% @projects.each do |project| %>
<% unless project.enterprise_name.blank? %>
<ul>
<li ><img src="/images/organization_logo.jpg" width="30" height="30" alt="#{project.enterprise_name}" />
<%= link_to project.enterprise_name, home_path(:project => project) %></li>
</ul>
<% end %>
<% end %>
<% end %>
</div>
</div>
<div style="clear: both"></div>
<div class="school-index">
<ul id="schoollist" style="line-height: 25px"></ul>
</div>
<% html_title(l(:label_enterprise_all)) -%>

@ -39,7 +39,7 @@
</ul>
</div>
<div class="ur_editor_footer">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="edit_poll_question($(this),<%= poll_question.id %>);">
<%= l(:label_button_ok)%>
</a>
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">

@ -36,7 +36,7 @@
</ul>
</div>
<div class="ur_editor_footer">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="edit_poll_question($(this),<%= poll_question.id %>);">
<%= l(:label_button_ok)%>
</a>
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">

@ -20,7 +20,7 @@
<!--<label>高 <input name="rows" type="number" min="1" value="5"> 行</label>-->
</div>
<div class="ur_editor_footer">
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn_submit" data-button="ok" onclick="edit_poll_question($(this),<%= poll_question.id %>);">
<%= l(:label_button_ok)%>
</a>
<a class="btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">

@ -16,7 +16,7 @@
<label for="ur_question_require">必答</label>
</div>
<div class="ur_editor_footer">
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn_submit" data-button="ok" onclick="edit_poll_question($(this),<%= poll_question.id %>);">
<%= l(:label_button_ok)%>
</a>
<a class="btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">

@ -34,7 +34,7 @@
</ul>
</div>
<div class="ur_editor_footer">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="add_poll_question($(this));">
<%= l(:label_button_ok)%>
</a>
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">

@ -33,7 +33,7 @@
</ul>
</div>
<div class="ur_editor_footer">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn btn_dark btn_submit" data-button="ok" onclick="add_poll_question($(this));">
<%= l(:label_button_ok)%>
</a>
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">

@ -13,7 +13,7 @@
<!--<label>高 <input name="rows" type="number" min="1" value="5"> 行</label>-->
</div>
<div class="ur_editor_footer">
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn_submit" data-button="ok" onclick="add_poll_question($(this));">
<%= l(:label_button_ok)%>
</a>
<a class="btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">

@ -8,7 +8,7 @@
<label for="ur_question_require">必答</label>
</div>
<div class="ur_editor_footer">
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
<a class="btn_submit" data-button="ok" onclick="add_poll_question($(this));">
<%= l(:label_button_ok)%>
</a>
<a class="btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">

@ -22,9 +22,9 @@
<% end %>
<%if @is_teacher%>
<% if poll.polls_status == 1 || poll.polls_status == 3 %>
<% if poll.polls_status == 1%>
<li class="pollsbtn fl ml10 pollsbtn_grey">统计结果</li>
<% elsif poll.polls_status == 2%>
<% elsif poll.polls_status == 2 || poll.polls_status == 3 %>
<li>
<%= link_to l(:label_statistical_results), statistics_result_poll_path(poll.id), :class => "pollsbtn fl ml10"%>
</li>

@ -23,6 +23,20 @@
$("#new_poll_question").html("<%= escape_javascript(render :partial => 'new_mulit') %>");
$("#poll_questions_title").focus();
}
//添加标题时确定按钮
function add_poll_question(doc)
{
var title = $.trim($("#poll_questions_title").val());
if(title.length == 0){alert("标题不能为空");}else{doc.parent().parent().parent().submit();}
}
//修改标题时确定按钮
function edit_poll_question(doc,id)
{
var title = $.trim($("#poll_questions_title_" + id).val());
if(title.length == 0){alert("标题不能为空");}else{doc.parent().parent().parent().submit();}
}
//问卷头
function pollsCancel(){$("#polls_head_edit").hide();$("#polls_head_show").show();}
function pollsSubmit(doc){

@ -0,0 +1,22 @@
<div class="polls_head">
<h2>所有问卷
<span><%= @obj_count%></span>
</h2>
<% if @is_teacher%>
<%= link_to l(:label_new_poll), new_poll_path(:polls_type => "Course",:polls_group_id => @course.id), :class => "newbtn" %>
<% end%>
</div>
<div class="cl"></div>
<div class="polls_list">
<% @polls.each do |poll|%>
<ul id="polls_<%= poll.id %>">
<%= render :partial => 'poll', :locals => {:poll => poll} %>
</ul>
<div class="cl"></div>
<% end%>
<ul class="wlist">
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
</ul>
<div class="cl"></div>
</div><!--列表end-->

@ -1,4 +1 @@
<% if @poll%>
$("#polls_<%= @poll.id%>").remove();
<%else%>
<% end %>
$("#polls").html("<%= escape_javascript(render :partial => 'poll_list') %>");

@ -82,27 +82,5 @@
}
</script>
<div class="polls_content" id="polls" style="width:677px;">
<div class="polls_head">
<h2>所有问卷
<span><%= @obj_count%></span>
</h2>
<% if @is_teacher%>
<%= link_to l(:label_new_poll), new_poll_path(:polls_type => "Course",:polls_group_id => @course.id), :class => "newbtn" %>
<% end%>
</div>
<div class="cl"></div>
<div class="polls_list">
<% @polls.each do |poll|%>
<ul id="polls_<%= poll.id %>">
<%= render :partial => 'poll', :locals => {:poll => poll} %>
</ul>
<div class="cl"></div>
<% end%>
<ul class="wlist">
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
</ul>
<div class="cl"></div>
</div><!--列表end-->
<%= render :partial => 'poll_list'%>
</div><!--问卷内容end-->

@ -8,7 +8,7 @@
<p style="padding-right: 20px;">
<%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;" %>
</p><!--by young-->
<p><%= f.text_field :enterprise_name, :size => 60, :style => "width:490px;" %></p>
<p style="display: none" ><%= f.text_field :identifier, :required => true, :size => 60, :style => "width:488px;", :disabled => @project.identifier_frozen?, :maxlength => Project::IDENTIFIER_MAX_LENGTH,
value:"#{User.current.id.to_s + '_' +Time.now.to_s.gsub(' ','_').gsub(':','').gsub('+','')}" %>
<% unless @project.identifier_frozen? %>

@ -1,94 +1,133 @@
<% @nav_dispaly_project_label = 1
@nav_dispaly_forum_label = 1 %>
<% content_for :header_tags do %>
<%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %>
<% end %>
<div class="top-content">
<%= form_tag(projects_search_path, :method => :get) do %>
<% if params[:project_type] == "1" %>
<table width="940px">
<tr>
<td class="info_font" style="width: 220px; color: #15bccf"><%= l(:label_course_practice) %></td>
<td class="location-list"><strong><%= l(:label_user_location) %> :</strong></td>
<td rowspan="2" valign="bottom">
<% if User.current.logged?%>
<% if User.current.user_extensions.identity == 0 %>
<%= link_to(l(:label_course_new), {:controller => 'projects', :action => 'new', :course => 1, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %></td>
<% end %>
<% end %>
</td>
<td rowspan="2" >
<div class="project-search" style="float: right">
<%= text_field_tag 'name', params[:name], :size => 30 %>
<%= hidden_field_tag 'project_type', params[:project_type] %>
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
</div>
</td>
</tr>
<tr>
<td style="padding-left: 8px"><a><%= link_to request.host() + "/projects", :controller => 'projects', :action => 'course', :project_type => 1 %> </a></td>
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_course_practice), :controller => 'projects', :action => 'course', :project_type => 1 %></td>
</tr>
</table>
<% else %>
<table width="940px">
<tr>
<td class="info_font" style="width: 220px; color: #15bccf"><%= l(:label_project_deposit) %></td>
<td class="location-list"><strong><%= l(:label_user_location) %> :</strong></td>
<td rowspan="2" valign="bottom">
<% if User.current.logged? %>
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new', :course => 0, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
<% end %>
</td>
<td rowspan="2" >
<div class="project-search" style="float: right">
<%= text_field_tag 'name', params[:name], :size => 30 %>
<%= hidden_field_tag 'project_type', params[:project_type] %>
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
</div>
</td>
</tr>
<tr>
<td style="padding-left: 8px"><a><%= link_to request.host()+"/projects", :controller => 'projects', :action => 'index', :project_type => 0 %> </a></td>
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_project_deposit), :controller => 'projects', :action => 'index', :project_type => 0 %></td>
</tr>
</table>
<% end %>
<% end %>
</div>
<% if @projects.size == 0 %>
<%= render :partial => 'layouts/no_content'%>
<% else %>
<div id="projects-index">
<%= render_project_hierarchy(@projects)%>
</div>
<% end %>
<%= paginate @project_pages %>
<% if User.current.logged? %>
<p style="text-align:right;">
<span class="my-project"><%= l(:label_my_projects) %></span>
</p>
<% end %>
<% other_formats_links do |f| %>
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
<% end %>
<% content_for :sidebar do %>
<%= form_tag({}, :method => :get) do %>
<h3><%= l(:label_project_plural) %></h3>
<label for="closed"><%= check_box_tag 'closed', 1, params[:closed] %> <%= l(:label_show_closed_projects) %></label>
<p>
<%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %>
</p>
<% end %>
<% end %>
<% html_title(l(:label_project_plural)) -%>
<% @nav_dispaly_project_label = 1
@nav_dispaly_forum_label = 1 %>
<% content_for :header_tags do %>
<%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %>
<% end %>
<div class="top-content">
<%= form_tag(projects_search_path, :method => :get, :id => "project_search_form") do %>
<% if params[:project_type] == "1" %>
<table width="940px">
<tr>
<td class="info_font" style="width: 220px; color: #15bccf"><%= l(:label_course_practice) %></td>
<td class="location-list"><strong><%= l(:label_user_location) %> :</strong></td>
<td rowspan="2" valign="bottom">
<% if User.current.logged?%>
<% if User.current.user_extensions.identity == 0 %>
<%= link_to(l(:label_course_new), {:controller => 'projects', :action => 'new', :course => 1, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %></td>
<% end %>
<% end %>
</td>
<td rowspan="2" >
<div class="project-search" style="float: right">
<%= text_field_tag 'name', params[:name], :size => 30 %>
<%= hidden_field_tag 'project_type', params[:project_type] %>
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
</div>
</td>
</tr>
<tr>
<td style="padding-left: 8px"><a><%= link_to request.host() + "/projects", :controller => 'projects', :action => 'course', :project_type => 1 %> </a></td>
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_course_practice), :controller => 'projects', :action => 'course', :project_type => 1 %></td>
</tr>
</table>
<% else %>
<table width="940px">
<tr>
<td class="info_font" style="width: 220px; color: #15bccf">
<%= l(:label_project_deposit) %>
</td>
<td class="location-list">
<strong><%= l(:label_user_location) %> :</strong>
</td>
<td rowspan="2" valign="bottom">
<% if User.current.logged? %>
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new', :course => 0, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
<% end %>
</td>
<td rowspan="2" >
<script type="text/javascript">
function regexName()
{
var name = $.trim($("#name").val());
if(name.length == 0)
{
$("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>");
$("#project_name_span").css('color','#ff0000');
$("#project_name_span").focus();
return false;
}
else
{
$("#project_name_span").text("");
return true;
}
}
function submitSerch()
{
if(regexName()){$("#project_search_form").submit();}
}
</script>
<div class="project-search" style="float: right">
<%= text_field_tag 'name', params[:name], :size => 20, :onkeyup => "regexName();", :style => "float:left" %>
<%= hidden_field_tag 'project_type', params[:project_type] %>
<%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
<a href="#" onclick="submitSerch();" class="ButtonColor m3p10" style="float:left;padding-top: 3px; margin: 0px;padding-bottom:0px;" >
<%= l(:label_search)%>
</a>
<br />
<span id="project_name_span" style="float: left"></span>
</div>
</td>
</tr>
<tr>
<td style="padding-left: 8px">
<a>
<%= link_to request.host()+"/projects", :controller => 'projects', :action => 'index', :project_type => 0 %>
</a>
</td>
<td >
<%=link_to l(:field_homepage), home_path %> >
<%=link_to l(:label_project_deposit), :controller => 'projects', :action => 'index', :project_type => 0 %>
</td>
</tr>
</table>
<% end %>
<% end %>
</div>
<% if @projects.size == 0 %>
<%= render :partial => 'layouts/no_content'%>
<% else %>
<div id="projects-index">
<%= render_project_hierarchy(@projects)%>
</div>
<% end %>
<%= paginate @project_pages %>
<% if User.current.logged? %>
<p style="text-align:right;">
<span class="my-project"><%= l(:label_my_projects) %></span>
</p>
<% end %>
<% other_formats_links do |f| %>
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
<% end %>
<% content_for :sidebar do %>
<%= form_tag({}, :method => :get) do %>
<h3><%= l(:label_project_plural) %></h3>
<label for="closed"><%= check_box_tag 'closed', 1, params[:closed] %> <%= l(:label_show_closed_projects) %></label>
<p>
<%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %>
</p>
<% end %>
<% end %>
<% html_title(l(:label_project_plural)) -%>

@ -14,8 +14,12 @@
<table class="list members">
<thead>
<tr>
<th><%= l(:label_user) %></th>
<th><%= l(:label_role_plural) %></th>
<th>
<%= l(:label_user) %>
</th>
<th>
<%= l(:label_role_plural) %>
</th>
<th style="width:15%"></th>
<%= call_hook(:view_projects_settings_members_table_header, :project => @project) %>
</tr>
@ -24,26 +28,30 @@
<% members.each do |member| %>
<% next if member.new_record? %>
<tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member">
<td class="<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
<td class="<%= member.principal.class.name.downcase %>">
<%= link_to_user member.principal %>
</td>
<td class="roles">
<span id="member-<%= member.id %>-roles">
<%= h member.roles.sort.collect(&:to_s).join(', ') %>
</span>
<span id="member-<%= member.id %>-roles">
<%= h member.roles.sort.collect(&:to_s).join(', ') %>
</span>
<%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member),
:method => :put,
:html => {:id => "member-#{member.id}-roles-form", :class => 'hol'}}
) do |f| %>
<p>
<% roles.each do |role| %>
<label><%= check_box_tag 'membership[role_ids][]', role.id, member.roles.include?(role),
:disabled => member.member_roles.detect { |mr| mr.role_id == role.id && !mr.inherited_from.nil? } %> <%= h role %></label><br/>
<% end %></p>
<% end %>
</p>
<%= hidden_field_tag 'membership[role_ids][]', '' %>
<p><%= submit_tag l(:button_change), :class => "small" %>
<p>
<%= submit_tag l(:button_change), :class => "small" %>
<%= link_to_function l(:button_cancel),
"$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;"
%></p>
%>
</p>
<% end %>
</td>
<!--modified by huang for: if the user'roles is Manager that he will can't modified himself-->
@ -77,7 +85,9 @@
</tbody>
</table>
<% else %>
<p class="nodata"><%= l(:label_no_data) %></p>
<p class="nodata">
<%= l(:label_no_data) %>
</p>
<% end %>
</div>
@ -87,20 +97,25 @@
<div id="applied_project_block">
<%= form_for(@applied_members, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
<fieldset>
<legend><%= l(:label_apply_project) %></legend>
<legend>
<%= l(:label_apply_project) %>
</legend>
<div id="principals_for_applied_member">
<%= render_principals_for_applied_members(@project) %>
</div>
<br/>
<!--show the roles which will select-->
<p style="padding-top: 5px"><%= l(:label_role_plural) %>:
<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>
<% end %></p>
<p><%= submit_tag l(:label_approve), :id => 'member-add-submit' %>
<label>
<%= check_box_tag 'membership[role_ids][]', role.id %>
<%= h role %>
</label>
<% end %>
</p>
<p>
<%= submit_tag l(:label_approve), :id => 'member-add-submit' %>
<%= submit_tag l(:label_refusal), :name => "refusal_button", :id => 'member-refusal-submit' %>
</p>
</fieldset>
@ -110,9 +125,13 @@
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
<fieldset>
<legend><%= l(:label_member_new) %></legend>
<p><%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %></p>
<legend>
<%= l(:label_member_new) %>
</legend>
<p>
<%= label_tag "principal_search", l(:label_principal_search) %>
<%= text_field_tag 'principal_search', nil %>
</p>
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
<div id="principals_for_new_member">
@ -120,13 +139,18 @@
</div>
<br />
<!--show the roles which will select-->
<p style="padding-top: 5px"><%= l(:label_role_plural) %>:
<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>
<% end %></p>
<p><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p>
<label>
<%= check_box_tag 'membership[role_ids][]', role.id %>
<%= h role %>
</label>
<% end %>
</p>
<p>
<%= submit_tag l(:button_add), :id => 'member-add-submit' %>
</p>
</fieldset>
<% end %>
<% end %>

@ -0,0 +1,23 @@
<li style="overflow:hidden;word-break:break-all;height:100%;word-wrap: break-word;" class='<%= cycle("odd", "even") %>'>
<div style="float: left;">
<%= image_tag(get_project_avatar(project), :class => "avatar-4") %>
</div>
<!-- 上左下右 -->
<div style="float: left; margin-left: 10px; width: 380px;">
<% unless project.is_public %>
<span class="private_project"> <%= l(:label_private) %> </span>
<% end %>
<%= link_to( project.name, project_path(project.id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}" )%>
(<%= link_to l(:label_project_member_amount, :count=>projectCount(project)), project_member_path(project) ,:course =>'0' %>)
</div>
<div style=" float: left;margin:5px; margin-left: 10px; width: 380px;min-height: 42px;">
<span class='font_lighter' title ='<%= project.short_description%>'> <%=project.description.truncate(90, omission: '...')%> </span>
</div>
<div >
<%= content_tag "span", l(:label_project_score)+ ":" + red_project_scores(project).to_i.to_s,
:style => "cursor: pointer; display: inline-block; float: right; color: #ec6300;",
:title => l(:label_project_score_tips),
:class => "tooltip",
:id => "tooltip-#{project.id}" %>
</div>
</li>

@ -1,5 +1,5 @@
<h1></h1>
<p id="errorExplanation">
<%= course_title%>
<%= course_title %>
</p>
<h1></h1>

@ -1,8 +1,8 @@
<%
select_option = []
(select_option << ['项目', 'projects']) if project_type == Project::ProjectType_project
(select_option << ['课程', 'courses']) if project_type == Project::ProjectType_course
select_option << ['用户', 'users']
(select_option << [l(:label_select_project), 'projects']) if project_type == Project::ProjectType_project
(select_option << [l(:label_select_course), 'courses']) if project_type == Project::ProjectType_course
select_option << [l(:label_select_user), 'users']
#select_option << ['教师', 'users_teacher'],
#select_option << ['学生', 'users_student']
%>
@ -49,7 +49,7 @@ form #search_type{
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
<div class="project-search" style="float: right">
<div class='search_widget'>
<%= text_field_tag :q, nil, placeholder:'请输入要搜索的关键字', :size => 27, style: "float:left" %>
<%= text_field_tag :q, nil, :placeholder => l(:label_search_information), :size => 27, style: "float:left" %>
<%= select_tag(:search_type, options_for_select(select_option), :style => "float:right" ) %>
</div>
<%#= hidden_field_tag 'project_type', project_type %>

@ -1,8 +1,8 @@
<%
select_option = []
(select_option << ['项目', 'projects']) if project_type == Project::ProjectType_project
(select_option << ['课程', 'courses']) if project_type == Project::ProjectType_course
select_option << ['用户', 'users']
(select_option << [l(:label_select_project), 'projects']) if project_type == Project::ProjectType_project
(select_option << [l(:label_select_course), 'courses']) if project_type == Project::ProjectType_course
select_option << [l(:label_select_user), 'users']
%>
<style type="text/css">
form #q, form #search_type{
@ -61,6 +61,7 @@ form #search_by
.search_widget{
display:inline-block;
border-radius: 5px;
float: right;
}
.search_widget:hover{
box-shadow: 0px 0px 3px #56B4EF;
@ -87,14 +88,13 @@ form #search_by
</script>
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
<div class="project-search" style="float: right">
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil,:style =>"float: right; margin-left:3px;margin-top:2px" %>
<div class='search_widget' >
<%= text_field_tag :q, nil, placeholder:'请输入要搜索的关键字', style:"float:left" %>
<%= text_field_tag :q, nil, :placeholder => l(:label_search_information), style:"float:left;" %>
<input type="text" name="search_by_input" style="display: none" id="search_by_input" value="0">
<%= select_tag(:search_type, options_for_select(select_option), :onchange => "searchTypeChange();", :style => "float:right" ) %>
<%= select_tag(:search_by,options_for_select([["昵称","0"],["姓名","1"],["邮箱","2"]]), :onchange => "searchByChange();",:style => "float:right" ) %>
<%= select_tag(:search_by,options_for_select([[l(:label_select_user_nickname),"0"],[l(:label_select_user_showname),"1"],[l(:label_select_user_email),"2"]]), :onchange => "searchByChange();",:style => "float:right" ) %>
</div>
<%#= hidden_field_tag 'project_type', project_type %>
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil,:style =>"float: right; margin-left:3px;margin-top:2px" %>
</div>
</div>
<% end %>

@ -140,7 +140,7 @@
<!--搜索框-->
<div id="J_Slide" class="d-p-index-box d-p-index-hotproject" style="float: right;">
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
<%= text_field_tag 'name', params[:name], :placeholder => l(:label_search_intimation), name: "name", :class => 'blueinputbar', :style => 'width:240px; padding-right:50px;'%>
<%= text_field_tag 'name', params[:name], :placeholder => l(:label_search_information), name: "name", :class => 'blueinputbar', :style => 'width:240px; padding-right:50px;'%>
&nbsp;
<%= hidden_field_tag 'project_type', params[:project_type] %>
<%= submit_tag l(:label_search), :class => "enterprise", :name => "contests_search" %>

@ -2,110 +2,109 @@
<%= stylesheet_link_tag 'welcome' %>
<%= javascript_include_tag 'welcome' %>
<script type="text/javascript" language="javascript">
$(function(){
$("#main").find("a").attr("target", "_blank");
setCss();
});
//设置div居中
function setCss()
{
var mainBar = $('#main-content-bar')[0];
var topHeight = mainBar.offsetHeight;
var welcomeLeft = $('#welcome_left')[0];
var leftHeight = welcomeLeft.offsetHeight;
var searchbar = $('#search-bar')[0];
var searchHeight = searchbar.offsetHeight;
welcomeLeft.style.marginTop = (topHeight - leftHeight)/2 + "px";
searchbar.style.marginTop = (topHeight - searchHeight)/2 + "px";
//alert((topHeight - leftHeight)/2 );
}
$(function() {
$("#main").find("a").attr("target", "_blank");
setCss();
});
//设置div居中
function setCss() {
var mainBar = $('#main-content-bar')[0];
var topHeight = mainBar.offsetHeight;
var welcomeLeft = $('#welcome_left')[0];
var leftHeight = welcomeLeft.offsetHeight;
var searchbar = $('#search-bar')[0];
var searchHeight = searchbar.offsetHeight;
welcomeLeft.style.marginTop = (topHeight - leftHeight) / 2 + "px";
searchbar.style.marginTop = (topHeight - searchHeight) / 2 + "px";
//alert((topHeight - leftHeight)/2 );
}
// 给主页用户弹新页面
$(document).ready(function($) {
$("#loggedas").find("a").attr("target", "_blank");
//$("#content .tabs_new~ .pagination").find("a").removeAttr("target");
});
});
</script>
<div class='top_bar'>
<%#= render partial: 'wei_xin' %>
<%#= render partial: 'wei_xin' %>
<div class="main-content-bar" id="main-content-bar">
<div style="float: left;padding-left:15px ">
<!-- <#%= image_tag(get_project_avatar(@first_page), size: "75x75") %> -->
<% if get_avatar?(@first_page) %>
<%= image_tag(url_to_avatar(@first_page), width:@first_page.image_width,height: @first_page.image_height) %>
<% else %>
<%= image_tag '/images/transparent.png', width:@first_page.image_width,height: @first_page.image_height %>
<% end %>
<!-- <#%= image_tag(get_project_avatar(@first_page), size: "75x75") %> -->
<% if @organization.nil? %>
<% if get_avatar?(@first_page) %>
<%= image_tag(url_to_avatar(@first_page), width:@first_page.image_width,height: @first_page.image_height) %>
<% else %>
<%= image_tag '/images/transparent.png', width:@first_page.image_width,height: @first_page.image_height %>
<% end %>
<% else %>
<%= image_tag(url_to_avatar(@enterprise_page), width:@first_page.image_width,height: @first_page.image_height) %>
<% end %>
</div>
<div class="welcome_left" id="welcome_left">
<% unless @first_page.nil? %>
<%= @first_page.description.html_safe %>
<% end %>
</div>
<div class="search-bar" id="search-bar">
<%= render :partial => "search_project", :locals => {:project_type => 0}%>
</div>
<div style="clear: both;"></div>
<div class="welcome_left" id="welcome_left">
<% if @organization.nil? %>
<% unless @first_page.nil? %>
<%= @first_page.description.html_safe %>
<% end %>
<% else %>
<span class="font_welcome_school" style="color: #E8770D">
<%= link_to @organization, options={:action => 'index', :enterprise => @organization}, html_options={ :method => 'get', :style => "color: #E8770D"} %>
</span>
<br/>
<span class="font_welcome_trustie">
<%= @enterprise_page.title %>
</span>
<% end %>
</div>
<div class="search-bar" id="search-bar">
<%= render :partial => "search_project", :locals => {:project_type => 0}%>
</div>
<div style="clear: both;"></div>
</div>
</div>
<div style="clear:both"></div>
<div style="clear:both"></div>
<div id="J_Slide" class="d-p-index-box d-p-index-hot">
<h3 style="margin-left: 5px; color: #e8770d;">
<strong>
<%= l(:lable_hot_projects)%>
</strong>
</h3>
<span style="margin-top: -20px;float: right; display: block;">
<% if User.current.logged? %>
<%= link_to(l(:label_project_new), {:controller => 'projects',
:action => 'new',
:course => 0,
:project_type =>( @project_type||=0)},
:class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
&nbsp;&nbsp;&nbsp;&nbsp;
<%= link_to l(:label_join_project), join_project_projects_path ,:remote => true, :class => 'icon icon-add' %>
&nbsp;&nbsp;&nbsp;&nbsp;
<% end %>
</span>
<h3 style="margin-left: 5px; color: #e8770d;"><strong> <%= l(:lable_hot_projects)%> </strong></h3>
<span style="margin-top: -20px;float: right; display: block;"> <% if User.current.logged? %>
<%= link_to(l(:label_project_new), {:controller => 'projects',
:action => 'new',
:course => 0,
:project_type =>( @project_type||=0)},
:class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
&nbsp;&nbsp;&nbsp;&nbsp;
<%= link_to l(:label_join_project), join_project_projects_path ,:remote => true, :class => 'icon icon-add' %>
&nbsp;&nbsp;&nbsp;&nbsp;
<% end %> </span>
<div class="d-p-projectlist-box">
<ul class="d-p-projectlist">
<% cache("projects") do %>
<% @projects.map do |project| %>
<% cache project do %>
<li style="overflow:auto;word-break:break-all;height:100%;word-wrap: break-word;" class='<%= cycle("odd", "even") %>'>
<div style="float: left;">
<%= image_tag(get_project_avatar(project), :class => "avatar-4") %>
</div>
<!-- 上左下右 -->
<div style="float: left; margin-left: 10px; width: 380px;">
<% unless project.is_public %>
<span class="private_project">
<%= l(:label_private) %>
</span>
<% end %>
<%= link_to( project.name, project_path(project.id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}" )%>
(<%= link_to "#{projectCount(project)}人", project_member_path(project) ,:course =>'0' %>)
</div>
<div style=" float: left;margin:5px; margin-left: 10px; width: 380px;min-height: 42px;">
<span class='font_lighter' title ='<%=project.short_description%>'>
<%=project.description.truncate(90, omission: '...')%>
</span>
</div>
<div >
<%= content_tag "span", l(:label_project_score)+ ":" + red_project_scores(project).to_i.to_s,
:style => "cursor: pointer; display: inline-block; float: right; color: #ec6300;",
:title => "项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度",
:class => "tooltip",
:id => "tooltip-#{project.id}" %>
</div>
</li>
<% end %>
<% end; reset_cycle %>
<% end %>
<!-- 如果企业版参数正确,这进入企业版页面 -->
<% if @organization.nil? %>
<% @projects.map do |project| %>
<%= render :partial => 'hot_projects_list', :locals => {:project => project} %>
<% end; reset_cycle %>
<!-- 企业版项目 -->
<% else %>
<% if @e_count == 0 %>
<p id="errorExplanation"><%= l(:label_enterprise_tips) %></p>
<% @projects.map do |project| %>
<%= render :partial => 'hot_projects_list', :locals => {:project => project} %>
<% end %>
<% elsif @e_count < 10 %>
<% @organization_projects.map do |project| %>
<%= render :partial => 'hot_projects_list', :locals => {:project => project} %>
<% end %>
<p id="errorExplanation"><%= l(:label_part_enterprise_tips) %></p>
<% @part_projects.map do |project| %>
<%= render :partial => 'hot_projects_list', :locals => {:project => project} %>
<% end %>
<% else %>
<% @part_projects.map do |project| %>
<%= render :partial => 'hot_projects_list', :locals => {:project => project} %>
<% end %>
<% end %>
<% end %>
</ul>
</div>
</div>
@ -136,6 +135,7 @@
<span style="color: rgb(172, 174, 177)">
<%= l(:field_updated_on) %>
<%= format_time event.event_datetime %>
<%#= l(:field_time_ago) %>
</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span style="float: right; color: rgb(172, 174, 177);">
@ -151,27 +151,20 @@
</ul>
</div>
<div class="right" style="float: right; width: 48%; ">
<div class="right" style="float: right; width: 48%; ">
<ul class="welcome-message-list">
<!--<%# cache 'forum_links' do %> -->
<!--<%# cache 'forum_links' do %> -->
<div class="forum-topic" style="height: 25px; width: 98%; margin-left: 2px;">
<h3 style="color: rgb(21, 188, 207);">
<strong>
<%= l(:lable_bar_active)%>
</strong>
<%= link_to l(:label_my_question) , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
<%= link_to l(:label_my_feedback) , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
</h3>
<span style="margin-top: -30px;float: right; display: block;">
<%= link_to l(:label_more), forums_path %>
</span>
<h3 style="color: rgb(21, 188, 207);"><strong> <%= l(:lable_bar_active)%> </strong> <%= link_to l(:label_my_question) , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
<%= link_to l(:label_my_feedback) , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> </h3>
<span style="margin-top: -30px;float: right; display: block;"> <%= link_to l(:label_more), forums_path %> </span>
</div>
<div class="welcome-box-list-new memo_activity">
<% cache("forums") do %>
<% topics = find_new_forum_topics(6) %>
<% topics.includes(:forum, :last_reply, :author).each do |topic|%>
<% cache topic do %>
<li class="message-brief-intro">
<li class="message-brief-intro" style="line-height:1.4em;">
<div class='memo_title text_nowrap'>
<%= link_to '['+topic.forum.name + ']',forum_path(topic.forum),:class => 'memo_Bar_title' %>
<%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url,title: topic.subject %>
@ -201,9 +194,10 @@
<%end %>
<% end %>
<% end %>
</div>
</ul>
</div>
</div>
<div class="clearfix"></div>
<%= render partial: 'link_to_another' %>

@ -16,7 +16,7 @@ module RedmineApp
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# verifier if email is real
#verifier if email is real
# EmailVerifier.config do |config|
# config.verifier_email = "lizanle521@126.com"
# end
@ -74,5 +74,6 @@ module RedmineApp
if File.exists?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
end
end
end

@ -1,32 +1,32 @@
# Time 2015-01-30 17:04:12
# Author lizanle
# Description kaminari配置文件
# <%= paginate @users, :window => 2 %>
# 则展示页会像 5 6 7 8 9 当7是当前页的时候
# <%= paginate @users, :outer_window => 3 %>
# 分页展示会像 1 2 3 4 ...(snip)... 17 18 19 20 当总共有20个页面的时候
# <%= paginate @users, :left => 1, :right => 3 %>
# 分页展示会像 1 ...(snip)... 18 19 20 当总共有20个页面的时候
# <%= paginate @users, :param_name => :pagina %>
# 这样子会将每个链接传进去一个参数 :pagina
# <%= paginate @users, :params => {:controller => 'foo', :action => 'bar'} %>
# 这样子将会修改每个链接的控制器和动作. :controller and :action
# <%= paginate @users, :remote => true %>
# 这将会使每个链接使用ajax方式极其简单非常完美的工作。data-remote="true"
#更多知识详见 https://github.com/honwlee/kaminari
Kaminari.configure do |config|
# config.default_per_page = 25
# config.max_per_page = nil
# config.window = 4
# config.outer_window = 3
# config.left = 0
# config.right = 0
# config.page_method_name = :page
# config.param_name = :page
end
# Time 2015-01-30 17:04:12
# Author lizanle
# Description kaminari配置文件
# <%= paginate @users, :window => 2 %>
# 则展示页会像 5 6 7 8 9 当7是当前页的时候
# <%= paginate @users, :outer_window => 3 %>
# 分页展示会像 1 2 3 4 ...(snip)... 17 18 19 20 当总共有20个页面的时候
# <%= paginate @users, :left => 1, :right => 3 %>
# 分页展示会像 1 ...(snip)... 18 19 20 当总共有20个页面的时候
# <%= paginate @users, :param_name => :pagina %>
# 这样子会将每个链接传进去一个参数 :pagina
# <%= paginate @users, :params => {:controller => 'foo', :action => 'bar'} %>
# 这样子将会修改每个链接的控制器和动作. :controller and :action
# <%= paginate @users, :remote => true %>
# 这将会使每个链接使用ajax方式极其简单非常完美的工作。data-remote="true"
#更多知识详见 https://github.com/honwlee/kaminari
Kaminari.configure do |config|
# config.default_per_page = 25
# config.max_per_page = nil
# config.window = 4
# config.outer_window = 3
# config.left = 0
# config.right = 0
# config.page_method_name = :page
# config.param_name = :page
end

@ -1,22 +1,22 @@
# Time 2015-01-30 17:02:41
# Author lizanle
# Description 打开redmine\ruby\lib\ruby\gems\1.9.1\gems\actionpack-3.2.13\lib\action_view\helpers\UrlHelper重写link_to_unless方法
# 如果是当前页则给当前页添加样式class=>'current-page'
module ActionView
# = Action View URL Helpers
module Helpers #:nodoc:
# Provides a set of methods for making links and getting URLs that
# depend on the routing subsystem (see ActionDispatch::Routing).
# This allows you to use the same format for links in views
# and controllers.
module UrlHelper
def link_to_unless(condition, name, options = {}, html_options = {}, &block)
if condition
link_to(name, options, html_options.merge(:class => 'current-page'))
else
link_to(name, options, html_options)
end
end
end
end
# Time 2015-01-30 17:02:41
# Author lizanle
# Description 打开redmine\ruby\lib\ruby\gems\1.9.1\gems\actionpack-3.2.13\lib\action_view\helpers\UrlHelper重写link_to_unless方法
# 如果是当前页则给当前页添加样式class=>'current-page'
module ActionView
# = Action View URL Helpers
module Helpers #:nodoc:
# Provides a set of methods for making links and getting URLs that
# depend on the routing subsystem (see ActionDispatch::Routing).
# This allows you to use the same format for links in views
# and controllers.
module UrlHelper
def link_to_unless(condition, name, options = {}, html_options = {}, &block)
if condition
link_to(name, options, html_options.merge(:class => 'current-page'))
else
link_to(name, options, html_options)
end
end
end
end
end

@ -236,29 +236,7 @@ en:
mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}."
# 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
field_name: Name
field_description: Description
field_summary: Summary
@ -273,7 +251,6 @@ en:
field_downloads: Downloads
field_author: Author
field_created_on: Created
field_updated_on: Updated
field_closed_on: Closed
field_field_format: Format
field_is_for_all: For all projects
@ -300,7 +277,6 @@ en:
field_principal: Principal
field_role: Role
field_homepage: Homepage
field_is_public: Public
field_parent: Subproject of
field_is_in_roadmap: Issues displayed in roadmap
field_login: Account/Email
@ -309,7 +285,6 @@ en:
field_last_login_on: Last connection
field_language: Language
field_effective_date: Date
field_password: Password
field_new_password: New password
field_password_confirmation: Confirmation
field_version: Version
@ -335,7 +310,6 @@ en:
field_hours: Hours
field_activity: Activity
field_spent_on: Date
field_identifier: Identifier
field_is_filter: Used as a filter
field_issue_to: Related issue
field_delay: Delay
@ -351,7 +325,6 @@ en:
field_parent_title: Parent page
field_editable: Editable
field_watcher: Watcher
field_identity_url: OpenID URL
field_content: Content
field_group_by: Group results by
field_sharing: Sharinglable_hot_course
@ -547,20 +520,15 @@ en:
project_module_gantt: Gantt
# edit by meng
lable_hot_course: Hot projects
lable_hot_projects: Active courses
lable_user_active: User movements
lable_bar_active: Bar posts
label_project_score: Score
lable_hot_course: Hot Courses
lable_user_active: User Movements
label_course_join_student: Join a course
label_join_project: Join a project
label_contest_modify_settings: Configuration
bale_news_notice: Add a notification
label_field_correct: correct input
label_work_description_lengthlimit: less than 500 characters
label_create_new_projects: Create a project
label_work_scores_people: The total number of users given scores
label_project_new_description: A project can be used to do anything that requires distributed collaboration
label_project_grade: Score
label_user_for_project_grade: Score
label_relation_files: Select an existing resource
@ -609,7 +577,7 @@ en:
label_user_anonymous: Anonymous
label_project: Project
label_activity_project: 'Project: ' #added by bai
label_project_new: New project
label_project_plural: Projects
label_project_deposit: Projects
label_first_page_made: Homepage customization
@ -678,9 +646,7 @@ en:
label_information: Information
label_information_plural: Information
label_please_login: Please log in
label_register: Sign up
label_login_with_open_id_option: or login with OpenID
label_password_lost: Lost password
label_home: Home
label_my_page: My page
label_my_account: My account
@ -919,7 +885,6 @@ en:
label_end_to_end: end to end
label_start_to_start: start to start
label_start_to_end: start to end
label_stay_logged_in: Stay logged in
label_disabled: disabled
label_show_completed_versions: Show completed versions
label_me: me
@ -953,7 +918,6 @@ en:
label_module_plural: Modules
label_added_time_by: "Added by %{author} %{age} ago"
label_updated_time_by: "Updated by %{author} %{age} ago"
label_updated_time: "Updated %{value} ago"
label_jump_to_a_project: Jump to a project...
label_file_plural: Files
label_changeset_plural: Changesets
@ -978,7 +942,6 @@ en:
label_age: Age
label_change_properties: Change properties
label_general: General
label_more: More
label_scm: SCM
label_plugins: Plugins
label_ldap_authentication: LDAP authentication
@ -1055,7 +1018,6 @@ en:
label_gantt_progress_line: Progress line
label_files_filter: Files Filter
button_login: Login
button_submit: Submit
button_save: Save
button_check_all: Check all
@ -1063,7 +1025,6 @@ en:
button_collapse_all: Collapse all
button_expand_all: Expand all
button_delete: Delete
button_create: Create
button_create_and_continue: Create and continue
button_test: Test
button_edit: Edit
@ -1137,7 +1098,6 @@ en:
text_tip_issue_begin_day: issue beginning this day
text_tip_issue_end_day: issue ending this day
text_tip_issue_begin_end_day: issue beginning and ending this day
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.'
text_caracters_maximum: "%{count} characters maximum."
text_caracters_minimum: "Must be at least %{count} characters long."
text_length_between: "Length between %{min} and %{max} characters."
@ -1782,18 +1742,192 @@ en:
label_current_attendingcontest_work: Latest Competition Work
label_issue_feedback_activities: Question&Feedback
label_more_information: More...
label_my_question: My-question
label_my_feedback: My-feedback
label_release_time: Release-time
label_question_sponsor: Sponsor
label_final_reply: Final-reply
label_reply: Reply
label_weixin: WeiXin
label_search_intimation: please input the keywords
label_work_quantity: work
# Trustie账户
# edit by meng
# Trustie账户> 登陆
lable_user_name: Username
field_password: Password
field_identity_url: OpenID URL
label_stay_logged_in: Keep me signed in
label_password_lost: Forget password
button_login: Login
# Trustie账户> 注册
label_register: Sign up
# 托管平台主页
# 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
# 托管平台主页 > 搜索提示信息
label_search_information: Please input the keywords!
# 托管平台主页 > 下拉列表
label_select_project: project
label_select_course: course
label_select_user: user
label_select_user_nickname: nickname
label_select_user_showname: name
label_select_user_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_project_trustie:
label_project_trustie_theme:
# 项目托管平台主页 >热门项目栏
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: User Movements
field_user_active_published: released
field_user_active_uploaded: uploaded
field_user_active_updated: updated
field_user_active_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: Bar Posts
label_my_question: My-question
label_my_feedback: My-feedback
label_more: More
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
# 项目托管平台 >加入项目
# 课程托管平台主页
# 课程托管平台主页 >主旨
label_course_trustie:
label_course_trustie_theme:
# 课程托管平台主页 >
# 竞赛托管平台主页
# 竞赛托管平台主页 >主旨
label_contest_trustie:
label_contest_trustie_theme:
# 竞赛托管平台主页 >
# 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
label_contests_reward_method: Reward method
label_attendingcontestwork_developers: Developers
@ -1892,7 +2026,7 @@ en:
label_borad_project: Project-borad
label_search_intimation: please input the searching keywords!
label_update_time: Update time
label_project_notice: release the notice
label_no_file_uploaded: No file uploaded
@ -1905,13 +2039,17 @@ en:
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_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
@ -1935,7 +2073,6 @@ en:
label_unknow_type: Unknow type
label_score_less_than_zero: Score less than 0, revised to 0
review_assignments: Review assignments
label_private: private
label_my_school: My school
label_all_schol: All school
label_select_province: Please select the provinces
@ -1951,4 +2088,5 @@ en:
label_anonymous_comments: Anonymous comments
label_anonymous: Anonymous
label_submit_comments: Submit_comments
label_course_empty_select: You have not selected course
label_course_empty_select: You have not selected course
label_enterprise_page_made: enterprise_page

@ -176,16 +176,8 @@ zh:
label_refusal: 拒绝
notice_account_updated: 帐号更新成功
notice_account_invalid_creditentials: 无效的用户名或密码
notice_account_invalid_creditentials_new: 您还未到邮箱激活
notice_account_password_updated: 密码更新成功
notice_account_wrong_password: 密码错误
name_can_be_empty: 可以不填写真实姓名[保密所需]
notice_account_register_done: 帐号创建成功,请使用注册确认邮件中的链接来激活您的帐号, 如果您的邮件没有在收件箱中可能在垃圾箱中,请您注意查收。
notice_account_unknown_email: 未知用户
notice_can_t_change_password: 该帐号使用了外部认证,因此无法更改密码。
notice_account_lost_email_sent: 系统已将引导您设置新密码的邮件发送给您。
notice_account_activated: 您的帐号已被激活。
notice_successful_create: 创建成功
notice_successful_update: 更新成功
notice_successful_delete: 删除成功
@ -206,7 +198,6 @@ zh:
notice_failed_to_save_issues: "%{count} 个问题保存失败(共选择 %{total} 个问题):%{ids}."
notice_failed_to_save_members: "成员保存失败: %{errors}."
notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
notice_default_data_loaded: 成功载入默认设置。
notice_unable_delete_version: 无法删除版本
notice_unable_delete_time_entry: 无法删除工时
@ -250,31 +241,13 @@ zh:
mail_body_wiki_content_added: "'%{id}' wiki页面已由 %{author} 添加。"
mail_subject_wiki_content_updated: "'%{id}' wiki页面已更新。"
mail_body_wiki_content_updated: "'%{id}' wiki页面已由 %{author} 更新。"
# edit by meng
# 邮件中文格式
mail_issue_greetings: "亲爱的Trustie用户您好"
mail_issue_footer: "退订该邮件!"
mail_issue_title_userin: "在"
mail_issue_title_active: "中有了一个与您相关的最新活动,请您关注!"
mail_issue_subject: "标题:"
mail_issue_content: "内容:"
mail_issue_sent_from: "来源:"
mail_issue_from_project: "项目问题跟踪"
mail_issue_attachments: "附件:"
mail_issue_reply: "我要回复"
# end
# modified by meng
# 课程资源上传
label_file_upload: 资源文件
label_file_upload_error_messages: "上传出现错误,请您检查您的网络环境,并刷新页面重新上传。"
button_confirm: 确认
# 教师权限课程关闭和重启
label_course_closed: 关闭
label_course_reload: 重开
label_course_closed_tips: "确定要%{desc}课程?"
# end
field_name: 名称
field_enterprise_name: 组织名称
#added by huang
field_tea_name: 教师
field_couurse_time: 学时
@ -283,7 +256,6 @@ zh:
field_term: 课程学期
field_course_un: 暂未填写
#end
field_description: 描述
field_summary: 摘要
field_is_required: 必填
field_firstname: 名字
@ -293,7 +265,6 @@ zh:
lastname_empty: 姓氏不能为空
enterprise_empty: 企业名不能为空
field_lastname_eg: '(例:张三丰,请填写[张])'
field_mail: 邮件地址
field_filename: 文件
field_file_dense: 是否公开
field_filesize: 大小
@ -335,15 +306,11 @@ zh:
field_open_student: 学生列表公开
field_parent: 上级项目
field_is_in_roadmap: 在路线图中显示
field_login: 登录名
field_mail_notification: 邮件通知
field_admin: 管理员
field_last_login_on: 最后登录
field_language: 语言
field_effective_date: 日期
field_password: 密码
field_new_password: 新密码
field_password_confirmation: 密码确认
field_version: 版本
field_type: 类型
field_host: 主机
@ -367,7 +334,6 @@ zh:
field_hours: 小时
field_activity: 活动
field_spent_on: 日期
field_identifier: 标识
field_is_filter: 作为过滤条件
field_issue_to: 相关问题
field_delay: 延期
@ -383,7 +349,6 @@ zh:
field_parent_title: 上级页面
field_editable: 可编辑
field_watcher: 跟踪者
field_identity_url: OpenID URL
field_content: 内容
field_group_by: 根据此条件分组
field_sharing: 共享
@ -437,9 +402,6 @@ zh:
setting_repository_log_display_limit: 在文件变更记录页面上显示的最大修订版本数量
setting_openid: 允许使用OpenID登录和注册
setting_password_min_length: 最短密码长度
setting_password_min_length_limit: "密码长度至少大于 %{count} 个字符。"
setting_password_error: 密码长度不够或密码不一致
setting_password_success: 密码设置成功
setting_new_project_user_role_id: 非管理员用户新建项目时将被赋予的(在该项目中的)角色
setting_default_projects_modules: 新建项目默认启用的模块
setting_issue_done_ratio: 计算问题完成度:
@ -568,14 +530,13 @@ zh:
label_user_anonymous: 匿名用户
label_project: 项目
label_activity_project: '项目: ' #added by bai
label_project_new: 新建项目
label_project_new_description: '项目可以是软件开发项目,也可以是协作研究项目。'
label_project_plural: 项目列表
label_project_score: 项目评分
label_first_page_made: 首页定制
label_project_first_page: 项目托管平台首页
label_course_first_page: 课程实践平台首页
label_contest_first_page: 竞赛实战平台首页
label_enterprise_page_made: 在线协同开发社区首页
label_web_footer_page: 网站页脚配置
label_organizer_name: 主办单位名称
label_web_footer_description: 页脚内容
@ -642,9 +603,7 @@ zh:
label_information: 信息
label_information_plural: 信息
label_please_login: 请登录
label_register: 注册
label_login_with_open_id_option: 或使用OpenID登录
label_password_lost: 忘记密码
label_home: 主页
label_web_title: 浏览器标题
label_site_title: 网站标题
@ -662,13 +621,8 @@ zh:
#by young
label_requirement: 需求
label_new_course: 课程列表
label_course_practice: 课程实践
label_course_all: 课程列表
label_teacher_all: 所有教师
label_project_deposit: 项目托管
label_software_user: 软件创客
label_contest_innovate: 创新竞赛
label_requirement_enterprise: 软件众包
label_requirement_enterprise_list: 众包列表
label_new_homework: 作业
label_new_contest: 竞赛
@ -738,9 +692,6 @@ zh:
label_my_page_block: 我的工作台模块
label_administration: 管理
label_login: 登录
label_login_prompt: 邮箱/登录名
lable_user_name: 登录名
label_logout: 退出
label_help: 帮助
label_reported_issues: 已报告的问题
label_assigned_to_me_issues: 指派给我的问题
@ -963,7 +914,6 @@ zh:
label_end_to_end: 结束-结束
label_start_to_start: 开始-开始
label_start_to_end: 开始-结束
label_stay_logged_in: 保持登录状态
label_disabled: 禁用
label_show_completed_versions: 显示已完成的版本
label_me:
@ -996,7 +946,6 @@ zh:
label_module_plural: 模块
label_added_time_by: "由 %{author} 在 %{age} 之前添加"
label_added_time: "在 %{age} 之前添加"
label_updated_time: " 更新于 %{value} 之前"
label_updated_time_by: "由 %{author} 更新于 %{age} 之前"
label_jump_to_a_project: 选择一个项目...
label_file_plural: 文件
@ -1063,7 +1012,6 @@ zh:
label_age: 提交时间
label_change_properties: 修改属性
label_general: 一般
label_more: 更多>>
label_scm: 管理系统
label_plugins: 插件
label_ldap_authentication: LDAP 认证
@ -1108,13 +1056,9 @@ zh:
label_principal_search: "搜索用户或组:"
label_user_search: "搜索用户:"
button_login: 登录
button_submit: 提交
button_save: 保存
button_check_all: 全选
button_uncheck_all: 清除
button_delete: 删除
button_create: 提交 #bai
button_create_and_continue: 创建并继续
button_test: 测试
button_edit: 编辑
@ -1183,8 +1127,6 @@ zh:
text_tip_issue_end_day: 今天结束的任务
text_tip_issue_begin_end_day: 今天开始并结束的任务
text_caracters_maximum: "最多 %{count} 个字符。"
text_caracters_minimum: "至少需要 %{count} 个字符。"
text_length_between: "长度必须在 %{min} 到 %{max} 个字符之间。"
text_command: 学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。
text_contest_reward: 选择奖励后输入描述。
text_tracker_no_workflow: 此跟踪标签未定义工作流程
@ -1657,10 +1599,6 @@ zh:
label_tags_user_mail: 用户邮箱:
label_tags_user_name: 用户名:
label_tags_numbers: Tag统计
label_mail_resend: 重新发送激活邮件
label_max_number: 登录名是在网站中显示的您的公开标识,只能为英文和数字。
label_mail_attention: qq邮箱可能收不到此邮件其他邮箱如果没有收到可能在垃圾邮件中
label_mail_attention1: 其中gmail与教育网邮箱的激活邮件有时比较慢请耐心等待。
label_your_course: 您的课程《
label_have_message : 》有新的留言
label_all_revisions: 所有版本:
@ -1873,7 +1811,6 @@ zh:
label_course_view_student: 查看其他课程
label_course_student: 学生
label_course_file: 资源库 #资料共享
label_stores_index: 资源搜索
label_course_new_homework: 新建作业
label_course_homework_list: 作业列表
label_course_homework_new: 发布作业
@ -1980,7 +1917,6 @@ zh:
label_student: 学生
#added by Wen
label_school_all: 中国高校
label_school_not_fount: 没有符合的高校信息
@ -2012,7 +1948,6 @@ zh:
label_course_brief_introduction: 课程简介
field_teacher_name: 教 师
field_hidden_repo: 隐藏代码库
field_dts_test: DTS测试工具
label_newbie_faq: '新手指引 & 问答'
@ -2195,25 +2130,271 @@ zh:
label_current_attendingcontest_work: 最新参赛作品
label_issue_feedback_activities: 问题和反馈动态
label_more_information: 更多>>
label_my_question: 我要提问
label_my_feedback: 我要反馈
label_release_time: 发布时间
label_question_sponsor: 楼主
label_final_reply: 最后回复
label_reply: 回复
label_weixin: 微信扫码
label_search_intimation: 请输入要搜索的关键字
label_work_quantity: 个作品
# Trustie账户模块
# edit by meng
# Trustie账户模块> 登陆
lable_user_name: 登录名
label_login_prompt: 邮箱/登录名
field_password: 密码
field_identity_url: OpenID URL
label_stay_logged_in: 保持登录状态
label_password_lost: 忘记密码?
button_login: 登录
# account_controller中判断用户名或密码输入有误的提示信息
notice_account_invalid_creditentials: 无效的用户名或密码
# account_controller中判断未激活的提示信息
notice_account_invalid_creditentials_new: 您还未到邮箱激活
# Trustie账户模块> 注册
# 页面中密码和确认密码不一致信息正则判断邮件地址合法等信息由application_helper中error_messages_for方法来判断提示信息
# rails本身机制ActiveRecord提供
# 在model层的 validates_方法进行辅助验校
# 其输出的提示信息在国际化yml中的activerecord中配置
label_register: 注册
label_login_with_open_id_option: 或使用OpenID登录
field_login: 登录名
label_max_number: 登录名是在网站中显示的您的公开标识,只能为英文和数字。
field_password: 密码
text_caracters_minimum: "至少需要 %{count} 个字符。"
field_password_confirmation: 密码确认
field_mail: 邮件地址
label_mail_attention: qq邮箱可能收不到此邮件其他邮箱如果没有收到可能在垃圾邮件中
label_mail_attention1: 其中gmail与教育网邮箱的激活邮件有时比较慢请耐心等待。
button_submit: 提交
# register中js判断密码设置是否合法提示信息
setting_password_min_length_limit: "密码长度至少大于 %{count} 个字符。"
setting_password_error: 密码长度不够或密码不一致
setting_password_success: 密码设置成功
# account_controller中register方法判断注册成功的提示信息
notice_account_register_done: 帐号创建成功,请使用注册确认邮件中的链接来激活您的帐号, 如果您的邮件没有在收件箱中可能在垃圾箱中,请您注意查收。
# Trustie账户模块 >忘记密码
label_password_forget: 忘记密码
# field_mail: 邮件地址
# Trustie账户模块> 注册)变量
# button_submit: 提交
# Trustie账户模块> 注册 )变量
notice_account_unknown_email: 未知用户
# account_controller中lost_password方法判断的邮件发送提示信息
notice_account_lost_email_sent: 系统已将引导您设置新密码的邮件发送给您。
# Trustie账户模块 >重置密码
# label_password_forget: 忘记密码
# Trustie账户模块> 忘记密码)变量
field_new_password: 新密码
# text_caracters_minimum: "至少需要 %{count} 个字符。"
# Trustie账户模块> 注册)变量
# field_password_confirmation: 密码确认
# Trustie账户模块> 注册)变量
notice_account_password_updated: 密码更新成功
notice_can_t_change_password: 该帐号使用了外部认证,因此无法更改密码。
button_save: 保存
# Trustie账户模块 >登出
label_logout: 退出
# Trustie账户模块 >激活
label_regiter_account: 注册帐号
label_email_valid: 邮箱激活
notice_email_register_time: 请在24小时内点击邮件中的链接继续完成注册
notice_email_arrival: 邮件已发送到邮箱
label_check_email: 立即查收邮件
label_mail_resend: 重新发送激活邮件
notice_account_activated: 您的帐号已被激活。
# 托管平台主页
# edit by meng
# 托管平台主页> 顶部菜单>
field_homepage: 主页
label_project_deposit: 项目托管
label_course_practice: 课程实践
label_forum_all: 公共贴吧
label_enterprise_all: 组织
label_contest_innovate: 创新竞赛
label_software_user: 软件创客
label_requirement_enterprise: 软件众包
label_stores_index: 资源搜索
# 托管平台主页> 顶部菜单>
# 托管平台主页 > 搜索提示信息
label_search_information: 请输入要搜索的关键字
# 托管平台主页 > 下拉列表
label_select_project: 项目
label_select_course: 课程
label_select_user: 用户
label_select_user_nickname: 昵称
label_select_user_showname: 姓名
label_select_user_email: 邮箱
# 托管平台主页 > 下方托管平台链接
label_projects_management_platform: 项目托管平台
label_courses_management_platform: 课程实践平台
label_contests_management_platform: 竞赛托管平台
label_organizers: 主办单位
label_organizers_information: 国防科学技术大学并行与分布处理国家重点实验室
label_organizers_information_institute: 计算机科学与技术系
label_copyright: 版权
# 托管平台主页 > 底部承办单位等信息
label_hosted_organization: 主办单位
label_hosted_by: 国防科学技术大学并行与分布处理国家重点实验室
label_sponsor: 计算机科学与技术系
label_co_organizer_NUDT: 国防科学技术大学计算机学院
label_co_organizer_EECS: 北京大学信息科学技术学院软件研究所
label_co_organizer_BHU: 北京航空航天大学计算机学院
label_co_organizer_CAS: 中国科学院软件研究所
label_co_organizer_InforS: 山东中创软件商用中间件股份有限公司
label_rights_reserved: 版权©2007~2014
label_contact_us: 联系我们
label_record: 湘ICP备09019772
# 英文版不需要显示国内许可证
label_license: 湘ICP备09019772
# 项目托管平台主页
# 项目托管平台主页 >主旨
label_project_trustie: Trustie在线项目托管平台
label_project_trustie_theme: ", 面向中国大学生与软件从业者,提供社交化的项目管理、代码托管、资源共享、合作交流。"
# 项目托管平台主页 >热门项目栏
lable_hot_projects: 热门项目
label_project_new: 新建项目
label_join_project: 加入项目
label_private: 私有
label_project_member_amount: "%{count}人"
label_project_score_tips: 项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度
label_project_score: 项目评分
# 项目托管平台主页 >用户动态栏
lable_user_active: 用户动态
field_user_active_published: 发表了
field_user_active_uploaded: 上传了
field_user_active_updated: 更新了
field_user_active_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: "回复("
# 用户动态中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: 贴吧动态
label_my_question: 我要提问
label_my_feedback: 我要反馈
label_more: 更多>>
label_updated_time: " 更新于 %{value} 之前"
label_question_sponsor: 楼主
label_final_reply: 最后回复
# 项目托管平台 >新建项目
label_project_new_description: '项目可以是软件开发项目,也可以是协作研究项目。'
field_name: 名称
field_description: 描述
field_identifier: 标识
text_length_between: "长度必须在 %{min} 到 %{max} 个字符之间。"
text_project_identifier_info: "小写字母a-z、数字、破折号-和下划线_可以使用。<br />一旦保存,标识无法修改。"
field_is_public: 公开
field_hidden_repo: 隐藏代码库
button_create: 提交
# 项目托管平台 >加入项目
# 课程托管平台
# 课程托管平台主页 >主旨
label_course_trustie: Trustie在线课程实践平台
label_course_trustie_theme: ", 面向中国高校教师与大学生,提供社交化的课程管理、资源共享、合作实验、协同研究。"
# 课程托管平台主页 >
# 竞赛托管平台
# 竞赛托管平台主页 >主旨
label_contest_trustie: Trustie在线竞赛实战平台
label_contest_trustie_theme: ", 面向中国大学生与编程爱好者,提供社交化的竞赛管理、应用管理、代码托管、合作交流。"
# 竞赛托管平台主页 >
# 邮件系统
# 邮件 >激活邮件
# edit by meng
# 邮件中文格式
mail_issue_greetings: "亲爱的Trustie用户您好"
mail_issue_footer: "退订该邮件!"
mail_issue_title_userin: "在"
mail_issue_title_active: "中有了一个与您相关的最新活动,请您关注!"
mail_issue_subject: "标题:"
mail_issue_content: "内容:"
mail_issue_sent_from: "来源:"
mail_issue_from_project: "项目问题跟踪"
mail_issue_attachments: "附件:"
mail_issue_reply: "我要回复"
# 课程资源上传
# edit by meng
# 课程资源上传>
label_file_upload: 资源文件
label_file_upload_error_messages: "上传出现错误,请您检查您的网络环境,并刷新页面重新上传。"
button_confirm: 确认
label_work_quantity: 个作品
# label_organizers: 主办单位
# label_organizers_information: 国防科学技术大学并行与分布处理国家重点实验室
# label_organizers_information_institute: 计算机科学与技术系
# label_copyright: 版权
# label_contact_us: 联系我们
# label_record: 湘ICP备09019772
label_check_comment: 查看通知评论
label_notification: 通知公告
label_course_ad_description: 课程模块正在优化中,使用过程中如有问题请您与我们联系,感谢大家的支持!
@ -2239,16 +2420,13 @@ zh:
label_unknow_type: 未知类型
label_score_less_than_zero: 得分小于0修正为0
review_assignments: 评审任务
label_private: 私有
label_my_school: 我的学校
label_all_schol: 全部学校
label_school_all: 中国高校
label_select_province: 请选择省份
label_search_conditions_not_null: 搜索条件不能为空
lable_hot_course: 活跃课程
lable_hot_projects: 热门项目
lable_user_active: 用户动态
lable_bar_active: 贴吧动态
lable_student_list_visable: 学生列表是否公开
lable_sure_exit_project: 是否确认退出该项目
lable_input_class: 在此输入课时
@ -2338,3 +2516,13 @@ zh:
next: "下一页 &raquo;"
truncate: "..."
# 项目企业模块
label_all_enterprises: 所有企业
label_my_enterprise: 我的企业
label_enterprise_tips: 暂时还没有该企业对应的项目,系统的其它项目您可能会感兴趣!
label_part_enterprise_tips: 您可能对系统的其它项目会感兴趣!
label_enterprise_nil: 该模块为最新上线模块,目前还未有项目关联到企业!
label_enterprises: 组织

@ -26,6 +26,7 @@
# Example: :via => :get ====> :via => :get
RedmineApp::Application.routes.draw do
get "organizations/index"
#match '/contests/:id/contestnotifications', :controller => 'contestnotifications', :action => 'index'
@ -389,7 +390,8 @@ RedmineApp::Application.routes.draw do
match '/statistics', :to => 'projects#statistics', :as => 'statistics', :via => :get
# match '/investor', :controller => 'projects', :action => 'investor', :as => 'investor', :via => :get
match '/homework', :to => 'projects#homework', :as => 'homework', :via => :get
match 'organizations', :to => 'organizations#index', :as => 'index', :via => :get
# match '/activity', :controller => 'activities', :action => 'index', :as => 'activity', :via => :get
# match '/repository', :controller => 'repositories', :action => 'show', :repository_id => nil, :path => nil, :rev => nil, :as => 'repository', :via => :get
# match '/', :controller => 'projects', :action => 'show', :as => 'project_show', :via => :get
@ -638,6 +640,7 @@ RedmineApp::Application.routes.draw do
match 'admin/course_page_made', as: :course_page_made
match 'admin/contest_page_made', as: :contest_page_made
match 'admin/web_footer_made', as: :web_footer_made
match 'admin/enterprise_page_made', as: :enterprise_page_made
match 'admin/search', :via => [:get, :post]
match 'admin/plugins', :via => :get
match 'admin/info', :via => :get
@ -729,7 +732,7 @@ RedmineApp::Application.routes.draw do
match 'delete_avatar', :to => 'avatar#delete_image',:via => :post
# Endof Tao's code
get 'robots.txt', :to => 'welcome#robots'
match 'welcome/course', :to => 'welcome#course'
#match 'welcome/course', :to => 'welcome#course'
##############测试留言功能 fq
post 'words/new', :to => 'words#new'
post 'words/create', :to => 'words#create'

@ -0,0 +1,5 @@
class AddEnterpriseNameToProjects < ActiveRecord::Migration
def change
add_column :projects, :enterprise_name, :string
end
end

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20150123020615) do
ActiveRecord::Schema.define(:version => 20150128032421) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@ -925,6 +925,7 @@ ActiveRecord::Schema.define(:version => 20150123020615) do
t.integer "attachmenttype", :default => 1
t.integer "user_id"
t.integer "dts_test", :default => 0
t.string "enterprise_name"
end
add_index "projects", ["lft"], :name => "index_projects_on_lft"

@ -0,0 +1 @@
Subproject commit 222a9bdd72014f197baf2131ab71cc41660111ed

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

@ -8,7 +8,19 @@ h3, .wiki h2 {font-size: 15px; padding-left: 5px}
h4, .wiki h3 {font-size: 13px;}
h4 {border-bottom: 1px dotted #bbb;}
/*huang*/
/*企业版样式*/
.content_syqy{ width:940px; height:400px; border:1px;}
.content_syqy .list{ font-size:14px; font-weight:normal; margin-left:10px; font-weight:bold; padding-top:10px}
.syqy_box{ margin-left:-30px; margin-top:5px;}
.syqy_box ul li{ float:left; margin-right:10px; border:1px solid #e3e3e3; width:215px; height:30px; padding:5px; padding-right:0px; margin-bottom:10px; overflow:hidden; text-overflow:ellipsis;font-size:14px; color:#464646;white-space: nowrap; }
.syqy_box ul li img{ float:left; margin-right:3px; }
.syqy_box ul li a { float:left;font-size:14px; color:#464646; height:30px; padding-top:4px; width: 175px; overflow:hidden; text-overflow:ellipsis;}
.syqy_box ul li a:hover{color:#15bccf;}
a.syqy_wenzi{ padding-bottom:10px; border:1px solid red;}
/*current position*/
.enterprise_all{
padding-left: 20px;
}
.course_ad{
position:absolute;
visibility:visible;

@ -1,5 +1,5 @@
/* CSS Document */
body{ font-size:12px !important; font-family:"微软雅黑","宋体" !important; line-height:1.9; background:#fff; font-style:normal;}
#content,#popbox,#popbox02{ font-size:12px !important; font-family:"微软雅黑","宋体" !important; line-height:1.9; background:#fff; font-style:normal;}
div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span,textarea{ margin:0; padding:0;}
div,img,tr,td,textarea{ border:0;}
table,tr,td{border:0; cellspacing:0; cellpadding:0;}
@ -79,7 +79,7 @@ a.wzan_visited{background:url(images/pic_zan.png) 0 0 no-repeat;}
.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; }
.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
.ping_con p span a{ color:#777777;}
.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;}
.ping_star{ width:165px; color:#333; font-weight:bold; margin-bottom:5px;}
.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png);background-repeat: no-repeat; margin-right:3px;}
.ping_con textarea{ height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;}
a.ping_sub{ float:right; height:22px; width:60px; margin-right:20px; background:#15bccf; color:#fff; text-align:center;}

@ -0,0 +1,12 @@
require 'spec_helper'
describe EnterprisesController do
describe "GET 'index'" do
it "returns http success" do
get 'index'
response.should be_success
end
end
end
Loading…
Cancel
Save