def deleteTeachingByid(request): teacherid = utils.getCookie(request, "teacherid") if (teacherid is None) or teacherid == "": responseReturn = Response(-2, "请登录") return HttpResponse(responseReturn.__str__()) teachingid = utils.getParam(request, "teachingid") TeachingService.deleteTeachingByid(teachingid) responseReturn = Response(None, None) return HttpResponse(responseReturn.__str__())
def addexperiment(request): teacherid = utils.getCookie(request, "teacherid") if (teacherid is None) or teacherid == "": responseReturn = Response(-2, "请登录") return HttpResponse(responseReturn.__str__()) experimentid = utils.getParam(request, "experimentid") deadlinestr = utils.getParam(request, "deadline") + " 00:00:00" templatetype = utils.getParam(request, "templatetype") videotype = utils.getParam(request, "videotype") datatype = utils.getParam(request, "datatype") videoids = utils.getParam(request, "videos") point = utils.getParam(request, "point") remark = utils.getParam(request, "remark") studentids = utils.getParam(request, "studentids") ''' 获得实验详情 ''' experiment = ExperimentService.getExperimentById(experimentid) if experiment is None: responseReturn = Response(-1, "选择实验异常!") return HttpResponse(responseReturn.__str__()) try: deadline = datetime.datetime.strptime(deadlinestr, "%Y-%m-%d %H:%M:%S") except: responseReturn = Response(-1, "请选择报告提交截止日期!") return HttpResponse(responseReturn.__str__()) ''' 获得模板 ''' if templatetype == "1": templateid = experiment.templateid else: # 文件上传 templatefile = request.FILES.get('templatefile', None) if templatefile is None: responseReturn = Response(-1, "请选择你要上传的模板文件!") return HttpResponse(responseReturn.__str__()) filename = templatefile.name filesuffix = os.path.splitext(filename)[1] if filesuffix != ".doc" and filesuffix != ".docx": responseReturn = Response(-1, "模板必须为word格式!") return HttpResponse(responseReturn.__str__()) filename = str(uuid.uuid1()) + filesuffix fp = open(os.path.join(CONSTANTS.DATAURL_PRE, filename), 'wb+') for chunk in templatefile.chunks(): # 分块写入文件 fp.write(chunk) fp.close() templateid = TemplateService.addTemplate(experimentid, filename) ''' 获得视频 ''' if videotype == "1": videos = experiment.videos else: videos = videoids ''' 获得实验数据 ''' if datatype == "1": # 稍后上传 dataurl = "none" else: # 上传实验数据 datafile = request.FILES.get('datafile', None) if datafile is None: responseReturn = Response(-1, "请选择你要上传的实验数据!") return HttpResponse(responseReturn.__str__()) filename = datafile.name filesuffix = os.path.splitext(filename)[1] if filesuffix != ".xsl" and filesuffix != ".xlsx": responseReturn = Response(-1, "实验数据必须为excel!") return HttpResponse(responseReturn.__str__()) filename = str(uuid.uuid1()) + filesuffix fp = open(os.path.join(CONSTANTS.DATAURL_PRE, filename), 'wb+') for chunk in datafile.chunks(): # 分块写入文件 fp.write(chunk) fp.close() dataurl = filename ''' 获得学生名单 ''' studentidList = studentids.split(",") # 添加 teachingid = TeachingService.addTeaching(int(experimentid), deadline, teacherid, point, remark, dataurl, "", templateid, videos) if teachingid is None: responseReturn = Response(-1, "添加失败,请重试") return HttpResponse(responseReturn.__str__()) for id in studentidList: studentobj = None studentobj = StudentService.getStudentById(id) if studentobj is None: TeachingService.deleteTeachingByid(teachingid) responseReturn = Response(-1, "选择学生异常,请重试!") return HttpResponse(responseReturn.__str__()) ReportService.addReport(teachingid, studentobj.id) responseReturn = Response(0, "添加成功!") return HttpResponse(responseReturn.__str__())