""" This module contains the form classes related to hosting packages. """ from __future__ import absolute_import, unicode_literals from django import forms from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _ from crispy_forms.helper import FormHelper from crispy_forms.layout import ( Layout, Submit, ) from .models import CustomerHostingPackage class CreateCustomerHostingPackageForm(forms.ModelForm): """ This form class is used for creating new customer hosting packages with a preselected customer. """ class Meta: model = CustomerHostingPackage fields = ['template', 'name', 'description'] def __init__(self, instance, *args, **kwargs): username = kwargs.pop('user') super(CreateCustomerHostingPackageForm, self).__init__( *args, **kwargs ) self.fields['description'].widget.attrs['rows'] = 2 self.helper = FormHelper() self.helper.form_action = reverse( 'create_customer_hosting_package', kwargs={'user': username} ) self.helper.layout = Layout( 'template', 'name', 'description', Submit('submit', _('Add Hosting Package')), ) class CreateHostingPackageForm(forms.ModelForm): """ This form class is used for creating new customer hosting packages. """ class Meta: model = CustomerHostingPackage fields = ['customer', 'template', 'name', 'description'] def __init__(self, instance, *args, **kwargs): super(CreateHostingPackageForm, self).__init__( *args, **kwargs ) self.fields['description'].widget.attrs['rows'] = 2 self.helper = FormHelper() self.helper.form_action = reverse('create_hosting_package') self.helper.layout = Layout( 'customer', 'template', 'name', 'description', Submit('submit', _('Add Hosting Package')), )