dandds
5213657b0f
Additional validation and escaping for file names.
...
This adds additional front and backend validations for task order file
names. We are now restricting file names to a whitelist regex of
[A-Za-z0-9\-_ \.] for simplicity.
Note:
On the frontend, the filename string must have at least one character.
This is not true in the backend validation; because of the way the
entire task order form is validated, requiring input would break the
business logic currently implemented.
2020-01-15 09:17:03 -05:00
graham-dds
ffd3dd2d9d
use v-text instead of v-html
...
v-html interprets the string passed to it as raw html, without escaping.
We should use v-text wherever possible.
2020-01-14 16:19:27 -05:00
graham-dds
c02bb8518e
Escape html chanacters, if any, in CLIN number
2020-01-08 11:10:59 -05:00
graham-dds
07b4238c2b
Write tests for multi checkbox input vue component
2019-12-13 13:17:30 -05:00
graham-dds
80f028540c
Refactor multi_checkbox_input
...
This component was made when having an "other" value as a check option
also meant typing in a custom value into an input field. Since this is no
longer needed, we were able to remove the markup / vue code for that
feature.
2019-12-13 13:17:30 -05:00
leigh-mil
b49208ca57
Remove unused imports and formatting, fake TaskOrder.invoiced_funds with hard coded percentage instead of random number
2019-12-12 09:40:18 -05:00
leigh-mil
e79b1d1524
Create AccordionList macro and vue component to collapse multiple accordion components
2019-12-12 09:40:18 -05:00
graham-dds
dc9a21a501
Refactor mock reporting data and class methods
...
All mock reporting data was moved to a JSON file. The concept of
what JEDI CLIN a particular environment drew money from was added to the
data.
This change had a cascade effect to the reporting class methods,
templates, and Vue components that ingested that reporting data. Many of
these files were modified to adapt to these changes. This also included
modifying the obligated funding bar graphs to reflect new design
changes.
2019-12-10 11:23:53 -05:00
leigh-mil
2f5ad6b38b
Move event emitter before async function call so it will hopefully trigger the change event on the parent component earlier.
...
Update this.changed inside if statement because it should only be updated if the file is successfully uploaded.
2019-12-02 14:37:40 -05:00
leigh-mil
f4922f0db2
Create new toggle menu component
2019-11-27 09:30:21 -05:00
graham-dds
0303434561
First pass at new reporting designs
...
This commit lays out the genral structure and provides necessary
data for the new reporting page designs.
Some of the data generated by the report domain classes (including
the mock CSP reporting class) was modified to fit new designs. This also
included removing data that was no longer necessary. Part of the newly
mocked data includes the idea of "expended" data per CLIN or task order.
This was was mocked simply by using a 75% of the obligated funds fo a
given object. Tests were also written for these new/ modifed reporting
functions.
As for the front end, this commit only focuses on the high-level markup
layout. This includes splitting the large reporting index page into
smaller component templates for each of the major sections of the report.
2019-11-25 13:12:35 -05:00
graham-dds
e685b32193
Remove budget chart
2019-11-25 13:12:34 -05:00
graham-dds
dc73963cb9
Add accordion macro
2019-11-25 13:12:34 -05:00
leigh-mil
20a2abd36b
Update valid prop on MultiCheckboxInput to return true if the field is optional
2019-11-22 09:33:39 -05:00
leigh-mil
62cdcbe6dc
Remove some leftover 'watch' attributes from Vue components
2019-11-22 09:22:47 -05:00
leigh-mil
a6a908ae55
Remove other events emitted from root
2019-11-19 14:49:11 -05:00
leigh-mil
04b9250ea1
Create emitter function for field-change event
2019-11-19 14:49:11 -05:00
leigh-mil
bc0382834b
Remove old field-mount and field-change emitters and listeners.
...
Replace FormMixin with new functionality.
2019-11-19 14:49:11 -05:00
leigh-mil
622234bc51
Remove unused Vue component
2019-11-18 14:14:31 -05:00
leigh-mil
d4facd1e36
Update emitters for vue components on portfolio settings page
2019-11-18 14:14:31 -05:00
leigh-mil
1ecd786857
Update BaseForm and nested vue components to properly use emitters
2019-11-15 17:36:57 -05:00
leigh-mil
0abe27eb36
Remove form mixin from toggler component
2019-11-15 17:36:57 -05:00
leigh-mil
3e57579990
Use BaseForm instead of specialized Vue component for step 1 of the application form
...
Remove unnecessary event listener
2019-11-15 17:35:11 -05:00
leigh-mil
c94570f83e
Update TO form and nested components to emit directly to parent components instead of emitting from the root component
2019-11-14 16:46:35 -05:00
graham-dds
948976bb78
Merge pull request #1176 from dod-ccpo/bugfix/date-validation
...
Tweak date validation logic for months and days
2019-11-12 16:09:00 -05:00
leigh-mil
045e06abee
When validating that envs have names, make sure that names containing only strings are not valid
2019-11-12 13:07:50 -05:00
graham-dds
295088524c
Tweak date validation logic for months and days
...
- valid months should be between 1 and 12, inclusive
- days should be between 1 and 31, inclusive
- swap a few lets for consts
2019-11-12 13:00:01 -05:00
leigh-mil
83967e6ed9
Delete unused component and macro
2019-10-22 15:12:19 -04:00
leigh-mil
88d6ef32a4
Display error when PoP start date and end date are the same
2019-10-16 19:28:17 -04:00
graham-dds
9faf55f2d6
new app step 1 form is submitable with initial data
2019-10-14 13:40:34 -04:00
leigh-mil
07b3c68422
Add min and max range values to date selector so a more accurate error message can be displayed when a date is out of the range
2019-10-08 10:32:02 -04:00
leigh-mil
a5d34f9bb2
Check against the contract dates instead of the current maxStart and minEnd values to calculate the new maxStart and minEnds
2019-10-01 12:51:51 -04:00
leigh-mil
0c54b61579
Remove watch from date selector component
2019-09-26 16:27:10 -04:00
leigh-mil
2f3863b84d
Remove emitters for individual value changes
2019-09-26 16:27:10 -04:00
leigh-mil
1912a9127f
Add computed properties for Date object for dates used in functions
2019-09-26 16:27:10 -04:00
leigh-mil
a8635e8c8b
Add explanation about maxStartDate and minEndDate,
...
Refactor calc max and min functions
2019-09-26 16:27:10 -04:00
leigh-mil
f840bbb941
Use let instead of var
2019-09-26 16:22:16 -04:00
leigh-mil
92243965ec
parse contract dates into datetime objects
2019-09-26 16:22:16 -04:00
leigh-mil
df5f4b9d3e
Get rid of unnecessary data in pop date range
2019-09-26 16:22:15 -04:00
leigh-mil
c03820e53a
Emit event on input from date selector so parent element can respond
2019-09-26 16:22:15 -04:00
leigh-mil
ad86dc33fc
Show validation icon only if the date is complete
2019-09-26 16:22:15 -04:00
leigh-mil
789e6662a2
Add tests for pop date range vue component
2019-09-26 16:22:15 -04:00
leigh-mil
5e1ce65662
Move html out of clin fields macro and fix initial values in pop date range when there is no form data
2019-09-26 16:22:15 -04:00
leigh-mil
eef15f311f
Remove logic for validating PoP date range out of clin-fields vue component
2019-09-26 16:22:02 -04:00
leigh-mil
53cef32af5
Use date-selector component to display errors related to date fields
2019-09-26 16:22:02 -04:00
leigh-mil
e26edcd1bb
Add tests for updated functionality in date-selector and formatting
2019-09-26 16:22:02 -04:00
leigh-mil
32583feb99
Validate year based on min and max dates and only show the validation icons when the date has been completely filled in
2019-09-26 16:22:02 -04:00
leigh-mil
843501c00a
Fix bug where name attribute of start date fields was not properly assigned
...
Fix bug in pop_date_range were startValid and endValid were not being properly updated
2019-09-26 16:22:02 -04:00
leigh-mil
d52abeb0a9
Only update the min and max values for other field when the field that was updated is valid -- This prevents both fields from becoming invalid when the dates are not in chronological order.
2019-09-26 16:22:02 -04:00
leigh-mil
d42cd1ff4f
Dynamically update the max and min values for start and end date based on the date in the other field and contract dates
2019-09-26 16:22:02 -04:00