mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-28 08:03:36 +00:00
Tests: - Unit and functional tests work. - Creating a library works. - An error while creating library shows as proper message. - Deleting a library works. - An error while deleting library shows as proper messages. - Creating/deleting library reflects properly in the list of libraries. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
31 lines
1012 B
Python
31 lines
1012 B
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
"""Django form for configuring calibre."""
|
|
|
|
from django import forms
|
|
from django.core import validators
|
|
from django.core.exceptions import ValidationError
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from . import privileged
|
|
|
|
|
|
class CreateLibraryForm(forms.Form):
|
|
"""Form to create an empty library."""
|
|
|
|
name = forms.CharField(
|
|
label=_('Name of the new library'), strip=True,
|
|
help_text=_('Only letters of the English alphabet, numbers '
|
|
'and the characters _ . and - without spaces or '
|
|
'special characters. Example: My_Library_2000'),
|
|
validators=[validators.RegexValidator(r'^[A-Za-z0-9_.-]+$')])
|
|
|
|
def clean_name(self):
|
|
"""Check if the library name is valid."""
|
|
name = self.cleaned_data['name']
|
|
|
|
if name in privileged.list_libraries():
|
|
raise ValidationError(
|
|
_('A library with this name already exists.'))
|
|
|
|
return name
|