Releases: bcgov/tfrs
v1.1.3 User Management BETA
This release includes
PR #700 Roles list
Added new tab: Roles for Admin
- Added a new tab for Roles
- Roles should be clickable to show permissions
- Role row is clickable
PR #701 Devops pipeline timeout
Extend pipeline timeout to 30 minutes
PR #702 Roles list updates
Follow-up Pull Request to fix some issues found.
- Added Tabs in Company Details
- The import for getRoles had to change since it's no longer the only thing in roleActions
- Simplified the way to get the organization in Company Details
- Changed how the Download button looks like in Fuel Suppliers
PR #714 Clickable rows
Made the rows clickable for Credit Transactions, User and User Activity
- Changed zero reason label
- Changed file name for Download as .xls
- Changed the text in Settings
- Notification Labels have now PVR specific messages
- Credit Transactions table rows are now clickable
- User Table rows are now clickable
- User Activity rows are now clickable
- Various Fixes
PR #716 Credit Trade Status Fix
Fixed an issue with the Credit Trade Status model
PR #715 User create
- Added UserCreationRequest model. The function of this model is to bind a Keycloak principal to a TFRS user on first login (by email address).
- Added authentication logic to create the binding
- Added /api/users/by_username?username={username} API call to facilitate redirect after user creation
- Fixed caching issue for CreditTrade list that can occur in rare situations
PR #718 Notification draft status
Pulled back and Returned to Analyst are now possible notifications.
- Added Pulled Back notification
- Added Returned to Analyst notification
- Added conditions to check so the service knows which notification to send when a credit trade is updated.
PR #723 Credit Trade History and User Activity Server-Side Pagination
- Added server-side pagination for some large tables to reduce load times
- Moved the state of the table into the relevant react components rather than the store, since the maintenance of this state is local to the corresponding component.
PR #720 Historical data entry notifications
Notifications are now sent out when using the commit function in Historical Data Entry
- Added notification hook in batch process
- Related organization should be populated in the Notification Message
PR #724 BDD - Minor Stability Update
- Minor update to hopefully improve stability based on some odd test failures and subsequent investigation.
- After running some trials, it looks like there is a rare case where the expected content of a dropdown does * not exist. Possibly due to some rare loading race condition, or having to do with minuscule loading delays between focusing the dropdown, and when the dropdown content renders?
Adding waits around all dropdown selectors, which in the best case scenario will improve stability; worst case nothing will change.
PR #726 Status change patch
Renamed Credit Trader, simplified the process of changing the status (code-wise). Cleaned up permissions.
- Created a migration to change Credit Trader to Credit Transfers
- Changing status uses PATCH instead of PUT now
- Code cleanup regarding permissions
PR #732 BDD - Updated notification wait logic + minor quality of life improvements
- Update notification waits.
- Move assertions from functions back in line, to improve console output if failures occur.
PR #731 Fix history issue when BUILD_NUMBER undefined
PR #697 font awesome icon eye changed to box-open
PR #727 #728 Path based url
PR #691 updated db_comment for fair_market_value_per_credit
PR #721 update timeout of notification server build
PR #703 contributing update for link to trello
Database Migration
- 0039_usercreationrequest.py // PR #715
- 0040_auto_20181024_2106.py // PR #715
- 0041_merge_20181031_2228.py // PR #715
- 0042_update_credit_trader_role_description.py //PR #726
- 0043_edit_user_permission_clean_up.py //PR #726
Implemented Trello Cards
PR #700 Roles list
- Trello-937 User Management | View the Permissions that are associated with Government roles IDIR
- Trello-799 User Management | View the Permissions that are associated with the Fuel Supplier roles BCeID
PR #702 Roles list updates
PR #714 Clickable rows
- Trello-980 Credit Transfer | Adjust zero dollar per credit language on credit transfer view screen
- Trello-983 Credit Transactions | Change default file name of downloaded excel file
- Trello-841 Credit Transactions | Remove Your Comment from New Credit Transaction screen
- Trello-982 Notifications | Notification message for PVRs
- Trello-984 Notifications | Adjust labels in Settings
- Trello-989 Credit Transactions | Click on transaction to open
- Trello-1007 User Management | Click on row to open user details
PR #715 User create
- Trello-502 User Management | Create User
- Trello-998 Performance | Add user ID to hash computation for credit transfer etag calculation
PR #723 Credit Trade History and User Activity Server-Side Pagination
PR #720 Historical data entry notifications
PR #726 Status change patch
- Trello-992 Credit Transfer | Change the API call for Update Status to use Patch
- Trello-995 Roles | Change Credit Trader role label to Credit Transfers
- Trello-1008 Bug | Save User Redirects to /admin/user
Technical information
This release was deployed on dev Oct 30 2018
This release was deployed on test Nov 9 2018
v1.1.2 User Roles
This release includes
PR #687 Managing Users Role
Updated the permissions for Managing Users role
- Added the Add User button in Company Details for fuel supplier
- Added migration to update the description and permission for Managing Users
- Added read-only Organization for when Fuel Suppliers add users
PR #585 Fix for 1 vulnerable dependencies - npm:debug:20170905
This PR fixes one or more vulnerable packages in the npm dependencies of this project.
PR #679 Hide SMS settings
Hide SMS settings column for demo
Better authentication flow (friendly message) in the case where a user is logged into Keycloak but has no mapped user within TFRS
PR #681 Decline Transaction Changes
Changed the transaction history message for Decline.
- Fixed an issue with declining
- Changed the transaction history message for Decline
PR #693 978_MinorTestFix
- Code Changes
- Trivial fix for the checkbox logic.
- Pipeline Update
- New OpenShift Environment Variables to develop-client-pipeline and functional-test-pipeline
- SUPPLIER_ONE_ORG=TFRS Fantastic Fuels
- New OpenShift Environment Variables to develop-client-pipeline and functional-test-pipeline
PR #692 1006 - add credit balance assertions
- Add credit balance assertions.
- Update credit amounts (to ensure all +/- combinations of credits are unique)
- Other trivial/minor updates.
- Add .env support to build.gradle (for local testing against docker)
- Can rename 'example.env' to '.env' and it will be picked up automatically.
PR #696 978_MinorTestFix_2
Add exists() check for .env logic.
PR #695 Different way to disabling snyk
Apparently, prepare is a hook for npm. So that's why it was running it every time.
Database Migrations
- 0039_update_fs_admin_permissions.py //PR #687
Operational Instruction
New OpenShift Environment Variables to develop-client-pipeline and functional-test-pipeline
- SUPPLIER_ONE_ORG=TFRS Fantastic Fuels
Implemented Trello cards
PR #687 Managing Users Role
- Trello-789 User Management | Create Managing Users Role BCeID
- Trello-970 User Management | Update User pencil icon for BCeID users
- Trello-456 User Management | Implement the Role Selection function for Managing Users Role BCeID
- Trello-969 User Management | Create User button for BCeID users
- Trello-971 User Management | Display read only Fuel Supplier name when creating or updating a user for BCeID Managing Users role
PR #679 Hide SMS settings
PR #681 Decline Transaction Changes
Technical Information
This release was deployed on Dev Oct 26 2018.
This release was deployed on Test Oct 30 2018.
v1.1.1
This release includes
PR #652 Create user form
Front-end for the create user should be complete. (no back-end submit yet)
- Form should have all the fields needed for creating a user
- Roles are loaded from the back-end
- Autocomplete implemented for Fuel Suppliers
- Confirmation Alert implemented
- System Alert implemented
- Edit icon should now be available
- Permission is required for the Edit icon to show up
- New migration to update guest role
PR #664 Django security update
Update Django to 1.11.15 due to potential security vulnerability.
PR #663 Persist destination in localStorage when navigating
- Added targetPath reducer that watches for redux-oidc action LOAD_USER and preserves current route in state.
- Added redux-localstorage dependency and modified store configuration to persist the state for reducer targetPath
- Streamlined configuration of store object
- Minor adjustments to docker config to make it less verbose
PR #665 Fix the failing tests caused by the changes to permissions
Follow-up PR to fix the failing tests caused by the referenced PR #652
- Reverted the permissions back to its previous state
- Added EDIT_FUEL_SUPPLIER_USERS permission
PR #666 Added tests and allow parameter to filter the roles
Made the roles that show up in the create/edit user more dynamic.
- Roles can be filtered by parameters
- Added tests
PR #667 Added Keycloak support to the docker-compose image
- Add support for Keycloak authentication to the docker iamge
- Pre-populate a test Keycloak realm with users on startup
PR #670 Assign roles permission
Roles in Add/Edit User form should now have tooltips on what kind of permissions the role has.
- Added tooltip for permissions
- Remove extra $ from text representation
- Fix minor eslint issues
PR #671 Emailed Notifications Support
Enable basic support for notification by email
PR #673 Fixed an issue where the a user cannot rescind a recommended transfer
Fixed the issue where a fuel supplier can't rescind a recommended transfer
- Updated serializer so it simulates a partial update
- Removed the reliance for front-end translation for roles
PR #674 Token renew
- Process token silent renewals, preventing session timeout and token expiry.
- Processing occurs via a callback from keycloak to an iframe
- Another script bundle was created to facilitate communication between the iframe and redux-oidc for consumption of the renewal events
PR #677 Rename Approved to Record and Completed to Approved
Changed some of the credit trade status labels
- Added migration
- Changed Approved to Recorded
- Changed Completed to Approved
- When approving a credit transfer, the system no longer creates an approved history
- Updated tests
- Changed the colours to follow the government specs
Migrations
- 0031_role_display_order.py //PR #652
- 0032_role_rename.py //PR #652
- 0033_update_admin_permissions.py //PR #652 #665
- 0034_update_guest_permissions.py //PR #652
- 0035_add_assign_role_permissions.py //PR #666
- 0036_update_credit_statuses.py //PR #667
- 0037_add_deputy_director_role.py //PR #667
- 0038_credittradehistory_user_role.py //PR #667
The implemented Trello Cards
PR #652 Create user form
- Trello-502 User Management | Create User
- Trello-607 Confirmation Alerts | Create User
- Trello-376 System Alerts | User added
- Trello-810 User Management | Create TFRS Admin Role IDIR
- Trello-938 User Management | Update Existing Users BCeID
- Trello-801 Confirmation Alerts | Update User
- Trello-802 System Alerts | User Updates saved
- Trello-936 Roles | Create Guest Role
- Trello-261 User Management | Implement the Role Selection function for TFRS Admin Role
PR #666 Added tests and allow parameter to filter the roles
PR #670 Assign roles permission
PR #666 Added tests and allow parameter to filter the roles
PR #671 Emailed Notifications Support
PR #673 Fixed an issue where the a user cannot rescind a recommended transfer
PR #674 Token renew
PR #677 Rename Approved to Record and Completed to Approved
- Trello-880 Credit Transactions | Adjust the Approval Transaction History entry when using the Historical Data Entry
- Trello-911 Credit Transactions | Add an Analyst Transaction History entry when using the Historical Data Entry feature
Technical Infomration
This release was deployed on Dev Oct 22 2018
This release was deployed on Test Oct 22 2018
v1.1.0 Notification
This release includes
PR #643 Various front-end fixes that were caught during the sprint review
Some bugs were found during sprint review. This PR is to fix them.
- Explanatory comment validation
- Number of credits validation message
- New Input component with tooltip
- Organization that refused the credit transfer should have their name properly displayed
PR #646 Mark Notifications as Read on Click
Automatically mark the notification as read upon click.
- Changed to
- Added updateNotification call to button
PR #653 changed the icon for archive notification and undo award
Migrations and Scripts
N/A
Trello Cards Implemented
PR #643 Various front-end fixes that were caught during the sprint review
- Trello-863 Credit Transfer | Adjust error message when failing to provide an explanatory comment for reason Other for zero dollar credit transfers
- Trello-871 Credit Transfer | Adjust sentence on View screen when transfer has different statuses
- Trello-882 Credit Transactions | Auto-set column width in Excel files so that user can see entire header
PR #646 Mark Notifications as Read on Click
PR #653 changed the icon for archive notification and undo award
Technical Information
This release was deployed on Dev Oct 4, 2018.
This release was deployed on Test Oct 5, 2018.
This release was deployed on Prod Oct 22, 2018. Keycloak has not been integrated yet. The operational scripts in "v1.0.12 Keycloak Integration" have NOT been applied on Prod.
The operational scripts in "v1.0.12 Keycloak Integration" was applied on Prod Nov 15 2018.
The deployment numbers were:
- client:57
- notification-server:1
- tfrs:88
v1.0.12 Keycloak Integration
This release includes
PR #642 Keycloak
Complete keycloak/JWT implementation, co-existing with Siteminder for now.
Set environment KEYCLOAK_ENABLED for both node and django to preview the functionality. The docker- compose.yml gives a good overview about how to set it up.
Keycloak user attribute user_id is mapped to django User.username by the new authentication middleware.
PR #648 Externalized Configuration
Externalize feature configuration to a file, public/features/config.js to support OpenShift configMap deployment-time environment customisation via file injection.
This can't be accomplished via environment variables in our current deployment configurations since the application is built only once and deployed in several environments, served as a static bundle.
PR #654 Update Keycloak configurations
Update Openshift templates to include Keycloak configuration
PR #655 BDDStack keycloack integration changes.
Update for latest keycloak/headless considerations.
Current condition of tests (specifically, running against keycloak-dev in headless mode):
- Issue with React not redirecting to the previous page after authenticating on page load (Rob investigating). Workflow tests Ignored for now.
- Issue with the Contact Us footer link. Seems to have an issue similar to the above redirect weirdness. Test commented out for now.
- Issue testing links that direct to PDFs specifically in headless mode. Tests commented out for now. (Low priority)
PR #661 Pipeline modification to include functional test
Operational Scripts
v1.0.12_Keycloak_Ingreation.txt
v1.0.12_dev_features.js //for dev
v1.0.12_test_features.js //for test
v1.0.12_prod_features.js //for prod
Implemented Trello Cards
Technical Information
This release is deployed on Dev Oct 3 2018.
This release is deployed on Test Oct 5 2018.
This release was deployed on Prod Oct 22, 2018 with v1.1.0. but the operation scripts have NOT been applied on Prod yet. They should be done once prod Keycloak SSO is setup by lab.
The operation scripts were applied on prod Nov 15, 2018
v1.0.11
This release includes
PR #630 No-Cache for Notifications
Added a never_cache decorator for IE as it seems to be running into caching issues
- Added never_cache decorator to list()
PR #632 Negative values are no longer allowed for Fair Market Value Input
Negative symbol is no longer allowed in the FairMarketValueInput
- Prevent keypress of -
- Paste should also detect if there's a - in the clipboard
- Tooltip should be shown notifying the user negative values are not allowed
PR #634 Increase the width of some columns for the download spreadsheet
Increased the width of the columns for the spreadsheet so they show the full value without needing the user to manually adjust it.
Database Migrations and Scripts
N/A
Implemented Trello Cards
PR #630 No-Cache for Notifications
PR #632 Negative values are no longer allowed for Fair Market Value Input
PR #634 Increase the width of some columns for the download spreadsheet
Techical Information
This release has been deployed on Dev and Test Sep 26, 2018.
This release was deployed on Prod Oct 22, 2018 with v1.1.0.
v1.0.10 Functional test
This release introduced a set of functional tests based on current TFRS implementation
PR #625 BDD Test Uplift + Initial Workflow/Flow tests.
Added spec for flow tests.
- Includes basic minimal set of tests for header/footer links.
- Can decide to expand these, or toss them if we don't want to test links in general.
Added spec for credit transfer scenario.
They fill every field, including comments. - Currently they only assert on the notification badge count.
- Need to determine what additional assertions to add, if any.
- Added more IDs to UI elements for use in functional tests.
Added CodeNarc to build a report of linting errors. - Fixed majority of issues, in particular all of the 'priority' issues.
- Need to continue to tweak the rules (or remove some rules).
PR #638 Updates to better support OpenShift environment variables
- Updates to better support OpenShift environment variables.
- Trivial fix for real check box selector.
PR #641 update podtemplate
Updated the functional test pipeline
Implemented Trello cards
PR #625 BDD Test Uplift + Initial Workflow/Flow tests.
Technical Information
This release has been deployed on Dev and Test Sep 26, 2018.
This release was deployed on Prod Oct 22, 2018 with v1.1.0.
v1.0.9 message, permission change and adding notification build to pipeline
This release includes:
PR #623 Changed the message for Zero-Dollar Reason validation
Change the validation message for Zero-Dollar when no reason has been selected.
- Changed the message for zero-dollar reason validation
PR #627 Show only one "Return" button when user has both analyst and director role
Added condition to only show one button for returning the status to draft if the user has both analyst and director role.
- Added a check if Pull Back was already included
PR #628 Devops pipeline notification
Add notification server build to pipeline
Database migrations and scripts
N/A
Implemented Trello Cards
PR #623 Changed the message for Zero-Dollar Reason validation
PR #627 Show only one "Return" button when user has both analyst and director role
Technical Information
- This release has been deployed on dev Sep 24 2018
- This release has been deployed on test Sep 25 2018
This release was deployed on Prod Oct 22, 2018 with v1.1.0.
v1.0.8 Maintenance Release - RabbitMQ and Notification server setup
This release is a maintenance release including operational process to create RabbitMQ and Notification server.
PR #635 templates cleanup, reorganize and add notification server templates
Operational Process
RabbitMQ and Notification ServerSetup
- Create secrete rabbitmq according to the environment. It is used by Notification server to connect to RabbitMQ
- Run command:
Dev:
oc process -f ./create-notification.withprameters.json -p \
ENV=dev \
NOTIFICATION_SERVER_IMAGE_NAME=notification-server-develop \
PROJECT_NAME_SPACE=mem-tfrs-dev \
TFRS_INTERNAL_HOST_NAME=dev-lowcarbonfuels.pathfinder.bcgov \
| oc create -f -
Test:
oc process -f ./create-notification.withprameters.json -p \
ENV=test \
NOTIFICATION_SERVER_IMAGE_NAME=notification-server \
PROJECT_NAME_SPACE=mem-tfrs-test \
TFRS_INTERNAL_HOST_NAME=test-lowcarbonfuels.pathfinder.bcgov \
| oc create -f -
Prod:
oc process -f ./create-notification.withprameters.json -p \
ENV=prod \
NOTIFICATION_SERVER_IMAGE_NAME=notification-server \
PROJECT_NAME_SPACE=mem-tfrs-prod \
TFRS_INTERNAL_HOST_NAME=prod-lowcarbonfuels.pathfinder.bcgov \
| oc create -f -
Add following environment variables to tfrs deployment configuration and roll it out.
projectname is one of mem-tfrs-dev, mem-tfrs-test and mem-tfrs-prod
{
"name": "RABBITMQ_USER",
"value": "tfrs"
},
{
"name": "RABBITMQ_VHOST",
"value": "/tfrs"
},
{
"name": "RABBITMQ_HOST",
"value": "rabbit.<projectname>.svc"
},
{
"name": "RABBITMQ_PASSWORD",
"valueFrom": {
"secretKeyRef": {
"name": "rabbitmq",
"key": "password"
}
}
}
Run the export script to update Openshift templates
Technical Information
- The script has been run on dev Sep 21 2018
- The script has been run on test Sep 24 2018
- This release was deployed on Prod Oct 22, 2018 with v1.1.0.
v1.0.7 Path based URL
This release includes
PR #621 Path Based URL for New Pipeline
We can now mount the application in a "subfolder".
Please make sure to update the .env file appropriately. This is shared between front-end and back-end.
.env should be in the project root folder (not in backend or frontend).
Here's a sample content:
BASE_PATH=/pr-1
- New package for NPM to allow reading of .env
- New package for django to allow reading of .env
- Updated wsgi to make the variable work
Database migration and srcipts
N/A
Implemented Trello Cards
PR #621 Path Based URL for New Pipeline
Technical Information
- This release was deployed on Dev Sep 21, 2018
- This release was deployed on Test Sep 21, 2018
- This release was deployed on Prod Oct 22, 2018 with v1.1.0.