微信:作业增加发送功能
This commit is contained in:
parent
51918e1340
commit
8968c991ff
|
@ -200,8 +200,13 @@ module Mobile
|
|||
# course = Course.find(params[:id])
|
||||
cs = CoursesService.new
|
||||
course = cs.show_course(params,current_user)
|
||||
present :data, course, with: Mobile::Entities::Course,user: current_user
|
||||
{ status: 0}
|
||||
|
||||
if course[:course][:is_delete] == 1
|
||||
{status:-1, message: '该班级不存在或已被删除啦' }
|
||||
else
|
||||
present :data, course, with: Mobile::Entities::Course,user: current_user
|
||||
present :status, 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -85,12 +85,26 @@ module Mobile
|
|||
requires :token, type: String
|
||||
requires :course_ids, type: Array[Integer]
|
||||
requires :send_id, type: Integer
|
||||
requires :send_type, type: Integer
|
||||
end
|
||||
post 'send' do
|
||||
authenticate!
|
||||
|
||||
rs = ResourcesService.new
|
||||
ori, flag, save_message = rs.send_resource_to_course(current_user,params)
|
||||
|
||||
ori = nil
|
||||
flag = false
|
||||
save_message = nil
|
||||
|
||||
case params[:send_type]
|
||||
when 1
|
||||
ori, flag, save_message = rs.send_resource_to_course(current_user,params)
|
||||
when 2
|
||||
ori, flag, save_message = rs.send_homework_to_course(current_user,params)
|
||||
when 3
|
||||
ori, flag, save_message = rs.send_exercise_to_course(current_user,params)
|
||||
end
|
||||
|
||||
if flag
|
||||
present :status, 0
|
||||
else
|
||||
|
|
|
@ -49,6 +49,125 @@ class ResourcesService
|
|||
[@ori, @flag, @save_message]
|
||||
end
|
||||
|
||||
def send_homework_to_course user,params
|
||||
homework = HomeworkCommon.find params[:send_id].to_i
|
||||
@ori = homework
|
||||
course_ids = params[:course_ids]
|
||||
@flag = false
|
||||
unless course_ids.nil?
|
||||
course_ids.each do |course_id|
|
||||
course = Course.find course_id.to_i
|
||||
new_homework = HomeworkCommon.new
|
||||
new_homework.name = homework.name
|
||||
new_homework.user_id = user.id
|
||||
new_homework.description = homework.description
|
||||
new_homework.homework_type = homework.homework_type
|
||||
new_homework.late_penalty = homework.late_penalty
|
||||
new_homework.course_id = course.id
|
||||
new_homework.teacher_priority = homework.teacher_priority
|
||||
new_homework.anonymous_comment = homework.anonymous_comment
|
||||
new_homework.quotes = 0
|
||||
new_homework.is_open = homework.is_open
|
||||
homework.attachments.each do |attachment|
|
||||
att = attachment.copy
|
||||
att.container_id = nil
|
||||
att.container_type = nil
|
||||
att.copy_from = attachment.id
|
||||
att.save
|
||||
new_homework.attachments << att
|
||||
end
|
||||
homework_detail_manual = homework.homework_detail_manual
|
||||
homework_detail_programing = homework.homework_detail_programing
|
||||
homework_detail_group = homework.homework_detail_group
|
||||
if homework_detail_manual
|
||||
new_homework.homework_detail_manual = HomeworkDetailManual.new
|
||||
new_homework_detail_manual = new_homework.homework_detail_manual
|
||||
new_homework_detail_manual.ta_proportion = homework_detail_manual.ta_proportion
|
||||
new_homework_detail_manual.comment_status = 0
|
||||
new_homework_detail_manual.evaluation_num = homework_detail_manual.evaluation_num
|
||||
new_homework_detail_manual.absence_penalty = homework_detail_manual.absence_penalty
|
||||
end
|
||||
if homework_detail_programing
|
||||
new_homework.homework_detail_programing = HomeworkDetailPrograming.new
|
||||
new_homework.homework_detail_programing.ta_proportion = homework_detail_programing.ta_proportion
|
||||
new_homework.homework_detail_programing.language = homework_detail_programing.language
|
||||
homework.homework_tests.each_with_index do |homework_test|
|
||||
new_homework.homework_tests << HomeworkTest.new(
|
||||
input: homework_test.input,
|
||||
output: homework_test.output
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
if homework_detail_group
|
||||
new_homework.homework_detail_group = HomeworkDetailGroup.new
|
||||
new_homework.homework_detail_group.min_num = homework_detail_group.min_num
|
||||
new_homework.homework_detail_group.max_num = homework_detail_group.max_num
|
||||
new_homework.homework_detail_group.base_on_project = homework_detail_group.base_on_project
|
||||
end
|
||||
if new_homework.save
|
||||
new_homework_detail_manual.save if new_homework_detail_manual
|
||||
new_homework.homework_detail_programing.save if new_homework.homework_detail_programing
|
||||
new_homework.homework_detail_group.save if new_homework.homework_detail_group
|
||||
@flag = true
|
||||
else
|
||||
@flag = false
|
||||
@save_message = new_homework.errors.full_messages
|
||||
break
|
||||
end
|
||||
homework.update_column(:quotes, homework.quotes+1)
|
||||
end
|
||||
end
|
||||
[@ori, @flag, @save_message]
|
||||
end
|
||||
|
||||
def send_exercise_to_course user,params
|
||||
# send_id = params[:send_id]
|
||||
# @ori = Attachment.find_by_id(send_id)
|
||||
# course_ids = params[:course_ids]
|
||||
# @flag = false
|
||||
# unless course_ids.nil?
|
||||
# course_ids.each do |id|
|
||||
# next if @ori.blank?
|
||||
# @exist = false
|
||||
# Course.find(id).attachments.each do |att| #如果课程中包含该资源
|
||||
# if att.id == @ori.id || (!att.copy_from.nil? && !@ori.copy_from.nil? && att.copy_from == @ori.copy_from) || att.copy_from == @ori.id || att.id == @ori.copy_from
|
||||
# att.created_on = Time.now
|
||||
# att.save
|
||||
# @exist = true
|
||||
# @flag = true
|
||||
# break
|
||||
# end
|
||||
# end
|
||||
# next if @exist
|
||||
# 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.id
|
||||
# attach_copied_obj.is_public = 0
|
||||
# attach_copied_obj.copy_from = @ori.copy_from.nil? ? @ori.id : @ori.copy_from #发送要添加copy_from
|
||||
# if attach_copied_obj.attachtype == nil
|
||||
# attach_copied_obj.attachtype = 4
|
||||
# end
|
||||
# if attach_copied_obj.save
|
||||
# # 更新引用次数
|
||||
# quotes = @ori.quotes.to_i + 1
|
||||
# @ori.update_attribute(:quotes, quotes) unless @ori.nil?
|
||||
# @ori.forwards << Forward.new(:to_type => attach_copied_obj.class.name, :to_id => attach_copied_obj.id,:created_at => Time.now)
|
||||
# @flag = true
|
||||
# else
|
||||
# @flag = false
|
||||
# @save_message = attach_copied_obj.errors.full_messages
|
||||
# break
|
||||
# end
|
||||
#
|
||||
# end
|
||||
# end
|
||||
|
||||
[@ori, @flag, @save_message]
|
||||
end
|
||||
|
||||
# 我的资源-课件 已发布的
|
||||
def all_course_attachments user
|
||||
|
||||
|
|
|
@ -56,5 +56,5 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert>
|
||||
</div>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<div ng-class="{'undis': currentTab!=1}">
|
||||
<div ng-repeat="r in resources|filter:{filename:searchText}" ng-class="['class-detail-row', 'f13', 'c-grey3', {'border-top': $first}]">
|
||||
<img src="/images/wechat/courseware.png" width="15" class="ml10 fl" /> <span class="fl ml10 resource-width">{{r.filename}}</span><a ng-click="sendFile(r)" class="fr mr10 link-blue2">发送</a><div class="cl"></div>
|
||||
<img src="/images/wechat/courseware.png" width="15" class="ml10 fl" /> <span class="fl ml10 resource-width">{{r.filename}}</span><a ng-click="sendFile(r,1)" class="fr mr10 link-blue2">发送</a><div class="cl"></div>
|
||||
<span class="f12 mt5 ml35 c-grey4 fl courseware-from-width hidden">课件来源:{{r.coursename}}</span><span class="f12 ml10 mt5 c-grey4 fl">大小:{{r.attafile_size}}</span><div class="cl"></div>
|
||||
</div>
|
||||
<div ng-if="has_more">
|
||||
|
@ -22,7 +22,7 @@
|
|||
请登录Trustie网站,在PC浏览器中上传课件。</p>
|
||||
</div>
|
||||
<div ng-class="{'undis': currentTab!=2}">
|
||||
<div ng-repeat="r in homeworks|filter:{homework_name: searchText}" ng-class="['class-detail-row', 'f13', 'c-grey3', {'border-top': $first}]"><img src="/images/wechat/homework.png" width="15" class="ml10 fl" /><span class="fl ml10 resource-width">{{r.homework_name}}</span><a ng-click="sendFile(r)" class="fr mr10 link-blue2 undis">发送</a><div class="cl"></div>
|
||||
<div ng-repeat="r in homeworks|filter:{homework_name: searchText}" ng-class="['class-detail-row', 'f13', 'c-grey3', {'border-top': $first}]"><img src="/images/wechat/homework.png" width="15" class="ml10 fl" /><span class="fl ml10 resource-width">{{r.homework_name}}</span><a ng-click="sendFile(r,2)" class="fr mr10 link-blue2 ">发送</a><div class="cl"></div>
|
||||
<span class="f12 mt5 ml35 c-grey4 fl other-from-width hidden">作业来源:{{r.coursename}}</span><div class="cl"></div>
|
||||
</div>
|
||||
<div ng-if="homework_has_more">
|
||||
|
@ -32,7 +32,7 @@
|
|||
请登录Trustie网站,在PC浏览器中创建作业。</p>
|
||||
</div>
|
||||
<div ng-class="{'undis': currentTab!=3}">
|
||||
<div ng-repeat="r in exercise|filter:{exercise_name: searchText}" ng-class="['class-detail-row', 'f13', 'c-grey3', {'border-top': $first}]"><img src="/images/wechat/test.png" width="15" class="ml10 fl" /><span class="fl ml10 resource-width">{{r.exercise_name}}</span><a ng-click="sendFile(r)" class="fr mr10 link-blue2 undis">发送</a><div class="cl"></div>
|
||||
<div ng-repeat="r in exercise|filter:{exercise_name: searchText}" ng-class="['class-detail-row', 'f13', 'c-grey3', {'border-top': $first}]"><img src="/images/wechat/test.png" width="15" class="ml10 fl" /><span class="fl ml10 resource-width">{{r.exercise_name}}</span><a ng-click="sendFile(r,3)" class="fr mr10 link-blue2 undis">发送</a><div class="cl"></div>
|
||||
<span class="f12 mt5 ml35 c-grey4 other-from-width hidden">题目来源:{{r.coursename}}</span><div class="cl"></div>
|
||||
</div>
|
||||
<div ng-if="exercise_has_more">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location','$routeParams', function($scope, config, $http, auth, $location, $routeParams){
|
||||
app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location','$routeParams','alertService', function($scope, config, $http, auth, $location, $routeParams,alertService){
|
||||
|
||||
var vm = $scope;
|
||||
var courseid = $routeParams.id;
|
||||
|
@ -97,15 +97,14 @@ app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
vm.course = {};
|
||||
vm.students = [];
|
||||
vm.teachers = [];
|
||||
vm.resources = [];
|
||||
vm.homeworks = [];
|
||||
vm.exercises = [];
|
||||
|
||||
vm.alertService = alertService.create();
|
||||
|
||||
vm.invite = function(){
|
||||
$location.path("/invite_code").search({id: courseid});
|
||||
|
@ -118,9 +117,16 @@ app.controller('ClassController', ['$scope', 'config','$http', 'auth','$location
|
|||
$http.get(config.apiUrl+ 'courses/'+courseid+"?token="+auth.token()).then(
|
||||
function(response) {
|
||||
console.log(response.data);
|
||||
vm.course = response.data.data;
|
||||
resetMenu(vm.course.current_user_is_teacher);
|
||||
vm.tab(1);
|
||||
|
||||
if (response.data.status == 0){
|
||||
vm.course = response.data.data;
|
||||
resetMenu(vm.course.current_user_is_teacher);
|
||||
vm.tab(1);
|
||||
}
|
||||
else{
|
||||
vm.alertService.showMessage('提示', response.data.message);
|
||||
}
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -10,21 +10,30 @@ app.controller('MyResourceController', ['$scope', '$http', 'auth', 'config', '$l
|
|||
vm.homeworks_tag = false;
|
||||
vm.exercises_tag = false;
|
||||
|
||||
//课件
|
||||
vm.page = rms.get('page') || 0;
|
||||
vm.resources = rms.get("resources") || [];
|
||||
vm.has_more = rms.get("has_more");
|
||||
|
||||
//作业
|
||||
vm.homework_page = rms.get('homework_page') || 0;
|
||||
vm.homeworks = rms.get("homeworks") || [];
|
||||
vm.homework_has_more = rms.get("homework_has_more");
|
||||
|
||||
//测验
|
||||
vm.exercise_page = rms.get('exercise_page') || 0;
|
||||
vm.exercise = rms.get("exercise") || [];
|
||||
vm.exercise_has_more = rms.get("exercise_has_more");
|
||||
|
||||
vm.searchText = "";
|
||||
|
||||
vm.sendFile = function(r){
|
||||
//发送类别 1课件 2作业 3测验
|
||||
vm.myresource_sendIndex = rms.get('myresource_sendIndex') || 1;
|
||||
|
||||
vm.sendFile = function(r,index){
|
||||
vm.myresource_sendIndex = index;
|
||||
rms.save('myresource_sendIndex',index);
|
||||
|
||||
$location.path("/send_class_list").search({id: r.id});
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,9 @@ app.controller('SendClassListController', ['$scope', '$http','$routeParams', 'co
|
|||
var vm = $scope;
|
||||
var send_id = $routeParams.id;
|
||||
|
||||
//发送类别 1课件 2作业 3测验
|
||||
vm.myresource_sendIndex = rms.get('myresource_sendIndex') || 1;
|
||||
|
||||
vm.alertService = alertService.create();
|
||||
vm.syllabuses = [];
|
||||
|
||||
|
@ -39,7 +42,7 @@ app.controller('SendClassListController', ['$scope', '$http','$routeParams', 'co
|
|||
}
|
||||
|
||||
$http.post(config.apiUrl + "resources/send", {
|
||||
token: auth.token(), course_ids: course_ids, send_id: send_id
|
||||
token: auth.token(), course_ids: course_ids, send_id: send_id,send_type:vm.myresource_sendIndex
|
||||
}).then(function(response){
|
||||
console.log(response.data);
|
||||
if(response.data.status == 0){
|
||||
|
|
Loading…
Reference in New Issue