Commit Graph

513 Commits

Author SHA1 Message Date
tomdds
d81d953c31 Fix formatting and some typos 2020-01-14 16:36:16 -05:00
Philip Kalinsky
69bd2f43a5 provision portfolio state machine 2020-01-14 16:36:16 -05:00
leigh-mil
17864cc060 Add migration to change environment_roles role column from string to
enum type.
Fix tests and functions affected by the column type change.
2020-01-14 13:12:29 -05:00
leigh-mil
4d8d1d8ce0 Merge branch 'staging' into portfolio-admin-styling__part-2 2020-01-10 13:27:05 -05:00
leigh-mil
da398bf1ff Add status labels to portfolio managers table.
Update PortfolioRole.display_status() to return same type of data as
ApplicationRole.display_status().
2020-01-10 10:25:55 -05:00
dandds
a0b96402f2 Remove user.provisional column.
This is leftover from a previous iteration of ATAT where inviting a user
to a portfolio would create a pending entry in the users table. This is
no longer used.
2020-01-10 10:20:35 -05:00
leigh-mil
34cb9daca6 Only fake expended funds if the TO is active 2020-01-09 10:37:54 -05:00
leigh-mil
dad54ec139 Create new migration to convert column type of defense_component from
string to array
2020-01-06 13:08:56 -05:00
graham-dds
46ed1f0e71 Remove / refactor TO class properties
This commit removes properties that weren't be used anywhere in the code
 base. It also refactors two properties to use sum() with a generator
comprehension instead of a for loop.
2020-01-06 12:29:59 -05:00
graham-dds
aabedbcac4 Make PoP start and end dates inclusive.
Also removes the clock class.

Makes PoP date ranges inclusive such that a task order with:
-  a start date on or after the current date
and
- an end date on or before the current date
should be considered valid.

This commit also removes the Clock class. This class had two methods as
shortcuts for common uses of pendlum functions. But it wasn't being used
in very many places, and it took up about the same space as

    from pendulum import today()
    ...
    today(tz="UTC").date()

If we want to add this back in, it might be a good idea to extend it for
other time functions we have sprinkled around, like the random date
functions in our tests
2020-01-06 12:29:59 -05:00
leigh-mil
812caf5d7d Update schema and create/update Environments domain methods to enforce environment name uniqueness within an application context. 2019-12-18 10:54:17 -05:00
leigh-mil
afad5362a1 Update name of UniqueContraint to include the table name 2019-12-16 14:39:32 -05:00
leigh-mil
22dd5d7b85 Add migration for enforcing uniqueness of an application name within a portfolio and update create/update Applicaiton domain methods. 2019-12-16 14:39:32 -05:00
leigh-mil
85252812e0 Update number column on task orders table to have a unique constraint 2019-12-13 14:53:58 -05:00
graham-dds
a097a0ce61 Refactor New Portfolio page according to designs.
New designs call for a streamlined New Portfolio page, with far
fewer input options. This commit refactors that page according to those
designs.

Some of the route functions in this commit refer to a "step 1" of creating
a new Portfolio. Though there is no "step 2" right now, the designs call
for a multistep flow for Portfolio creation process, so this commit sets
the stage for that.
2019-12-13 13:17:30 -05:00
leigh-mil
2552d4c700 Styling for empty status accordion and update Not signed to Unsigned 2019-12-13 11:49:50 -05:00
leigh-mil
2c2b69affe Fix TO index blank states and number type issue 2019-12-13 11:26:58 -05:00
leigh-mil
4d7af1bab4 Remove extra details from expired TO display, small refactors in TO methods 2019-12-12 16:05:47 -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
ac8dd662d1 Fake task order's expended funds, default task order start and end date to None, fix how task orders are sorted by status 2019-12-12 09:40:18 -05:00
leigh-mil
e32bad0d30 Display TOs grouped by status 2019-12-12 09:40:18 -05:00
graham-dds
cde3d7f6aa A CLINs TO should be signed in order to be active 2019-12-10 11:23:53 -05:00
leigh-mil
614514d6a2 Update tables to match business logic 2019-12-02 14:46:11 -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
7a0dc4d264 Add properties to portfolio model
1. Funding duration

Returns a tuple of the earliest period of performance start date and
latest period of performance end date for all active task order in a  portfolio.

2. Days to funding expiration
Returns the numbei of days between today and the lastest
period performance end date of all active task orders

3. Active task orders
Returns a list of a portfolio's active task orders a
2019-11-25 13:12:35 -05:00
graham-dds
4f2a75b64f Add active CLINS property to portfolio model 2019-11-25 13:12:34 -05:00
graham-dds
06600a8237 Add "is_active" property to CLIN model 2019-11-25 13:12:34 -05:00
leigh-mil
d186728526 Change order of if/elif statement for ApplicationRole display_status
Since an invite that is expired has a status of 'pending', the ordering
of the if/elif statement needs to be switched so it checks to see if the
invite is expired before seeing if it is pending.
2019-11-22 09:50:26 -05:00
leigh-mil
58a0b2dd9d Move display status logic to be a property of an ApplicationRole 2019-11-20 12:08:41 -05:00
leigh-mil
9f90f5abbd Update app member status labels to accurately reflect member's current status 2019-11-20 11:59:48 -05:00
leigh-mil
a4f21dc7e6 Prevent error from being raised when user is not trying to update a
disabled env role

We were only checking to see if a role was disabled or deleted before
raising an error, so I added in a check to see if the user was trying to
update the env role before raising an error. The error should only be
raised if the role is disabled or deleted AND the user is trying to
assign a new role to the env role.

I also added in a disabled property to the EnvironmentRole model to make
things more readable.
2019-11-15 09:51:02 -05:00
leigh-mil
e8f21acf5b PR fixes 2019-11-12 16:59:22 -05:00
graham-dds
a8d5201cc6 Standardize member and env name ordering 2019-11-08 15:06:25 -05:00
leigh-mil
e5f83d2456 Update relationship between Environment and EnvironmentRole so only environment roles that are not deleted are included 2019-11-07 11:53:37 -05:00
richard-dds
daa0f81dd5 Merge pull request #1149 from dod-ccpo/lgtm-fixes
LGTM Fixes
2019-11-04 15:35:03 -05:00
richard-dds
e3c9105270 Fix some LGTM errors 2019-10-31 13:46:04 -04:00
tomdds
3e7a720ffb Post-rebase fixes 2019-10-30 16:43:59 -04:00
leigh-mil
e64900245d Remove baseline_info column from environments table 2019-10-30 14:46:33 -04:00
richard-dds
d1e6533824 Implement EnvironmentRoles.disable 2019-10-29 15:57:57 -04:00
graham-dds
9de90d796d Rename audit log feature flag config variable 2019-10-21 11:36:53 -04:00
graham-dds
1ac9243749 edit create_audit_event method of AuditableMixin
- create dictonary of log data and log it. Only create insance of
AuditEvent if AUDIT_LOG_FEATURE_TOGGLE is set to True
2019-10-21 11:36:40 -04:00
richard-dds
1bce0a1f01 Revert user deletion job 2019-10-14 16:51:19 -04:00
richard-dds
00f76ae5af Add delete user job 2019-10-08 16:42:25 -04:00
graham-dds
237123d474 Make application description optional 2019-10-08 13:15:28 -04:00
richard-dds
2fca542100 Implement dispatch query for provision_user 2019-09-20 11:37:18 -04:00
richard-dds
d1e146f577 Add create_user task 2019-09-19 16:56:36 -04:00
dandds
82c34ee9b1 Display real environment processing status. 2019-09-18 16:34:56 -04:00
dandds
3a23c54723 Add a beat processing schedule for environment provisioning jobs.
The beat schedule is set to once per minute for each of the three
environment provisioning tasks.

Adding a beat schedule surfaced two problems that are addressed here
with the following changes:
- Commit the SQLALchemy session in order to release the environment
  lock. Otherwise the change to the `claimed_until` field is not
  persisted.
- Set `none_as_null` on the JSOB fields on the `Environment`. This
  avoids problems with querying on Postgres JSON fields that are empty.

This also adds a small change to the development command for the Celery
worker. Multiple child processes were executing the beat jobs, which
lead to exceptions for environment locks and confusing log output. This
contrains the dev command to a single Celery worker.
2019-09-18 16:34:56 -04:00
richard-dds
53e993ea34 Filter out claimed environments 2019-09-17 11:54:18 -04:00
richard-dds
7004f7d37e Add a docstring and some comments 2019-09-17 11:32:24 -04:00