Esempio n. 1
0
 def post(self, request, student, **kwargs):
     """
     修改信息,只传需要修改的信息
     :param request:
     :param me:
     :return:
     """
     attr_list = [
         'id',
         'name',
         'sex',
         'politics_status',
         'huji',
         'nation',
         'origin',
         'tele',
         'email',
         'birth',
         'chidao',
         'zaotui',
         'chufen',
         'date_in_school',
     ]
     update_params = generate_dict_from_dict(kwargs, attr_list, False)
     if len(update_params) == 0:
         return response.correct_response()
     Student.objects.filter(pk=student.num).update(**update_params)
     return response.correct_response()
Esempio n. 2
0
 def get(self, request, **kwargs):
     classes = Clazz.objects.all()
     count = len(classes)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'id', 'name', 'profession',
         ('students.all().count()', 'student_count')
     ]
     res = generate_dict_list(classes, attr_list)
     return response.correct_response({
         'count': count,
         'list': res,
     })
Esempio n. 3
0
 def get(self, request, me, clazz):
     students = clazz.students.all()
     count = len(students)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'name',
         'num',
         'sex',
         'chidao',
         'zaotui',
         'chufen',
     ]
     res = generate_dict_list(students, attr_list)
     return response.correct_response({'count': count, 'list': res})
Esempio n. 4
0
 def get(self, request, me):
     res = {
         'chidao': me.chidao,
         'zaotui': me.zaotui,
         'chufen': me.chufen,
     }
     return response.correct_response(res)
Esempio n. 5
0
 def get(self, request, student, **kwargs):
     """
     查看信息
     :param request:
     :param me:
     :return:
     """
     attr_list = [
         'num',
         'id',
         'name',
         'sex',
         'politics_status',
         'huji',
         'nation',
         'origin',
         'tele',
         'email',
         'birth',
         'date_in_school',
         'clazz.name',
         'clazz.profession',
         'chidao',
         'zaotui',
         'chufen',
     ]
     res = generate_dict_from_object(student, attr_list)
     return response.correct_response(res)
Esempio n. 6
0
 def get(self, request, me):
     attr_list = [
         'num',
         'name',
     ]
     res = generate_dict_from_object(me, attr_list)
     return response.correct_response(res)
Esempio n. 7
0
 def get(self, request, model, **kwargs):
     if model == 'teacher':
         model_class = Teacher
     elif model == 'student':
         model_class = Student
     elif model == 'admin':
         model_class = Admin
     accounts = model_class.objects.all()
     count = len(accounts)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'num',
         'name',
     ]
     res = generate_dict_list(accounts, attr_list)
     return response.correct_response({'count': count, 'list': res})
Esempio n. 8
0
 def get(self, request, me):
     """
     获取我的请假申请
     :param request:
     :param me:
     :return:
     """
     leaves = me.leaves.all()
     count = len(leaves)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'date',
         'reason',
         'state',
     ]
     res = generate_dict_list(leaves, attr_list)
     return response.correct_response({'count': count, 'list': res})
Esempio n. 9
0
 def delete(self, request, model, num, **kwargs):
     if model == 'teacher':
         model_class = Teacher
     elif model == 'student':
         model_class = Student
     elif model == 'admin':
         model_class = Admin
     model_class.objects.get(pk=num).delete()
     return response.correct_response()
Esempio n. 10
0
 def get(self, request, me):
     """
     获取允许添加班主任的班级
     :param request:
     :param me:
     :return:
     """
     classes = Clazz.objects.filter(teacher__isnull=True)
     count = len(classes)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'id',
         'name',
         'profession',
         ('students.all().count()', 'student_count'),
     ]
     res = generate_dict_list(classes, attr_list)
     return response.correct_response({'count': count, 'list': res})
Esempio n. 11
0
 def post(self, request, me, reason, date):
     """
     请假申请
     :param request:
     :param me:
     :param reason:
     :param date:
     :return:
     """
     Leave.objects.create(reason=reason, date=date, student=me)
     return response.correct_response()
Esempio n. 12
0
 def delete(self, request, me, leave):
     """
     删除请假申请
     :param request:
     :param me:
     :return:
     """
     if leave.student.num == me.num:
         leave.delete()
         return response.correct_response()
     else:
         return response.err_response_not_belong('student', me.num, 'leave', leave.id)
Esempio n. 13
0
 def get(self, request, me):
     """
     获取老师所带班级的所有请假申请
     :param request:
     :param me:
     :return:
     """
     leaves = Leave.objects.filter(student__clazz__teacher=me)
     count = len(leaves)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'id',
         'date',
         'reason',
         'state',
         'student.name',
         ('student.clazz.name', 'class_name'),
     ]
     res = generate_dict_list(leaves, attr_list)
     return response.correct_response({'count': count, 'list': res})
Esempio n. 14
0
 def post(self, request, num, name, **kwargs):
     """
     注册
     :param request:
     :return:
     """
     try:
         Admin.objects.get(pk=num)
         return response.err_response(1)
     except Admin.DoesNotExist:
         Admin.objects.create(num=num, psd=generate_md5('123'), name=name)
         return response.correct_response()
Esempio n. 15
0
 def post(self, request, num, psd, name, **kwargs):
     """
     注册
     :param request:
     :return:
     """
     try:
         Teacher.objects.get(pk=num)
         return response.err_response(1)
     except Teacher.DoesNotExist:
         Teacher.objects.create(num=num, psd=psd, name=name)
         return response.correct_response()
Esempio n. 16
0
 def get(self, request, me):
     """
     老师获取自己管理的班级
     :param request:
     :return:
     name 班级名称
     profession 所属专业
     student_count 班级人数
     """
     classes = me.classes.all()
     count = len(classes)
     if count == 0:
         return response.correct_response({'count': 0})
     attr_list = [
         'id',
         'name',
         'profession',
         ('students.all().count()', 'student_count'),
     ]
     res = generate_dict_list(classes, attr_list)
     return response.correct_response({'count': count, 'list': res})
Esempio n. 17
0
 def post(self, request, num, psd, name, clazz, **kwargs):
     """
     注册
     :param request:
     :return:
     错误code
     1,学号已存在
     """
     try:
         Student.objects.get(pk=num)
         return response.err_response(1)
     except Student.DoesNotExist:
         Student.objects.create(num=num, psd=psd, name=name, clazz=clazz)
         return response.correct_response()
Esempio n. 18
0
 def post(self, request, me, old, new):
     """
     修改密码
     :param request:
     :param me:
     :param old:
     :param new:
     :return:
     """
     result = modify_psd(Teacher, me, old, new)
     if result:
         return response.correct_response()
     else:
         return response.err_response(1)
Esempio n. 19
0
 def delete(self, request, me, clazz):
     """
     老师减少自己管理的班级
     :param request:
     :param me:
     :param clazz:
     :return:
     """
     if clazz.teacher.num == me.num:
         me.classes.remove(clazz)
         return response.correct_response()
     else:
         return response.err_response_not_belong('teacher', me.num, 'class',
                                                 clazz.id)
Esempio n. 20
0
 def get(self, request, **kwargs):
     """
     获取能够加入的班级
     :param request:
     :param kwargs:
     :return:
     """
     classes = Clazz.objects.all()
     count = len(classes)
     if count == 0:
         return response.correct_response({
             'count': 0
         })
     attr_list = [
         'id',
         'name',
         'profession',
     ]
     res = generate_dict_list(classes, attr_list)
     return response.correct_response({
         'count': count,
         'list': res,
     })
Esempio n. 21
0
 def post(self, request, clazz, me):
     """
     老师添加自己管理的班级
     :param request:
     :param clazz:
     :param me:
     :return:
     错误code
     1,班级已经有班主任
     """
     if clazz.teacher is not None:
         return response.err_response(1)
     else:
         me.classes.add(clazz)
         return response.correct_response()
Esempio n. 22
0
 def post(self, request, me, old, new):
     """
     修改密码
     :param request:
     :param me:
     :param old:
     :param new:
     :return:
     错误code
     1,原密码错误
     """
     result = modify_psd(Student, me, old, new)
     if result:
         return response.correct_response()
     else:
         return response.err_response(1)
Esempio n. 23
0
 def get(self, request, num, psd):
     """
     登录
     :param request:
     :return:
     错误code
     1:账号或密码错误
     """
     try:
         user = Teacher.objects.get(pk=num, psd=psd)
         token = user.update_token()
         res = response.correct_response()
         res.set_cookie('TOKEN', token)
         res.set_cookie('role', User.ROLE_TEACHER)
         return res
     except Teacher.DoesNotExist:
         return response.err_response(1)
Esempio n. 24
0
 def post(self, request, me, leave, allow=False):
     """
     审核请假
     :param request:
     :param me:
     :return:
     错误code
     1,该请假申请已审核,不能修改
     """
     if leave.state != Leave.STATE_WAITING:
         return response.err_response(1)
     if leave.student.clazz.teacher.num == me.num:
         if allow:
             Leave.objects.filter(pk=leave.id).update(state=Leave.STATE_YES)
         else:
             Leave.objects.filter(pk=leave.id).update(state=Leave.STATE_NO)
         return response.correct_response()
     else:
         return response.err_response_not_belong('teacher', me.num, 'leave',
                                                 leave.id)
Esempio n. 25
0
 def delete(self, request, model, account_id, **kwargs):
     """
     重置密码
     :param request:
     :param model:
     :param account_id:
     :return:
     """
     if model == 'teacher':
         model_class = Teacher
     elif model == 'student':
         model_class = Student
     elif model == 'admin':
         model_class = Admin
     try:
         model_class.objects.get(pk=account_id)
         model_class.objects.filter(pk=account_id).update(
             psd=generate_md5('123456'))
         return response.correct_response()
     except model_class.DoesNotExist:
         return response.err_response_pk('account', account_id)
Esempio n. 26
0
 def get(self, request, me):
     """
     查看信息
     :param request:
     :param me:
     :return:
     """
     attr_list = [
         'num',
         'id',
         'name',
         'sex',
         'politics_status',
         'huji',
         'nation',
         'origin',
         'tele',
         'email',
         'birth',
         'date_in_school',
     ]
     res = generate_dict_from_object(me, attr_list)
     return response.correct_response(res)
Esempio n. 27
0
 def post(self, request, me):
     return response.correct_response()
Esempio n. 28
0
 def post(self, request, name, profession, **kwargs):
     Clazz.objects.create(name=name, profession=profession)
     return response.correct_response()
Esempio n. 29
0
 def delete(self, request, student, **kwargs):
     student.delete()
     return response.correct_response()