Skip to content
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

Add scheduling report courses view #75

Conversation

jxjj
Copy link
Contributor

@jxjj jxjj commented Nov 3, 2023

This expands the scheduling report to include a Courses view of a group's class history, and changes Instructor and Teaching Assistant views to tabs.

Instructor leaves for each semester are listed in the first row. Each row shows course history. Each cell contains instructors who taught the course. Courses are considered equivalent from term to term if their department and catalog number's are the same (ARTH-1001).

ScreenShot 2023-11-03 at 13 48 43@2x

  • The logic to generate the report is restructured to make it easier to slice course/instructor data different ways. Most of the logic is moved to pinia store composables: useTerms and useGroupCourseHistory.
  • Adds pinia for state management. vuex is still used for current user state, and will be migrated to pinia eventually.
  • Sail and Cypress dependencies are bumped (this was done while troubleshooting test errors)

jxjj added 30 commits October 27, 2023 12:13
When getting courses by terms, it's possible for there to be more than one course record in the set since there could be more than 1 TA or primary instructor  (or both).

This changes things so that a `course` contains an `instructors` list which has all the course instructors. Now, each course within a term should be unique, and all the course's instructors or ta's will be on the single record.

This should make it easier to pivot from listing records by instructors or ta's to by courses.
copilot always wants to autocomplete this way, so might as well go with the flow
jxjj added 18 commits November 2, 2023 09:14
mostly this is for me to double check that I'm not duplicating data
Tests are failing when we initialize the `termsStore` in `App.vue`. Because Bandaid server data isn't available, a 500 error will show up in the console, which causes Cypress to fail.

Instead of initializing the `termStore` in `App`, this commit refactors to initialize  only when `useTermsStore` is invoked.

Mocking the termsStore was another option, but we're currently not testing anything in bluesheet that relies in bandaid.
@jxjj jxjj requested a review from cmcfadden November 3, 2023 19:25
@jxjj jxjj self-assigned this Nov 3, 2023
Copy link
Member

@cmcfadden cmcfadden left a comment

Choose a reason for hiding this comment

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

looks good!

@jxjj jxjj merged commit 486f080 into develop Nov 3, 2023
2 checks passed
@jxjj jxjj deleted the feature/71-Scheduling-report-add-view-of-teaching-history-by-courses-and-term branch November 3, 2023 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants