Merge remote-tracking branch 'origin/szzh' into szzh
This commit is contained in:
commit
86adfaecce
|
@ -61,6 +61,7 @@ class AttachmentsController < ApplicationController
|
|||
end
|
||||
rescue => e
|
||||
redirect_to "http://" + (Setting.host_name.to_s) +"/file_not_found.html"
|
||||
return
|
||||
end
|
||||
|
||||
#更新资源文件类型
|
||||
|
|
|
@ -99,16 +99,17 @@ class SchoolController < ApplicationController
|
|||
|
||||
def search_school
|
||||
q = "%#{params[:key_word].strip}%"
|
||||
if params[:province].nil? or params[:province] == "0"
|
||||
@school = School.where("name LIKE ?", q);
|
||||
else
|
||||
@school = School.where("province = ? AND name LIKE ?", params[:province], q);
|
||||
end
|
||||
|
||||
@school = School.where("name LIKE ?", q)
|
||||
@school = @school.where("province = ?", params[:province]) if (params[:province] != '0' )
|
||||
|
||||
options = ""
|
||||
@school.each do |s|
|
||||
options << "<li style = 'width: 33%; float: left'> <a id=#{s.id} onclick='test(this.id)'>#{s.name}</a></li>"
|
||||
end
|
||||
|
||||
render :text => options
|
||||
options = "<div class='flash error' id='flash_error'>#{l(:label_school_not_fount)}</div>" if options.blank?
|
||||
|
||||
render :text => options
|
||||
end
|
||||
end
|
||||
|
|
|
@ -255,112 +255,63 @@ class UsersController < ApplicationController
|
|||
|
||||
#end
|
||||
def index
|
||||
|
||||
@project_type = params[:project_type]
|
||||
role = params[:role]
|
||||
|
||||
@status = params[:status] || 1
|
||||
sort_init 'login', 'asc'
|
||||
sort_update %w(login firstname lastname mail admin created_on last_login_on)
|
||||
|
||||
# Deprecation
|
||||
@project_type = params[:project_type]
|
||||
|
||||
case params[:format]
|
||||
when 'xml', 'json'
|
||||
@offset, @limit = api_offset_and_limit({:limit => 15})
|
||||
else
|
||||
@limit = 15#per_page_option
|
||||
@limit = 15
|
||||
end
|
||||
|
||||
@status = params[:status] || 1
|
||||
has = {
|
||||
"show_changesets" => true
|
||||
}
|
||||
# @count = Redmine::Activity::Fetcher.new(User.current, :author => @user).scope_select {|t| !has["show_#{t}"].nil?}.events(nil, nil).count
|
||||
|
||||
# retrieve all users
|
||||
scope = UserStatus.visible
|
||||
case role
|
||||
|
||||
# if role has something, change scope.
|
||||
case params[:role]
|
||||
when 'teacher'
|
||||
scope = UserStatus.teacher
|
||||
when 'student'
|
||||
scope = UserStatus.student
|
||||
else
|
||||
|
||||
end
|
||||
|
||||
# unknow
|
||||
scope = scope.in_group(params[:group_id]) if params[:group_id].present?
|
||||
# scope.each do |user|
|
||||
# UserStatus.create(:changesets_count => user.changesets.count, :watchers_count => user.watcher_users.count, :user_id => user.id)
|
||||
# end
|
||||
|
||||
# pagination
|
||||
@user_count = scope.count
|
||||
@user_pages = Paginator.new @user_count, @limit, params['page']
|
||||
#@offset ||= @user_pages.offset
|
||||
#@users = scope.order(sort_clause).limit(@limit).offset(@offset).all
|
||||
@user_base_tag = params[:id] ? 'base_users':'base'
|
||||
if params[:user_sort_type].present?
|
||||
case params[:user_sort_type]
|
||||
when '0'
|
||||
@offset ||= @user_pages.reverse_offset
|
||||
unless @offset == 0
|
||||
@users_statuses = scope.offset(@offset).limit(@limit).all.reverse
|
||||
else
|
||||
limit = @user_count % @limit
|
||||
if limit == 0
|
||||
limit = @limit
|
||||
end
|
||||
@users_statuses = scope.offset(@offset).limit(limit).all.reverse
|
||||
end
|
||||
@s_type = 0
|
||||
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
||||
# @projects = @projects[@offset, @limit]
|
||||
when '1'
|
||||
@offset ||= @user_pages.reverse_offset
|
||||
unless @offset == 0
|
||||
@users_statuses = scope.reorder('grade').offset(@offset).limit(@limit).all.reverse
|
||||
else
|
||||
limit = @user_count % @limit
|
||||
if limit == 0
|
||||
limit = @limit
|
||||
end
|
||||
@users_statuses = scope.reorder('grade').offset(@offset).limit(limit).all.reverse
|
||||
end
|
||||
@s_type = 1
|
||||
#sort {|x,y| y.user_status.changesets_count <=> x.user_status.changesets_count}
|
||||
#@users = @users[@offset, @limit]
|
||||
when '2'
|
||||
@offset ||= @user_pages.reverse_offset
|
||||
unless @offset == 0
|
||||
@users_statuses = scope.reorder('watchers_count').offset(@offset).limit(@limit).all.reverse
|
||||
else
|
||||
limit = @user_count % @limit
|
||||
if limit == 0
|
||||
limit = @limit
|
||||
end
|
||||
@users_statuses = scope.reorder('watchers_count').offset(@offset).limit(limit).all.reverse
|
||||
end
|
||||
@s_type = 2
|
||||
#@users = @users[@offset, @limit]
|
||||
end
|
||||
|
||||
# users classify
|
||||
case params[:user_sort_type]
|
||||
when '0'
|
||||
@s_type = 0
|
||||
@us_ordered = scope.
|
||||
joins("LEFT JOIN users ON user_statuses.user_id = users.id").
|
||||
reorder('users.created_on DESC')
|
||||
when '1'
|
||||
@s_type = 1
|
||||
@us_ordered = scope.reorder('user_statuses.grade DESC')
|
||||
when '2'
|
||||
@s_type = 2
|
||||
@us_ordered = scope.reorder('user_statuses.watchers_count DESC')
|
||||
else
|
||||
@offset ||= @user_pages.reverse_offset
|
||||
unless @offset == 0
|
||||
@users_statuses = scope.reorder('grade').offset(@offset).limit(@limit).all.reverse
|
||||
else
|
||||
limit = @user_count % @limit
|
||||
if limit == 0
|
||||
limit = @limit
|
||||
end
|
||||
@users_statuses = scope.reorder('grade').offset(@offset).limit(limit).all.reverse
|
||||
end
|
||||
@s_type = 1
|
||||
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
||||
# @projects = @projects[@offset, @limit]
|
||||
end
|
||||
|
||||
@users = []
|
||||
@users_statuses.each do |obj|
|
||||
@users << User.find_by_id("#{obj.user_id}")
|
||||
@s_type = 1
|
||||
@us_ordered = scope.reorder('user_statuses.grade DESC')
|
||||
end
|
||||
|
||||
# limit and offset
|
||||
@users_statuses = @us_ordered.offset(@user_pages.offset).limit(@user_pages.per_page)
|
||||
# get users ActiveRecord
|
||||
@users = @users_statuses.includes(:user).map(&:user)
|
||||
|
||||
@user_base_tag = params[:id] ? 'base_users':'base'
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
@groups = Group.all.sort
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class UserStatus < ActiveRecord::Base
|
||||
attr_accessible :changesets_count, :user_id, :watchers_count
|
||||
belongs_to :users
|
||||
belongs_to :user
|
||||
belongs_to :watchers
|
||||
belongs_to :changesets
|
||||
validates_presence_of :user_id
|
||||
|
|
|
@ -1469,6 +1469,7 @@ en:
|
|||
label_teacher: Teacher
|
||||
label_student: Student
|
||||
label_school_all: Schools
|
||||
label_school_not_fount: Not found by your input query condition.
|
||||
label_other: Other
|
||||
label_gender: Gender
|
||||
label_gender_male: male
|
||||
|
|
|
@ -1857,6 +1857,7 @@ zh:
|
|||
|
||||
#added by Wen
|
||||
label_school_all: 中国高校
|
||||
label_school_not_fount: 没有符合的高校信息
|
||||
|
||||
|
||||
label_project_grade: 项目得分
|
||||
|
|
|
@ -1,23 +1,40 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<title>File not found</title>
|
||||
<style>
|
||||
body{
|
||||
font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
|
||||
color:#303030;
|
||||
margin:10px;
|
||||
}
|
||||
h1{
|
||||
font-size:1.5em;
|
||||
}
|
||||
p{
|
||||
font-size:0.8em;
|
||||
}
|
||||
</style>
|
||||
<head>
|
||||
<title>File not found</title>
|
||||
<style>
|
||||
body{
|
||||
font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
|
||||
color:#303030;
|
||||
}
|
||||
div.container{
|
||||
margin: 0 auto;
|
||||
width: 80%;
|
||||
}
|
||||
h1{
|
||||
font-size:1.5em;
|
||||
}
|
||||
p{
|
||||
font-size:0.8em;
|
||||
}
|
||||
.hidden{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Sorry, this file can not be downloaded now. </h1>
|
||||
<p>Trustie Team.</p>
|
||||
<p><a href="javascript:history.back()">Back</a></p>
|
||||
<div class="container" >
|
||||
<h1>Sorry, this file can not be downloaded now. </h1>
|
||||
<h3> <a href="http://forge.trustie.net" style="">Goto Home page</a> </h3>
|
||||
|
||||
<div class="container" style="">
|
||||
<div style="position: relative; right:0;text-align: right;">
|
||||
<h4>Trustie Team.</h4>
|
||||
</div>
|
||||
</div>
|
||||
<p class="hidden" >
|
||||
<a href="javascript:history.back()">Back</a>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue