예제 #1
0
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__())
예제 #2
0
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__())