bcgov / bcgov/lcfs

LCFS - Charging site and FSE status workflow

Open
#3,005 0 comments 0 reactions 1 assignee Claimed by @airinggov View on GitHub
FSE Medium Story
Dominant language
Python
Stars
7
Forks
7
Avg merge
2d 7h
Merged PRs (30d)
87

Description

**Description:**
Implement a status system for Charging sites and FSE:
- Charging sites, four states: Draft, Submitted, Validated, Updated
- FSE, five states: Draft, Submitted, Validated, Updated, and Decommissioned

Each status has specific visibility and edit permissions for BCeID and IDIR users.

**Purpose and benefit to user:**
Provides clear lifecycle management and access control for each entity.

**Acceptance Criteria:**
- Draft: Editable by BCeID, hidden from IDIR. Can be deleted or submitted.
- Submitted: Read-only for BCeID, visible to IDIR for validation or return to draft for further updates.
- Validated: Visible and read-only for BCeID and IDIR. (an edit ability may be required to maintain data accuracy but not in the standard workflow, could be developed later).
- Updated: Is a new Version created from a Validated version and is behave similar to Draft status. Editable (including delete) by BCeID, hidden from IDIR until submitted. Once validated it gets a new version number that supersedes the previous version.
- Decommissioned: Only applies to FSE. Visible and read-only for BCeID and IDIR. Still connected to older reports. Will be excluded from new reporting.
- When a new version of a FSE is validated the previous version can be set to Decommissioned.
- Submitting a compliance report sets all reported FSE (has dates of supply entered) that are in Draft and Updated status to Submitted. BCeID will no longer be able to update them after report submission. If they require supplemental type changes the analyst can set individual FSE back to draft from the FSE maintenance system.
- Only dates of supply, kWh usage and Compliance notes require a supplemental report to update.

**Development Checklist:**
- [ ] Implement status transitions
- [ ] Enforce visibility rules per role
- [ ] Ensure Updated versions supersede previous ones in new reports.
- [ ] Ensure older versions remain connected to their old reports.
- [ ] Prevent edits to Submitted unless returned to Draft

**Notes:**
Updated status mimics Draft but is versioned and replaces previous Validated data.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.