2023-07-26 00:43:40 +07:00
|
|
|
from django import forms
|
|
|
|
from django.utils.translation import gettext as _
|
|
|
|
from users.models import *
|
2023-07-21 03:22:08 +07:00
|
|
|
from utilities.forms import CSVModelForm
|
|
|
|
|
2023-07-26 00:43:40 +07:00
|
|
|
|
2023-07-21 03:22:08 +07:00
|
|
|
__all__ = (
|
|
|
|
'GroupImportForm',
|
|
|
|
'UserImportForm',
|
2023-07-26 00:43:40 +07:00
|
|
|
'TokenImportForm',
|
2023-07-21 03:22:08 +07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
class GroupImportForm(CSVModelForm):
|
|
|
|
|
|
|
|
class Meta:
|
2024-03-04 08:29:53 -05:00
|
|
|
model = Group
|
2024-04-02 14:44:26 -04:00
|
|
|
fields = ('name', 'description')
|
2023-07-21 03:22:08 +07:00
|
|
|
|
|
|
|
|
|
|
|
class UserImportForm(CSVModelForm):
|
|
|
|
|
|
|
|
class Meta:
|
2024-02-05 10:24:03 -08:00
|
|
|
model = User
|
2023-07-21 03:22:08 +07:00
|
|
|
fields = (
|
|
|
|
'username', 'first_name', 'last_name', 'email', 'password', 'is_staff',
|
|
|
|
'is_active', 'is_superuser'
|
|
|
|
)
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs):
|
|
|
|
# Set the hashed password
|
|
|
|
self.instance.set_password(self.cleaned_data.get('password'))
|
|
|
|
|
|
|
|
return super().save(*args, **kwargs)
|
2023-07-26 00:43:40 +07:00
|
|
|
|
|
|
|
|
|
|
|
class TokenImportForm(CSVModelForm):
|
|
|
|
key = forms.CharField(
|
|
|
|
label=_('Key'),
|
|
|
|
required=False,
|
|
|
|
help_text=_("If no key is provided, one will be generated automatically.")
|
|
|
|
)
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = Token
|
|
|
|
fields = ('user', 'key', 'write_enabled', 'expires', 'description',)
|