-
Notifications
You must be signed in to change notification settings - Fork 13
#5420 - Update Offering View #5563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
sources/packages/backend/apps/api/src/utilities/datatable-config.ts
Outdated
Show resolved
Hide resolved
...ckend/apps/api/src/services/education-program-offering/education-program-offering.service.ts
Outdated
Show resolved
Hide resolved
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Show resolved
Hide resolved
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Show resolved
Hide resolved
...ckend/apps/api/src/services/education-program-offering/education-program-offering.service.ts
Show resolved
Hide resolved
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Outdated
Show resolved
Hide resolved
|
note: Branch name is missing leading # so I couldn't find it at first! |
There was a problem hiding this 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 |
sources/packages/backend/apps/api/src/route-controllers/models/pagination.dto.ts
Outdated
Show resolved
Hide resolved
sources/packages/backend/apps/api/src/utilities/datatable-config.ts
Outdated
Show resolved
Hide resolved
…Summary.e2e-spec.ts
…Summary.e2e-spec.ts
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Outdated
Show resolved
Hide resolved
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Outdated
Show resolved
Hide resolved
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Outdated
Show resolved
Hide resolved
...tests_/e2e/education-program-offering.institutions.controller.getOfferingSummary.e2e-spec.ts
Outdated
Show resolved
Hide resolved
| baseEndpoint = `/institutions/education-program-offering/location/${institutionLocation.id}`; | ||
| }); | ||
|
|
||
| it("Should return all offerings when no filters are applied.", async () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
weskubo-cgi
left a comment
There was a problem hiding this 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( |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
…Summary.e2e-spec.ts
…Summary.e2e-spec.ts
| props.educationProgram.isExpired || | ||
| AuthService.shared.authClientType === ClientIdType.AEST | ||
| ) { | ||
| if (props.allowEdit) { |
There was a problem hiding this comment.
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
|
dheepak-aot
left a comment
There was a problem hiding this 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. 👍




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:

Refactoring example: