Skip to content

Releases: bcgov/tfrs

v1.1.3 User Management BETA

09 Nov 17:22
Compare
Choose a tag to compare
Pre-release

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

PR #702 Roles list updates

PR #714 Clickable rows

PR #715 User create

PR #723 Credit Trade History and User Activity Server-Side Pagination

PR #720 Historical data entry notifications

PR #726 Status change patch

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

30 Oct 16:10
Compare
Choose a tag to compare
v1.1.2 User Roles Pre-release
Pre-release

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

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

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

22 Oct 16:53
Compare
Choose a tag to compare
v1.1.1 Pre-release
Pre-release

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

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

*Trello-967 Credit Transfer | Allow Fuel Supplier Users to Rescind the transfer even when the transfer is recommended

PR #674 Token renew

PR #677 Rename Approved to Record and Completed to Approved

Technical Infomration

This release was deployed on Dev Oct 22 2018
This release was deployed on Test Oct 22 2018

v1.1.0 Notification

05 Oct 20:34
Compare
Choose a tag to compare

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

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

03 Oct 20:32
Compare
Choose a tag to compare
Pre-release

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

26 Sep 23:32
Compare
Choose a tag to compare
v1.0.11 Pre-release
Pre-release

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

26 Sep 22:14
Compare
Choose a tag to compare
Pre-release

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

25 Sep 16:25
Compare
Choose a tag to compare

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

24 Sep 23:18
Compare
Choose a tag to compare

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

21 Sep 17:16
Compare
Choose a tag to compare
v1.0.7 Path based URL Pre-release
Pre-release

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.