class ProductForm(forms.ModelForm): seller_bango = URLField(to='lib.bango.resources.package.PackageResource') seller_product = URLField(to='lib.sellers.resources.SellerProductResource') name = forms.CharField() packageId = forms.IntegerField() class Meta: model = SellerProductBango fields = ('seller_bango', 'seller_product', 'name', 'packageId')
class TestURLField(test_utils.TestCase): def test_valid(self): self.field = URLField(to='lib.sellers.resources.SellerResource') assert isinstance(self.field.to_instance(), SellerResource) @raises(ValueError) def test_nope(self): self.field = URLField(to='lib.sellers.resources.Nope') assert isinstance(self.field.to_instance(), SellerResource) @raises(ValueError) def test_module(self): self.field = URLField(to='lib.nope') assert isinstance(self.field.to_instance(), SellerResource) @raises(ValueError) def test_more_module(self): self.field = URLField(to='nope') assert isinstance(self.field.to_instance(), SellerResource) @raises(forms.ValidationError) def test_not_there(self): self.field = URLField(to='lib.sellers.resources.SellerResource') self.field.clean('/generic/seller/1/') @raises(forms.ValidationError) def test_not_found(self): self.field = URLField(to='lib.sellers.resources.SellerResource') self.field.clean('/blarg/blarg/1/') def test_empty(self): self.field = URLField(to='lib.sellers.resources.SellerResource', required=False) eq_(self.field.clean(''), None)
class CreateBangoNumberForm(forms.Form): seller_bango = URLField(to='lib.bango.resources.package.PackageResource') seller_product = URLField(to='lib.sellers.resources.SellerProductResource') name = forms.CharField(max_length=100) # TODO: Expand this bug 814492. categoryId = forms.IntegerField() @property def bango_data(self): result = self.cleaned_data.copy() result['packageId'] = result['seller_bango'].package_id del result['seller_bango'] del result['seller_product'] return result
class CreateBankDetailsForm(forms.Form): seller_bango = URLField(to='lib.bango.resources.package.PackageResource') bankAccountPayeeName = forms.CharField(max_length=50) bankAccountNumber = forms.CharField(max_length=20, required=False) bankAccountCode = forms.CharField(max_length=20) bankAccountIban = forms.CharField(max_length=34, required=False) bankName = forms.CharField(max_length=50) bankAddress1 = forms.CharField(max_length=50) bankAddress2 = forms.CharField(max_length=50, required=False) bankAddressCity = forms.CharField(max_length=50, required=False) bankAddressState = forms.CharField(max_length=50, required=False) bankAddressZipCode = forms.CharField(max_length=50) bankAddressIso = forms.ChoiceField(choices=([r, r] for r in COUNTRIES)) def clean(self): if not (self.cleaned_data.get('bankAccountNumber') or self.cleaned_data.get('bankAccountIban')): raise forms.ValidationError('Need either bankAccountNumber ' 'or bankIban') return self.cleaned_data @property def bango_data(self): result = self.cleaned_data.copy() result['packageId'] = result['seller_bango'].package_id del result['seller_bango'] return result
class SBIForm(forms.Form): seller_bango = URLField(to='lib.bango.resources.package.PackageResource') @property def bango_data(self): result = self.cleaned_data.copy() result['packageId'] = result['seller_bango'].package_id del result['seller_bango'] return result
class SellerProductForm(forms.Form): # Base class for a form that interacts using the # seller_product_bango resource. seller_product_bango = URLField( to='lib.bango.resources.package.BangoProductResource') @property def bango_data(self): result = self.cleaned_data.copy() result['bango'] = result['seller_product_bango'].bango_id del result['seller_product_bango'] return result def clean_seller_product_bango(self): res = self.cleaned_data['seller_product_bango'] if not res.bango_id: raise forms.ValidationError('Empty bango_id for: %s' % res.pk) return res
class PackageForm(forms.Form): adminEmailAddress = forms.CharField() supportEmailAddress = forms.CharField() financeEmailAddress = forms.CharField() paypalEmailAddress = forms.CharField() vendorName = forms.CharField() companyName = forms.CharField() address1 = forms.CharField() address2 = forms.CharField(required=False) addressCity = forms.CharField() addressState = forms.CharField() addressZipCode = forms.CharField() addressPhone = forms.CharField() addressFax = forms.CharField(required=False) vatNumber = forms.CharField(required=False) countryIso = forms.CharField() currencyIso = forms.CharField() homePageURL = forms.CharField(required=False) seller = URLField(to='lib.sellers.resources.SellerResource') @property def bango_data(self): result = self.cleaned_data.copy() insert = settings.BANGO_INSERT_STAGE if insert: # See bug 919814. result['vendorName'] = insert + result['vendorName'] result['companyName'] = insert + result['companyName'] del result['seller'] if settings.BANGO_NOTIFICATION_URL: result.update({ 'eventNotificationURL': settings.BANGO_NOTIFICATION_URL, 'eventNotificationUsername': settings.BANGO_BASIC_AUTH['USER'], 'eventNotificationPassword': settings.BANGO_BASIC_AUTH['PASSWORD'], }) return result
def test_valid(self): self.field = URLField(to="lib.sellers.resources.SellerResource") assert isinstance(self.field.to_instance(), SellerResource)
def test_more_module(self): self.field = URLField(to='nope') assert isinstance(self.field.to_instance(), SellerResource)
def test_not_there(self): self.field = URLField(to="lib.sellers.resources.SellerResource") self.field.clean("/generic/seller/1/")
def test_module(self): self.field = URLField(to="lib.nope") assert isinstance(self.field.to_instance(), SellerResource)
def test_kwargs(self): obj = Seller.objects.create() self.field = URLField(to='lib.sellers.resources.SellerResource') self.field.clean('/generic/seller/{0}/'.format(obj.pk))
def test_not_found(self): self.field = URLField(to='lib.sellers.resources.SellerResource') self.field.clean('/blarg/blarg/1/')
def test_not_found(self): self.field = URLField(to="lib.sellers.resources.SellerResource") self.field.clean("/blarg/blarg/1/")
def test_nope(self): self.field = URLField(to='lib.sellers.resources.Nope') assert isinstance(self.field.to_instance(), SellerResource)
class SellerProductValidation(forms.ModelForm): seller = URLField(to='lib.sellers.resources.SellerResource') class Meta: model = SellerProduct
def test_not_there(self): self.field = URLField(to='lib.sellers.resources.SellerResource') self.field.clean('/generic/seller/1/')
def test_empty(self): self.field = URLField(to='lib.sellers.resources.SellerResource', required=False) eq_(self.field.clean(''), None)
class TestURLField(test_utils.TestCase): def test_valid(self): self.field = URLField(to="lib.sellers.resources.SellerResource") assert isinstance(self.field.to_instance(), SellerResource) @raises(ValueError) def test_nope(self): self.field = URLField(to="lib.sellers.resources.Nope") assert isinstance(self.field.to_instance(), SellerResource) @raises(ValueError) def test_module(self): self.field = URLField(to="lib.nope") assert isinstance(self.field.to_instance(), SellerResource) @raises(ValueError) def test_more_module(self): self.field = URLField(to="nope") assert isinstance(self.field.to_instance(), SellerResource) @raises(forms.ValidationError) def test_not_there(self): self.field = URLField(to="lib.sellers.resources.SellerResource") self.field.clean("/generic/seller/1/") @raises(forms.ValidationError) def test_not_found(self): self.field = URLField(to="lib.sellers.resources.SellerResource") self.field.clean("/blarg/blarg/1/") def test_empty(self): self.field = URLField(to="lib.sellers.resources.SellerResource", required=False) eq_(self.field.clean(""), None) def test_kwargs(self): obj = Seller.objects.create() self.field = URLField(to="lib.sellers.resources.SellerResource") self.field.clean("/generic/seller/{0}/".format(obj.pk))