Esempio n. 1
0
class UserProfile(AbstractUser):
    id = models.UUIDField(
        primary_key=True,
        help_text="ID of user",
        default=make_uuid,
        editable=True,
    )
    role = models.CharField(
        choices=UserRole.to_choices(),
        default=UserRole.User.value,
        max_length=64,
    )
    organization = models.OneToOneField(
        Organization, null=True, on_delete=models.CASCADE
    )

    class Meta:
        verbose_name = "User Info"
        verbose_name_plural = verbose_name
        ordering = ["-date_joined"]

    def __str__(self):
        return self.username

    @property
    def is_administrator(self):
        return self.role == UserRole.Administrator.name.lower()

    @property
    def is_operator(self):
        return self.role == UserRole.Operator.name.lower()

    @property
    def is_common_user(self):
        return self.role == UserRole.User.name.lower()
Esempio n. 2
0
class UserCreateBody(serializers.ModelSerializer):
    role = serializers.ChoiceField(
        help_text=UserRole.get_info("User roles:", list_str=True),
        choices=UserRole.to_choices(string_as_value=True),
    )
    password = serializers.CharField(
        help_text="Password for new user", min_length=6, max_length=32
    )

    class Meta:
        model = UserModel
        fields = ("name", "role", "govern", "password")
        extra_kwargs = {
            "name": {"required": True},
            "role": {"required": True},
            "password": {"required": True},
        }
Esempio n. 3
0
class UserCreateBody(serializers.ModelSerializer):
    role = serializers.ChoiceField(
        help_text=UserRole.get_info("User roles:", list_str=True),
        choices=UserRole.to_choices(string_as_value=True),
    )

    class Meta:
        model = UserProfile
        fields = ("username", "role", "organization", "password", "email")
        extra_kwargs = {
            "username": {
                "required": True
            },
            "role": {
                "required": True
            },
            "password": {
                "required": True
            },
            "email": {
                "required": True
            },
        }
Esempio n. 4
0
class UserProfile(AbstractUser):
    id = models.UUIDField(
        primary_key=True,
        help_text="ID of user",
        default=make_uuid,
        editable=True,
    )
    email = models.EmailField(db_index=True, unique=True)
    username = models.CharField(default="",
                                max_length=64,
                                help_text="Name of user")
    role = models.CharField(
        choices=UserRole.to_choices(True),
        default=UserRole.User.value,
        max_length=64,
    )
    organization = models.ForeignKey(
        Organization,
        null=True,
        on_delete=models.CASCADE,
        related_name="users",
    )
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        verbose_name = "User Info"
        verbose_name_plural = verbose_name
        ordering = ["-date_joined"]

    def __str__(self):
        return self.username

    @property
    def is_administrator(self):
        return self.role == UserRole.Administrator.name.lower()

    @property
    def is_operator(self):
        return self.role == UserRole.Operator.name.lower()

    @property
    def is_common_user(self):
        return self.role == UserRole.User.name.lower()