def user_post_sign(): data = request.json or {} userId = g.user.id data['userId'] = userId UserPostSignForm(data=data).validate_for_api() SignModel.user_sign(token=data['token'], userId=userId) return Success(msg='签到成功')
def super_delete_sign(): data = request.json or {} print(data) form = SuperDeleteSignForm(data=data) form.validate_for_api() SignModel.super_delete_user_sign(signId=data['signId'], signUsers=form.signUsers) return Success(msg='删除成功')
def validate_schoolId(self, value): schoolId = value.data signId = ObjectId(self.signId.data) user = UserModel.objects(schoolId=schoolId).first() if not user: raise ValueError('无效的用户学号') cls = user['classId'] sign = SignModel.objects(id=signId, classroomIds__in=[cls]).first() if not sign: raise ValueError('不属于此签到班级') sign = SignModel.objects(id=signId, signUsers__in=[user]).first() if sign: raise ValueError('此用户已经完成签到') self.signUsers = user
def get_sign_list(): data = request.args form = GetSignListForm(data=data) form.validate_for_api() res = SignModel.get_sign_list(page=form.page.data, size=form.size.data, classId=form.classId.data) return Success(msg='获取成功!', data=res)
def post_sign(): data = request.json or {} data['adminId'] = g.user.id PostSignForm(data=data).validate_for_api() token = create_token(data=data).decode('ascii') data['token'] = token id = SignModel.add_sign(data=data) return Success(msg='创建签到表成功', data={'id': id})
def validate_signId(self, value): try: signId = ObjectId(value.data) except: raise ValueError('无效的签到表ID') sign = SignModel.objects(id=signId) if not sign: raise ValueError('无效的签到表ID')
def validate_id(self, value): try: id = ObjectId(value.data) except: raise ValueError('签到表id有误') sign = SignModel.objects(id=id).first() if not sign: raise ValueError('签到表不存在!') is_effective = verify_token(sign['token']) self.is_effective = is_effective self.sign = sign
def delete_sign(id): data = {'id': id} SignIdForm(data=data).validate_for_api() SignModel.delete_sign(signId=id) return Success(msg='删除签到表成功')
def super_post_sign(): data = request.json or {} form = SuperPostSignForm(data=data) form.validate_for_api() SignModel.super_user_sign(signId=data['signId'], signUsers=form.signUsers) return Success(msg='签到成功')
def validate_name(self, value): name = value.data sign = SignModel.objects(name=name).first() if sign: raise ValueError('签到表名字已经存在')