Example #1
0
def edit_profile():
    current_user = auth.service.get_user()
    _data = dict(request.form)
    _data["file"] = request.files["file"]

    v = Validator(_data)
    v.field('full_name').required()
    v.field('email').required().email()
    v.field('mobile_phone').required().phone_number()
    v.field('department').required()
    v.field('birth_date').datetime(format="%d.%m.%Y")
    v.field('file').image()
    if v.is_valid():
        data = {
            'id': current_user.id,
            'full_name': v.valid_data.full_name,
            'position': v.valid_data.position,
            'mobile_phone': v.valid_data.mobile_phone,
            'inner_phone': v.valid_data.inner_phone,
            'department': v.valid_data.department,
            'email': v.valid_data.email,
            'skype': v.valid_data.skype,
            'photo': v.valid_data.file,
            'birth_date': v.valid_data.birth_date
        }

        try:
            update_user(**data)
            return {"status": "ok"}
        except DataProcessingError as e:
            return {'status': 'failOnProcess', 'error': e.value}

    return {"status": "fail", "errors": v.errors}
Example #2
0
def edit_profile():
    current_user = auth.service.get_user()
    _data = dict(request.form)
    _data["file"] = request.files["file"]

    v = Validator(_data)
    v.field('full_name').required()
    v.field('email').required().email()
    v.field('mobile_phone').required().phone_number()
    v.field('department').required()
    v.field('birth_date').datetime(format="%d.%m.%Y")
    v.field('file').image()
    if v.is_valid():
        data = {
            'id': current_user.id,
            'full_name': v.valid_data.full_name,
            'position': v.valid_data.position,
            'mobile_phone': v.valid_data.mobile_phone,
            'inner_phone': v.valid_data.inner_phone,
            'department': v.valid_data.department,
            'email': v.valid_data.email,
            'skype': v.valid_data.skype,
            'photo': v.valid_data.file,
            'birth_date': v.valid_data.birth_date
        }

        try:
            update_user(**data)
            return {"status": "ok"}
        except DataProcessingError as e:
            return {'status': 'failOnProcess', 'error': e.value}

    return {"status": "fail", "errors": v.errors}
Example #3
0
def edit_user(id):
    _data = dict(request.form)
    _data['file'] = request.files['file']

    v = Validator(_data)
    v.field('name').required()
    v.field('surname').required()
    v.field('file').image()
    v.field('email').required().email()
    v.field('department').required()
    v.field('inner_phone').integer(nullable=True)
    v.field('mobile_phone').required().phone_number()
    v.field('birth_date').datetime(format='%d.%m.%Y')
    if v.is_valid():
        edited_user = User.get_by_id(id)
        duplicate_error = False
        data = {
            'id': id,
            'full_name': "{0} {1}".format(v.valid_data.name,
                                          v.valid_data.surname),
            'email': v.valid_data.email,
            'department': v.valid_data.department,
            'mobile_phone': v.valid_data.mobile_phone,
            'inner_phone': v.valid_data.inner_phone,
            'position': v.valid_data.position,
            'skype': v.valid_data.skype,
            'birth_date': v.valid_data.birth_date,
            'photo': v.valid_data.file
        }

        user_with_same_email = User.get_by_email(data['email'])

        if user_with_same_email and user_with_same_email != edited_user:
            duplicate_error = True
            v.add_error('email', 'Такой email уже занят')

        if duplicate_error:
            return {"status": "fail", "errors": v.errors}

        try:
            update_user(**data)
            return {"status": "ok"}
        except DataProcessingError as e:
            return {'status': 'failOnProcess', 'error': e.value}

    return {"status": "fail", "errors": v.errors}
Example #4
0
def edit_user(id):
    _data = dict(request.form)
    _data['file'] = request.files['file']

    v = Validator(_data)
    v.field('name').required()
    v.field('surname').required()
    v.field('file').image()
    v.field('email').required().email()
    v.field('department').required()
    v.field('inner_phone').integer(nullable=True)
    v.field('mobile_phone').required().phone_number()
    v.field('birth_date').datetime(format='%d.%m.%Y')
    if v.is_valid():
        edited_user = User.get_by_id(id)
        duplicate_error = False
        data = {
            'id': id,
            'full_name': "{0} {1}".format(v.valid_data.name, v.valid_data.surname),
            'email': v.valid_data.email,
            'department': v.valid_data.department,
            'mobile_phone': v.valid_data.mobile_phone,
            'inner_phone': v.valid_data.inner_phone,
            'position': v.valid_data.position,
            'skype': v.valid_data.skype,
            'birth_date': v.valid_data.birth_date,
            'photo': v.valid_data.file
        }

        user_with_same_email = User.get_by_email(data['email'])

        if user_with_same_email and user_with_same_email != edited_user:
            duplicate_error = True
            v.add_error('email', 'Такой email уже занят')

        if duplicate_error:
            return {"status": "fail", "errors": v.errors}

        try:
            update_user(**data)
            return {"status": "ok"}
        except DataProcessingError as e:
            return {'status': 'failOnProcess', 'error': e.value}

    return {"status": "fail", "errors": v.errors}