Skip to content

Conversation

@tiago-graf
Copy link
Collaborator

@tiago-graf tiago-graf commented Dec 26, 2025

Front End Changes

Offering Summary View updated with new design: Add offering left of Program Actions
Add Filters to Offerings table: Start Study Date Range + Intensity
Data table updated with new design: Split Study Dates column
Fixes standard intensity text (Full-time, Part-time) and delivery options (Onsite, Online)

Back End Changes

Add new filters logic to get offering summary service method.
Add new e2e tests

Refactoring Changes

Updated filter toggle buttons in various views to use density="compact" for a standard presentation.

Screen follows a responsive design based on the ticket example wireframe:
image

image image

Refactoring example:

image

@tiago-graf tiago-graf added Institution Institution Features Web portal labels Dec 26, 2025
@tiago-graf tiago-graf marked this pull request as ready for review December 26, 2025 23:12
@tiago-graf tiago-graf marked this pull request as draft December 29, 2025 18:07
@tiago-graf tiago-graf self-assigned this Dec 29, 2025
@tiago-graf tiago-graf changed the title $5420 - Update Offering View (Frontend) $5420 - Update Offering View Dec 29, 2025
@tiago-graf tiago-graf added Ministry Ministry Features E2E/Unit tests Backend Used by the dependabot pull requests to identify PRs related to the backend. labels Dec 29, 2025
@tiago-graf tiago-graf marked this pull request as ready for review December 29, 2025 20:12
@weskubo-cgi
Copy link
Collaborator

note: Branch name is missing leading # so I couldn't find it at first!

@weskubo-cgi
Copy link
Collaborator

issue: I forgot to mention that the search fields get pretty squished together when they start wrapping at lower resolutions:

image

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the offering summary view with enhanced filtering capabilities and UI improvements. The changes introduce new filters for study start date range and intensity, restructure the data table to split study dates into separate columns, and standardize the presentation of intensity and delivery options text.

Key changes:

  • Added date range and intensity filters to the offering summary search interface
  • Split the combined "Study Dates" column into separate "Study Start Date" and "Study End Date" columns with sorting enabled
  • Standardized text formatting for intensity (Full-Time, Part-Time) and delivery options (capitalized)

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
sources/packages/web/src/components/common/OfferingSummary.vue Added date range and intensity filters with validation, restructured data table columns, and implemented text formatting helpers
sources/packages/web/src/components/common/ProgramDetails.vue Moved "Add offering" button from OfferingSummary to ProgramDetails header, updated prop naming to kebab-case
sources/packages/web/src/components/common/ManageProgramAndOfferingSummary.vue Refactored offering edit permission logic from OfferingSummary to parent component, updated prop naming to kebab-case
sources/packages/web/src/types/contracts/DataTableContract.ts Split "Study Dates" header into separate start/end date columns and enabled sorting on multiple columns
sources/packages/backend/apps/api/src/utilities/datatable-config.ts Added OfferingPaginationOptions interface with new filter properties for intensity and date range
sources/packages/backend/apps/api/src/route-controllers/models/pagination.dto.ts Extended OfferingsPaginationOptionsAPIInDTO with intensity and date filters, updated sortable fields list
sources/packages/backend/apps/api/src/services/education-program-offering/education-program-offering.service.ts Implemented filtering logic for intensity and study start date range in getAllEducationProgramOffering method
sources/packages/backend/apps/api/src/route-controllers/education-program-offering/_tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts Added comprehensive e2e tests covering all new filter combinations and edge cases
sources/packages/web/src/views/institution/locations/program-info-request/LocationProgramInfoRequestSummary.vue Added density="compact" to filter toggle button for consistent styling
sources/packages/web/src/views/institution/locations/confirmation-of-enrollment/COESummaryData.vue Added density="compact" to filter toggle button for consistent styling
sources/packages/web/src/views/aest/institution/InstitutionNotes.vue Added density="compact" to toggle button and updated prop naming to kebab-case
sources/packages/web/src/views/aest/CASInvoices.vue Added density="compact" to filter toggle button for consistent styling
sources/packages/web/src/components/common/notes/StudentNotes.vue Added density="compact" to toggle button and updated prop naming to kebab-case

@dheepak-aot dheepak-aot self-requested a review December 30, 2025 21:46
baseEndpoint = `/institutions/education-program-offering/location/${institutionLocation.id}`;
});

it("Should return all offerings when no filters are applied.", async () => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

@weskubo-cgi weskubo-cgi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. There's one minor comment I added to ManageProgramAndOfferingSummary.vue that would be good to get cleaned up.

setup(props) {
const { isReadOnlyUser } = useInstitutionAuth();
const isProgramEditable = computed(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: This doesn't need to be computed as it's not used in the template.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it actually caused a bug after I removed the computed, I don't know much about why but I ended up adding it back

@dheepak-aot dheepak-aot changed the title $5420 - Update Offering View #5420 - Update Offering View Jan 2, 2026
props.educationProgram.isExpired ||
AuthService.shared.authClientType === ClientIdType.AEST
) {
if (props.allowEdit) {
Copy link
Collaborator

@dheepak-aot dheepak-aot Jan 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be (!props.allowEdit) as the logic inside if s now a flip condition from past

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 2, 2026

@github-actions
Copy link

github-actions bot commented Jan 2, 2026

Backend Unit Tests Coverage Report

Totals Coverage
Statements: 20.35% ( 4323 / 21244 )
Methods: 9.68% ( 252 / 2603 )
Lines: 24.5% ( 3705 / 15123 )
Branches: 10.4% ( 366 / 3518 )

@github-actions
Copy link

github-actions bot commented Jan 2, 2026

E2E Workflow Workers Coverage Report

Totals Coverage
Statements: 75.41% ( 1055 / 1399 )
Methods: 79.31% ( 115 / 145 )
Lines: 78.79% ( 769 / 976 )
Branches: 61.51% ( 171 / 278 )

Copy link
Collaborator

@dheepak-aot dheepak-aot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the changes and doing some refactors on the way. Looks good. 👍

@tiago-graf tiago-graf added this pull request to the merge queue Jan 2, 2026
Merged via the queue into main with commit f8e7b26 Jan 2, 2026
20 checks passed
@tiago-graf tiago-graf deleted the feature/5420-update-offering-view branch January 2, 2026 23:23
@github-actions
Copy link

github-actions bot commented Jan 2, 2026

E2E Queue Consumers Coverage Report

Totals Coverage
Statements: 85.68% ( 1616 / 1886 )
Methods: 85% ( 187 / 220 )
Lines: 88.64% ( 1287 / 1452 )
Branches: 66.36% ( 142 / 214 )

@github-actions
Copy link

github-actions bot commented Jan 2, 2026

E2E SIMS API Coverage Report

Totals Coverage
Statements: 75.5% ( 8548 / 11322 )
Methods: 75.5% ( 1023 / 1355 )
Lines: 79.58% ( 6213 / 7807 )
Branches: 60.74% ( 1312 / 2160 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend Used by the dependabot pull requests to identify PRs related to the backend. E2E/Unit tests Institution Institution Features Ministry Ministry Features Web portal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants