forked from jasder/forgeplus
36 lines
1.0 KiB
Ruby
36 lines
1.0 KiB
Ruby
|
class Admins::SalesmanChannelsController < Admins::BaseController
|
||
|
before_action :set_salesman
|
||
|
|
||
|
def index
|
||
|
@channels = @salesman.salesman_channels
|
||
|
if params[:keyword].present?
|
||
|
@channels = @channels.joins(:school).where("schools.name like ?", "%#{params[:keyword]}%")
|
||
|
end
|
||
|
@start_time = params[:start_date]
|
||
|
@end_time = params[:end_date].blank? ? Time.now : params[:end_date]
|
||
|
end
|
||
|
|
||
|
def batch_add
|
||
|
channel_ids = @salesman.salesman_channels.pluck(:school_id)
|
||
|
school_ids = params[:school_ids] - channel_ids
|
||
|
school_ids.each do |school_id|
|
||
|
school = School.find_by(id: school_id)
|
||
|
next if school.blank? || @salesman.salesman_channels.where(school_id: school.id).exists?
|
||
|
@salesman.salesman_channels.create!(school_id: school.id)
|
||
|
end
|
||
|
render_ok
|
||
|
rescue Exception => ex
|
||
|
render_error(ex.message)
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
@salesman.salesman_channels.find_by!(id: params[:id]).destroy
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def set_salesman
|
||
|
@salesman = Salesman.find params[:salesman_id]
|
||
|
end
|
||
|
end
|