initial commit

This commit is contained in:
Johannes Erwerle 2026-04-04 15:07:37 +02:00
commit 164fa61ad2
40 changed files with 1263 additions and 0 deletions

View file

@ -0,0 +1,40 @@
from .models import BorgRepository
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.core.exceptions import ValidationError
from .models import Voucher
class BorgRepositoryForm(forms.ModelForm):
class Meta:
fields = ["name", "key", "user"]
model = BorgRepository
widgets = {"user": forms.HiddenInput()}
class RegisterUserForm(UserCreationForm):
email = forms.EmailField()
voucher = forms.CharField(help_text="You registration voucher.")
def clean_voucher(self):
obj = Voucher.objects.filter(code=self.cleaned_data["voucher"], used=False)
if not obj.exists():
raise ValidationError(
"Voucher code '%(code)s' is invalid",
code="invalid",
params={"code": self.cleaned_data["voucher"]},
)
return obj.first()
def save(self, commit=True):
voucher = self.cleaned_data["voucher"]
voucher.used = True
voucher.save()
super().save(commit)
class Meta(UserCreationForm.Meta):
fields = ("username", "email")