|
|
|
@ -13,7 +13,6 @@ class BidsController < ApplicationController
|
|
|
|
|
helper :attachments
|
|
|
|
|
include AttachmentsHelper
|
|
|
|
|
helper :projects
|
|
|
|
|
|
|
|
|
|
def index
|
|
|
|
|
@project_type = params[:project_type]
|
|
|
|
|
# Modified by nie
|
|
|
|
@ -22,7 +21,7 @@ class BidsController < ApplicationController
|
|
|
|
|
if @project_type == '1'
|
|
|
|
|
@bids = Bid.visible.where('reward_type = ?', 3)
|
|
|
|
|
# elsif
|
|
|
|
|
# @bids = Bid.visible.where('reward_type = ? or reward_type = ?', 4)
|
|
|
|
|
# @bids = Bid.visible.where('reward_type = ? or reward_type = ?', 4)
|
|
|
|
|
else
|
|
|
|
|
@bids = Bid.visible.where('reward_type = ?', 1)
|
|
|
|
|
end
|
|
|
|
@ -65,13 +64,13 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @bid_count % @limit
|
|
|
|
|
limit = @limit if limit == 0
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_state = 1
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @bid_count % @limit
|
|
|
|
|
limit = @limit if limit == 0
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_state = 1
|
|
|
|
|
end
|
|
|
|
|
#end
|
|
|
|
|
end
|
|
|
|
@ -86,7 +85,7 @@ class BidsController < ApplicationController
|
|
|
|
|
@bids = Bid.visible.where('reward_type = ?', 2)
|
|
|
|
|
|
|
|
|
|
# elsif
|
|
|
|
|
# @bids = Bid.visible.where('reward_type = ? or reward_type = ?', 4)
|
|
|
|
|
# @bids = Bid.visible.where('reward_type = ? or reward_type = ?', 4)
|
|
|
|
|
@bids = @bids.like(params[:name]) if params[:name].present?
|
|
|
|
|
@bid_count = @bids.count
|
|
|
|
|
@bid_pages = Paginator.new @bid_count, @limit, params['page']
|
|
|
|
@ -125,13 +124,13 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @bid_count % @limit
|
|
|
|
|
limit = @limit if limit == 0
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_state = 1
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @bid_count % @limit
|
|
|
|
|
limit = @limit if limit == 0
|
|
|
|
|
@bids = @bids.reorder('bids.commit').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_state = 1
|
|
|
|
|
end
|
|
|
|
|
#end
|
|
|
|
|
end
|
|
|
|
@ -141,7 +140,7 @@ class BidsController < ApplicationController
|
|
|
|
|
@membership = User.current.memberships.all(:conditions => Project.visible_condition(User.current))
|
|
|
|
|
@membership.each do |membership|
|
|
|
|
|
if membership.project.project_type == 1
|
|
|
|
|
@courses << membership.project
|
|
|
|
|
@courses << membership.project
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
@ -174,7 +173,7 @@ class BidsController < ApplicationController
|
|
|
|
|
@membership = User.current.memberships.all(:conditions => Project.visible_condition(User.current))
|
|
|
|
|
@membership.each do |membership|
|
|
|
|
|
if membership.project.project_type == 1
|
|
|
|
|
@courses << membership.project
|
|
|
|
|
@courses << membership.project
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
render :action => 'fork'
|
|
|
|
@ -192,14 +191,14 @@ class BidsController < ApplicationController
|
|
|
|
|
@state = false
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
format.api
|
|
|
|
|
|
|
|
|
@ -214,14 +213,14 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
format.api
|
|
|
|
|
|
|
|
|
@ -236,7 +235,7 @@ class BidsController < ApplicationController
|
|
|
|
|
unless(membership.project.project_type==1)
|
|
|
|
|
membership.member_roles.each{|role|
|
|
|
|
|
if(role.role_id == 3)
|
|
|
|
|
@option << membership.project
|
|
|
|
|
@option << membership.project
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
@ -251,23 +250,22 @@ class BidsController < ApplicationController
|
|
|
|
|
@homework_list = @bid.homeworks
|
|
|
|
|
end
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
format.api
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### by huang
|
|
|
|
|
def show_project_homework
|
|
|
|
|
# flash[:notice] = ""
|
|
|
|
|
# flash[:notice] = ""
|
|
|
|
|
@membership = User.current.memberships.all(:conditions => Project.visible_condition(User.current))
|
|
|
|
|
@option = []
|
|
|
|
|
@membership.each do |membership|
|
|
|
|
@ -277,14 +275,14 @@ class BidsController < ApplicationController
|
|
|
|
|
@user = @bid.author
|
|
|
|
|
@bidding_project = @bid.biding_projects
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_homework'
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
render :layout => 'base_bids'
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
format.api
|
|
|
|
|
end
|
|
|
|
@ -300,9 +298,9 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
if @bid.reward_type == 3
|
|
|
|
|
flash[:error] = l(:label_bidding_homework_fail)
|
|
|
|
|
flash[:error] = l(:label_bidding_homework_fail)
|
|
|
|
|
else
|
|
|
|
|
flash[:error] = l(:label_bidding_fail)
|
|
|
|
|
flash[:error] = l(:label_bidding_fail)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
@bidding_project = @bid.biding_projects
|
|
|
|
@ -371,6 +369,20 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#删除作业
|
|
|
|
|
#by xianbo
|
|
|
|
|
def homework_destroy
|
|
|
|
|
@bid_to_destroy = Bid.find params[:course_id]
|
|
|
|
|
(render_403; return false) unless User.current.admin?||User.current.id==@bid_to_destroy.author_id
|
|
|
|
|
@bid_to_destroy.destroy
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html { redirect_to :back }
|
|
|
|
|
format.js
|
|
|
|
|
#format.api { render_api_ok }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#end by xianbo
|
|
|
|
|
##引用
|
|
|
|
|
def new
|
|
|
|
|
@jour = JournalsForMessage.find(params[:journal_id]) if params[:journal_id]
|
|
|
|
@ -395,8 +407,9 @@ class BidsController < ApplicationController
|
|
|
|
|
@bid = Bid.new
|
|
|
|
|
@bid.safe_attributes = params[:bid]
|
|
|
|
|
end
|
|
|
|
|
#huang
|
|
|
|
|
def create_contest
|
|
|
|
|
|
|
|
|
|
#huang
|
|
|
|
|
def create_contest
|
|
|
|
|
@bid = Bid.new
|
|
|
|
|
@bid.name = params[:bid][:name]
|
|
|
|
|
@bid.description = params[:bid][:description]
|
|
|
|
@ -418,7 +431,6 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#huang
|
|
|
|
|
def new_contest
|
|
|
|
|
@bid = Bid.new
|
|
|
|
@ -492,7 +504,7 @@ class BidsController < ApplicationController
|
|
|
|
|
@member = []
|
|
|
|
|
@course.memberships.each do |member|
|
|
|
|
|
unless (member.roles && Role.where('id = ? ', 3)).empty?
|
|
|
|
|
@member.push member
|
|
|
|
|
@member.push member
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
if @bid.homework_type = 1
|
|
|
|
@ -523,7 +535,6 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def back
|
|
|
|
|
@jour = @bid.journals_for_messages
|
|
|
|
|
@jour.each_with_index {|j,i| j.indice = i+1}
|
|
|
|
@ -556,7 +567,6 @@ class BidsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# added by william
|
|
|
|
|
# used to manage the bid and end the bid
|
|
|
|
|
def manage
|
|
|
|
|