diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index 6c4e6697f..36216530b 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -1,14 +1,15 @@ # fq class BidsController < ApplicationController #Added by young + menu_item l(:label_homework), :only => [:edit, :udpate] menu_item :respond menu_item :project, :only => [:show_project,:show_results] 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, + 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] + before_filter :require_login,:only => [:set_reward, :destroy, :add, :new, ] helper :watchers helper :attachments @@ -77,7 +78,6 @@ class BidsController < ApplicationController end #end end - #huang def contest @@ -380,7 +380,19 @@ class BidsController < ApplicationController bid_message = params[:bid_for_save][:bid_message] if BidingProject.where("project_id = ? and bid_id = ?", project.id, @bid.id).size == 0 if BidingProject.cerate_bidding(@bid.id, project.id, bid_message) - flash[:notice] = l(:label_bidding_succeed) + + # added by bai type ==1 需求,type==2 竞赛, type==3 作业 + if @bid.reward_type == 1 + flash[:notice] = l(:label_bidding_succeed) + + elsif @bid.reward_type == 2 + flash[:notice] = l(:label_bidding_contest_succeed) + + else @bid.reward_type == 3 + flash[:notice] = l(:label_bidding_homework_succeed) + end + # end + end else if @bid.reward_type == 3 @@ -571,7 +583,31 @@ class BidsController < ApplicationController render :action => 'new_bid' end end - + + def edit + @project_id = params[:project_id] + @bid = Bid.find(params[:bid_id]) + respond_to do |format| + format.html { + @project = Project.find(params[:project_id]) + @user= User.find(User.current.id) + render :layout => 'base_courses' + } + end + end + + def update + @bid = Bid.find(params[:id]) + if @bid.update_attributes(params[:bid]) + flash[:notice] = l(:label_update_homework_succeed) + @project = Project.find(params[:course_id]) + redirect_to project_homework_path(@project) + else + @bid.safe_attributes = params[:bid] + render :action => 'edit' + end + end + def add_homework # homework = HomeworkAttach.create(:bid_id => @bid.id, :user_id => User.current.id) # homework.save_attachments(params[:attachments] || (params[:bid] && params[:bid][:uploads])) diff --git a/app/models/bid.rb b/app/models/bid.rb index 0205df548..3bad65f3c 100644 --- a/app/models/bid.rb +++ b/app/models/bid.rb @@ -61,7 +61,10 @@ class Bid < ActiveRecord::Base safe_attributes 'name', 'description', 'budget', - 'deadline' + 'deadline', + 'homework_type', + 'reward_type' + # safe_attributes 'name', # 'description', diff --git a/app/views/bids/_bid_homework_show.html.erb b/app/views/bids/_bid_homework_show.html.erb index 78a4d6f40..66a83f1d8 100644 --- a/app/views/bids/_bid_homework_show.html.erb +++ b/app/views/bids/_bid_homework_show.html.erb @@ -8,14 +8,21 @@ + + <% if (User.current.admin?||User.current.id==bid.author_id)&&(bid.homework_type == 1)%> + <%= link_to( + l(:button_edit), + {:action => 'edit', :controller=>'bids', :project_id =>@project.id, :bid_id => bid.id}, + :class => 'icon icon-edit' + ) %> + <%= link_to( + l(:button_delete), + {:action => 'homework_destroy', :controller=>'bids', :course_id => bid.id}, + :method => :post, + :data => {:confirm => l(:text_are_you_sure)}, + :class => 'icon icon-del' + ) %> + <% end %> @@ -59,5 +66,4 @@
<%= link_to(bid.author.lastname+bid.author.firstname, user_path(bid.author), :class => 'bid_user') %>:  <%= link_to(bid.name, respond_path(bid), :class => 'bid_path') %> - - <%= link_to( - l(:button_delete), - {:action => 'homework_destroy', :controller=>'bids', :course_id => bid.id}, - :method => :post, - :data => {:confirm => l(:text_are_you_sure)}, - :class => 'icon icon-del' - ) if (User.current.admin?||User.current.id==bid.author_id)&&(bid.homework_type == 1)%>
-
diff --git a/app/views/users/user_projects.html.erb b/app/views/users/user_projects.html.erb index afa7e522b..3df4bc5dd 100644 --- a/app/views/users/user_projects.html.erb +++ b/app/views/users/user_projects.html.erb @@ -1,4 +1,5 @@ +

温馨提示:项目可以是一次作业,也可以是别人或者自己创建的一项小工程~

<% if @user == User.current %> <%= 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 %> diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 29d1f9f1b..17e96249e 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -560,7 +560,7 @@ zh: label_assigned_to_me_issues: 指派给我的问题 label_last_login: 最后登录 label_registered_on: 注册于 - label_activity: 活动 + label_activity: 动态 # modified by bai label_overall_activity: 活动概览 label_user_activity: "%{value} 的活动" label_new: 新建 @@ -606,7 +606,7 @@ zh: label_settings: 配置 label_overview: 项目动态 label_course_overview: "课程动态" - label_question_student: 学生反馈 #huang + label_question_student: 作业交流 #bai label_homework_commit: 提交作业 #huang label_homework_info: 作业情况 #huang label_course_news: 课程通知 @@ -1279,7 +1279,7 @@ zh: field_add: 添加于 %{time} 之前 button_more: 更多 label_user_response: 用户反馈 - label_student_response: 学生反馈 + label_student_response: 留言讨论区 # modified by bai label_bidding_project: 参与项目 label_homework_project: 已提交作业 #huang button_bidding: 我要参加 @@ -1298,6 +1298,8 @@ zh: label_wrong_budget: 错误的金额格式 label_wrong_date: 时间格式错误,请输入正确的时间 yyyy-mm-dd label_bidding_succeed: 应标成功 + label_bidding_contest_succeed: 竞赛提交成功 #added by bai + label_bidding_homework_succeed: 作业提交成功 #added by bai label_bidding_fail: 应标失败,该项目已经应标 label_bidding_homework_fail: 作业提交失败,该作业已经被提交! @@ -1338,7 +1340,7 @@ zh: label_investment_budget: 投资预算: label_investment_time_limit: 投资时限: label_my_respond: 我要反馈: - label_my_question: 有疑问请在此处提出! + label_my_question: 请在此处留下您的意见或者问题~ # modified by bai label_respond_requirement: 对需求进行了反馈 label_question_requirement: 对作业提出了问题! label_deadline: 投资时限yyyy-mm-dd @@ -1498,7 +1500,7 @@ zh: label_newfeedback_quote: 回复 label_newfeedback_delete: 删除 label_user_all_activity: 所有动态 - label_user_activity_myself: 只看自己 + label_user_activity_myself: 我的动态 # modified by bai label_my_honework_no_homework: 暂无任何作业! label_user_all_respond: 所有反馈 label_layouts_feedback: 留言 @@ -1659,4 +1661,5 @@ zh: label_watch_no_projects: 没有关注任何项目 label_has_watched_project: 关注的项目 label_project_take: 参与的项目 - label_peoject_take_in: 加入了项目: \ No newline at end of file + label_peoject_take_in: 加入了项目: + label_update_homework_succeed: 作业更新成功 diff --git a/config/routes.rb b/config/routes.rb index 6b2bee154..156bb8fd2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -132,7 +132,7 @@ RedmineApp::Application.routes.draw do post 'issues/:object_id/watchers', :to => 'watchers#create', :object_type => 'issue' delete 'issues/:object_id/watchers/:user_id' => 'watchers#destroy', :object_type => 'issue' - + resources :bids, :only=>[:edit,:update] resources :projects do member do get 'settings(/:tab)', :action => 'settings', :as => 'settings' @@ -147,7 +147,6 @@ RedmineApp::Application.routes.draw do get 'new_homework', :action => 'new_homework', :as => 'new_homework' #get 'news', :action => 'news', :as => 'news' #end - post 'modules' post 'archive' post 'unarchive' @@ -156,7 +155,7 @@ RedmineApp::Application.routes.draw do match 'copy', :via => [:get, :post] end - + #by young match '/member', :controller => 'projects', :action => 'member', :as => 'member', :via => :get match '/file', :controller => 'projects', :action => 'file', :as => 'file', :via => :get @@ -398,6 +397,8 @@ RedmineApp::Application.routes.draw do get 'autocomplete_for_new_user' end end + + match 'workflows', :controller => 'workflows', :action => 'index', :via => :get match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post] diff --git a/lib/redmine.rb b/lib/redmine.rb index 38b1a063e..e4e639f91 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -254,7 +254,7 @@ end Redmine::MenuManager.map :account_menu do |menu| menu.push :login, :signin_path, :if => Proc.new { !User.current.logged? } menu.push :register, :register_path, :if => Proc.new { !User.current.logged? && Setting.self_registration? } - menu.push :my_account, { :controller => 'my', :action => 'account' }, :if => Proc.new { User.current.logged? } + # menu.push :my_account, { :controller => 'my', :action => 'account' }, :if => Proc.new { User.current.logged? } menu.push :logout, :signout_path, :html => {:method => 'post'}, :if => Proc.new { User.current.logged? } end ########fq @@ -324,7 +324,7 @@ Redmine::MenuManager.map :course_menu do |menu| # menu.push :news, { :controller => 'news', :action => 'index' }, :param => :project_id, :caption => :label_news_plural # menu.push :files, { :controller => 'files', :action => 'index' }, :caption => :label_file_new, :param => :project_id menu.push :repository, { :controller => 'repositories', :action => 'show', :repository_id => nil, :path => nil, :rev => nil, :course => 1 } - menu.push :settings, { :controller => 'projects', :action => 'settings', :course => 1 }, :last => true + # menu.push :settings, { :controller => 'projects', :action => 'settings', :course => 1 }, :last => true end Redmine::MenuManager.map :user_menu do |menu|