@ -79,6 +79,8 @@ class CoursesController < ApplicationController
end
end
def join_private_courses
respond_to do | format |
format . js
@ -196,28 +198,102 @@ class CoursesController < ApplicationController
end
end
def searchmembers
@render_file = 'member_list'
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@is_remote = true
q = " #{ params [ :name ] . strip } "
#(redirect_to stores_url, :notice => l(:label_sumbit_empty);return) if params[:name].blank?
@results = searchStudent_by_name ( @course , q )
@result_count = @results . count
@results = paginateHelper @results
end
def addgroups
if params [ :group_name ]
group = CourseGroup . new
group . name = params [ :group_name ]
group . course_id = @course . id
group . save
end
@course_groups = @course . course_groups
end
def updategroupname
if params [ :group_name ]
group = CourseGroup . find ( params [ :group_id ] )
group . name = params [ :group_name ]
group . save
end
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@is_remote = true
@course_groups = @course . course_groups
end
def join_group
group = CourseGroup . find ( params [ :object_id ] )
member = Member . where ( :course_id = > @course . id , :user_id = > User . current . id ) . first
member . course_group_id = group . id
member . save
@group = group
search_group_members group
end
def unjoin_group
group = CourseGroup . find ( params [ :object_id ] )
member = Member . where ( :course_id = > @course . id , :user_id = > User . current . id ) . first
member . course_group_id = 0
member . save
@group = group
search_group_members group
end
def searchgroupmembers
@render_file = 'member_list'
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@is_remote = true
if params [ :group_id ] && params [ :group_id ] != " 0 "
@group = CourseGroup . find ( params [ :group_id ] )
@results = searchStudent_by_group ( @group , @course )
else
@results = searchStudent ( @course )
end
@results = paginateHelper @results
end
def search_group_members group
@render_file = 'member_list'
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@is_remote = true
@results = searchStudent_by_group ( group , @course )
@results = paginateHelper @results
end
def member
## 有角色参数的才是课程,没有的就是项目
if User . current . member_of_course? ( @course ) || User . current . admin?
@render_file = 'member_list'
@teachers = searchTeacherAndAssistant ( @course )
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
case params [ :role ]
when '1'
@subPage_title = l :label_teacher_list
@members = searchTeacherAndAssistant ( @course )
when '2'
@subPage_title = l :label_student_list
@members = searchStudent ( @course )
@render_file = 'member_list'
@teachers = searchTeacherAndAssistant ( @course )
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@role = params [ :role ]
@course_groups = @course . course_groups if @course . course_groups
@course_group_id = params [ :@course_group_id ] unless params [ :@course_group_id ] . nil?
case params [ :role ]
when '1'
@subPage_title = l :label_teacher_list
@members = searchTeacherAndAssistant ( @course )
when '2'
@subPage_title = l :label_student_list
if @course_group_id
@members = search_student_in_group ( @course , @course_group_id )
else
@subPage_title = ''
@members = @course . member_principals . includes ( :roles , :principal ) . all . sort
end
@members = paginateHelper @members
render :layout = > 'base_courses'
else
render_403
@members = searchStudent ( @course )
end
else
@subPage_title = ''
@members = @course . member_principals . includes ( :roles , :principal ) . all . sort
end
@members = paginateHelper @members
render :layout = > 'base_courses'
end
#判断指定用户是否为课程教师
@ -270,11 +346,12 @@ class CoursesController < ApplicationController
@course . setup_time = params [ :setup_time ]
@course . endup_time = params [ :endup_time ]
@course . class_period = params [ :class_period ]
end
@issue_custom_fields = IssueCustomField . sorted . all
@trackers = Tracker . sorted . all
@issue_custom_fields = IssueCustomField . sorted . all
@trackers = Tracker . sorted . all
if @course . save
if @course . save
#unless User.current.admin?
r = Role . givable . find_by_id ( Setting . new_project_user_role_id . to_i ) || Role . givable . first
m = Member . new ( :user = > User . current , :roles = > [ r ] )
@ -300,16 +377,13 @@ class CoursesController < ApplicationController
}
format . api { render :action = > 'show' , :status = > :created , :location = > url_for ( :controller = > 'courses' , :action = > 'show' , :id = > @course . id ) }
end
else
else
#@course.destroy
respond_to do | format |
format . html { render :action = > 'new' , :layout = > 'base' } #Added by young
format . api { render_validation_errors ( @course ) }
end
end
else
redirect_to my_account_url
end
end
end
def course
@ -669,29 +743,24 @@ class CoursesController < ApplicationController
end
def feedback
if ( User . current . admin? || @course . is_public == 1 || ( @course . is_public == 0 && User . current . member_of_course? ( @course ) ) )
page = params [ :page ]
# Find the page of the requested reply
@jours = @course . journals_for_messages . where ( 'm_parent_id IS NULL' ) . order ( 'created_on DESC' )
@limit = 10
if params [ :r ] && page . nil?
offset = @jours . count ( :conditions = > [ " #{ JournalsForMessage . table_name } .id > ? " , params [ :r ] . to_i ] )
page = 1 + offset / @limit
end
#@feedback_count = @jours.count
#@feedback_pages = Paginator.new @feedback_count, @limit, page
#@offset ||= @feedback_pages.offset
@jour = paginateHelper @jours , 10
@state = false
respond_to do | format |
format . html { render :layout = > 'base_courses' }
format . api
end
else
render_403
page = params [ :page ]
# Find the page of the requested reply
@jours = @course . journals_for_messages . where ( 'm_parent_id IS NULL' ) . order ( 'created_on DESC' )
@limit = 10
if params [ :r ] && page . nil?
offset = @jours . count ( :conditions = > [ " #{ JournalsForMessage . table_name } .id > ? " , params [ :r ] . to_i ] )
page = 1 + offset / @limit
end
#@feedback_count = @jours.count
#@feedback_pages = Paginator.new @feedback_count, @limit, page
#@offset ||= @feedback_pages.offset
@jour = paginateHelper @jours , 10
@state = false
respond_to do | format |
format . html { render :layout = > 'base_courses' }
format . api
end
end