Skip to content

Releases: bcgov/zeva

v1.3.0

v1.2.0

v1.1.0

v0.0.10

25 Feb 01:21
be895a3
Compare
Choose a tag to compare
v0.0.10 Pre-release
Pre-release

PR Pipeline implementation #85

v0.0.9

18 Feb 19:02
1969e91
Compare
Choose a tag to compare
v0.0.9 Pre-release
Pre-release

Test Scripts

fixtures/test/0004_add_bceid_users.py

Minor Front-end Changes #62

Moved the log out button so its under the User menu
Adjusted the header so there's a bit more padding on the sides (scrollbar makes it look too tight)
Updated the Vehicle History table so it reflects the columns in the backend
Added LOGOUT_URL config so we can expire the session in siteminder

Rename migration so there's only one 0001 #63

Automatically Filter Makes When Creating a New Vehicle #65

The system should now only load makes associated to your organization

Bump django from 3.0.2 to 3.0.3 in /backend #66

Bumps django from 3.0.2 to 3.0.3.

Status change validation #67

Moved permission check so it allows suppliers to set the status of a vehicle to SUBMITTED
Fixed tests caused by the rename of some fixtures
Merge with Rob's test-permissions branch
Updated status change test

Error Handling for Front-end #70

Adds a componentDidCatch so that js errors don't just render a blank page
Added a catch for fetching the user's information so that it doesn't get stuck in a loading icon

Fixtures for Test BCEID Users #71

Similar to the add users fixture, this adds "us" as bceid users with random organizations

v0.0.8

10 Feb 21:00
1db21b3
Compare
Choose a tag to compare
v0.0.8 Pre-release
Pre-release

Pull Requests

Range types #59

ZEVA-69 Implement vehicle ZEV class rules
Removed back from the government vehicle listing page (As it's already a list page)
Updated the vehicle list table
-- Removed Fuel Type column
-- Added ZEV Type column
-- Changed the logic behind the Class column
Set widths on the columns to show a nicer layout
By default, shows the whole list instead of needing to page

Added Sales List and Sales Detail front-end #60

ZEVA-64 ZEV sales page
Added SalesDetailsContainer
Added SalesListContainer
Removed unused imports
Renamed VehicleDetailContainer to VehicleDetailsContainer

Roles and Permissions #61

Create a new management script sync_roles that will create appropriate roles and groups within Keycloak. It must be run with valid SA account token having realm_admin scope and role assignment to function correctly.
Add role checks for some Navbar items and viewset responses (preliminary, so far)
Roles can be assigned to users within the Keycloak admin console for now (assign a group to a user and they get all that group's roles. Users may have more than one group.)
Create role/permission view page that loads information from Keycloak

v0.0.7

07 Feb 19:21
a85efb3
Compare
Choose a tag to compare
v0.0.7 Pre-release
Pre-release

Pull Requests

PR #55 Followup: Code cleanup for login fix

Move proptypes for common things to a utility file to avoid boilerplate
linting
use implicit oauth2 flow

PR #56 Prebuild JS for Openshift

Changelog
Create a script to serve the app via express rather than webpack-dev-server
Disabled eslint src as prepare phase npm script. It blocks npm install from executing properly.
Devops notes:
Run npm run dist after npm install in build phase to generate script and resources
Use node serve as application entry point to launch service (launches on both port 5001 and 5002, as before).
Resolves sockjs connection issues, and builds in production mode

PR #48 Validation status

ZEVA-68 Update History Table so it keeps track of the status changes
Pylint/Pycodestyle fixes
Removed unused models
Removed old test fixtures
Changed state into validation_statuses
Generated new migration
Updated history table

PR #58 Remove redundant cloud in Jenkins

v0.0.6

06 Feb 22:22
04c7fd8
Compare
Choose a tag to compare
v0.0.6 Pre-release
Pre-release

Operational scripts: not to run 0005 and 0006

  • 0000_add_government_organization.py
  • 0001_add_vehicle_makes.py
  • 0002_add_vehicle_classes.py
  • 0003_add_vehicle_fuel_types.py
  • 0004_add_model_years.py
  • 0007_add_organizations.py

Pull Requests

PR #41 Vehicle list filtering

Filter 'NEW' and 'DRAFT' vehicles from ZEV list for government
Update ZEV List page label
Creating vehicles now works sufficiently for demo purposes
Filter list of models by selected make in frontend when creating vehicle
Fixed tests

PR #44 modified vehicle model - model_name CharField -

ZEVA-67 Add new ZEV model
-edited vehicle model so that there is a model text field instead of foreign key/ join table
-updated test vehicles json
-updated vehicle serializer to reflect changes

PR #45 parameterize keycloak realm and client, backend fixes

Frontend now loads KEYCLOAK_CLIENT_ID and KEYCLOAK_REALM_NAME environment vars
Backend fixtures adjusted to account for model changes
requirements.txt updated with missing python-dotenv requirement

PR #46 Cors

Enable CORS headers (permissive for now) on Django

PR #47 Add Organizations

ZEVA-60 Import Suppliers
Added the list of organizations migration
Removed 2017 and 2018 from the model year migration
Added new vehicle makes
Reorganized the code to become more readable

PR #52 increase test coverage

Add coverage python dependency to execute tests with coverage
Provide a sensible .coveragerc as a starting point
Include operational data scripts in testing, since a lot of the issues I've seen thus far locally have been with these scripts and their maintenance will be important.
Test coverage to 80%.
Execute tests with coverage run and see results with coverage report. coverage report will exit with nonzero status if coverage does not meet threshold of 80%. Recommend incorporating this command into the pipeline. The test pod must have a valid POSTGRES test database to run the tests.

PR #53 Fix login, add logout button

Adjust Login frontend component to use Keycloak API
Add Logout button to Navbar

PR #54 Modelupdate

Updated model to be a string
Added edit container that loads form for editing vehicle
Saving form makes changes to that vehicle's info

PR #57 Pipeline release4

Update Openshift templates

v0.0.5

28 Jan 17:32
Compare
Choose a tag to compare
v0.0.5 Pre-release
Pre-release

Operational Scripts

  • 0000_add_government_organization.py
  • 0001_add_vehicle_makes.py
  • 0002_add_vehicle_classes.py
  • 0003_add_vehicle_fuel_types.py
  • 0004_add_model_years.py
  • 0005_add_plugin_hybrid_vehicles.py
  • 0006_add_battery_electric_vehicles.py

PR #31 Submit vehicle info backend

1 class 1 model
Frontend BaseController for common functionality like handle input change
Fixed token renewal from the front-end
Connected front-end to back-end, but since the fields are just regular input fields
General code cleanup
Please note the rename of the capitalization change for named.py
Updated DB comments

PR #35 Added dropdowns to the form that are prefilled with data from the dat…

backend:
created viewsets and serializers with make, model, year, trim, type
frontend :
axios call to backend in vehicle add container file
added dropdown component to form, filled with data from axios call

PR #34 Review eligibility requests

Remove validated in favour of state enum [NEW, DRAFT, SUBMITTED, VALIDATED, REJECTED]
Create history table and basic authorization checks
state_change detail route and serializer
maintain history of state changes (basic UI exposed for now)
export possible status changes as actions field of returned vehicle dict

PR #37 Backend Cleanup / Scaffolding

Remove unused Django middleware (Admin, Sessions)
Add database table auditing triggers and corresponding migration action (similar to TFRS)
Setup Celery and RabbitMQ (works in skaffold and the configuration is substantially similar to TFRS)
Add health check endpoint (http://django/health) for Openshift health monitoring (if it returns HTTP 200, all is well. No authentication required).
Made Django logging configuration useful

PR #39 Validate

action bar for government user
checkboxes for vehicle validation, only checkable by government
axios patch that updates db with validated vehicles

PR #36 List approved vehicles

Added relationship table between vehicle_make and organization
Minor code cleanup
ZEVA-21 Auto supplier - view approved (eligible) ZEV model information

PR #38 Vehicle migration

This is to let people review and see the upcoming changes to the vehicle table
Vehicle Table structure changes
Renaming some of the Models to be more descriptive
Fixtures for Make, Fuel Types, Vehicle Class and Vehicles based on the NRCAN data
ZEVA-58 Import relevant ZEV model data - MY2019

Database Migrations

  • 0009_auto_20200120_2005.py
  • 0010_auto_20200120_0636.py
  • 0011_vehiclechangehistory.py
  • 0012_auto_20200120_0659.py
  • 0013_vehiclechangehistory_at.py
  • 0014_setup_auditing.py
  • 0015_vehiclemakeorganization.py
  • 0016_auto_20200127_1213.py

v0.0.4

17 Jan 18:22
5538d0a
Compare
Choose a tag to compare
v0.0.4 Pre-release
Pre-release

Operational scripts

backend/api/fixtures/operational/0000_add_government_organization.py

Pull Requests

PR #24 View vehicle suppliers

Fixture to add sample vehicle suppliers
Front-end table for the Vehicle Suppliers
Back-end component to load the suppliers

PR #25 Backend Testing Works

Backend testing works now (eg python3 manage.py test).
Also works in skaffold (skaffold -p test dev)

PR #28 View Vehicle Supplier Details #28

Added styling for action-bar
Added icons to buttons
Added Detail Page for Vehicle Suppliers
Changed Router from BrowserRouter
Table now has clickable rows

PR #29 Submit vehicle info

Front-end component only
Router and Form for the Submit Vehicle Info
Styling

Vehicle Information #30

Create models for vehicle information and related entities
Preliminary viewset and serializer, list view in frontend (basic for now)
Remove last vestiges of grpc code
Create operational scripts to enable local experimentation (works in skaffold/kubernetes too, but you need to get a shell into the django pod to run it -- it should be persistent).

Release pipeline #33

Add and update templates for release based pipeline.