コード例 #1
0
        def wrapper(*args, **kwargs):
            if kwargs.get('mobile_number') is not None:
                mobile_number = kwargs.get('mobile_number')
                validator.validate_mobile(mobile_number)
            if kwargs.get('password') is not None:
                password_input = kwargs.get('password')
                new_password = password_input[0]['new_password']
                validator.validate_password(new_password)
            if kwargs.get('email') is not None:
                email = kwargs.get('email')
                validator.validate_email(email)
            if kwargs.get('username') is not None:
                username = kwargs.get('username')
                validator.validate_username(username)

            if kwargs.get('outlet_id') is not None:
                outlets = kwargs.get('outlet_id')
                if len(outlets) < 1:
                    raise GraphQLError('This user must be assigned '
                                       'to at least 1 (one) outlet')
                for outlet in outlets:
                    if outlet == '':
                        raise GraphQLError(ERROR_RESPONSES[
                                           "empty_field_error"].format(
                                                                 "Outlet Id"))
                    get_model_object(Outlet, 'id', outlet)
            return func(*args, **kwargs)
コード例 #2
0
    def validate_fields(cls, contacts, kwargs):
        fields = kwargs

        fields['supplier_id'] = kwargs.get('supplier_id')
        fields['email'] = validator.validate_email(
            fields['email']) if fields.get('email') else\
            (contacts and contacts.email) or None

        fields['mobile_number'] = validator.validate_mobile(
            fields['mobile_number']) if fields.get('mobile_number') \
            else (contacts and contacts.mobile_number) or None

        fields['address_line_1'] = fields.get('address_line_1') or (
            contacts and contacts.address_line_1) or None

        fields['address_line_2'] = fields.get('address_line_2') or (
            contacts and contacts.address_line_2) or None

        fields['lga'] = fields.get('lga') or (contacts
                                              and contacts.lga) or None
        fields['city_id'] = fields.get('city_id') or (contacts and
                                                      contacts.city_id) or None
        fields['country_id'] = fields.get('country_id') or (
            contacts and contacts.country_id) or None
        fields['edit_request_id'] = kwargs.get('edit_request_id')
        return fields
コード例 #3
0
 def validate_fields(cls, input):
     fields = input
     fields['email'] = validator.validate_email(
         input['email']) if input.get('email') else None
     fields['mobile_number'] = validator.validate_mobile(
         input.mobile_number)
     return fields
コード例 #4
0
 def validate_admin_fields(self, **kwargs):
     secondary_email = kwargs.get('secondary_email', None)
     secondary_phone_number = kwargs.get('secondary_phone_number', None)
     if secondary_email:
         secondary_email = self._validate_secondary_email(secondary_email)
     if secondary_phone_number:
         secondary_phone_number = validator.validate_mobile(
             secondary_phone_number)
     first_name = kwargs.get('first_name', '')
     last_name = kwargs.get('last_name', '')
     username = kwargs.get('username', '')
     email = kwargs.get('email', '')
     mobile_number = kwargs.get('mobile_number', '')
     return {
         "first_name": self._validate_name(first_name),
         "last_name": self._validate_name(last_name),
         "username": self._validate_name(username),
         "email": self._validate_secondary_email(email),
         "secondary_email": secondary_email,
         "mobile_number": validator.validate_mobile(mobile_number),
         "secondary_phone_number": secondary_phone_number
     }
コード例 #5
0
def validate_customer_fields(customer, **kwargs):
    """
       Customer Validation, This method takes in instance of customer model
       and kwargs, its validate user inputs, like email, firstname
       phone number, special character etc and raise a Graphql if a condition
       is not being met

    Args:
        Profile() instance
        kwargs

    returns:
         customer instance
         otherwise a GraphqlError is raised
    """
    fields_to_validate = [
        "first_name", "last_name", "emergency_contact_name",
        "local_government_area", "address_line_1", "address_line_2"
    ]
    numbers_to_validate = [
        "primary_mobile_number", "secondary_mobile_number",
        "emergency_contact_number"
    ]
    emails_to_validate = ["email", "emergency_contact_email"]
    for key, value in kwargs.items():
        if key in fields_to_validate:
            validator.special_character_validation(value)
            if value.strip() == "":
                raise GraphQLError(
                    CUSTOMER_ERROR_RESPONSES["first_name_error"].format(key))
        if key in emails_to_validate:
            validator.validate_email(value)
        if key in numbers_to_validate:
            validator.validate_mobile(value)
        setattr(customer, key, value)
    return customer
コード例 #6
0
 def validate_user_fields(self, email, password, mobile_number):
     return {
         "email": validator.validate_email(email),
         "mobile_number": validator.validate_mobile(mobile_number),
         "password": validator.validate_password(password)
     }