From c48b850cf7a3a78752ed2642f28d80f9da8532e9 Mon Sep 17 00:00:00 2001 From: z9hang Date: Thu, 15 May 2014 10:50:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=9E=8B=E4=BD=9C=E4=B8=9A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/bids_controller.rb | 11 ++++++++++- app/models/biding_project.rb | 2 +- app/views/bids/_list_projects.html.erb | 7 ++++++- config/routes.rb | 1 + 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index 0c0b71ffa..6a9fb5c29 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -7,7 +7,7 @@ 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, + before_filter :find_bid, :only => [:show, :show_project, :create,:destroy,:more,:back,:add,:delete,:new,:show_results,:set_reward, :add_homework, :fork, :create_fork, :show_course, :show_bid_project, :show_bid_user, :join_in_contest, :unjoin_in_contest, :new_join,:show_participator, :settings] # added by fq before_filter :require_login, :only => [:join_in_contest, :unjoin_in_contest] @@ -500,6 +500,15 @@ class BidsController < ApplicationController end end + #删除已提交的项目作业(不删项目) + def delete + binding_project = params[:binding_project] + if BidingProject.delete(binding_project) + redirect_to project_for_bid_path + else + redirect_to 403; + end + end ## 新建留言 def create diff --git a/app/models/biding_project.rb b/app/models/biding_project.rb index cc9c1fba2..0b7b3718e 100644 --- a/app/models/biding_project.rb +++ b/app/models/biding_project.rb @@ -19,7 +19,7 @@ class BidingProject < ActiveRecord::Base self.create(:user_id => User.current.id, :bid_id => bid_id, :project_id => project_id, :description => description) end - + # used to update the reward ,the value varies from 0,1,2,3,4,5 # added by william def update_reward(which) diff --git a/app/views/bids/_list_projects.html.erb b/app/views/bids/_list_projects.html.erb index ecbf5dfc3..e51314c48 100644 --- a/app/views/bids/_list_projects.html.erb +++ b/app/views/bids/_list_projects.html.erb @@ -153,7 +153,12 @@ 迟交 <% end %> - <%= link_to image_tag('delete.png') %> + + <% if b_project.user.id == User.current.id || User.current.id == b_project.bid.author.id + %> + <%= link_to image_tag('delete.png'),{ :action => "delete", :binding_project => b_project}, :confirm => "Are you sure?" %> + <% end %> + diff --git a/config/routes.rb b/config/routes.rb index 7d7cb2bbf..a856deaf1 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -550,6 +550,7 @@ RedmineApp::Application.routes.draw do match 'calls/:id/show_project', :controller => 'bids', :action => 'show_project', :as => 'project_for_bid' match 'calls/:id/show_project_homework', :controller => 'bids', :action => 'show_project_homework', :as => 'project_for_bid_homework' # by huang match 'calls/:id/add', :controller => 'bids', :action => 'add' + match 'calls/:id/delete', :controller => 'bids', :action => 'delete' match 'calls/:id/add_homework', :controller => 'bids', :action => 'add_homework', via: :post match 'calls/:id/new_submit_homework', to: 'bids#new_submit_homework', via: :get, as: 'new_submit_homework' match 'words/add_project_respond', :controller => 'words', :action => 'add_project_respond'