Added a MonthYear field, fixed some field required values and fixed

validation functions. Added numeric state abbreviation capability.
So far everything appears to be working good.
This commit is contained in:
Binh 2011-06-04 15:46:41 -05:00
parent 5781cbf335
commit a0014ca451
4 changed files with 173 additions and 35 deletions

View file

@ -27,7 +27,7 @@ class SubmitterRecord(model.Model):
blank2 = BlankField(max_length=5)
company_foreign_state_province= TextField(max_length=23, required=False)
company_foreign_postal_code = TextField(max_length=15, required=False)
company_country_code = TextField(max_length=2)
company_country_code = TextField(max_length=2, required=False)
submitter_name = TextField(max_length=57)
submitter_address = TextField(max_length=22)
submitter_delivery_address = TextField(max_length=22)
@ -38,7 +38,7 @@ class SubmitterRecord(model.Model):
blank3 = BlankField(max_length=5)
submitter_foreign_state_province = TextField(max_length=23, required=False)
submitter_foreign_postal_code = TextField(max_length=15, required=False)
submitter_country_code = TextField(max_length=2)
submitter_country_code = TextField(max_length=2, required=False)
contact_name = TextField(max_length=27)
contact_phone = TextField(max_length=15)
contact_phone_ext = TextField(max_length=5, required=False)
@ -86,7 +86,7 @@ class EmployeeWageRecord(model.Model):
employee_first_name = TextField(max_length=15)
employee_middle_name = TextField(max_length=15)
employee_last_name = TextField(max_length=20)
employee_suffix = TextField(max_length=4)
employee_suffix = TextField(max_length=4, required=False)
location_address = TextField(max_length=22)
delivery_address = TextField(max_length=22)
city = TextField(max_length=22)
@ -162,13 +162,13 @@ class StateWageRecord(model.Model):
record_identifier = 'RS'
required = False
state_code = NumericField(max_length=2)
taxing_entity_code = TextField(max_length=5)
state_code = StateField(use_numeric=True)
taxing_entity_code = TextField(max_length=5, required=False)
ssn = NumericField(max_length=9, required=False)
employee_first_name = TextField(max_length=15)
employee_middle_name = TextField(max_length=15)
employee_last_name = TextField(max_length=20)
employee_suffix = TextField(max_length=4)
employee_suffix = TextField(max_length=4, required=False)
location_address = TextField(max_length=22)
delivery_address = TextField(max_length=22)
city = TextField(max_length=22)
@ -178,29 +178,34 @@ class StateWageRecord(model.Model):
blank1 = BlankField(max_length=5)
foreign_state_province = TextField(max_length=23, required=False)
foreign_postal_code = TextField(max_length=15, required=False)
country_code = TextField(max_length=2)
country_code = TextField(max_length=2, required=False)
optional_code = TextField(max_length=2, required=False)
reporting_period = NumericField(max_length=6) # MAYBE MAKE A CUSTOM FIELD TYPE FOR THIS
reporting_period = MonthYearField()
quarterly_unemp_ins_wages = MoneyField(max_length=11)
quarterly_unemp_ins_taxable_wages = MoneyField(max_length=11)
number_of_weeks_worked = NumericField(max_length=2)
date_first_employed = DateField()
date_of_separation = DateField()
date_first_employed = DateField(required=False)
date_of_separation = DateField(required=False)
blank2 = BlankField(max_length=5)
state_employer_account_num = NumericField(max_length=20)
blank3 = BlankField(max_length=6)
state_code_2 = NumericField(max_length=2)
state_code_2 = StateField(use_numeric=True)
state_taxable_wages = MoneyField(max_length=11)
state_income_tax_wh = MoneyField(max_length=11)
other_state_data = TextField(max_length=10)
other_state_data = TextField(max_length=10, required=False)
tax_type_code = TextField(max_length=1) # VALIDATE C, D, E, or F
local_taxable_wages = MoneyField(max_length=11)
local_income_tax_wh = MoneyField(max_length=11)
state_control_number = NumericField(max_length=7, required=False)
supplemental_data1 = TextField(max_length=75)
supplemental_data2 = TextField(max_length=75)
supplemental_data1 = TextField(max_length=75, required=False)
supplemental_data2 = TextField(max_length=75, required=False)
blank4 = BlankField(max_length=25)
def validate_tax_type_code(self, field):
if field.value not in ['C','D','E','F']:
raise ValidationError("%s not one of (c,d,e,f)" % field.value, field=f)
class TotalRecord(model.Model):
record_identifier = 'RT'
required = True