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:
parent
5781cbf335
commit
a0014ca451
4 changed files with 173 additions and 35 deletions
33
record.py
33
record.py
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue