Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
from django import forms
from django.contrib.auth.models import Group, User
from django.utils.translation import gettext as _
from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Layout, Fieldset, ButtonHolder, Submit
class UserForm(forms.ModelForm):
group = forms.ModelChoiceField(queryset=Group.objects.all(), label=_("Grupa"))
class Meta:
model = User
fields = [
'first_name',
'last_name',
'username',
'email',
'group',
'is_active',
]
def __init__(self, *args, instance, **kwargs):
super().__init__(*args, instance=instance, **kwargs)
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset('', 'first_name', 'last_name', 'username', 'email', 'group', 'is_active'),
ButtonHolder(
Submit('submit', _('Zapisz'), css_class='btn btn-sm btn-success'),
HTML('''<a class="btn btn-sm btn-light" href="{% url 'users:user_list' %}">''' + _('Wróć') + '</a>'),
),
)
for field in ['first_name', 'last_name', 'email']:
self.fields[field].required = True
if instance.pk:
self.initial['group'] = instance.groups.first()
def save(self, commit=True):
instance = super().save(commit=commit)
instance.groups.set([self.cleaned_data['group']])
return instance
class UserProfileForm(forms.ModelForm):
class Meta:
model = User
fields = [
'first_name',
'last_name',
'email',
]
def __init__(self, *args, instance, **kwargs):
super().__init__(*args, instance=instance, **kwargs)
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset('', 'first_name', 'last_name', 'email'),
ButtonHolder(
Submit('submit', _('Zapisz'), css_class='btn btn-sm btn-success'),
HTML('''<a class="btn btn-sm btn-light" href="{% url 'dash' %}">''' + _('Wróć') + '</a>'),
),
)
for field in ['first_name', 'last_name', 'email']:
self.fields[field].required = True
login_form_helper = FormHelper()
login_form_helper.layout = Layout(
Fieldset('', 'username', 'password'),
ButtonHolder(
Submit('submit', _('Zaloguj się'), css_class='btn btn-sm btn-success'),
HTML(
'''<a class="btn btn-sm btn-light" href="{% url 'users:password_reset' %}">'''
f"{_('Nie pamiętam hasła')}"
'</a>'
),
),
)
password_reset_form_helper = FormHelper()
password_reset_form_helper.layout = Layout(
Fieldset('', 'email'),
ButtonHolder(
Submit('submit', _('Zresetuj hasło'), css_class='btn btn-sm btn-success'),
HTML('''<a class="btn btn-sm btn-light" href="{% url 'users:login' %}">''' f"{_('Wróć')}" '</a>'),
)
)