diff --git a/.gitignore b/.gitignore index 56f09e45..2afffb96 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ local_settings.py */CACHE */package-lock.json *.editorconfig +cov_profile/* # See http://help.github.com/ignore-files/ for more about ignoring files. # compiled output @@ -22,7 +23,8 @@ local_settings.py /out-tsc # dependencies -*/node_modules +fecfile_validate_js/node_modules/* +node_modules/* # IDEs and editors *.idea diff --git a/README.md b/README.md index b88674df..1a8f3874 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ is missing a value, the validation passes but with a warning issued about the mi # Deployment (FEC team only) +*Special Note:* The requirements.txt field in the fecfile-web-api repo must be updated with the most recent commit hash for the commit changes to be pulled into the api build by CircleCI. + ### Create a feature branch Using git-flow extensions: @@ -54,29 +56,30 @@ Without the git-flow extensions: ### Create a release branch -Using git-flow extensions: +* Using git-flow extensions: ``` git flow release start sprint-# ``` -Without the git-flow extensions: +* Without the git-flow extensions: ``` git checkout develop git pull git checkout -b release/sprint-# develop git push --set-upstream origin release/sprint-# ``` +* Developer creates a PR in GitHub to merge release/sprint-# branch into the `main` branch to track if commits pass deployment checks. The actual merge will happen when deploying a release to production. ### Create and deploy a hotfix -Using git-flow extensions: +* Using git-flow extensions: ``` git flow hotfix start my-fix # Work happens here git flow hotfix finish my-fix ``` -Without the git-flow extensions: +* Without the git-flow extensions: ``` git checkout -b hotfix/my-fix main # Work happens here @@ -88,7 +91,6 @@ git push --set-upstream origin hotfix/my-fix * Developer deploys hotfix/my-fix branch to main using **Deploying a release to production** instructions below ### Deploying a release to production -* Developer creates a PR in GitHub to merge release/sprint-# branch into the `main` branch * Reviewer approves PR and merges into `main` * Check CircleCI for passing pipeline tests * If tests pass, continue diff --git a/docs/Contact_Candidate.html b/docs/Contact_Candidate.html index ba613107..e2b59ea9 100644 --- a/docs/Contact_Candidate.html +++ b/docs/Contact_Candidate.html @@ -1,4 +1,4 @@ -
Candidate Contact
"CAN"
"CAN"
+ FEC Candidate FEC Candidate
Candidate Contact
Type: object
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
Type: object
Type: const
Specific value: "S"
Type: object
Type: string
Type: object
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
Type: object
Type: const
Specific value: "H"
Type: object
Type: string
Type: string
Type: const
Specific value: "CAN"
Example:
"CAN"
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,9}$
Must be at least 0
characters long
Must be at most 9
characters long
Example:
"H01234567"
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,30}$
Must be at least 0
characters long
Must be at most 30
characters long
Example:
"Smith"
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,20}$
Must be at least 0
characters long
Must be at most 20
characters long
Example:
"John"
@@ -7,10 +7,10 @@
Type: string or null
Must match regular expression: ^[ A-Za-z0-9]{0,10}$
Example:
"Jr"
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,34}$
Must be at least 0
characters long
Must be at most 34
characters long
Example:
"123 Main Street"
Type: string or null
Must match regular expression: ^[ A-Za-z0-9]{0,34}$
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,30}$
Must be at least 0
characters long
Must be at most 30
characters long
Example:
"Anytown"
-
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,2}$
Must be at least 0
characters long
Must be at most 2
characters long
Example:
"WA"
+
Type: string
Must match regular expression: ^[A-Z]{2}$
Must be at least 2
characters long
Must be at most 2
characters long
Example:
"WA"
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,9}$
Must be at least 0
characters long
Must be at most 9
characters long
Example:
981110123
Type: string or null
Must match regular expression: ^[ A-Za-z0-9]{0,38}$
Example:
"XYZ Company"
Type: string or null
Must match regular expression: ^[ A-Za-z0-9]{0,38}$
Example:
"QC Inspector"
Type: enum (of string)
Must be one of:
- "H"
- "S"
- "P"
Example:
"H\nS\nP"
-
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,2}$
Must be at least 0
characters long
Must be at most 2
characters long
Example:
"WA"
-
Type: string
Must match regular expression: ^[ A-Za-z0-9]{0,2}$
Must be at least 0
characters long
Must be at most 2
characters long
Type: string or null
Must match regular expression: ^\d{10}$
Type: string
+
^[A-Z]{2}$
"WA"
+
^[0-9]{2}$
^\d{10}$
COL SEQ | FIELD DESCRIPTION | TYPE | REQUIRED | SAMPLE DATA | VALUE REFERENCE | RULE REFERENCE | FIELD FORM ASSOCIATION | |
---|---|---|---|---|---|---|---|---|
1 | TYPE | Dropdown | X (error) | Individual Committee Organization Candidate | ||||
2 | CANDIDATE ID | A/N-9 | X (error) | H01234567 | ||||
3 | LAST NAME | A/N-30 | X (error) | Smith | ||||
4 | FIRST NAME | A/N-20 | X (error) | John | ||||
5 | MIDDLE NAME | A/N-20 | W | |||||
6 | PREFIX | A/N-10 | Dr | |||||
7 | SUFFIX | A/N-10 | Jr | |||||
8 | STREET 1 | A/N-34 | X (error) | 123 Main Street | ||||
9 | STREET 2 | A/N-34 | ||||||
10 | CITY | A/N-30 | X (error) | Anytown | ||||
11 | STATE | A/N-2 | X (error) | WA | Edit: ST. Default to ZZ if Country DNE US | |||
12 | ZIP | A/N-9 | X (error) | 981110123 | ||||
13 | EMPLOYER | A/N-38 | XYZ Company | Req if Donor aggregate >$200 | ||||
14 | OCCUPATION | A/N-38 | QC Inspector | Req if Donor aggregate >$200 | ||||
15 | CANDIDATE OFFICE | Dropdown | X (error) | House -Senate -Presidential | ||||
16 | CANDIDATE STATE | A/N-2 | X (error) | WA | Required if Office = H or S | |||
17 | CANDIDATE DISTRICT | A/N-2 | X (error) | Required if Office = H | ||||
TELEPHONE | N-10 | |||||||
COUNTRY | Dropdown | X (error) | Should default to United States |
COL SEQ | +FIELD DESCRIPTION | +TYPE | +REQUIRED | +SAMPLE DATA | +VALUE REFERENCE | +RULE REFERENCE | +FIELD FORM ASSOCIATION | +
---|---|---|---|---|---|---|---|
1 | +TYPE | +Dropdown | +X (error) | +Individual Committee Organization Candidate | ++ | + | + |
2 | +CANDIDATE ID | +A/N-9 | +X (error) | +H01234567 | ++ | + | + |
3 | +LAST NAME | +A/N-30 | +X (error) | +Smith | ++ | + | + |
4 | +FIRST NAME | +A/N-20 | +X (error) | +John | ++ | + | + |
5 | +MIDDLE NAME | +A/N-20 | ++ | W | ++ | + | + |
6 | +PREFIX | +A/N-10 | ++ | Dr | ++ | + | + |
7 | +SUFFIX | +A/N-10 | ++ | Jr | ++ | + | + |
8 | +STREET 1 | +A/N-34 | +X (error) | +123 Main Street | ++ | + | + |
9 | +STREET 2 | +A/N-34 | ++ | + | + | + | + |
10 | +CITY | +A/N-30 | +X (error) | +Anytown | ++ | + | + |
11 | +STATE | +A/N-2 | +X (error) | +WA | ++ | Edit: ST. Default to ZZ if Country DNE US | ++ |
12 | +ZIP | +A/N-9 | +X (error) | +981110123 | ++ | + | + |
13 | +EMPLOYER | +A/N-38 | ++ | XYZ Company | ++ | Req if Donor aggregate >$200 | ++ |
14 | +OCCUPATION | +A/N-38 | ++ | QC Inspector | ++ | Req if Donor aggregate >$200 | ++ |
15 | +CANDIDATE OFFICE | +Dropdown | +X (error) | +House Senate Presidential | ++ | + | + |
16 | +CANDIDATE STATE | +A/N-2 | +X (error) | +WA | ++ | Required if Office = H or S | ++ |
17 | +CANDIDATE DISTRICT | +A/N-2 | +X (error) | ++ | + | Required if Office = H | ++ |
+ | TELEPHONE | +N-10 | ++ | + | + | + | + |
+ | COUNTRY | +Dropdown | +X (error) | ++ | + | Should default to United States | ++ |
COL SEQ | FIELD DESCRIPTION | TYPE | REQUIRED | SAMPLE DATA | VALUE REFERENCE | RULE REFERENCE | FIELD FORM ASSOCIATION | |
---|---|---|---|---|---|---|---|---|
1 | TYPE | Dropdown | X (error) | Individual Committee Organization Candidate | ||||
2 | COMMITTEE ID | A/N-9 | X (error) | c01234567 | ||||
3 | NAME | A/N-200 | X (error) | SEIU COPE (Service Employees International Union Committee On Political Education) | ||||
4 | STREET 1 | A/N-34 | X (error) | 123 Main Street | ||||
5 | STREET 2 | A/N-34 | ||||||
6 | CITY | A/N-30 | X (error) | Anytown | ||||
7 | STATE | A/N-2 | X (error) | WA | Edit: ST. Default to ZZ if Country DNE US | |||
8 | ZIP | A/N-9 | X (error) | 981110123 | ||||
12 | TELEPHONE | N-10 | ||||||
COUNTRY | Dropdown | X (error) | Should default to United States |
COL SEQ | +FIELD DESCRIPTION | +TYPE | +REQUIRED | +SAMPLE DATA | +VALUE REFERENCE | +RULE REFERENCE | +FIELD FORM ASSOCIATION | +
---|---|---|---|---|---|---|---|
1 | +TYPE | +Dropdown | +X (error) | +Individual Committee Organization Candidate | ++ | + | + |
2 | +COMMITTEE ID | +A/N-9 | +X (error) | +c01234567 | ++ | + | + |
3 | +NAME | +A/N-200 | +X (error) | +SEIU COPE (Service Employees International Union Committee On Political Education) | ++ | + | + |
4 | +STREET 1 | +A/N-34 | +X (error) | +123 Main Street | ++ | + | + |
5 | +STREET 2 | +A/N-34 | ++ | + | + | + | + |
6 | +CITY | +A/N-30 | +X (error) | +Anytown | ++ | + | + |
7 | +STATE | +A/N-2 | +X (error) | +WA | ++ | Edit: ST. Default to ZZ if Country DNE US | ++ |
8 | +ZIP | +A/N-9 | +X (error) | +981110123 | ++ | + | + |
12 | +TELEPHONE | +N-10 | ++ | + | + | + | + |
+ | COUNTRY | +Dropdown | +X (error) | ++ | + | Should default to United States | ++ |
COL SEQ | FIELD DESCRIPTION | TYPE | REQUIRED | SAMPLE DATA | VALUE REFERENCE | RULE REFERENCE | FIELD FORM ASSOCIATION | |
---|---|---|---|---|---|---|---|---|
1 | TYPE | Dropdown | X (error) | Individual Committee Organization Candidate | ||||
2 | LAST NAME | A/N-30 | X (error) | Smith | ||||
3 | FIRST NAME | A/N-20 | X (error) | John | ||||
4 | MIDDLE NAME | A/N-20 | W | |||||
5 | PREFIX | A/N-10 | Dr | |||||
6 | SUFFIX | A/N-10 | Jr | |||||
7 | STREET 1 | A/N-34 | X (error) | 123 Main Street | ||||
8 | STREET 2 | A/N-34 | ||||||
9 | CITY | A/N-30 | X (error) | Anytown | ||||
10 | STATE | A/N-2 | X (error) | WA | Edit: ST. Default to ZZ if Country DNE US | |||
11 | ZIP | A/N-9 | X (error) | 981110123 | ||||
12 | TELEPHONE | N-10 | ||||||
13 | EMPLOYER | A/N-38 | XYZ Company | Req if Donor aggregate >$200 | ||||
14 | OCCUPATION | A/N-38 | QC Inspector | Req if Donor aggregate >$200 | ||||
COUNTRY | Dropdown | X (error) | Should default to United States |
COL SEQ | +FIELD DESCRIPTION | +TYPE | +REQUIRED | +SAMPLE DATA | +VALUE REFERENCE | +RULE REFERENCE | +FIELD FORM ASSOCIATION | +
---|---|---|---|---|---|---|---|
1 | +TYPE | +Dropdown | +X (error) | +Individual Committee Organization Candidate | ++ | + | + |
2 | +LAST NAME | +A/N-30 | +X (error) | +Smith | ++ | + | + |
3 | +FIRST NAME | +A/N-20 | +X (error) | +John | ++ | + | + |
4 | +MIDDLE NAME | +A/N-20 | ++ | W | ++ | + | + |
5 | +PREFIX | +A/N-10 | ++ | Dr | ++ | + | + |
6 | +SUFFIX | +A/N-10 | ++ | Jr | ++ | + | + |
7 | +STREET 1 | +A/N-34 | +X (error) | +123 Main Street | ++ | + | + |
8 | +STREET 2 | +A/N-34 | ++ | + | + | + | + |
9 | +CITY | +A/N-30 | +X (error) | +Anytown | ++ | + | + |
10 | +STATE | +A/N-2 | +X (error) | +WA | ++ | Edit: ST. Default to ZZ if Country DNE US | ++ |
11 | +ZIP | +A/N-9 | +X (error) | +981110123 | ++ | + | + |
12 | +TELEPHONE | +N-10 | ++ | + | + | + | + |
13 | +EMPLOYER | +A/N-38 | ++ | XYZ Company | ++ | Req if Donor aggregate >$200 | ++ |
14 | +OCCUPATION | +A/N-38 | ++ | QC Inspector | ++ | Req if Donor aggregate >$200 | ++ |
+ | COUNTRY | +Dropdown | +X (error) | ++ | + | Should default to United States | ++ |
COL SEQ | FIELD DESCRIPTION | TYPE | REQUIRED | SAMPLE DATA | VALUE REFERENCE | RULE REFERENCE | FIELD FORM ASSOCIATION | |
---|---|---|---|---|---|---|---|---|
1 | TYPE | Dropdown | X (error) | Individual Committee Organization Candidate | Required if NOT [IND|CAN] | |||
8 | NAME | A/N-200 | X (error) | John Smith & Co. | ||||
14 | STREET 1 | A/N-34 | X (error) | 123 Main Street | ||||
15 | STREET 2 | A/N-34 | ||||||
16 | CITY | A/N-30 | X (error) | Anytown | AK,AL,...,ZZ | Edit: ST. Default to ZZ if Country DNE US | ||
17 | STATE | A/N-2 | X (error) | WA | ||||
18 | ZIP | A/N-9 | X (error) | 981110123 | ||||
12 | TELEPHONE | N-10 | ||||||
COUNTRY | Dropdown | X (error) | Should default to United States |
COL SEQ | +FIELD DESCRIPTION | +TYPE | +REQUIRED | +SAMPLE DATA | +VALUE REFERENCE | +RULE REFERENCE | +FIELD FORM ASSOCIATION | +
---|---|---|---|---|---|---|---|
1 | +TYPE | +Dropdown | +X (error) | +Individual Committee Organization Candidate | ++ | Required if NOT [IND|CAN] | ++ |
8 | +NAME | +A/N-200 | +X (error) | +John Smith & Co. | ++ | + | + |
14 | +STREET 1 | +A/N-34 | +X (error) | +123 Main Street | ++ | + | + |
15 | +STREET 2 | +A/N-34 | ++ | + | + | + | + |
16 | +CITY | +A/N-30 | +X (error) | +Anytown | +AK,AL,...,ZZ | +Edit: ST. Default to ZZ if Country DNE US | ++ |
17 | +STATE | +A/N-2 | +X (error) | +WA | ++ | + | + |
18 | +ZIP | +A/N-9 | +X (error) | +981110123 | ++ | + | + |
12 | +TELEPHONE | +N-10 | ++ | + | + | + | + |
+ | COUNTRY | +Dropdown | +X (error) | ++ | + | Should default to United States | ++ |