Squash merge feature/email-notifications into beta
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from django import forms
|
||||
from django.contrib.auth import get_user_model, password_validation
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from .models import Claim, Project
|
||||
|
||||
@@ -15,16 +16,16 @@ FILE_CLASSES = "mt-1 block w-full text-sm text-gray-700 file:mr-4 file:rounded-m
|
||||
class ClaimantForm(forms.Form):
|
||||
full_name = forms.CharField(
|
||||
max_length=255,
|
||||
label="Namn",
|
||||
label=_("Namn"),
|
||||
widget=forms.TextInput(attrs={"class": INPUT_CLASSES}),
|
||||
)
|
||||
email = forms.EmailField(
|
||||
label="E-post",
|
||||
label=_("E-post"),
|
||||
widget=forms.EmailInput(attrs={"class": INPUT_CLASSES}),
|
||||
)
|
||||
account_number = forms.CharField(
|
||||
max_length=50,
|
||||
label="Kontonummer",
|
||||
label=_("Kontonummer"),
|
||||
widget=forms.TextInput(attrs={"class": INPUT_CLASSES}),
|
||||
)
|
||||
|
||||
@@ -45,11 +46,11 @@ class ClaimLineForm(forms.ModelForm):
|
||||
model = Claim
|
||||
fields = ["description", "amount", "currency", "project", "receipt"]
|
||||
labels = {
|
||||
"description": "Beskrivning",
|
||||
"amount": "Belopp",
|
||||
"currency": "Valuta",
|
||||
"project": "Evenemang/Projekt",
|
||||
"receipt": "Kvitto",
|
||||
"description": _("Beskrivning"),
|
||||
"amount": _("Belopp"),
|
||||
"currency": _("Valuta"),
|
||||
"project": _("Evenemang/Projekt"),
|
||||
"receipt": _("Kvitto"),
|
||||
}
|
||||
widgets = {
|
||||
"description": forms.Textarea(attrs={"rows": 3, "class": TEXTAREA_CLASSES}),
|
||||
@@ -60,15 +61,15 @@ class ClaimDecisionForm(forms.Form):
|
||||
ACTION_APPROVE = "approve"
|
||||
ACTION_REJECT = "reject"
|
||||
ACTION_CHOICES = (
|
||||
(ACTION_APPROVE, "Godkänn"),
|
||||
(ACTION_REJECT, "Neka"),
|
||||
(ACTION_APPROVE, _("Godkänn")),
|
||||
(ACTION_REJECT, _("Neka")),
|
||||
)
|
||||
|
||||
claim_id = forms.IntegerField(widget=forms.HiddenInput)
|
||||
action = forms.ChoiceField(choices=ACTION_CHOICES)
|
||||
decision_note = forms.CharField(
|
||||
required=False,
|
||||
widget=forms.Textarea(attrs={"rows": 2, "placeholder": "Kommentar"}),
|
||||
widget=forms.Textarea(attrs={"rows": 2, "placeholder": _("Kommentar")}),
|
||||
)
|
||||
|
||||
def clean(self):
|
||||
@@ -76,31 +77,31 @@ class ClaimDecisionForm(forms.Form):
|
||||
action = cleaned.get("action")
|
||||
note = cleaned.get("decision_note", "").strip()
|
||||
if action == self.ACTION_REJECT and not note:
|
||||
self.add_error("decision_note", "Kommentar krävs när du nekar ett utlägg.")
|
||||
self.add_error("decision_note", _("Kommentar krävs när du nekar ett utlägg."))
|
||||
return cleaned
|
||||
|
||||
|
||||
class UserManagementForm(forms.Form):
|
||||
username = forms.CharField(max_length=150, label="Användarnamn")
|
||||
email = forms.EmailField(required=False, label="E-post")
|
||||
first_name = forms.CharField(max_length=150, required=False, label="Förnamn")
|
||||
last_name = forms.CharField(max_length=150, required=False, label="Efternamn")
|
||||
password1 = forms.CharField(widget=forms.PasswordInput, label="Lösenord")
|
||||
password2 = forms.CharField(widget=forms.PasswordInput, label="Bekräfta lösenord")
|
||||
is_staff = forms.BooleanField(required=False, initial=True, label="Administratör (staff)")
|
||||
grant_view = forms.BooleanField(required=False, initial=True, label="Ge behörighet att se utlägg")
|
||||
grant_change = forms.BooleanField(required=False, initial=True, label="Ge behörighet att besluta utlägg")
|
||||
username = forms.CharField(max_length=150, label=_("Användarnamn"))
|
||||
email = forms.EmailField(required=False, label=_("E-post"))
|
||||
first_name = forms.CharField(max_length=150, required=False, label=_("Förnamn"))
|
||||
last_name = forms.CharField(max_length=150, required=False, label=_("Efternamn"))
|
||||
password1 = forms.CharField(widget=forms.PasswordInput, label=_("Lösenord"))
|
||||
password2 = forms.CharField(widget=forms.PasswordInput, label=_("Bekräfta lösenord"))
|
||||
is_staff = forms.BooleanField(required=False, initial=True, label=_("Administratör (staff)"))
|
||||
grant_view = forms.BooleanField(required=False, initial=True, label=_("Ge behörighet att se utlägg"))
|
||||
grant_change = forms.BooleanField(required=False, initial=True, label=_("Ge behörighet att besluta utlägg"))
|
||||
|
||||
def clean_username(self):
|
||||
username = self.cleaned_data["username"]
|
||||
if User.objects.filter(username=username).exists():
|
||||
raise forms.ValidationError("Användarnamnet är upptaget.")
|
||||
raise forms.ValidationError(_("Användarnamnet är upptaget."))
|
||||
return username
|
||||
|
||||
def clean(self):
|
||||
cleaned = super().clean()
|
||||
if cleaned.get("password1") != cleaned.get("password2"):
|
||||
self.add_error("password2", "Lösenorden matchar inte.")
|
||||
self.add_error("password2", _("Lösenorden matchar inte."))
|
||||
password = cleaned.get("password1")
|
||||
if password:
|
||||
temp_user = User(
|
||||
@@ -118,9 +119,9 @@ class UserManagementForm(forms.Form):
|
||||
|
||||
class UserPermissionForm(forms.Form):
|
||||
user_id = forms.IntegerField(widget=forms.HiddenInput)
|
||||
is_staff = forms.BooleanField(required=False, label="Admin/staff")
|
||||
grant_view = forms.BooleanField(required=False, label="Får se utlägg")
|
||||
grant_change = forms.BooleanField(required=False, label="Får besluta utlägg")
|
||||
is_staff = forms.BooleanField(required=False, label=_("Admin/staff"))
|
||||
grant_view = forms.BooleanField(required=False, label=_("Får se utlägg"))
|
||||
grant_change = forms.BooleanField(required=False, label=_("Får besluta utlägg"))
|
||||
|
||||
|
||||
class DeleteUserForm(forms.Form):
|
||||
|
||||
Reference in New Issue
Block a user