|
|
|
@ -8,7 +8,10 @@ class BidsController < ApplicationController
|
|
|
|
|
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, :show_bid_project, :show_bid_user]
|
|
|
|
|
:show_course, :show_bid_project, :show_bid_user, :join_in_contest, :unjoin_in_contest, :new_join]
|
|
|
|
|
# added by fq
|
|
|
|
|
before_filter :require_login, :only => [:join_in_contest, :unjoin_in_contest]
|
|
|
|
|
# end
|
|
|
|
|
before_filter :require_login,:only => [:set_reward, :destroy, :add, :new, ]
|
|
|
|
|
|
|
|
|
|
helper :watchers
|
|
|
|
@ -210,6 +213,41 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def join_in_contest
|
|
|
|
|
if @bid.reward_type == 2 && params[:course_password] == @bid.password
|
|
|
|
|
JoinInContest.create(:user_id => User.current.id, :bid_id => @bid.id)
|
|
|
|
|
@state = 0
|
|
|
|
|
else
|
|
|
|
|
@state = 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
# format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
|
|
|
|
# TO_DO
|
|
|
|
|
format.js { render :partial => 'set_join', :locals => {:user => User.current, :object_id => params[:id]} }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def unjoin_in_contest
|
|
|
|
|
|
|
|
|
|
joined = JoinInContest.where('bid_id = ? and user_id = ?', @bid.id, User.current.id)
|
|
|
|
|
|
|
|
|
|
joined.each do |join|
|
|
|
|
|
join.delete
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
# format.html { redirect_to_referer_or {render :text => (watching ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
|
|
|
|
format.js { render :partial => 'set_join', :locals => {:user => User.current, :object_id => params[:id]} }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def new_join
|
|
|
|
|
# added by fq
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def show_course
|
|
|
|
|
bids = Bid.where('parent_id = ?', @bid.id)
|
|
|
|
|
@courses = []
|
|
|
|
@ -338,13 +376,13 @@ class BidsController < ApplicationController
|
|
|
|
|
@homework = HomeworkAttach.new
|
|
|
|
|
@homework_list = @bid.homeworks
|
|
|
|
|
if params[:student_id].present?
|
|
|
|
|
@temp = []
|
|
|
|
|
@homework_list.each do |pro|
|
|
|
|
|
if /#{params[:student_id]}/ =~ pro.user.user_extensions.student_id
|
|
|
|
|
@temp << pro
|
|
|
|
|
end
|
|
|
|
|
@temp
|
|
|
|
|
end
|
|
|
|
|
@temp = []
|
|
|
|
|
@homework_list.each do |pro|
|
|
|
|
|
if /#{params[:student_id]}/ =~ pro.user.user_extensions.student_id
|
|
|
|
|
@temp << pro
|
|
|
|
|
end
|
|
|
|
|
@temp
|
|
|
|
|
end
|
|
|
|
|
@homework_list = @temp
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
@ -536,6 +574,7 @@ class BidsController < ApplicationController
|
|
|
|
|
@bid.reward_type = 2
|
|
|
|
|
@bid.budget = params[:bid][:budget]
|
|
|
|
|
@bid.deadline = params[:bid][:deadline]
|
|
|
|
|
@bid.password = params[:bid][:password] #added by bai
|
|
|
|
|
@bid.author_id = User.current.id
|
|
|
|
|
@bid.commit = 0
|
|
|
|
|
if @bid.save
|
|
|
|
|