39 lines
1.4 KiB
Ruby
39 lines
1.4 KiB
Ruby
|
class CourseController < ApplicationController
|
||
|
|
||
|
before_filter :require_login, :only => [:join, :unjoin]
|
||
|
|
||
|
def join
|
||
|
if User.current.logged?
|
||
|
course = Project.find(params[:object_id])
|
||
|
if params[:course_password] == '123'
|
||
|
members = []
|
||
|
members << Member.new(:role_ids => [5], :user_id => User.current.id)
|
||
|
course.members << members
|
||
|
|
||
|
StudentsForCourse.create(:student_id => User.current.id, :course_id => params[:object_id])
|
||
|
else
|
||
|
end
|
||
|
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, :course => Project.find(params[:object_id])} }
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def unjoin
|
||
|
if User.current.logged?
|
||
|
|
||
|
@member = Member.where('project_id = ? and user_id = ?', params[:object_id], User.current.id)
|
||
|
@member.first.destroy
|
||
|
|
||
|
joined = StudentsForCourse.where('student_id = ? and course_id = ?', User.current.id, params[:object_id])
|
||
|
joined.each do |join|
|
||
|
join.delete
|
||
|
end
|
||
|
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, :course => Project.find(params[:object_id])} }
|
||
|
end
|
||
|
end
|
||
|
end
|