Beispiel #1
0
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='签到成功')
Beispiel #2
0
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='删除成功')
Beispiel #3
0
 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
Beispiel #4
0
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)
Beispiel #5
0
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})
Beispiel #6
0
 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')
Beispiel #7
0
 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
Beispiel #8
0
def delete_sign(id):
    data = {'id': id}
    SignIdForm(data=data).validate_for_api()
    SignModel.delete_sign(signId=id)
    return Success(msg='删除签到表成功')
Beispiel #9
0
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='签到成功')
Beispiel #10
0
 def validate_name(self, value):
     name = value.data
     sign = SignModel.objects(name=name).first()
     if sign:
         raise ValueError('签到表名字已经存在')