Releases: bcgov/zeva
v1.3.0
Sprint 13
ZEVA-40 Request range test results and create upload feature for range test info
ZEVA-130 Credit approval workflow - Director approval
ZEVA-150 Supplier upload range certification
ZEVA-151 IDIR - comments box to repond to query ZEV model request
ZEVA-152 ZEV model - Add a 3rd validation status - request changes
ZEVA-153 ZEV Model - show supplier IDIR user's comments
ZEVA-156 Autocomplete function
ZEVA-168 TFRS - Prod database migration to cluster database and pipeline update
ZEVA-169 System monitoring - add Nagios to Zeva
ZEVA-170 ICBC data exploration
v1.2.0
Sprint 12
ZEVA-125 Tech debt - Change Create User to CharField instead of the ID
ZEVA-131 Technical debt: improve the way of loading operational and test scripts
ZEVA-140 ICBC data - parsing/upload issues
ZEVA-154 TFRS Database optimization HA cluster setup
ZEVA-157 form submit validation
ZEVA-158 create relationship between vehicle and organization tables
ZEVA-159 ZEV Model form - user changes
ZEVA-165 TFRS - File submission failures
v1.1.0
Pull Requests
- ZEVA-141 Changes to Add ZEV model feature
- ZEVA-142 Remove Update User Group Call when creating a user
- ZEVA-143 Create new organization - backend
- ZEVA-145 BCEID Home/Landing Page tidy up
- ZEVA-146 BCEID organization page - disable details/info
- ZEVA-147 Tech debt: Organization container code clean up
- ZEVA-149 Import Roles functionality and logic from TFRS
- ZEVA-155 Add vehicle form validation
v0.0.10
v0.0.9
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
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
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
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
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
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.