diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 650d97555..5cb646c8e 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -215,7 +215,6 @@ class StudentWorkController < ApplicationController student_work ||= StudentWork.new student_work.name = params[:student_work][:name] student_work.description = params[:student_work][:description] - student_work.project_id = params[:student_work][:project_id] student_work.homework_common_id = @homework.id student_work.user_id = User.current.id student_work.save_attachments(params[:attachments]) @@ -305,15 +304,28 @@ class StudentWorkController < ApplicationController @work.save_attachments(params[:attachments]) render_attachment_warning_if_needed(@work) if @work.save + if @homework.homework_type == 3 + @student_work_project = @homework.student_work_projects.where("user_id=?",User.current.id).first + student_work_projects = @homework.student_work_projects.where("student_work_id=? and is_leader =?",@work.id,0) + student_work_projects.delete_all + members = params[:group_member_ids].split(',') + for i in 1 .. members.count-1 + stu_project = StudentWorkProject.new + stu_project.homework_common_id = @homework.id + stu_project.student_work_id = @work.id + if @homework.homework_detail_group.base_on_project == 1 + stu_project.project_id = @student_work_project.project_id + else @homework.homework_detail_group.base_on_project == 0 + stu_project.project_id = -1 + end + stu_project.user_id = members[i].to_i + stu_project.is_leader = 0 + stu_project.save + end + end + course_message = CourseMessage.new(:user_id =>User.current.id,:content=>"edit",:course_message_id=>@work.id,:course_id => @course.id,:course_message_type=>"StudentWork", :status => 9) #作品提交记录 course_message.save -=begin - respond_to do |format| - format.html { - flash[:notice] = l(:notice_successful_edit) - redirect_to student_work_index_url(:homework => @homework.id) - } -=end @student_work = @work respond_to do |format| format.js diff --git a/app/views/student_work/_choose_group_member.html.erb b/app/views/student_work/_choose_group_member.html.erb index f94250d23..dc650cfa8 100644 --- a/app/views/student_work/_choose_group_member.html.erb +++ b/app/views/student_work/_choose_group_member.html.erb @@ -92,5 +92,17 @@ url: '<%= url_for(:controller => 'student_work', :action => 'search_course_students') %>'+'?homework='+<%=@homework.id %>, type:'get' }); + <% if defined?(edit_mode) && edit_mode %> + <% pro = @homework.student_work_projects.where("user_id = ?",User.current.id).first.project_id.to_i %> + <% members = @homework.student_work_projects.where("project_id = ? and is_leader =?",pro,0) %> + <% members.each do |member| %> + var link = "
  • <%=member.user.show_name %>"; + <% unless member.user.user_extensions.student_id == "" %> + link += "(<%=member.user.user_extensions.student_id %>)"; + <% end %> + link += "
  • "; + $("#choose_students_list").append(link); + <% end %> + <% end %> }); \ No newline at end of file diff --git a/app/views/student_work/edit.html.erb b/app/views/student_work/edit.html.erb index 6ca609502..c7c572cff 100644 --- a/app/views/student_work/edit.html.erb +++ b/app/views/student_work/edit.html.erb @@ -31,7 +31,11 @@ 提示:作品名称和描述中不要出现真实的姓名信息
    - + <% if @homework.homework_type == 3 %> + + + <%=hidden_field_tag 'group_member_ids', params[:group_member_ids], :value=>User.current.id %> + <% end %>
    @@ -51,6 +55,12 @@ <%= render :partial => 'users/user_homework_attachment', :locals => {:container => @work, :has_program=>false,:has_group=>false} %>
    + <% if @homework.homework_type == 3 %> +
    + 合作成员 +
    + <% end %> +
    确定 @@ -61,14 +71,44 @@
    \ No newline at end of file diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js index 67892fe0f..65741adc8 100644 --- a/public/javascripts/new_user.js +++ b/public/javascripts/new_user.js @@ -267,8 +267,15 @@ function edit_student_work(id) { if(regexStudentWorkName()&®exStudentWorkDescription()) { - $("#edit_student_work_" + id).submit(); - $("#ajax-indicator").hide(); + if($("#group_member_ids").length > 0) { + if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) { + $("#edit_student_work_" + id).submit(); + $("#ajax-indicator").hide(); + } + } else { + $("#edit_student_work_" + id).submit(); + $("#ajax-indicator").hide(); + } } }