fixed a couple field types being wrong, improved validation, auto-truncate over-length fields
This commit is contained in:
parent
076efd4036
commit
a3f89e3790
2 changed files with 6 additions and 6 deletions
|
@ -61,7 +61,7 @@ class TextField(Field):
|
|||
value = self.value or ""
|
||||
if self.uppercase:
|
||||
value = value.upper()
|
||||
return value.ljust(self.max_length).encode('ascii')
|
||||
return value.ljust(self.max_length).encode('ascii')[:self.max_length]
|
||||
|
||||
|
||||
class StateField(TextField):
|
||||
|
@ -74,7 +74,7 @@ class StateField(TextField):
|
|||
if value.strip() and self.use_numeric:
|
||||
return str(enums.state_postal_numeric[value.upper()]).zfill(self.max_length)
|
||||
else:
|
||||
return value.ljust(self.max_length).encode('ascii')
|
||||
return value.ljust(self.max_length).encode('ascii')[:self.max_length]
|
||||
|
||||
def validate(self):
|
||||
super(StateField, self).validate()
|
||||
|
@ -105,7 +105,7 @@ class NumericField(TextField):
|
|||
|
||||
def get_data(self):
|
||||
value = self.value or ""
|
||||
return str(value).zfill(self.max_length)
|
||||
return str(value).zfill(self.max_length)[:self.max_length]
|
||||
|
||||
def parse(self, s):
|
||||
self.value = int(s)
|
||||
|
@ -153,7 +153,7 @@ class MoneyField(Field):
|
|||
raise ValidationError("value is too long", field=self)
|
||||
|
||||
def get_data(self):
|
||||
return str(int((self.value or 0)*100)).encode('ascii').zfill(self.max_length)
|
||||
return str(int((self.value or 0)*100)).encode('ascii').zfill(self.max_length)[:self.max_length]
|
||||
|
||||
def parse(self, s):
|
||||
self.value = decimal.Decimal(s) * decimal.Decimal('0.01')
|
||||
|
|
|
@ -83,7 +83,7 @@ class EmployerRecord(model.Model):
|
|||
required = True
|
||||
|
||||
tax_year = NumericField(max_length=4)
|
||||
agent_indicator = NumericField(max_length=1, required=False)
|
||||
agent_indicator = TextField(max_length=1, required=False)
|
||||
employer_ein = TextField(max_length=9)
|
||||
agent_for_ein = TextField(max_length=9, required=False)
|
||||
terminating_business_indicator = BooleanField()
|
||||
|
@ -276,7 +276,7 @@ class TotalRecord(model.Model):
|
|||
record_identifier = 'RT'
|
||||
required = True
|
||||
|
||||
number_of_rw_records = MoneyField(max_length=7)
|
||||
number_of_rw_records = NumericField(max_length=7)
|
||||
wages_tips = MoneyField(max_length=15)
|
||||
federal_income_tax_withheld = MoneyField(max_length=15)
|
||||
social_security_wages = MoneyField(max_length=15)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue