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

Creation of UI for Imported Courses #1111

Merged
merged 118 commits into from
May 7, 2024

Conversation

stevensonmichel
Copy link
Contributor

@stevensonmichel stevensonmichel commented Jan 4, 2024

Description
We have added the functionality to submit course participants and import courses for the registrar but there is no way to access that information outside of the database.

Issue
Once a course is imported using a CSV type file from the registrar, there are minimal information about that course, as the file is expected to have only the Course Abbreviation, the Term, and the Students taking that course. In that case, a more thorough access such as editing, viewing and printing some information such as Course Name, Course Credit, and Course Instructors is needed.

Solution
Fixes Issue #1059

  • For that purpose, a new tab called Imported Courses was created in the Course Management Page. That tab holds all the imported courses from the registrar, while the Native Courses tab displays the Approved and Unapproved Courses
  • Then, the imported courses have some of the native courses functionalities such as View, Print, Edit.
    View and Print leads to the normal Course Proposal page and Printing Page, while triggering Edit opens a modal in which the user can edit the Name, the Credit, as well as the Instructors for that course. The Course Abbreviation field is disabled for unicity purposes.
  • If a user chooses to edit a course that already possesses preexisting information, those information should be viewable in the modal, and changes will be made according to the user will.
  • Once information are recorded, data is sent to the backend, and that specific course data is updated in the Database.

Files Changed or Added

  • courseManagement.py
  • routes.py in admin
  • slcManagement.js
  • manageServiceLearningCourses.html
  • test_course_management.py
  • InstructorTable.js ((file added)

Tests

  • Initial setup of environment, followed by activation of the virtual environment using source setup.sh command
  • Run database/reset_database.sh test to reset the test data
  • Run flask run to start the Celts app
  • On the navigation bar, click on Admin, then Course Management
  • Click on Import Courses Participants, upload the parseUpload_ValidTest.xlsx file from celts/tests/files
  • Click on Preview and then Save
  • After, navigate in the tab Imported Courses. If a term has imported courses, those will be shown in a similar layout as Approved and Unapproved Courses.
  • Perform multiple actions, such as View, Print, and Edit
  • For Edit, check on the Database (MySQL Workbench) to see if the course was updated with the correct data.

Remarks

  • Removing, adding, or submitting the same instructors seem to be a challenge, even in other areas such as Adding a New Course. This solution used some of the preexisting structures of manipulating instructors for Approved/Unapproved courses.
  • The field instructor is allowed to be empty because that information is usually omitted when uploading the csv file.

stevensonmichel and others added 30 commits December 19, 2023 16:49
… Imported Courses. Started working on Search instructor functionality in imported Courses modal
… the view of name in the Service Learning Faculty table
…tSoftwareDevTeam/celts into CreateCourseParticipantUI_#1059
…or for Imported Courses inside Modal for Altering Courses. Working on fix for Instructor name instead of Username when autocomplete suggestion is clicked
…tSoftwareDevTeam/celts into CreateCourseParticipantUI_#1059
…ng on displaying course instructors inside the imported courses modal
Copy link
Contributor

@hoerstl hoerstl left a comment

Choose a reason for hiding this comment

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

I give it a pass for all functional uses but there is one pretty severe bug I found that you need to address. I also threw in a bunch of formatting suggestions (some renaming of variables and parameter kinds of things).

app/controllers/admin/routes.py Outdated Show resolved Hide resolved
app/controllers/admin/routes.py Outdated Show resolved Hide resolved
app/controllers/admin/routes.py Outdated Show resolved Hide resolved
app/controllers/admin/routes.py Show resolved Hide resolved
app/controllers/admin/routes.py Outdated Show resolved Hide resolved
app/static/js/slcManagement.js Show resolved Hide resolved
app/static/js/slcManagement.js Show resolved Hide resolved
app/templates/admin/manageServiceLearningFaculty.html Outdated Show resolved Hide resolved
app/templates/admin/manageServiceLearningFaculty.html Outdated Show resolved Hide resolved
@andersoncedu
Copy link
Contributor

andersoncedu commented Apr 12, 2024

Lawrence mentioned that the new functions in serviceLearningCourses.py didn't have a test, so this will need to be added since it's a logic file.

@bledsoef
Copy link
Contributor

Viewing and Creating course proposals are both broken.

@bledsoef
Copy link
Contributor

Suggestion: Remove the imported tab and add it is a section header.
Screenshot_20240424_111916

Copy link
Contributor

@bledsoef bledsoef left a comment

Choose a reason for hiding this comment

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

Screenshot_20240424_112339
Imported courses have a blank name in the faculty Course Proposals page.

Fixed

app/static/js/slcManagement.js Show resolved Hide resolved
Copy link

github-actions bot commented May 7, 2024

View Code Coverage

@AndersonStettner AndersonStettner merged commit ef692d0 into development May 7, 2024
5 checks passed
@AndersonStettner AndersonStettner deleted the CreateCourseParticipantUI_#1059 branch May 7, 2024 15:15
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.

None yet

10 participants