Merge branch 'develop' of 10.0.47.245:/home/trustie2 into develop

This commit is contained in:
yanxd 2013-11-01 08:19:08 +08:00
commit 0a21b87714
13 changed files with 184 additions and 61 deletions

View File

@ -28,8 +28,6 @@ class BidsController < ApplicationController
@bids = Bid.visible.where('reward_type = ?', 1) @bids = Bid.visible.where('reward_type = ?', 1)
end end
@bids = @bids.like(params[:name]) if params[:name].present? @bids = @bids.like(params[:name]) if params[:name].present?
@bid_count = @bids.count @bid_count = @bids.count
@bid_pages = Paginator.new @bid_count, @limit, params['page'] @bid_pages = Paginator.new @bid_count, @limit, params['page']
@ -310,6 +308,18 @@ class BidsController < ApplicationController
# @project = Project.where("id in []", a) # @project = Project.where("id in []", a)
@user = @bid.author @user = @bid.author
@bidding_project = @bid.biding_projects.all @bidding_project = @bid.biding_projects.all
if params[:student_id].present?
@temp = []
@bidding_project.each do |pro|
if pro.project && pro.project.project_status
if /#{params[:student_id]}/ =~ pro.user.user_extensions.student_id
@temp << pro
end
end
@temp
end
@bidding_project = @temp
else
#added by nie #added by nie
@temp = [] @temp = []
@bidding_project.each do |pro| @bidding_project.each do |pro|
@ -322,6 +332,8 @@ class BidsController < ApplicationController
@bidding_project = @temp.sort {|a,b| b.project.project_status.grade <=> a.project.project_status.grade} @bidding_project = @temp.sort {|a,b| b.project.project_status.grade <=> a.project.project_status.grade}
end end
#ended #ended
end
if @bid.homework_type == 1 if @bid.homework_type == 1
@homework = HomeworkAttach.new @homework = HomeworkAttach.new
@homework_list = @bid.homeworks @homework_list = @bid.homeworks

View File

@ -536,7 +536,7 @@ class ProjectsController < ApplicationController
r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first
m = Member.new(:user => User.current, :roles => [r]) m = Member.new(:user => User.current, :roles => [r])
project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id) project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
UserGrade.create(:user_id => User.current.id, :project_id => @project.id, :grade => 0) user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id)
if params[:project][:is_public] == '1' if params[:project][:is_public] == '1'
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :grade => 0, :project_type => @course_tag) project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :grade => 0, :project_type => @course_tag)
end end
@ -590,6 +590,7 @@ class ProjectsController < ApplicationController
r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first
m = Member.new(:user => User.current, :roles => [r]) m = Member.new(:user => User.current, :roles => [r])
project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id) project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id)
if params[:project][:is_public] == '1' || @course_tag=="1" if params[:project][:is_public] == '1' || @course_tag=="1"
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0) project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0)
end end

View File

@ -113,6 +113,8 @@ class UsersController < ApplicationController
events << Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 30) events << Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 30)
end end
@events_by_day = events.group_by(&:event_date) @events_by_day = events.group_by(&:event_date)
unless User.current.admin? unless User.current.admin?
@ -424,6 +426,23 @@ class UsersController < ApplicationController
@state = 0 @state = 0
end end
if params[:user].present?
user_temp = User.find_by_sql("select id from users where firstname like '%#{params[:user]}%' or lastname like '%#{params[:user]}%'")
if user_temp.size > 1
activity = Activity.where('user_id in (?)', user_temp).order('id desc')
elsif user_temp.size == 1
activity = Activity.where('user_id = ?', user_temp).order('id desc')
else
activity = Activity.where("1 = 0")
end
@offset, @limit = api_offset_and_limit({:limit => 10})
@activity_count = activity.count
@activity_pages = Paginator.new @activity_count, @limit, params['page']
@offset ||= @activity_pages.offset
@activity = activity.offset(@offset).limit(@limit)
@state = 0
end
#Modified by nie #Modified by nie
unless User.current.admin? unless User.current.admin?

View File

@ -1,6 +1,25 @@
<%= form_tag(:controller => 'bids', :action => "show_project", :method => :get) do %>
<div class="project-search-block">
<table width="100%" valign="center">
<tr>
<td width="16%"><span style="margin-left:0px"><%= l(:label_task_plural)%></span></td>
<td align="right">
<div class="project-search">
<%= text_field_tag 'student_id', params[:student_id], :size => 30 %>
<%= submit_tag l(:label_search_by_student_id), :class => "small", :name => nil %>
</div></td>
</tr>
</table>
</div>
<% end %>
<% bidding_project.each do |b_project|%> <% bidding_project.each do |b_project|%>
<% if b_project.project %> <% if b_project.project %>
<table width="90%" border="0" align='center'> <table width="90%" border="0" align='center'>
<tr> <tr>
<td> <td>
@ -24,7 +43,7 @@
<td style="color: red;" align="right" valign="0.1em" width="16%"> <td style="color: red;" align="right" valign="0.1em" width="16%">
<strong><span id="reward_result_<%=b_project.id%>"> <!-- 调用js进行刷新 --> <strong><span id="reward_result_<%=b_project.id%>"> <!-- 调用js进行刷新 -->
<%= l(:label_system_grade) %>:<%= (b_project.project.project_status.nil? ? 0 : b_project.project.project_status.grade) unless (b_project.project.project_status.nil? && b_project.project.nil?) %> <%= l(:label_system_grade) %>:<%= (b_project.project.project_status.nil? ? 0.0 : b_project.project.project_status.grade) unless (b_project.project.project_status.nil? && b_project.project.nil?) %>
<% if get_prize(b_project).nil? or get_prize(b_project) == "" %> <% if get_prize(b_project).nil? or get_prize(b_project) == "" %>
<% if @bid.deadline < Date.today %> <% if @bid.deadline < Date.today %>
<%= l(:label_noawards)%> <%= l(:label_noawards)%>

View File

@ -213,12 +213,14 @@
<%= render_menu :user_menu %> <%= render_menu :user_menu %>
<% end %> <% end %>
</div> </div>
<%= yield %> <%= yield %>
<%= call_hook :view_layouts_base_content %> <%= call_hook :view_layouts_base_content %>
<div style="clear:both;"></div> <div style="clear:both;"></div>
<%= render_flash_messages %> <%= render_flash_messages %>
</div> </div>
<%= render :partial => 'layouts/base_footer'%> <%= render :partial => 'layouts/base_footer'%>
</div> </div>
<div id="ajax-indicator" style="display:none;"> <div id="ajax-indicator" style="display:none;">

View File

@ -89,7 +89,7 @@
</div> </div>
<div class="grade"> <div class="grade">
<% if @project.project_type !=1 %> <% if @project.project_type !=1 %>
<%= content_tag('span', "#{l(:label_project_grade)}: ")%><span style='color:red'><%= @project.project_status.grade%></span> <%= content_tag('span', "#{l(:label_project_grade)}: ")%><span style='color:red'><%=@project.project_status ? @project.project_status.grade : 0.0 %></span>
<% end %> <% end %>
</div> </div>
<!-- added by liuping --> <!-- added by liuping -->

View File

@ -12,10 +12,13 @@
</span></td> </span></td>
<td valign="center"><%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %></td> <td valign="center"><%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %></td>
<% else %> <% else %>
<%= l(:label_new_course)%> <%= l(:label_new_course)%>
</span></td> </span></td>
<% if User.current.user_extensions.identity == 0 %>
<td valign="center"><%= 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> <td valign="center"><%= 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 %> <% end %>
<td align="right"> <td align="right">
<div class="project-search"> <div class="project-search">

View File

@ -1,6 +1,22 @@
<% if User.current.id == @user.id%> <% if User.current.id == @user.id%>
<%= show_activity @state%> <%= show_activity @state%>
<%= form_tag(:controller => 'users', :action => "show") do %>
<div class="user-search-block">
<table width="100%" valign="center">
<tr>
<td align="right">
<div class="project-search">
<%= text_field_tag 'user', params[:user], :size => 30 %>
<%= submit_tag l(:label_search_by_user), :class => "small", :name => nil %>
</div></td>
</tr>
</table>
</div>
<% end %> <% end %>
<% end %>
<% unless @state == 2%> <% unless @state == 2%>
<% unless @activity.empty? %> <% unless @activity.empty? %>
<div id="activity"> <div id="activity">

View File

@ -19,6 +19,7 @@
<% unless @events_by_day.empty? %> <% unless @events_by_day.empty? %>
<div id="activity"> <div id="activity">
<% @events_by_day.keys.sort.reverse.each do |day| %> <% @events_by_day.keys.sort.reverse.each do |day| %>
<% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| -%> <% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| -%>

View File

@ -827,7 +827,7 @@ zh:
label_user_login: "最后登录:" label_user_login: "最后登录:"
label_user_mail: "邮件地址:" label_user_mail: "邮件地址:"
label_user_joinin: "加入时间:" label_user_joinin: "加入时间:"
label_user_activities: 当前还没有活动,快来加入我们吧 label_user_activities: 没有关注该用户,请尝试重新输入
label_user_activities_other: 该用户暂无任何动态! label_user_activities_other: 该用户暂无任何动态!
label_project_overview: "概述" label_project_overview: "概述"
label_project_tool: "工具" label_project_tool: "工具"
@ -1603,6 +1603,8 @@ zh:
one: 份资料 one: 份资料
other: 份资料 other: 份资料
#add by men #add by men
label_technicl_title_professor: 教授 label_technicl_title_professor: 教授
label_technicl_title_associate_professor: 副教授 label_technicl_title_associate_professor: 副教授
@ -1663,4 +1665,7 @@ zh:
label_has_watched_project: 关注的项目 label_has_watched_project: 关注的项目
label_project_take: 参与的项目 label_project_take: 参与的项目
label_peoject_take_in: 加入了项目: label_peoject_take_in: 加入了项目:
label_search_by_user: 按用户搜索
label_update_homework_succeed: 作业更新成功 label_update_homework_succeed: 作业更新成功
label_task_plural: 作业
label_search_by_student_id: 按学号过滤

View File

@ -81,6 +81,7 @@ RedmineApp::Application.routes.draw do
get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report' get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details' get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
post '/users/:id/user_activities', :to => 'users#show', :as => "user_activities"
#added by young #added by young
resources :users do resources :users do

View File

@ -11,7 +11,15 @@
# #
# It's strongly recommended to check this file into your version control system. # It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20131021024144) do ActiveRecord::Schema.define(:version => 20131031093317) do
create_table "a_user_watchers", :force => true do |t|
t.string "name"
t.text "description"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "member_id"
end
create_table "activities", :force => true do |t| create_table "activities", :force => true do |t|
t.integer "act_id", :null => false t.integer "act_id", :null => false
@ -169,6 +177,9 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
t.string "term" t.string "term"
t.string "string" t.string "string"
t.string "password" t.string "password"
t.string "setup_time"
t.string "endup_time"
t.string "class_period"
end end
create_table "custom_fields", :force => true do |t| create_table "custom_fields", :force => true do |t|
@ -281,7 +292,7 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
create_table "issue_relations", :force => true do |t| create_table "issue_relations", :force => true do |t|
t.integer "issue_from_id", :null => false t.integer "issue_from_id", :null => false
t.integer "issue_to_id", :null => false t.integer "issue_to_id", :null => false
t.string "relation_type", :default => "", :null => false t.string "relation_type", :null => false
t.integer "delay" t.integer "delay"
end end
@ -423,6 +434,22 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id" add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id"
add_index "messages", ["parent_id"], :name => "messages_parent_id" add_index "messages", ["parent_id"], :name => "messages_parent_id"
create_table "messages_for_bids", :force => true do |t|
t.string "message"
t.integer "user_id"
t.integer "bid_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "messages_for_users", :force => true do |t|
t.integer "messager_id"
t.integer "user_id"
t.string "message"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "news", :force => true do |t| create_table "news", :force => true do |t|
t.integer "project_id" t.integer "project_id"
t.string "title", :limit => 60, :default => "", :null => false t.string "title", :limit => 60, :default => "", :null => false
@ -482,10 +509,20 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
t.integer "watchers_count" t.integer "watchers_count"
t.integer "project_id" t.integer "project_id"
t.integer "project_type" t.integer "project_type"
t.float "grade", :default => 0.0 t.integer "gitlab_group_id", :limit => 8
end end
add_index "project_statuses", ["grade"], :name => "index_project_statuses_on_grade" add_index "project_statuses", ["changesets_count"], :name => "index_project_statuses_on_changesets_count"
add_index "project_statuses", ["watchers_count"], :name => "index_project_statuses_on_watchers_count"
create_table "project_tags", :force => true do |t|
t.integer "project_id"
t.integer "tag_id"
t.string "description"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "user_id"
end
create_table "projects", :force => true do |t| create_table "projects", :force => true do |t|
t.string "name", :default => "", :null => false t.string "name", :default => "", :null => false
@ -541,6 +578,7 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
t.text "extra_info" t.text "extra_info"
t.string "identifier" t.string "identifier"
t.boolean "is_default", :default => false t.boolean "is_default", :default => false
t.string "git_project_id"
end end
add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id" add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id"
@ -554,26 +592,6 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
t.string "issues_visibility", :limit => 30, :default => "default", :null => false t.string "issues_visibility", :limit => 30, :default => "default", :null => false
end end
create_table "seems_rateable_cached_ratings", :force => true do |t|
t.integer "cacheable_id", :limit => 8
t.string "cacheable_type"
t.float "avg", :null => false
t.integer "cnt", :null => false
t.string "dimension"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "seems_rateable_rates", :force => true do |t|
t.integer "rater_id", :limit => 8
t.integer "rateable_id"
t.string "rateable_type"
t.float "stars", :null => false
t.string "dimension"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "settings", :force => true do |t| create_table "settings", :force => true do |t|
t.string "name", :default => "", :null => false t.string "name", :default => "", :null => false
t.text "value" t.text "value"
@ -584,9 +602,9 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
create_table "shares", :force => true do |t| create_table "shares", :force => true do |t|
t.date "created_on" t.date "created_on"
t.string "url"
t.string "title" t.string "title"
t.integer "share_type" t.string "share_type"
t.string "url"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.integer "project_id" t.integer "project_id"
@ -594,6 +612,12 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
t.string "description" t.string "description"
end end
create_table "students", :force => true do |t|
t.string "name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "students_for_courses", :force => true do |t| create_table "students_for_courses", :force => true do |t|
t.integer "student_id" t.integer "student_id"
t.integer "course_id" t.integer "course_id"
@ -652,7 +676,7 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
create_table "tokens", :force => true do |t| create_table "tokens", :force => true do |t|
t.integer "user_id", :default => 0, :null => false t.integer "user_id", :default => 0, :null => false
t.string "action", :limit => 30, :default => "", :null => false t.string "action", :limit => 30, :default => "", :null => false
t.string "value", :limit => 40, :default => "", :null => false t.string "value", :limit => 40
t.datetime "created_on", :null => false t.datetime "created_on", :null => false
end end
@ -678,12 +702,13 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
t.integer "zip_code" t.integer "zip_code"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.string "technical_title"
t.integer "identity" t.integer "identity"
t.string "technical_title"
t.string "student_id" t.string "student_id"
t.string "teacher_realname" t.string "teacher_realname"
t.string "student_realname" t.string "student_realname"
t.string "location_city" t.string "location_city"
t.string "git_token"
end end
create_table "user_grades", :force => true do |t| create_table "user_grades", :force => true do |t|
@ -720,6 +745,14 @@ ActiveRecord::Schema.define(:version => 20131021024144) do
add_index "user_statuses", ["grade"], :name => "index_user_statuses_on_grade" add_index "user_statuses", ["grade"], :name => "index_user_statuses_on_grade"
add_index "user_statuses", ["watchers_count"], :name => "index_user_statuses_on_watchers_count" add_index "user_statuses", ["watchers_count"], :name => "index_user_statuses_on_watchers_count"
create_table "user_tags", :force => true do |t|
t.integer "user_id"
t.integer "tag_id"
t.string "description"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "users", :force => true do |t| create_table "users", :force => true do |t|
t.string "login", :default => "", :null => false t.string "login", :default => "", :null => false
t.string "hashed_password", :limit => 40, :default => "", :null => false t.string "hashed_password", :limit => 40, :default => "", :null => false

View File

@ -1571,6 +1571,17 @@ div.issue-note .description {
overflow: hidden; overflow: hidden;
} }
/*
*Added by nie
*/
div.user-search-block {
display: inline;
float: right;
margin-top: -65px;
}
/*issue style Added by nie /*issue style Added by nie
*/ */
@ -1710,7 +1721,7 @@ div.member_content {
} }
/* /*
* Designed for search content * Designed for project#search
* Added by nie * Added by nie
*/ */
div.project-search-block { div.project-search-block {