diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb
index d9cac4b58..9e51a8598 100644
--- a/app/controllers/bids_controller.rb
+++ b/app/controllers/bids_controller.rb
@@ -6,7 +6,8 @@ class BidsController < ApplicationController
menu_item :homework_respond, :only => :homework_respond
menu_item :homework_statistics, :only => :homework_statistics
#Ended by young
- before_filter :find_bid, :only => [:show, :show_project, :create,:destroy,:more,:back,:add,:new,:show_results,:set_reward, :add_homework, :fork, :create_fork, :show_course]
+ before_filter :find_bid, :only => [:show, :show_project, :create,:destroy,:more,:back,:add,:new,:show_results,:set_reward, :add_homework, :fork, :create_fork,
+ :show_course, :show_bid_project, :show_bid_user]
before_filter :require_login,:only => [:set_reward]
helper :watchers
@@ -234,6 +235,60 @@ class BidsController < ApplicationController
end
end
+
+ def show_bid_project
+ bids = Bid.where('parent_id = ?', @bid.id)
+ @projects = []
+ for bid in bids
+ @projects += bid.biding_projects
+ end
+
+ respond_to do |format|
+ if @bid.reward_type == 3
+ format.html {
+ render :layout => 'base_homework'
+ }
+ elsif @bid.reward_type == 1
+ format.html {
+ render :layout => 'base_bids'
+ }
+ else
+ format.html {
+ render :layout => 'base_contest'
+ }
+ end
+ format.api
+
+ end
+ end
+
+ def show_bid_user
+ bids = Bid.where('parent_id = ?', @bid.id)
+ @users = []
+ for bid in bids
+ for project in bid.projects
+ @users += project.users
+ end
+ end
+
+ respond_to do |format|
+ if @bid.reward_type == 3
+ format.html {
+ render :layout => 'base_homework'
+ }
+ elsif @bid.reward_type == 1
+ format.html {
+ render :layout => 'base_bids'
+ }
+ else
+ format.html {
+ render :layout => 'base_contest'
+ }
+ end
+ format.api
+
+ end
+ end
def show_project
# flash[:notice] = ""
@@ -411,7 +466,7 @@ class BidsController < ApplicationController
end
# Replaces pre blocks with [...]
text = text.to_s.strip.gsub(%r{
((.|\s)*?)
}m, '[...]')
- @content = "> #{ll(Setting.default_language, :text_user_wrote, user)}\n> "
+ @content = "> #{ll(User.current.language, :text_user_wrote, user)}\n> "
@content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
@id = user.id
rescue ActiveRecord::RecordNotFound
diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb
index 171b2f0c0..0a81d6ab6 100644
--- a/app/controllers/words_controller.rb
+++ b/app/controllers/words_controller.rb
@@ -71,7 +71,7 @@ class WordsController < ApplicationController
end
# Replaces pre blocks with [...]
text = text.to_s.strip.gsub(%r{((.|\s)*?)
}m, '[...]')
- @content = "> #{ll(Setting.default_language, :text_user_wrote, user)}\n> "
+ @content = "> #{ll(User.current.language, :text_user_wrote, user)}\n> "
@content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
# @content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
diff --git a/app/helpers/bids_helper.rb b/app/helpers/bids_helper.rb
index 3c7528fe9..9e82fa1af 100644
--- a/app/helpers/bids_helper.rb
+++ b/app/helpers/bids_helper.rb
@@ -105,4 +105,24 @@ module BidsHelper
def get_prize(b_project)
b_project.get_reward
end
+
+ def count_bid_project
+ bids = Bid.where('parent_id = ?', @bid.id)
+ @projects = []
+ for bid in bids
+ @projects += bid.biding_projects
+ end
+ @projects.count
+ end
+
+ def count_bid_user
+ bids = Bid.where('parent_id = ?', @bid.id)
+ @users = []
+ for bid in bids
+ for project in bid.projects
+ @users += project.users
+ end
+ end
+ @users.count
+ end
end
\ No newline at end of file
diff --git a/app/models/bid.rb b/app/models/bid.rb
index 0c8a4d371..0205df548 100644
--- a/app/models/bid.rb
+++ b/app/models/bid.rb
@@ -7,11 +7,14 @@ class Bid < ActiveRecord::Base
belongs_to :course
has_many :biding_projects, :dependent => :destroy
has_many :projects, :through => :biding_projects
+ has_many :projects_member, :class_name => 'User', :through => :projects
has_many :journals_for_messages, :as => :jour, :dependent => :destroy
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy
has_many :homework_for_courses, :dependent => :destroy
has_many :courses, :through => :homework_for_courses, :source => :project
has_many :homeworks, :class_name => 'HomeworkAttach', :dependent => :destroy
+ # has_many :fork_homework, :class_name => 'Bid', :conditions => "#{Bid.table_name}.parent_id = #{id}"
+
acts_as_attachable
diff --git a/app/views/bids/_list_projects.html.erb b/app/views/bids/_list_projects.html.erb
index 88a5ec36f..42812a5fa 100644
--- a/app/views/bids/_list_projects.html.erb
+++ b/app/views/bids/_list_projects.html.erb
@@ -24,7 +24,7 @@
<% if get_prize(b_project).nil? or get_prize(b_project) == "" %>
<% if @bid.deadline < Date.today %>
- 未评奖
+ <%= l(:label_noawards)%>
<% end %>
<% else %>
<% case @bid.reward_type %>
diff --git a/app/views/bids/_project_list.html.erb b/app/views/bids/_project_list.html.erb
index 302b57547..5c99fdce1 100644
--- a/app/views/bids/_project_list.html.erb
+++ b/app/views/bids/_project_list.html.erb
@@ -8,7 +8,7 @@
<% end %>
- <%= l(:label_homework_project) %>(<%= @bidding_project.count%>) |
+ <%= l(:label_homework_project) %>(<%= bidding_project.count%>) |
<% if User.current.logged? && (!Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.roles&Role.where('id = ? or id = ?', 5, 7)).size >0) %>
@@ -18,7 +18,7 @@
<% end %>
|
-
<% end %>
-<%= render :partial=> "list_projects",:locals => {:bidding_project => @bidding_project,:bid => @bid }%>
+<%= render :partial=> "list_projects",:locals => {:bidding_project => bidding_project,:bid => @bid }%>
diff --git a/app/views/bids/contest.html.erb b/app/views/bids/contest.html.erb
index 51c6817ac..576323cbc 100644
--- a/app/views/bids/contest.html.erb
+++ b/app/views/bids/contest.html.erb
@@ -8,8 +8,10 @@
<% if User.current.logged? %>
-
- <%= link_to(l(:label_newtype_contest), {:controller => 'bids', :action => 'new_contest'}, :class => 'icon icon-add') %>
+
+ <% if User.current.user_extensions.identity == 0 %>
+ <%= link_to(l(:label_newtype_contest), {:controller => 'bids', :action => 'new_contest'}, :class => 'icon icon-add') %>
+ <% end %>
<% end %> |
diff --git a/app/views/bids/show_bid_project.html.erb b/app/views/bids/show_bid_project.html.erb
new file mode 100644
index 000000000..616ab7bd9
--- /dev/null
+++ b/app/views/bids/show_bid_project.html.erb
@@ -0,0 +1,42 @@
+<% @projects.each do |b_project|%>
+
+
+
+
+
+
+
+ <%= link_to image_tag(url_to_avatar(b_project.project), :class => 'avatar3'), :class => "avatar" %>
+ |
+
+ |
+
+
+
+
+ <%= l(:label_bidding_user_studentcode) %> : <%= @user.user_extensions.student_id %> |
+
+
+ <%= l(:label_bidding_user_homework) %> : <%= link_to(b_project.user.name, user_path(b_project.user)) %> |
+
+
+ <%= l(:label_bidding_reason_homewrok) %> : <%= b_project.description %> |
+
+
+ |
+
+ |
+
+
+<% end %>
diff --git a/app/views/bids/show_bid_user.html.erb b/app/views/bids/show_bid_user.html.erb
new file mode 100644
index 000000000..5ac14ee69
--- /dev/null
+++ b/app/views/bids/show_bid_user.html.erb
@@ -0,0 +1,30 @@
+
+ <% for user in @users %>
+
-
+
+
+ <%= link_to image_tag(url_to_avatar(user), :class => "avatar"), user_path(user), :title => "#{user.name}" %> |
+
+
+ <%= content_tag "div", link_to_user(user), :class => "project_avatar_name" %>
+ |
+
+
+
+ <% unless user.memberships.empty? %>
+ <%= l(:label_x_contribute_to, :count => user.memberships.count) %>
+ <% for member in user.memberships %>
+ <%= link_to_project(member.project) %><%= (user.memberships.last == member) ? '' : ',' %>
+ <% end %>
+ <% end %>
+ |
+
+
+ <%= l(:label_user_joinin) %><%= format_date(user.created_on) %>
+ |
+
+ |
+
+
+<% end %>
+
\ No newline at end of file
diff --git a/app/views/layouts/base_bids.html.erb b/app/views/layouts/base_bids.html.erb
index c584e80b7..72530b8ff 100644
--- a/app/views/layouts/base_bids.html.erb
+++ b/app/views/layouts/base_bids.html.erb
@@ -69,8 +69,15 @@
<%= l(:label_investment_time_limit) %><%= @bid.deadline%> |
- <%= l(:label_has_been)%> <%= link_to(Bid.where('parent_id = ?', @bid.id).count, show_course_path(@bid), :class => 'reference') %>
- <%= l(:label_course_userd_by)%> |
+ 被 <%= link_to(Bid.where('parent_id = ?', @bid.id).count, show_course_path(@bid)) %>
+ 个高校课程引用为作业! |
+
+
+ 有 <%= link_to(count_bid_project, show_bid_project_path(@bid)) %>
+ 个项目正在实现该需求! |
+
+ 有 <%= link_to(count_bid_user, show_bid_user_path(@bid)) %>
+ 个高校用户正在努力完成此需求! |
diff --git a/app/views/users/_my_course.html.erb b/app/views/users/_my_course.html.erb
index c06abe4b0..d7e4a4cc1 100644
--- a/app/views/users/_my_course.html.erb
+++ b/app/views/users/_my_course.html.erb
@@ -47,13 +47,13 @@
<%= format_time(membership.created_on) %> |
- 课程角色:
+ <%= l(:role_of_course)%>:
<% if membership.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
- 老师
+ <%= l(:label_teacher)%>
<% elsif membership.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
- 学生
+ <%= l(:label_student)%>
<% elsif membership.roles.sort.collect(&:to_s).join(', ') =='TA' %>
- 助教
+ <%= l(:label_ta)%>
<% end %>
|
diff --git a/app/views/users/_my_create_homework.html.erb b/app/views/users/_my_create_homework.html.erb
index d5652fe0a..4c7cbe02f 100644
--- a/app/views/users/_my_create_homework.html.erb
+++ b/app/views/users/_my_create_homework.html.erb
@@ -12,8 +12,13 @@
<%= link_to(bid.author.lastname+bid.author.firstname, user_path(bid.author), :class => 'bid_user') %>
- 在课程: <%= link_to(bid.courses.first.name, project_path(bid.courses.first)) %>
- 中布置了作业: <%= link_to(bid.name, respond_path(bid), :class => 'bid_path') %>
+ <%if @user.language=='zh'%>
+ <%= l(:label_in_course)%>: <%= link_to(bid.courses.first.name, project_path(bid.courses.first)) %>
+ <%= l(:label_assign_homework)%>: <%= link_to(bid.name, respond_path(bid), :class => 'bid_path') %>
+ <%else%>
+ <%= l(:label_assign_homework)%>: <%= link_to(bid.name, respond_path(bid), :class => 'bid_path') %>
+ <%= l(:label_in_course)%>: <%= link_to(bid.courses.first.name, project_path(bid.courses.first)) %>
+ <%end%>
<%= link_to(
l(:button_delete),
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e07bd5fee..9098f3eea 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1535,3 +1535,11 @@ en:
label_task_submit_form_accessory: Submitted as accessory
label_task_submit_form_project: Submitted as project
label_news_notice: Release course news
+
+ role_of_course: Role
+ label_student: student
+ label_teacher: teacher
+ label_ta: teacher assistant
+ label_in_course: in course
+ label_assign_homework: assigned homewok
+ label_noawards: No awards
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 355c2c40e..ee6c3a62e 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -1626,3 +1626,13 @@ zh:
label_new_join_order: 请输入课程密码
label_task_submit_form_accessory: 作业最终以附件形式提交
label_task_submit_form_project: 作业最终以项目形式提交
+ label_has_been: 已经被
+ label_course_userd_by: 个课程引用
+
+ role_of_course: 课程角色
+ label_student: 学生
+ label_teacher: 老师
+ label_ta: 助教
+ label_in_course: 在课程中
+ label_assign_homework: 中布置了作业
+ label_noawards: 未评奖
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index bf98b2858..e9b12c866 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -456,6 +456,8 @@ RedmineApp::Application.routes.draw do
match 'project/enterprise_course', :to => 'projects#enterprise_course'
match 'project/course_enterprise', :to => 'projects#course_enterprise'
match 'calls/:id/show_course', :to => 'bids#show_course', :as => 'show_course'
+ match 'calls/:id/show_bid_project', :to => 'bids#show_bid_project', :as => 'show_bid_project'
+ match 'calls/:id/show_bid_user', :to => 'bids#show_bid_user', :as => 'show_bid_user'
post 'join_in/join', :to => 'courses#join', :as => 'join'
delete 'join_in/join', :to => 'courses#unjoin'
|