Exemplo n.º 1
0
    def __init__(self, *, place_holder='', delimiters=',', data_list=None, suggestions_chars=1,
                 black_list=None, max_tags=None,
                 max_length=None, min_length=None, strip=True, empty_value='', **kwargs):

        self.max_length = max_length
        self.min_length = min_length
        self.strip = strip
        self.empty_value = empty_value
        super().__init__(**kwargs)
        if min_length is not None:
            self.validators.append(validators.MinLengthValidator(int(min_length)))
        if max_length is not None:
            self.validators.append(validators.MaxLengthValidator(int(max_length)))
        self.validators.append(validators.ProhibitNullCharactersValidator())

        self.delimiters = delimiters
        ktag_args = {}
        ktag_args['placeholder'] = place_holder
        ktag_args['delimiters'] = delimiters
        ktag_args['whitelist'] = data_list if data_list else []
        ktag_args['suggestionsMinChars'] = suggestions_chars
        ktag_args['blacklist'] = black_list if black_list else []
        ktag_args['maxTags'] = max_tags

        setattr(self.widget, 'ktag_args', ktag_args)
Exemplo n.º 2
0
class City(models.Model):
    uuid = models.UUIDField(primary_key=True,
                            default=uuid4,
                            editable=False,
                            unique=True)
    country = models.ForeignKey(
        verbose_name=_("country"),
        db_column="country_uuid",
        to=Country,
        related_name="cities",
        on_delete=models.RESTRICT,
        db_index=True,
    )
    name = models.CharField(
        max_length=255,
        validators=[validators.ProhibitNullCharactersValidator()])

    class Meta:
        verbose_name = _("city")
        verbose_name_plural = _("cities")

    def __str__(self):
        return self.name

    def __repr__(self):
        return f"<{self.__class__.__name__} {self.pk}>"
Exemplo n.º 3
0
 def __init__(self, *, max_length=None, min_length=None, strip=True, empty_value='', **kwargs):
     self.max_length = max_length
     self.min_length = min_length
     self.strip = strip
     self.empty_value = empty_value
     super().__init__(**kwargs)
     if min_length is not None:
         self.validators.append(validators.MinLengthValidator(int(min_length)))
     if max_length is not None:
         self.validators.append(validators.MaxLengthValidator(int(max_length)))
     self.validators.append(validators.ProhibitNullCharactersValidator())
Exemplo n.º 4
0
class Country(models.Model):
    uuid = models.UUIDField(primary_key=True,
                            default=uuid4,
                            editable=False,
                            unique=True)
    iso_code = models.CharField(
        max_length=255,
        validators=[validators.ProhibitNullCharactersValidator()])
    name = models.CharField(
        max_length=255,
        validators=[validators.ProhibitNullCharactersValidator()])

    class Meta:
        verbose_name = _("country")
        verbose_name_plural = _("countries")

    def __str__(self):
        return self.name

    def __repr__(self):
        return f"<{self.__class__.__name__} {self.pk}>"
Exemplo n.º 5
0
    def __init__(self, max_length=None, min_length=None, strip=True, **kwargs):
        super().__init__(**kwargs)
        self.strip = strip

        # prevent something dumb.
        if max_length and min_length and max_length < min_length:
            raise ValueError(
                "Cannot have a max_length that is smaller than the min_length."
            )

        self.max_length = max_length
        self.min_length = min_length

        if max_length is not None:
            self.validators.append(
                validators.MaxLengthValidator(int(max_length)))
        if min_length is not None:
            self.validators.append(
                validators.MinLengthValidator(int(min_length)))
        self.validators.append(validators.ProhibitNullCharactersValidator())
Exemplo n.º 6
0
 def __init__(self, *args, **kwargs):
     super(NullCharField, self).__init__(*args, **kwargs)
     self.validators.remove(validators.ProhibitNullCharactersValidator())
Exemplo n.º 7
0
class User(AbstractBaseUser, PermissionsMixin):
    USERNAME_FIELD = "email"
    EMAIL_FIELD = "email"
    REQUIRED_FIELDS = []

    uuid = models.UUIDField(
        verbose_name=_("uuid"),
        primary_key=True,
        default=uuid4,
        editable=False,
        unique=True,
    )
    username = models.CharField(
        _("username"),
        max_length=255,
        unique=True,
        null=True,
        blank=True,
        help_text=
        _("Required. 255 characters or fewer. Letters, digits and @/./+/-/_ only."
          ),
        # validators=[UnicodeUsernameValidator()],
        error_messages={
            "unique": _("A user with that username already exists."),
        },
    )
    first_name = models.CharField(
        verbose_name=_("first name"),
        max_length=255,
        validators=[
            validators.ProhibitNullCharactersValidator(),
            validators.MinLengthValidator(2),
        ],
    )
    last_name = models.CharField(
        verbose_name=_("last name"),
        max_length=255,
        validators=[
            validators.ProhibitNullCharactersValidator(),
            validators.MinLengthValidator(2),
        ],
    )
    gender = models.CharField(
        verbose_name=_("gender"),
        max_length=255,
        choices=Genders.choices(),
        default=Genders.OTHER,
    )
    birthdate = models.DateField(verbose_name=_("birthdate"),
                                 null=True,
                                 blank=True)
    email = models.EmailField(
        verbose_name=_("e-mail"),
        max_length=255,
        unique=True,
        validators=[
            validators.ProhibitNullCharactersValidator(),
            validators.EmailValidator(),
        ],
    )
    phone = models.CharField(verbose_name=_("phone"),
                             max_length=255,
                             null=True,
                             blank=True)
    profile_picture_uri = models.URLField(
        verbose_name=_("profile picture uri"),
        null=True,
        blank=True,
        validators=[validators.URLValidator()],
    )
    locale = models.CharField(verbose_name=_("locale"),
                              max_length=255,
                              default=settings.LOCALE_DEFAULT)

    is_staff = models.BooleanField(
        _("staff status"),
        default=False,
        help_text=_(
            "Designates whether the user can log into this admin site."),
    )
    is_superuser = models.BooleanField(
        _("superuser status"),
        default=False,
        help_text=_(
            "Designates whether the user can log into this admin site."),
    )
    is_active = models.BooleanField(
        _("active"),
        default=True,
        help_text=_(
            "Designates whether this user should be treated as active. "
            "Unselect this instead of deleting accounts."),
    )
    date_joined = models.DateTimeField(verbose_name=_("date joined"),
                                       default=timezone.now)
    created_at = models.DateTimeField(editable=False, auto_now_add=True)
    updated_at = models.DateTimeField(null=True, blank=True,
                                      auto_now=True)  # editable=False,
    deleted_at = models.DateTimeField(editable=False, null=True, blank=True)

    objects = UserManager()

    class Meta:
        verbose_name = _("user")
        verbose_name_plural = _("users")

    def __str__(self):
        # return f"{self.username} ({self.email})"
        return f"{self.pk}"

    def __repr__(self):
        return f"<{self.__class__.__name__} {self.pk}>"