def POST(self):
        web.header("Access-Control-Allow-Origin","*")
        must_params = ('st_id','cl_id')
        params = web.input()
        if util.paramsok(must_params, params) == Status.__params_not_ok__:
            response = Response(status = Status.__params_not_ok__  )
            return  util.objtojson(response)
        class_result = db.query("SELECT * FROM  class WHERE cl_id= $cl_id", vars={'cl_id':params.cl_id})
#         cl_id = class_result. __getitem__(0).get('cl_id')
        try:
            r1 = db.delete('student_has_class', where='class_cl_id=$cl_id and student_st_id = $st_id', vars={'cl_id':params.cl_id,'st_id':params.st_id})
            r2 = db.delete('information',where = 'student_st_id=$st_id and class_cl_id = $cl_id',vars={'st_id':params.st_id,'cl_id':params.cl_id})
            r3 = db.delete('student', where='st_id=$st_id', vars={'st_id':params.st_id})
            
            if r1:
                if r3:
                    response = Response(status = Status.__success__,message = "该学生已完全删除!")
                    return  util.objtojson(response)
                response = Response(status = Status.__success__,message = "该学生已从该课程班删除!")
                return  util.objtojson(response)
            else:
                response = Response(status = Status.__success__,message = "该学生已从该课程班删除!")
                return  util.objtojson(response)
        except Exception as e:
                response = Response(status = Status.__system_exception__,message = "该学生存在于其他课程班,已从当前课程班删除!")
                return  util.objtojson(response)
예제 #2
0
 def POST(self):
     mydata = web.input()
     print mydata
     web.header("Access-Control-Allow-Origin", "*")
     must_params = set({
         'cl_name',
         'currentPage',
     })
     if (util.paramsok(must_params, mydata) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         print 222
         currentPage = int(mydata.currentPage) - 1
         print mydata.cl_name
         result = orm.db.query(
             'select * from Class where cl_name like \'%%%s%%\'\
             order by cl_id limit %s,%s' %
             (mydata.cl_name, currentPage * 10, 10))
         result = [Class_model(**item) for item in result]
         Class = Class_model()
         result1 = Class.query(
             'select count(*) from Class where cl_name like \'%%%s%%\'' %
             (mydata.cl_name))
         count = result1[0]['count(*)']
         page = util.Page(data=result,
                          totalRow=count,
                          currentPage=int(mydata.currentPage),
                          pageSize=10,
                          status=util.Status.__success__,
                          message="未知")
         response = util.Response(status=util.Status.__success__, body=page)
         return util.objtojson(response)
    def POST(self):

        web.header("Access-Control-Allow-Origin","*")
        must_params = ('cl_id',)
        mydata = web.input()
        if util.paramsok(must_params, mydata) == Status.__params_not_ok__:
            response = Response(status = Status.__params_not_ok__ ,message = "参数错误!")
            return  util.objtojson(response)
        params = Class_model(cl_id = mydata.cl_id)
        teacher = model.Teacher_model.getByArgs(tc_level='管理员')
        if str(mydata.deletepassword) != teacher[0].tc_password:
            response = util.Response(status=util.Status.__error__,message = "密码错误")
            return util.objtojson(response)
        try:
            with orm.db.transaction():
                db.delete('student_has_class', where="class_cl_id = $class_cl_id", vars={'class_cl_id': params.cl_id, })
                if db.delete('class', where="cl_id = $cl_id", vars={'cl_id': params.cl_id, }):
                    response = Response(status=Status.__success__, message="班级删除成功!")
                    return util.objtojson(response)
                else:
                    response = Response(status=Status.__error__, message="班级删除失败!")
                    return util.objtojson(response)
        except Exception as e:
            util.getFileRotatingLog().debug(e)
            response = Response(status=Status.__error__, message="班级删除失败!")
            return util.objtojson(response)
예제 #4
0
    def POST(self):
        mydata = web.input()
        qb = model.Questions_bank_model()
        must_params = set (['qb_id'])
        web.header("Access-Control-Allow-Origin", "*")
        if(util.paramsok(must_params,mydata) == 2):
            response = util.Response(status = util.Status.__params_not_ok__)
            return util.objtojson(response)
        elif str(mydata.deletepassword) == '123456':
            qb.qb_id = mydata.qb_id
            result = model.Questions_bank_has_question_model.getByArgs( \
                questions_bank_qb_id = qb.qb_id)
            for item in result:
                questions_bank_has_question = model.Questions_bank_has_question_model()
                questions_bank_has_question.qbhq_id = item.qbhq_id
                questions_bank_has_question.delete()

            if qb.delete():
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            else:
                response = util.Response(status=util.Status.__error__)
                return util.objtojson(response)
        response = util.Response(status=util.Status.__error__)
        return util.objtojson(response)
예제 #5
0
 def POST(self):
     mydata = web.input()
     print mydata
     web.header("Access-Control-Allow-Origin", "*")
     must_params = set({'qt_stem','currentPage',})
     question = model.Question_model()
     Knowledge = model.Knowledge_model() 
     currentPage = int(mydata.currentPage)-1;
     if(util.paramsok(must_params,mydata) == 2):
         response = util.Response(status = util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         print 222
         result = orm.db.query('select * from question where qt_stem like \'%%%s%%\'\
             order by qt_id limit %s,%s'%(mydata.qt_stem,currentPage*10,10))
         # result = orm.db.query('select * from question where qt_stem like \'%%%s%%\''%(mydata.qt_stem))
         questionlist = []
         result = [model.Question_model(**item) for item in result ]
         print result
         result1= question.query('select count(*) from question where qt_stem like \'%%%s%%\''%(mydata.qt_stem))
         count = result1[0]['count(*)']
         for params in result:
             qt = params
             qt['qt_type']=util.type[qt.qt_type]
             Knowledge = model.Knowledge_model()
             KnowledgeData = Knowledge.getByPK(qt.knowledge_kl_id) 
             qt['kl_name'] = KnowledgeData.kl_name 
             questionlist.append(qt)
         # response = util.Response(status=util.Status.__success__,body = questionlist)
         # return util.objtojson(response)
         page = util.Page(data = questionlist, totalRow = count, currentPage = int(mydata.currentPage), pageSize = 10, status=util.Status.__success__, message = "未知")
         response = util.Response(status=util.Status.__success__,body=page)
         return util.objtojson(response) 
예제 #6
0
    def POST(self):
        mydata = web.input()
        print("删除题库", mydata)
        qb = model.Questions_bank_model()
        must_params = set(['qb_id'])
        web.header("Access-Control-Allow-Origin", "*")
        session = web.ctx.session
        # util.getFileRotatingLog().debug(session.password)           # 写入到log文件
        if (util.paramsok(must_params, mydata) == 2):
            response = util.Response(status=util.Status.__params_not_ok__)
            return util.objtojson(response)
        elif str(mydata.deletepassword) == session.password:
            qb.qb_id = mydata.qb_id
            result = model.Questions_bank_has_question_model.getByArgs( \
                questions_bank_qb_id = qb.qb_id)
            for item in result:
                questions_bank_has_question = model.Questions_bank_has_question_model(
                )
                questions_bank_has_question.qbhq_id = item.qbhq_id
                questions_bank_has_question.delete()

            if qb.delete():
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            else:
                response = util.Response(status=util.Status.__error__,
                                         message="删除失败")
                return util.objtojson(response)
        else:
            response = util.Response(status=util.Status.__error__,
                                     message="密码错误")
            return util.objtojson(response)
        response = util.Response(status=util.Status.__error__, message="删除失败")
        return util.objtojson(response)
예제 #7
0
 def POST(self):
     web.header("Access-Control-Allow-Origin", "*")
     params = web.input()
     exam = model.Exam_model()
     must_params = exam.__notnull__
     if (util.paramsok(must_params, params) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         exam = model.Exam_model(**params)
         if exam.insert():
             result = exam.query("select max(ex_id) from exam")
             lastExamId = int(result[0]['max(ex_id)'])
             # 获取教务班学生id
             stuHasClass = model.Student_has_class_model()
             classId = params['class_cl_id'].encode('utf-8')
             classId = classId.split(',')
             for k in range(1, len(classId) - 1):
                 listStuid = stuHasClass.getByArgs(class_cl_id=classId[k])
                 for stuID in listStuid:
                     informationArgs = dict(
                         student_st_id=stuID.student_st_id,
                         exam_ex_id=lastExamId,
                         class_cl_id=classId[k],
                         sg_id=exam.strategy_sg_id)
                     information = model.Information_model(
                         **informationArgs)
                     information.insert()
             response = util.Response(status=util.Status.__success__)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
예제 #8
0
 def POST(self):
     web.header("Access-Control-Allow-Origin", "*")
     must_params = ('cl_id', )
     params = web.input(requestPage='0')
     if util.paramsok(must_params, params) == Status.__params_not_ok__:
         response = Response(status=Status.__params_not_ok__)
         return util.objtojson(response)
     requestPage = params['requestPage'].encode('utf-8')
     del params['requestPage']
     #根据班号查学号,根据学号查学生
     st_has_cl = Student_has_class_model(class_cl_id=params.cl_id)
     st_has_cl_result = Student_has_class_model.getByPage(page=requestPage,
                                                          **st_has_cl)
     if st_has_cl_result:
         final_result = list()
         for s in range(len(st_has_cl_result)):
             st_ = st_has_cl_result[s].get('student_st_id')
             st = Student_model(st_id=st_)
             st_result = Student_model.getByPage(page=requestPage, **st)
             final_result.append(st_result[0])
         response = Response(status=Status.__success__, body=final_result)
         return util.objtojson(response)
     else:
         response = Response(status=Status.__obj_null__)
         return util.objtojson(response)
 def POST(self):
     web.header("Access-Control-Allow-Origin","*")
     must_params = ('st_id','cl_name')
     params = web.input()   
     if util.paramsok(must_params, params) == Status.__params_not_ok__:
         response = Response(status = Status.__params_not_ok__  )
         return  util.objtojson(response)
     class_result = db.query("SELECT * FROM  class WHERE cl_name= $cl_name", vars={'cl_name':(params.cl_name.encode('utf-8'))})
     if class_result:
          cl_id = class_result. __getitem__(0).get('cl_id')
          st_has_class_result = db.query("SELECT * FROM  student_has_class WHERE class_cl_id= $cl_id", vars={'cl_id':cl_id})
          if st_has_class_result:
              st = Student_model(st_id = params.st_id)
              st_result = Student_model.getByArgs(**st)
              if st_result == list():
                  response = Response(status = Status.__obj_null__ ,body = st_has_class_result)
                  return util.objtojson(response)
              response = Response(status = Status.__success__,body = st_result)
              return util.objtojson(response)
          else:
             response = Response(status = Status.__obj_null__ ,body = st_has_class_result)
             return util.objtojson(response)
              
     else:
          response = Response(status = Status.__obj_null__)
          return util.objtojson(response)
예제 #10
0
    def POST(self):

        #修改为不需要管理员密码就能够删除
        web.header("Access-Control-Allow-Origin", "*")
        must_params = ('cl_id', )
        params = web.input()

        if util.paramsok(must_params, params) == Status.__params_not_ok__:
            response = Response(status=Status.__params_not_ok__,
                                message="参数错误!")
            return util.objtojson(response)
        params = Class_model(cl_id=params.cl_id)
        print "delete_class"
        with orm.db.transaction():
            db.delete('student_has_class',
                      where="class_cl_id = $class_cl_id",
                      vars={
                          'class_cl_id': params.cl_id,
                      })
            if db.delete('class',
                         where="cl_id = $cl_id",
                         vars={
                             'cl_id': params.cl_id,
                         }):
                response = Response(status=Status.__success__,
                                    message="班级删除成功!")
                return util.objtojson(response)
            else:
                response = Response(status=Status.__error__, message="班级删除失败!")
                return util.objtojson(response)
예제 #11
0
    def POST(self):
        web.header("Access-Control-Allow-Origin", "*")
        must_params = ('st_id', 'st_name', 'cl_id')
        params = web.input()

        if util.paramsok(must_params, params) == Status.__params_not_ok__:
            response = util.Response(Status.__params_not_ok__, message='参数错误!')
            return util.objtojson(response)
        st_has_cl = Student_has_class_model(student_st_id=params.st_id,
                                            class_cl_id=params.cl_id)
        # del  params.cl_id
        s = Student_model(st_id=params.st_id)
        try:
            st_exist = s.getByArgs(**s)
            if st_exist:
                if st_has_cl.insert():
                    information = model.Information_model.query('select \
                                         distinct(exam_ex_id),sg_id from information where \
                                         class_cl_id = %s' % (params.cl_id))
                    if information != None:
                        information = [
                            model.Information_model(**item)
                            for item in information
                        ]
                        for item in information:
                            item.class_cl_id = params.cl_id
                            item.student_st_id = params.st_id
                            item.insert()
                    else:
                        print "none"
                    response = util.Response(Status.__success__,
                                             message="该学生已添加进课程班级")
                    return util.objtojson(response)
                response = util.Response(Status.__success__,
                                         message="该学生已存在于课程班级,不能重复添加!")
                return util.objtojson(response)
            else:
                s = Student_model(**params)
                s.insert()
                st_has_cl.insert()
                information = model.Information_model.query('select \
                    distinct(exam_ex_id),sg_id from information where \
                    class_cl_id = %s' % (params.cl_id))
                if information != None:
                    information = [
                        model.Information_model(**item) for item in information
                    ]
                    for item in information:
                        item.class_cl_id = params.cl_id
                        item.student_st_id = params.st_id
                        item.insert()
                else:
                    print "none"
                response = util.Response(Status.__success__,
                                         message="该学生已添加进课程班级!")
                return util.objtojson(response)
        except Exception as e:
            response = util.Response(Status.__error__, message="error")
            return util.objtojson(response)
예제 #12
0
    def POST(self):
        web.header("Access-Control-Allow-Origin", "*")
        params = web.input()
        exam = model.Exam_model()
        must_params = exam.__notnull__
        if (util.paramsok(must_params, params) == 2):
            response = util.Response(status=util.Status.__params_not_ok__)
            return util.objtojson(response)
        else:
            exam = model.Exam_model(**params)
            if exam.update():
                # 获取教务班学生id
                stuHasClass = model.Student_has_class_model()
                classId = params['add_class_cl_id'].encode('utf-8')
                classId = classId.split(',')
                print 'add_class_cl_id'
                print classId
                for k in range(1, len(classId) - 1):
                    print 1234567
                    print classId[k]
                    listStuid = stuHasClass.getByArgs(class_cl_id=classId[k])
                    for stuID in listStuid:
                        informationArgs = dict(
                            student_st_id=stuID.student_st_id,
                            exam_ex_id=exam.ex_id,
                            class_cl_id=classId[k],
                            sg_id=exam.strategy_sg_id)
                        information = model.Information_model(
                            **informationArgs)
                        information.insert()

                delete_classId = params['delete_class_cl_id'].encode('utf-8')
                delete_classId = delete_classId.split(',')
                print 'delete_class_cl_id'
                print delete_classId
                for k in range(1, len(delete_classId) - 1):
                    listStuid = stuHasClass.getByArgs(
                        class_cl_id=delete_classId[k])
                    for stuID in listStuid:
                        # informationArgs = dict(student_st_id=stuID.student_st_id, exam_ex_id=exam.ex_id,
                        #                        class_cl_id=delete_classId[k])
                        # information = model.Information_model()
                        # information_id = information.getByArgs(informationArgs)
                        # information.in_id = information_id[0]['in_id']
                        # information.delete()
                        db.delete('information',
                                  where="student_st_id = $student_st_id \
                        and exam_ex_id = $exam_ex_id",
                                  vars={
                                      'student_st_id': stuID.student_st_id,
                                      'exam_ex_id': exam.ex_id
                                  })

                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            else:
                response = util.Response(status=util.Status.__error__)
                return util.objtojson(response)
예제 #13
0
    def POST(self):
        mydata = web.input()
        qt = model.Question_model()
        kp = model.Knowledge_model()
        web.header("Access-Control-Allow-Origin", "*")
        qbhq = model.Questions_bank_has_question_model()
        must_params = set({
            'qt_id',
            'qt_type',
            'qt_stem',
            'kl_name',
            'qb_id',
        })
        if (util.paramsok(must_params, mydata) == 2):
            response = util.Response(status=util.Status.__params_not_ok__)
            return util.objtojson(response)
        else:
            knowlagedata = kp.getByArgs(kl_name=mydata.kl_name)
            qt = model.Question_model(**mydata)
            qt.knowledge_kl_id = knowlagedata[0].kl_id
            qt.qt_state = 0
            qt.update()
            if mydata.qt_type == 'choice':
                choice = model.Choice_model(**mydata)
                choice.question_qt_id = qt.qt_id
                choice.update()
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            elif mydata.qt_type == 'coding':
                coding = model.Coding_model(**mydata)
                coding.question_qt_id = qt.qt_id
                coding.update()

                # shutil.rmtree('%s/%s' % (question_source, qt.qt_id))
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            elif mydata.qt_type == 'filla':
                Filla = model.Filla_model(**mydata)
                Filla.question_qt_id = qt.qt_id
                Filla.update()
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            elif mydata.qt_type == 'fillb':
                Fillb = model.Fillb_model(**mydata)
                Fillb.question_qt_id = qt.qt_id
                Fillb.update()
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
            elif mydata.qt_type == 'judge':
                Judge = model.Judge_model(**mydata)
                Judge.question_qt_id = qt.qt_id
                Judge.update()
                response = util.Response(status=util.Status.__success__)
                return util.objtojson(response)
 def POST(self):
     must_params = ('cl_name')
     params = web.input()
     if util.paramsok(must_params, params) == Status.__params_not_ok__:
             response =  util.Response(Status.__params_not_ok__)
             return util.objtojson(response)
     
     params = Class_model(**params)
     if params.update():
         response = Response(status = Status.__success__)
         return  util.objtojson(response)
     else:
         response = Response(status = Status.__error__ )
         return  util.objtojson(response)
 def POST(self):
     web.header("Access-Control-Allow-Origin","*")
     must_params = ('cl_name',)
     params = web.input()
     if util.paramsok(must_params, params) == Status.__params_not_ok__:
         response = Response(status = Status.__params_not_ok__  )
         return  util.objtojson(response)
     params = Class_model(**params)
     try:
         params.insert()
         response = Response(status = Status.__success__)
         return  util.objtojson(response)
     except Exception as e:
         response = Response(status = Status.__error__,message = e)
         return  util.objtojson(response)
예제 #16
0
 def POST(self):
     web.header("Access-Control-Allow-Origin", "*") 
     mydata = web.input()
     # must_params =set({'currentPage'})
     must_params =set({})
     if(util.paramsok(must_params, mydata) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         qb = model.Questions_bank_model()
         count = qb.count()
         reasurt = qb.getByPage(int(mydata.currentPage)-1)
         page = util.Page(data = reasurt, totalRow = count, currentPage = int(mydata.currentPage), pageSize = 10, status=util.Status.__success__, message = "未知")
         response = util.Response(status=util.Status.__success__,body=page)
         return util.objtojson(response) 
 def POST(self):
     web.header("Access-Control-Allow-Origin","*")
     must_params = ('st_id',)
     params = web.input()
     if util.paramsok(must_params, params) == Status.__params_not_ok__:
         response = Response(status = Status.__params_not_ok__  )
         return  util.objtojson(response)
     st_modify  = Student_model(**params)
     result = st_modify.update()
     if result:
         response = Response(status = Status.__success__)
         return util.objtojson(response)
     else:
         response = Response(status = Status.__error__)
         return util.objtojson(response)
예제 #18
0
 def POST(self):
     mydata = web.input()
     qbhq = model.Questions_bank_has_question_model()
     web.header("Access-Control-Allow-Origin", "*")
     must_params = set({'qt_id'})
     if(util.paramsok(must_params,mydata) == 2):
         response = util.Response(status = util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         result = qbhq.getByArgs(question_qt_id = mydata.qt_id)
         for k in result:
             qbhq.qbhq_id = k.qbhq_id
             qbhq.delete()
         response = util.Response(status = util.Status.__success__)
         return util.objtojson(response)
예제 #19
0
 def POST(self):
     mydata = web.input()
     qb = model.Questions_bank_model()
     must_params = qb.__notnull__
     web.header("Access-Control-Allow-Origin", "*") 
     if(util.paramsok(must_params,mydata) == 2):
         response = util.Response(status = util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         qb = model.Questions_bank_model(**mydata)
         if qb.update():
             response = util.Response(status=util.Status.__success__)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
예제 #20
0
 def POST(self):
     mydata = web.input()
     kp = model.Knowledge_model()
     must_params = kp.__notnull__
     web.header("Access-Control-Allow-Origin", "*") 
     if(util.paramsok(must_params, mydata) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         kp = model.Knowledge_model(**mydata)
         if kp.insert():
             response = util.Response(status=util.Status.__success__)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
예제 #21
0
 def POST(self):
     web.header("Access-Control-Allow-Origin", "*")
     # 接收参数
     params = web.input()
     strategyTerm = model.Strategy_term_model()
     must_params = strategyTerm.__notnull__
     if (util.paramsok(must_params, params) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         strategyTerm = model.Strategy_term_model(**params)
         if strategyTerm.update():
             response = util.Response(status=util.Status.__success__)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
예제 #22
0
    def POST(self):
        mydata = web.input()
        print mydata
        # 必须有的参数
        must_params = set({'questions_bank_qb_id', 'currentPage'})
        web.header("Access-Control-Allow-Origin", "*")
        currentPage = int(mydata.currentPage) - 1
        if (util.paramsok(must_params, mydata) == 2):
            print 333
            response = util.Response(status=util.Status.__params_not_ok__)
            return util.objtojson(response)
        else:
            question = model.Question_model()
            # result = orm.db.query('select * from question where qt_id in (select question_qt_id from questions_bank_has_question where questions_bank_qb_id = %s ) order by qt_id limit %s,%s'%(int(mydata.questions_bank_qb_id),currentPage*10,currentPage*10+9))
            result = orm.db.query(
                'select * from question where qt_id in \
                (select question_qt_id from questions_bank_has_question where questions_bank_qb_id = %s )\
                order by qt_id limit %s,%s' %
                (mydata.questions_bank_qb_id, currentPage * 10, 10))

            questionlist = []
            result = [model.Question_model(**item) for item in result]
            # print result
            result1 = question.query(
                'select count(*) from question where qt_id in (select question_qt_id \
                from questions_bank_has_question where questions_bank_qb_id = %s )'
                % (mydata.questions_bank_qb_id))
            # print result1[0]
            count = result1[0]['count(*)']
            for params in result:
                qt = params
                qt['qt_type'] = util.type[qt.qt_type]
                Knowledge = model.Knowledge_model()
                KnowledgeData = Knowledge.getByPK(qt.knowledge_kl_id)
                qt['kl_name'] = KnowledgeData.kl_name
                questionlist.append(qt)
            # response = util.Response(status=util.Status.__success__,body = questionlist)
            # return util.objtojson(response)
            page = util.Page(data=questionlist,
                             totalRow=count,
                             currentPage=int(mydata.currentPage),
                             pageSize=10,
                             status=util.Status.__success__,
                             message="未知")
            response = util.Response(status=util.Status.__success__, body=page)
            return util.objtojson(response)
예제 #23
0
    def POST(self):
        mydata = web.input()
        print("删除题目", mydata)
        qbhq = model.Questions_bank_has_question_model()
        web.header("Access-Control-Allow-Origin", "*")
        must_params = set({'qt_id'})
        #util.getFileRotatingLog().debug(mydata)
        session = web.ctx.session
        teacher = model.Teacher_model.getByArgs(tc_level='管理员')
        try:
            if (util.paramsok(must_params, mydata) == 2):
                response = util.Response(status=util.Status.__params_not_ok__)
                return util.objtojson(response)
            elif mydata.qb_id == "all":

                if str(mydata.deletepassword) == teacher[0].tc_password:
                    result = qbhq.getByArgs(question_qt_id=mydata.qt_id)
                    for k in result:
                        qbhq.qbhq_id = k.qbhq_id
                        qbhq.delete()
                    response = util.Response(status=util.Status.__success__)
                    return util.objtojson(response)
                else:
                    response = util.Response(status=util.Status.__error__,
                                             message="密码错误")
                    return util.objtojson(response)
            else:
                if str(mydata.deletepassword) == teacher[0].tc_password:
                    result = qbhq.query(
                        'select * from questions_bank_has_question where question_qt_id = %s \
                                 and questions_bank_qb_id = %s' %
                        (mydata.qt_id, mydata.qb_id))
                    qbhq = model.Questions_bank_has_question_model(**result[0])
                    qbhq.delete()
                    response = util.Response(status=util.Status.__success__)
                    return util.objtojson(response)
                else:
                    response = util.Response(status=util.Status.__error__,
                                             message="密码错误")
                    return util.objtojson(response)
        except Exception as e:
            util.getFileRotatingLog().debug(e)
            response = util.Response(status=util.Status.__error__,
                                     message="删除失败")
            return util.objtojson(response)
 def POST(self):
     web.header("Access-Control-Allow-Origin", "*")
     # 接收参数
     params = web.input()
     strategy = model.Strategy_model()
     must_params = strategy.__notnull__
     if (util.paramsok(must_params, params) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         strategy = model.Strategy_model(**params)
         if strategy.insert():
             result = strategy.getByArgs(sg_name=strategy.sg_name)
             response = util.Response(status=util.Status.__success__, body=result)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
예제 #25
0
 def POST(self):
     web.header("Access-Control-Allow-Origin", "*")
     # 接收参数
     params = web.input()
     strategy = model.Strategy_model()
     args = dict(sg_id=params.get('sg_id'))
     must_params = strategy.__notnull__
     if (util.paramsok(must_params, params) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         strategy = model.Strategy_model(**params)
         if strategy.getByArgs(**args):
             strategy.update()
             response = util.Response(status=util.Status.__success__)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
예제 #26
0
 def POST(self):
     mydata = web.input()
     kp = model.Knowledge_model()
     must_params = set({'kl_id'})
     web.header("Access-Control-Allow-Origin", "*")
     if (util.paramsok(must_params, mydata) == 2):
         response = util.Response(status=util.Status.__params_not_ok__)
         return util.objtojson(response)
     elif str(mydata.deletepassword) == '123456':
         kp.kl_id = mydata.kl_id
         print kp.kl_id
         if kp.delete():
             response = util.Response(status=util.Status.__success__)
             return util.objtojson(response)
         else:
             response = util.Response(status=util.Status.__error__)
             return util.objtojson(response)
     response = util.Response(status=util.Status.__error__)
     return util.objtojson(response)
예제 #27
0
 def POST(self):
     mydata = web.input()
     web.header("Access-Control-Allow-Origin", "*")
     must_params = set({'question_qt_id','questions_bank_qb_id'})
     if(util.paramsok(must_params,mydata) == 2):
         response = util.Response(status = util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         data = mydata.question_qt_id
         # 从1开始,最后一个无效
         question_qt_id = data.split(',')
         print question_qt_id
         qbhq = model.Questions_bank_has_question_model()
         for k in range(1,len(question_qt_id)-1):
             qbhq.question_qt_id = question_qt_id[k]
             qbhq.questions_bank_qb_id = mydata.questions_bank_qb_id
             qbhq.insert()
         response = util.Response(status = util.Status.__success__,)
         return util.objtojson(response)
예제 #28
0
 def POST(self):
     mydata = web.input()
     qt = model.Question_model()
     kp = model.Knowledge_model()
     must_params = set (['qt_id'])
     web.header("Access-Control-Allow-Origin", "*") 
     if(util.paramsok(must_params,mydata) == 2):
         response = util.Response(status = util.Status.__params_not_ok__)
         return util.objtojson(response)
     else:
         qt = model.Question_model(**mydata)
         questiondata = qt.getByArgs(qt_id = qt.qt_id)
         KnowledgeData = kp.getByArgs(kl_id = questiondata[0]['knowledge_kl_id'])
         qt_typedata = orm.db.query('select * from %s where question_qt_id = %s'%(questiondata[0].qt_type,qt.qt_id))
         result1 = [model.Question_model(**item) for item in qt_typedata ]
         data = []
         data.append(questiondata)
         data.append(KnowledgeData)
         data.append(result1)
         response = util.Response(status=util.Status.__success__,body = data)
         return util.objtojson(response)
예제 #29
0
#!/usr/bin/env python
예제 #30
0
    def POST(self):
        web.header("Access-Control-Allow-Origin", "*")
        # 接收参数
        params = web.input()
        strategyTerm = model.Strategy_term_model()
        must_params = strategyTerm.__notnull__
        if (util.paramsok(must_params, params) == 2):
            response = util.Response(status=util.Status.__params_not_ok__)
            return util.objtojson(response)
        else:
            strategyTerm = model.Strategy_term_model(**params)
            sm_type = "'" + strategyTerm.sm_type + "'"
            # 判断题库题目数量是否足够,知识点id未0表示所有知识点
            if strategyTerm.sm_knowledge == "0":
                print "000000"
                question_result = strategyTerm.query('select count(*) from question where qt_id in \
                        (select question_qt_id from questions_bank_has_question where \
                        questions_bank_qb_id = %s) and qt_type=%s and \
                        qt_diffculty between %s and %s'                                                        % (strategyTerm.qb_id, sm_type,\
                        strategyTerm.sm_difficulty_low,strategyTerm.sm_difficulty_high))
                count = int(question_result[0]['count(*)'])
            else:
                question_result = strategyTerm.query('select count(*) from question where qt_id in \
                    (select question_qt_id from questions_bank_has_question where \
                    questions_bank_qb_id = %s) and qt_type=%s and knowledge_kl_id =%s \
                    and qt_diffculty between %s and %s'                                                        % (strategyTerm.qb_id, sm_type,\
                    strategyTerm.sm_knowledge, strategyTerm.sm_difficulty_low,\
                     strategyTerm.sm_difficulty_high))
                count = int(question_result[0]['count(*)'])
            if count < int(strategyTerm.sm_number):
                result_message = "question num error "
                # result_message = "题库中没有足够的编程题符合策略项 "
                response = util.Response(status=util.Status.__error__,
                                         body=result_message)
                return util.objtojson(response)
            # 判断是否与策略项有交集
            if strategyTerm.sm_knowledge == "0":
                result = strategyTerm.query('select * from strategy_term where strategy_sg_id =%s and sm_type = %s' \
                            % (strategyTerm.strategy_sg_id, sm_type,))
                result = [model.Strategy_term_model(**item) for item in result]
            else:
                result = strategyTerm.query(
                    'select * from strategy_term where strategy_sg_id =%s and sm_type = %s and \
                            sm_knowledge = %s' %
                    (strategyTerm.strategy_sg_id, sm_type,
                     strategyTerm.sm_knowledge))
                result = [model.Strategy_term_model(**item) for item in result]

            for item in result:
                if int(item.sm_difficulty_low) < int(strategyTerm.sm_difficulty_low) and \
                                int(item.sm_difficulty_high) <= int(strategyTerm.sm_difficulty_low) \
                        or int(strategyTerm.sm_difficulty_low) < int(item.sm_difficulty_low) \
                                and int(strategyTerm.sm_difficulty_high) <= int(item.sm_difficulty_low):
                    print '无交集'
                else:
                    result_message = "diffculty error"
                    response = util.Response(status=util.Status.__error__,
                                             body=result_message)
                    return util.objtojson(response)
            if strategyTerm.insert():
                currentPage = int(params.currentPage) - 1
                result = strategyTerm.query(
                    'select * from strategy_term where strategy_sg_id =%s order by sm_id desc limit %s,%s' % \
                    (strategyTerm.strategy_sg_id, currentPage * 5, 5))
                strategyTermList = []
                total_score = 0
                for item in result:
                    item['sm_type'] = util.type[item.sm_type]
                    Knowledge = model.Knowledge_model()
                    if item.sm_knowledge == 0:
                        item['kl_name'] = "全部知识点"
                    else:
                        KnowledgeData = Knowledge.getByPK(item.sm_knowledge)
                        item['kl_name'] = KnowledgeData.kl_name
                    total_score += float(item['sm_score']) * float(
                        item['sm_number'])
                    strategyTermList.append(item)
                strategy = model.Strategy_model()
                strategy.sg_id = strategyTerm.strategy_sg_id
                strategy.sg_score = total_score
                strategy.update()
                result = strategyTerm.query('select count(*) from strategy_term where strategy_sg_id =%s' % \
                                            (strategyTerm.strategy_sg_id))
                page = util.Page(data=strategyTermList,
                                 totalRow=int(result[0]['count(*)']) * 2,
                                 currentPage=int(params.currentPage),
                                 pageSize=5,
                                 status=util.Status.__success__,
                                 message=total_score)
                print page
                response = util.Response(status=util.Status.__success__,
                                         body=page)
                return util.objtojson(response)
            else:
                response = util.Response(status=util.Status.__error__)
                return util.objtojson(response)