hobo/hobo/forms.py

34 lines
941 B
Python

from django.conf import settings
from django.forms import ModelForm
if 'tenant_schemas' in settings.INSTALLED_APPS:
from tenant_schemas.utils import get_tenant_model
else:
get_tenant_model = lambda: None
class HoboForm(ModelForm):
required_css_class = 'required'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['schema_name'].required = False
def clean(self):
from django.template.defaultfilters import slugify
cleaned_data = super().clean()
if not cleaned_data.get('schema_name') and cleaned_data.get('domain_url'):
cleaned_data['schema_name'] = slugify(cleaned_data['domain_url'])
return cleaned_data
class Meta:
model = get_tenant_model()
fields = ['domain_url', 'schema_name']
class HoboUpdateForm(ModelForm):
class Meta:
model = get_tenant_model()
fields = ['domain_url']