diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 0b3302fae..6a56b1b71 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -828,6 +828,60 @@ class UsersController < ApplicationController end end + #根据id或者名称搜索教师或者助教为当前用户的课程 + def search_user_course + @user = User.current + if !params[:search].nil? + @course = @user.courses.where(" #{Course.table_name}.id = #{params[:search].to_i } or #{Course.table_name}.name like '%#{params[:search.to_s]}%'") + .select { |course| @user.allowed_to?(:as_teacher,course)} + else + @course = @user.courses + .select { |course| @user.allowed_to?(:as_teacher,course)} + end + @send_id = params[:send_id] + respond_to do |format| + format.js + end + end + + # 将资源发送到对应的课程 + def add_exist_file_to_course + send_id = params[:send_id] + course_ids = params[:course_ids] + unless course_ids.nil? + course_ids.each do |id| + ori = Attachment.find_by_id(send_id) + next if ori.blank? + attach_copied_obj = ori.copy + attach_copied_obj.tag_list.add(ori.tag_list) # tag关联 + attach_copied_obj.container = Course.find(id) + attach_copied_obj.created_on = Time.now + attach_copied_obj.author_id = User.current.id + if attach_copied_obj.attachtype == nil + attach_copied_obj.attachtype = 4 + end + attach_copied_obj.save + @save_message = attach_copied_obj.errors.full_messages + end + end + respond_to do |format| + format.js + end + end + + # 资源预览 + def resource_preview + preview_id = params[:resource_id] + @file = Attachment.find(preview_id) + @preview_able = false; + if %w(pdf pptx doc docx xls xlsx).any?{|x| @file.filename.downcase.end_with?(x)} + @preview_able = true; + end + respond_to do |format| + format.js + end + end + def destroy @user.destroy respond_to do |format| diff --git a/app/views/users/_resource_share_popup.html.erb b/app/views/users/_resource_share_popup.html.erb new file mode 100644 index 000000000..01ac79075 --- /dev/null +++ b/app/views/users/_resource_share_popup.html.erb @@ -0,0 +1,39 @@ + + +
将资源移动至 +
+
+ <%= form_tag search_user_course_user_path(user),:method => 'get', + :remote=>true,:id=>'search_user_course_form',:class=>'resourcesSearchBox' do %> + <%= hidden_field_tag(:send_id, @send_id) %> + + + <%= submit_tag '',:class=>'searchIconPopup',:onfocus=>"this.blur();",:style=>'border-style:none' %> + <% end %> +
+ <%= form_tag add_exist_file_to_course_user_path(user),:remote=>true,:id=>'course_list_form' %> +
+ + <%= hidden_field_tag(:send_id, @send_id) %> + <% if !courses.empty? %> + <% courses.each do |course| %> + + <% end %> + +
+
+
+ + <%= submit_tag '确定',:class=>'sendSourceText',:onfocus=>'this.blur();' %> +
+ +
+
+ <% end %> +
+ diff --git a/app/views/users/add_exist_file_to_course.js.erb b/app/views/users/add_exist_file_to_course.js.erb new file mode 100644 index 000000000..903212798 --- /dev/null +++ b/app/views/users/add_exist_file_to_course.js.erb @@ -0,0 +1 @@ +closeModal(); \ No newline at end of file diff --git a/app/views/users/resource_preview.js.erb b/app/views/users/resource_preview.js.erb new file mode 100644 index 000000000..a38d46374 --- /dev/null +++ b/app/views/users/resource_preview.js.erb @@ -0,0 +1,3 @@ +<% if @preview_able %> +top.location.href = '<%=download_named_attachment_path(@file.id, @file.filename, preview: true) %>' +<% end %> \ No newline at end of file diff --git a/app/views/users/search_user_course.js.erb b/app/views/users/search_user_course.js.erb new file mode 100644 index 000000000..e3d4bb2d4 --- /dev/null +++ b/app/views/users/search_user_course.js.erb @@ -0,0 +1,11 @@ +var screenWidth = $(window).width(); +var screenHeight = $(window).height(); //当前浏览器窗口的 宽高 +var scrolltop = $(document).scrollTop();//获取当前窗口距离页面顶部高度 +var objLeft = (screenWidth - 2)/2.5 ; //2 可以根据需要修改 +var objTop = (screenHeight - 100)/2 + scrolltop; //100可以根据需要修改 +var popupHeight = $(".resourceSharePopup").outerHeight(true); +$(".resourceSharePopup").css("marginTop",-popupHeight/2); + +$("#upload_box").css('left',objLeft).css('top',objTop); +$("#upload_box").html('<%= escape_javascript( render :partial => "resource_share_popup" ,:locals => {:courses=>@course,:user=>@user})%>'); +$("#upload_box").css('display','block'); \ No newline at end of file diff --git a/app/views/users/user_resource.html.erb b/app/views/users/user_resource.html.erb index aff14c2a3..19ff146ea 100644 --- a/app/views/users/user_resource.html.erb +++ b/app/views/users/user_resource.html.erb @@ -100,10 +100,10 @@ <%= render :partial => 'upload_resource' ,:locals => {:user=>@user}%>