diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 8b37ca8e4..6e6fa7d20 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -151,7 +151,7 @@ class HomeworkCommonController < ApplicationController
@homework.description = params[:homework_common][:description]
@homework.end_time = params[:homework_common][:end_time]
@homework.publish_time = params[:homework_common][:publish_time]
- @homework.homework_type = params[:homework_common][:homework_type]
+ @homework.homework_type = params[:homework_common][:homework_type] if params[:homework_common][:homework_type]
unless @homework.late_penalty == params[:late_penalty]
@homework.student_works.where("created_at > '#{@homework.end_time} 23:59:59'").each do |student_work|
student_work.late_penalty = params[:late_penalty]
diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb
index 84e2e7d35..103030d51 100644
--- a/app/controllers/my_controller.rb
+++ b/app/controllers/my_controller.rb
@@ -180,6 +180,7 @@ class MyController < ApplicationController
# Manage user's password
def password
+ begin
@act='password'
@user = User.current
unless @user.change_password_allowed?
@@ -196,18 +197,20 @@ class MyController < ApplicationController
Token.delete_user_all_tokens(@user)
logout_user
redirect_to signin_url(back_url: my_account_path)
+ return
else
- flash.now[:error] = l(:notice_account_wrong_password)
+ #flash.now[:error] = l(:notice_account_wrong_password)
end
end
- render :template => 'my/account',:layout=>'base_users_new'
rescue Exception => e
if e.message == 'wrong password'
- flash.now[:error] = l(:notice_account_wrong_password)
+ # flash.now[:error] = l(:notice_account_wrong_password)
else
- flash.now[:error] = e.message
+ # flash.now[:error] = e.message
end
- render :template => 'my/account',:layout=>'base_users_new'
+ flash.now[:error] = l(:notice_account_old_wrong_password)
+ end
+ render :template => 'my/account',:layout=>'base_users_new'
end
# Create a new feeds key
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index 607c9b5db..b335e1830 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -250,6 +250,14 @@ update
return -1
end
end
+
+ if params[:to] == 'gitlab'
+ g = Gitlab.client
+ g.post('/session', body: {email: User.current.mail, password: User.current.hashed_password})
+ redirect_to "http://192.168.41.130:3000/gitlab-org/gitlab-shell/tree/master"
+ return
+ end
+
#if( !User.current.member_of?(@project) || @project.hidden_repo)
@repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty?
@@ -540,11 +548,12 @@ update
:stack => :side,
:scale_integers => true,
:step_x_labels => 2,
- :show_data_values => false,
+ :show_data_values => true,
:graph_title => l(:label_commits_per_month),
:show_graph_title => true
)
+ # 具状图
graph.add_data(
:data => commits_by_month[0..11].reverse,
:title => l(:label_revision_plural)
@@ -560,7 +569,7 @@ update
def graph_commits_per_author(repository)
commits_by_author = Changeset.count(:all, :group => :committer, :conditions => ["repository_id = ?", repository.id])
- commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}
+ commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(25)
changes_by_author = Change.count(:all, :group => :committer, :include => :changeset, :conditions => ["#{Changeset.table_name}.repository_id = ?", repository.id])
h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o}
@@ -582,7 +591,7 @@ update
:fields => fields,
:stack => :side,
:scale_integers => true,
- :show_data_values => false,
+ :show_data_values => true,
:rotate_y_labels => false,
:graph_title => l(:label_commits_per_author),
:show_graph_title => true
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 20cdc6659..dae0bcab6 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -13,8 +13,9 @@ class StudentWorkController < ApplicationController
def index
@order,@b_sort,@name,@group = params[:order] || "score",params[:sort] || "desc",params[:name] || "",params[:group]
@is_teacher = User.current.allowed_to?(:as_teacher,@course)
- unless @group == "0" || @group.nil?
- group_students = CourseGroup.find_by_id(@group).users
+ course_group = CourseGroup.find_by_id(@group) if @group
+ if course_group
+ group_students = course_group.users
if group_students.empty?
student_in_group = '(0)'
else
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index cb2821a4b..d6597f3da 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -142,7 +142,7 @@ class UsersController < ApplicationController
@obj_count = query.count();
@obj_pages = Paginator.new @obj_count,limit,params['page']
- @list = query.order("#{Project.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
+ @list = query.order("#{Project.table_name}.updated_on desc,#{Project.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
@params = params
respond_to do |format|
@@ -281,7 +281,7 @@ class UsersController < ApplicationController
@obj_count = query.count();
@obj_pages = Paginator.new @obj_count,limit,params['page']
- @list = query.order("#{Course.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
+ @list = query.order("#{Course.table_name}.updated_at desc,#{Course.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
@params = params
render :layout=>'base_users_new'
@@ -460,14 +460,13 @@ class UsersController < ApplicationController
end
if params[:lastid]!=nil && !params[:lastid].empty?
- query = query.where("#{Course.table_name}.id < ?",params[:lastid])
+ query = query.where("( (#{Course.table_name}.updated_at=? and #{Course.table_name}.id < ?) or #{Course.table_name}.updated_at)",params[:lasttime],params[:lastid],params[:lasttime])
end
- @list = query.order("#{Course.table_name}.id desc").limit(8).all
+ @list = query.order("#{Course.table_name}.updated_at desc,#{Course.table_name}.id desc").limit(8).all
render :layout=>nil
end
def user_projects4show
-
query = Project.joins("join members m on #{Project.table_name}.id=m.project_id")
query = query.where("m.user_id = ? and #{Project.table_name}.project_type=?",@user.id,Project::ProjectType_project)
if User.current == @user #看自己
@@ -477,9 +476,9 @@ class UsersController < ApplicationController
end
if params[:lastid]!=nil && !params[:lastid].empty?
- query = query.where("#{Project.table_name}.id < ?",params[:lastid])
+ query = query.where("( (#{Project.table_name}.updated_on=? and #{Project.table_name}.id < ?) or #{Project.table_name}.updated_on)",params[:lasttime],params[:lastid],params[:lasttime])
end
- @list = query.order("#{Project.table_name}.id desc").limit(8).all
+ @list = query.order("#{Project.table_name}.updated_on desc,#{Project.table_name}.id desc").limit(8).all
render :layout=>nil
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 47a3b59ae..64a478187 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2345,6 +2345,34 @@ module ApplicationHelper
#将文本内的/n转换为
def text_format text
- text.gsub("\n","
").html_safe
+ text.gsub("&","&").gsub("<","<").gsub(">",">").gsub("\n","
").html_safe
+ end
+
+ #评分规则显示
+ def scoring_rules late_penalty,homework_id,is_teacher,absence_penalty=nil
+ if absence_penalty
+ if late_penalty.to_i == 0 && absence_penalty.to_i == 0
+ notice = "尚未设置评分规则"
+ if is_teacher
+ notice += ",请 " + link_to("设置",edit_homework_common_path(homework_id),:class => "c_green")
+ end
+ elsif late_penalty.to_i != 0 && absence_penalty.to_i == 0
+ notice = "迟交扣#{late_penalty}分,缺评扣分未设置"
+ elsif late_penalty.to_i == 0 && absence_penalty.to_i != 0
+ notice = "迟交扣分未设置,缺评一个作品扣#{absence_penalty}分"
+ elsif late_penalty.to_i != 0 && absence_penalty.to_i != 0
+ notice = "迟交扣#{late_penalty}分,缺评一个作品扣#{absence_penalty}分"
+ end
+ else
+ if late_penalty.to_i == 0
+ notice = "尚未设置评分规则"
+ if is_teacher
+ notice += ",请 " + link_to("设置",edit_homework_common_path(homework_id),:class => "c_green")
+ end
+ else
+ notice = "迟交扣#{late_penalty}分"
+ end
+ end
+ notice.html_safe
end
end
diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb
index a2ff6dbab..81f817ee9 100644
--- a/app/helpers/homework_common_helper.rb
+++ b/app/helpers/homework_common_helper.rb
@@ -53,31 +53,4 @@ module HomeworkCommonHelper
link
end
- #评分规则显示
- def scoring_rules late_penalty,homework_id,is_teacher,absence_penalty=nil
- if absence_penalty
- if late_penalty.to_i == 0 && absence_penalty.to_i == 0
- notice = "尚未设置评分规则"
- if is_teacher
- notice += ",请 " + link_to("设置",edit_homework_common_path(homework_id),:class => "c_green")
- end
- elsif late_penalty.to_i != 0 && absence_penalty.to_i == 0
- notice = "迟交扣#{late_penalty}分,缺评扣分未设置"
- elsif late_penalty.to_i == 0 && absence_penalty.to_i != 0
- notice = "迟交扣分未设置,缺评一个作品扣#{absence_penalty}分"
- elsif late_penalty.to_i != 0 && absence_penalty.to_i != 0
- notice = "迟交扣#{late_penalty}分,缺评一个作品扣#{absence_penalty}分"
- end
- else
- if late_penalty.to_i == 0
- notice = "尚未设置评分规则"
- if is_teacher
- notice += ",请 " + link_to("设置",edit_homework_common_path(homework_id),:class => "c_green")
- end
- else
- notice = "迟交扣#{late_penalty}分"
- end
- end
- notice.html_safe
- end
end
\ No newline at end of file
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index 1926be0e8..db041c0ba 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -447,7 +447,9 @@ module UsersHelper
when "Issue"
return activity.act.subject
when "Journal"
- return details_to_strings(activity.act.details,true).to_s
+ arr = details_to_strings(activity.act.details,true)
+ arr << activity.act.notes
+ return arr.to_s
when "JournalsForMessage"
return activity.act.notes
when "Message"
diff --git a/app/models/user_extensions.rb b/app/models/user_extensions.rb
index d9a0f520a..726918729 100644
--- a/app/models/user_extensions.rb
+++ b/app/models/user_extensions.rb
@@ -12,6 +12,8 @@ class UserExtensions < ActiveRecord::Base
belongs_to :user
belongs_to :school, :class_name => 'School', :foreign_key => :school_id
attr_accessible :user_id,:birthday,:brief_introduction,:gender,:location,:occupation,:work_experience,:zip_code,:identity, :technical_title,:student_id
+ validates_length_of :description, :maximum => 255
+ validates_length_of :brief_introduction, :maximum => 255
TEACHER = 0
STUDENT = 1
ENTERPRISE = 2
diff --git a/app/views/files/searchone4reload.html.erb b/app/views/files/searchone4reload.html.erb
index 4512e52dd..75dd7bcab 100644
--- a/app/views/files/searchone4reload.html.erb
+++ b/app/views/files/searchone4reload.html.erb
@@ -2,26 +2,29 @@
<% if file.is_public? || User.current.member_of_course?(course) %>
文件大小:<%= number_to_human_size(file.filesize) %>
<%= link_to( l(:button_delete), attachment_path(file), :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if delete_allowed && file.container_id == @course.id && file.container_type == "Course"%> diff --git a/app/views/homework_common/_homework_detail_programing_form.html.erb b/app/views/homework_common/_homework_detail_programing_form.html.erb index 008f88138..806768954 100644 --- a/app/views/homework_common/_homework_detail_programing_form.html.erb +++ b/app/views/homework_common/_homework_detail_programing_form.html.erb @@ -98,7 +98,7 @@