38 lines
1,014 B
Python
38 lines
1,014 B
Python
"""passbook Core Application forms"""
|
|
from django import forms
|
|
from django.contrib.admin.widgets import FilteredSelectMultiple
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from passbook.core.models import Application, Provider
|
|
|
|
|
|
class ApplicationForm(forms.ModelForm):
|
|
"""Application Form"""
|
|
|
|
provider = forms.ModelChoiceField(
|
|
queryset=Provider.objects.all().select_subclasses(), required=False
|
|
)
|
|
|
|
class Meta:
|
|
|
|
model = Application
|
|
fields = [
|
|
"name",
|
|
"slug",
|
|
"launch_url",
|
|
"icon_url",
|
|
"provider",
|
|
"policies",
|
|
"skip_authorization",
|
|
]
|
|
widgets = {
|
|
"name": forms.TextInput(),
|
|
"launch_url": forms.TextInput(),
|
|
"icon_url": forms.TextInput(),
|
|
"policies": FilteredSelectMultiple(_("policies"), False),
|
|
}
|
|
labels = {
|
|
"launch_url": _("Launch URL"),
|
|
"icon_url": _("Icon URL"),
|
|
}
|