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

Remove grading deadline #2014

Merged
merged 11 commits into from
Jan 5, 2024
Merged

Remove grading deadline #2014

merged 11 commits into from
Jan 5, 2024

Conversation

damianhxy
Copy link
Member

@damianhxy damianhxy commented Nov 19, 2023

Summary

Summary generated by Reviewpad on 02 Jan 24 19:03 UTC

This pull request includes the following changes:

  1. The logic for displaying a link to the assessment history has been updated in the student.html.erb file. The link is now shown if the latest submission scores have not been released.

  2. The conditions for displaying the not submitted and not yet submitted statuses have been simplified in the student.html.erb file. The checks for the grading deadline have been removed, and the rendering of the final score has been moved outside the conditions.

  3. The conditional statement used to display a feedback panel has been modified in the _remarks_panel.html.erb file. It now checks if the number of annotations for the submission is greater than 0 and if the submission's grading is complete for the current user.

  4. The grade_matrix.rb file has undergone several changes. The before_grading_deadline? method and the asmt_before_grading_deadline hash have been removed. The matrix! method has been modified to not populate the asmt_before_grading_deadline hash.

  5. The submissions_controller.rb file has been updated. The condition for showing annotations in the download action has been modified. Annotations are now shown only if the grading for the submission is complete. The variable @problemReleased has been removed from the view action. The logic for showing annotations in the view action has also been updated to only show if the grading for the submission is complete.

  6. The assessments_controller_spec.rb file has a code block related to grading_deadline commented out.

  7. The migration file in Ruby removes the column grading_deadline from the assessments table in the database. The up method checks if the column exists before removing it, and the down method handles the rollback by adding the column back and setting the grading_deadline value to the end_at value for each assessment.

  8. The assessments_controller.rb file has undergone changes. The grading_deadline attribute of the @assessment object has been removed. Some code related to @submission has been commented out or removed.

  9. The _results_panel.html.erb file in the app/views/assessments directory has been modified. The condition for displaying a link has been changed to show if there are annotations present in the submission and if the submission's grading is complete.

  10. The assessment_user_datum.rb file has the method final_score_ignore_grading_deadline removed and the final_score! and final_score_ignore_grading_deadline! methods modified.

  11. The assessment.rb file has several references and validations related to the grading_deadline attribute removed.

  12. The db/schema.rb file has the column grading_deadline removed.

  13. The gradebook_helper.rb file has been modified to remove the before_grading_deadline argument from the columns hash for the asmt.name column.

  14. The api-interface.md file has two tables describing assessments with the grading_deadline field removed.

  15. The gradebook.js file modifies the logic for displaying tooltips and links based on the submission status. It removes the check for columnDef.before_grading_deadline and updates the tooltip messages.

  16. The assessments_controller.rb file in the app/controllers/api/v1 directory has been modified to handle different conditions based on user roles.

  17. The instructors.md file mentions the removal of the grading deadline and focuses on the behavior of submissions after the end date.

  18. The assessments.rb file removes all references and validations related to the grading_deadline attribute.

  19. The app/views/submissions/_annotation.html.erb file changes the conditional statement to check if @submission has completed grading for @cud.

  20. The watchlist_instance.rb file changes several instances of final_score_ignore_grading_deadline to final_score.

  21. The autolab.rake file includes commented-out code related to grading_deadline.

  22. The init_handin_datetimepickers.js file removes functions related to handling selected dates and their relationships with the grading deadline.

  23. The changes in a file remove the condition for checking before_grading_deadline and update the condition for displaying elements based on grading completion for a submission.

  24. The _edit_handin.html.erb file modifies the datetime select fields and removes the grading deadline field.

  25. The grading_complete? method in the Submission model is updated to consider the role of the user when determining grading completion.

These changes aim to improve logic, readability, and consistency in the code.

Description

Remove grading deadline from Autolab

  • Add a new helper method Submission.grades_released? to determine if a user should be able to see a grade-related item. It is true if all scores in the submission have been released, or if the user is a CA / instructor.
  • Add a migration to remove the grading deadline column. If reverted, it sets grading deadline to end at date.

Motivation and Context

Currently, the grading deadline must pass before grades are displayed in the gradebook, etc. even if an instructor has already released grades. This is often unintuitive and can cause confusion especially since this enforcement is not consistent.

Furthermore, instructors have the ability to withdraw grades, so the only benefit of having a grading deadline is to allow a timed release of grades. From communications with 122, they do not use the grading deadline (and set it to the end at date).

With all things considered, it would be better to remove the grading deadline altogether and simplify the interface.

Resolves #1717

How Has This Been Tested?

Ensure there are no more occurrences of grading_deadline or grading deadline in the project.

Screenshot 2023-11-30 at 16 09 09

As a student, make a submission. As an instructor add an annotation to that submission.

Before grades are released:

  • Annotation score doesn't show up under submission summary
  • Annotation doesn't show up on view submission page / view feedback page
  • Final score not available on gradebook for student
  • Final score available on gradebook for instructor
Screenshot 2023-12-01 at 15 16 20 Screenshot 2023-12-01 at 15 16 09

Screenshot 2023-12-01 at 15 17 38

After grades are released:

  • Annotation score appears under submission summary
  • Annotation shows up on view submission page / view feedback page
  • Final score available on gradebook for student
Screenshot 2023-12-01 at 15 21 07 Screenshot 2023-12-01 at 15 21 26 Screenshot 2023-12-01 at 15 22 02 Screenshot 2023-12-01 at 15 22 24

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have run rubocop and erblint for style check. If you haven't, run overcommit --install && overcommit --sign to use pre-commit hook for linting
  • My change requires a change to the documentation, which is located at Autolab Docs
  • I have updated the documentation accordingly, included in this PR

Copy link
Contributor

coderabbitai bot commented Nov 19, 2023

Walkthrough

Walkthrough

The code changes involve the removal of the grading_deadline feature across various files in the application. The alterations streamline the grading process by eliminating the confusion around the need for a grading deadline to pass before grades can be released or viewed. This simplification affects the backend logic, frontend display, and database schema, resulting in a more intuitive user experience where a single action is required to release grades.

Changes

File(s) Change Summary
app/assets/javascripts/gradebook.js, app/assets/javascripts/init_handin_datetimepickers.js Removed conditional blocks related to grading_deadline and simplified tooltip generation and date picker functionality.
app/controllers/api/v1/assessments_controller.rb, app/controllers/assessments_controller.rb, app/controllers/submissions_controller.rb Removed grading_deadline attribute checks and handling from controllers.
app/helpers/gradebook_helper.rb, app/models/assessment.rb, app/models/assessment_user_datum.rb, app/models/grade_matrix.rb, app/models/submission.rb, app/models/watchlist_instance.rb Eliminated grading_deadline related methods, validations, and references in models.
app/views/assessments/_edit_handin.html.erb, app/views/assessments/_remarks_panel.html.erb, app/views/assessments/_results_panel.html.erb, app/views/gradebooks/student.html.erb, app/views/submissions/_annotation.html.erb, app/views/submissions/_annotation_pane.html.erb Updated views to reflect the removal of grading_deadline and to utilize the grading_complete? and grades_released? methods.
docs/api-interface.md, docs/instructors.md, lib/tasks/autolab.rake, spec/controllers/assessments_controller_spec.rb, spec/factories/assessments.rb, db/migrate/20231201202449_remove_grading_deadline_from_assessments.rb, db/schema.rb Updated documentation, tests, rake tasks, and database schema to remove references to grading_deadline.

Assessment against linked issues

Objective Addressed Explanation
Refine grading deadline behavior to eliminate confusion (Issue #1717) The code changes remove the grading_deadline field and associated logic, which addresses the issue of confusion around grading deadlines.
Ensure a single action is needed to release grades (Issue #1717) By removing the grading_deadline, the code changes ensure that there is no additional deadline to consider when releasing grades.
Remove the requirement for grading deadline to pass to view annotations (Issue #1717) The removal of the grading_deadline means that viewing annotations is no longer contingent upon the passing of this deadline.
Simplify the logic for displaying grades and annotations in various views (Issue #1717) The changes unify and simplify the logic across different views by using the grading_complete? and grades_released? methods, which no longer require grading_deadline checks.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit's AI:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid.
    • @coderabbitai read the files in the src/scheduler package and generate README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

@reviewpad reviewpad bot added the medium Pull request is medium label Nov 19, 2023
@damianhxy
Copy link
Member Author

@coderabbitai review

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Review Status

Actionable comments generated: 5

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 4dacaf1 and bf745be.
Files selected for processing (22)
  • app/assets/javascripts/gradebook.js (1 hunks)
  • app/assets/javascripts/init_handin_datetimepickers.js (2 hunks)
  • app/controllers/api/v1/assessments_controller.rb (2 hunks)
  • app/controllers/assessments_controller.rb (2 hunks)
  • app/controllers/submissions_controller.rb (3 hunks)
  • app/helpers/gradebook_helper.rb (1 hunks)
  • app/models/assessment.rb (5 hunks)
  • app/models/assessment_user_datum.rb (2 hunks)
  • app/models/grade_matrix.rb (3 hunks)
  • app/models/submission.rb (1 hunks)
  • app/models/watchlist_instance.rb (2 hunks)
  • app/views/assessments/_edit_handin.html.erb (1 hunks)
  • app/views/assessments/_remarks_panel.html.erb (1 hunks)
  • app/views/assessments/_results_panel.html.erb (1 hunks)
  • app/views/gradebooks/student.html.erb (2 hunks)
  • app/views/submissions/_annotation.html.erb (1 hunks)
  • app/views/submissions/_annotation_pane.html.erb (2 hunks)
  • docs/api-interface.md (2 hunks)
  • docs/instructors.md (1 hunks)
  • lib/tasks/autolab.rake (2 hunks)
  • spec/controllers/assessments_controller_spec.rb (1 hunks)
  • spec/factories/assessments.rb (1 hunks)
Files skipped from review due to trivial changes (8)
  • app/assets/javascripts/gradebook.js
  • app/controllers/api/v1/assessments_controller.rb
  • app/views/gradebooks/student.html.erb
  • docs/api-interface.md
  • docs/instructors.md
  • lib/tasks/autolab.rake
  • spec/controllers/assessments_controller_spec.rb
  • spec/factories/assessments.rb
Additional comments: 21
app/helpers/gradebook_helper.rb (1)
  • 35-41: The removal of the before_grading_deadline attribute from the columns array is consistent with the pull request's goal of removing the grading deadline feature. However, ensure that any front-end components that may have relied on this attribute are also updated to reflect this change. If there are any JavaScript functions or view templates that use this attribute, they should be revised accordingly.
app/views/assessments/_edit_handin.html.erb (1)
  • 5-17: The changes to the datetime selection fields appear to correctly remove the grading_deadline and adjust the constraints between start_at, due_at, and end_at. This aligns with the pull request's goal of removing the grading deadline feature. However, ensure that the removal of the grading_deadline field does not affect any other dependencies in the system that might still expect this field to be present.
app/views/submissions/_annotation_pane.html.erb (2)
  • 22-28: The logic for displaying scores has been updated to check if grading is complete. This is a logical change following the removal of the grading deadline feature. Ensure that the grading_complete? method accurately reflects the completion of grading to avoid displaying incorrect information.

  • 44-47: The conditional rendering of annotations now depends on the grading completion status. This change is consistent with the removal of the grading deadline feature. Verify that the grading_complete? method is correctly implemented and that the user roles (instructor or course assistant) are still properly accounted for when displaying annotations.

app/views/assessments/_results_panel.html.erb (1)
  • 54-56: The refactoring to use @submission.grading_complete? @cud simplifies the conditional logic and improves readability by encapsulating the grading completion check within the @submission object. This change is consistent with the pull request's goal of removing the grading_deadline feature and using grading completion as the condition for displaying certain elements. Ensure that the grading_complete? method is correctly implemented and handles all necessary conditions previously covered by the grading deadline logic.
app/views/assessments/_remarks_panel.html.erb (1)
  • 1-4: The conditional statement has been updated to use @submission.grading_complete? with @cud as an argument. This change simplifies the logic by removing the previous complex condition involving @cud and @problemReleased. Ensure that the grading_complete? method is correctly implemented to handle the logic that was previously in the view and that it takes into account all necessary conditions that were checked before. Also, verify that @submission.annotations.count > 0 is the desired behavior, as it will not display the "Remarks" section if there are no annotations, even if grading is complete.
app/models/assessment_user_datum.rb (2)
  • 108-113: The removal of the final_score_ignore_grading_deadline method and related logic is consistent with the goal of removing the grading deadline feature. However, ensure that no other part of the application relies on this method or expects a grading deadline to be considered when calculating final scores. If there are any such dependencies, they must be refactored to work with the updated logic.

  • 287-292: The removal of the final_score_ignore_grading_deadline logic from the final_score! method is appropriate given the context of the pull request. However, the comments on lines 287 and 288 suggest that there are additional policy considerations that need to be addressed. Ensure that these TODO comments are either resolved or tracked in the project's issue tracking system for future implementation.

app/assets/javascripts/init_handin_datetimepickers.js (2)
  • 20-31: The removal of the grading_deadline feature simplifies the date picker logic. However, ensure that the removal of the grading_deadline_pickr does not affect other date-related validations or features that might still be necessary. For example, the logic in lines 30-31 ensures that the end date is not set before the due date, which is a valid constraint that should be preserved. If there are other date constraints that should be maintained, they need to be checked and implemented accordingly.

  • 42-47: Similar to the previous comment, the logic here ensures that the due date is not set before the start date and that the end date is not set before the start date. This is important to maintain the integrity of the assessment timeline. Verify that these constraints are still enforced correctly after the removal of the grading_deadline related code.

app/controllers/assessments_controller.rb (2)
  • 339-344: The removal of grading_deadline related code is consistent with the pull request summary. However, it's important to ensure that the removal of this feature does not affect any other dependent features or logic that may have relied on the grading deadline. It's also crucial to verify that all references to grading_deadline have been removed from the entire codebase, including any database migrations that may have added this field originally.

  • 698-704: The changes in this hunk are not directly related to the removal of the grading_deadline feature. However, it's important to ensure that the logic for handling archives and annotations still works as expected after these changes. If this code is part of the refactoring process, it should be tested thoroughly to prevent any regressions.

app/models/grade_matrix.rb (3)
  • 25-30: The removal of the before_grading_deadline? method and related data structures is consistent with the goal of removing the grading deadline feature. However, ensure that no other parts of the application rely on this method or the asmt_before_grading_deadline data structure. If there are dependencies, they must be refactored or removed to prevent runtime errors.

  • 80-85: The removal of the before_grading_deadline? logic from the matrix! method is appropriate given the context of the pull request. It simplifies the method by removing the conditional logic that was previously necessary. Ensure that the removal of this logic does not affect any other features that may have depended on the grading deadline.

  • 104-109: The changes in this hunk reflect the updated structure of the matrix! method's return value, which no longer includes any data or logic related to the grading deadline. This is in line with the pull request's goal of removing the grading deadline feature. Ensure that the consumers of this method's output are updated accordingly to handle the new structure.

app/models/assessment.rb (4)
  • 37-40: The removal of the grading_deadline attribute should be reflected in the validations if it was previously validated. Ensure that any validations related to the grading_deadline have been removed as part of the cleanup.

  • 513-516: The removal of the grading_deadline attribute should also be reflected in the serialization logic. If the grading_deadline was previously serialized here, ensure that it has been removed. If it was not serialized here, then this change is consistent with the removal.

  • 534-546: Similar to serialization, deserialization logic should no longer include the grading_deadline. Verify that any deserialization of the grading_deadline has been removed. If the grading_deadline was not part of the deserialization logic, then this change is consistent with the removal.

  • 586-588: The validation logic here does not directly reference the grading_deadline, but if the grading_deadline was used in conjunction with start_at, due_at, or end_at to enforce certain constraints, ensure that the removal of the grading_deadline does not affect the intended behavior of these validations.

app/controllers/submissions_controller.rb (2)
  • 224-230: The conditional logic for displaying annotations has been updated to check if grading is complete, which aligns with the removal of the grading deadline feature. This change is consistent with the pull request's goal of simplifying the logic based on grading completion status rather than grading deadlines.

  • 445-451: The logic for filtering annotations based on grading completion status is repeated here, which is consistent with the changes made in lines 224-230. This ensures that annotations are only shown when grading is complete, adhering to the new system design after the removal of the grading deadline feature.

app/views/submissions/_annotation.html.erb Outdated Show resolved Hide resolved
app/models/watchlist_instance.rb Show resolved Hide resolved
app/models/submission.rb Outdated Show resolved Hide resolved
app/controllers/submissions_controller.rb Show resolved Hide resolved
app/models/watchlist_instance.rb Show resolved Hide resolved
@damianhxy damianhxy linked an issue Nov 27, 2023 that may be closed by this pull request
@damianhxy damianhxy marked this pull request as ready for review December 1, 2023 20:34
@damianhxy damianhxy requested a review from jlge December 1, 2023 20:47
Copy link
Contributor

@jlge jlge left a comment

Choose a reason for hiding this comment

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

Behavior works as expected, LGTM 👍

app/models/submission.rb Outdated Show resolved Hide resolved
@damianhxy damianhxy added this pull request to the merge queue Jan 5, 2024
Merged via the queue into master with commit d02a0d0 Jan 5, 2024
6 checks passed
@damianhxy damianhxy deleted the grading-deadline branch January 5, 2024 17:34
NicholasMy pushed a commit to UB-CSE-IT/Autolab that referenced this pull request Jan 8, 2024
* Initial removal of grading_deadline

* Add brackets around arguments to grading_complete?

* Consistency fixes

* Migration to remove grading deadline

* Add guards to migration

* Rename grading_complete? to grades_released?

(cherry picked from commit d02a0d0)
michellexliu added a commit that referenced this pull request Feb 4, 2024
* Lint views/submissions (#1969)

* Begin linting views/submissions

* finish linting views/submissions

* address issues in code_viewer

* Prevent spoofing the author of an annotation (#1985)

* Prevent spoofing the author of an annotation

(cherry picked from commit d2ab510)

* Remove submitted_by from createAnnotation

* Update link to docs in PR template (#1991)

Fix link to docs

* Hide irrelevant cud fields for students (#1988)

* Show edit CUD button for students

* Hide irrelevant CUD fields from students

* Lint views/autograders, fix help-block gap from input (#1963)

* lint views/autograders, fix help block gap from input

* update form path

* Lint views/announcements and Touch-up UI (#1957)

* lint views/announcements and touch-up UI

* address nits

* Add erblint to overcommit and github actions (#1994)

* update erb-lint config, overcommit config to enable erb-lint as a pre-commit hook, run erblint --lint-all

* update github actions to run erb-lint during linting phase

* update pull request template to include erblint check

* Display Grace Day usage on submission history table, improve management of assessment penalty settings (#1990)

* Display of grace days used

* Fix calculation of effective_late_penalty and effective_version_penalty

* Show course default values when applicable

* Show warning messages when late submissions allowed but config does not make sense

* Fix tests

* Update wording

* Improve formatting

* Revert changes to effective penalties

* Simplify check

* Add toggles

* Update wording on courseFields

* Fix version threshold logic

* Correctly set version threshold to blank when using course default

* Clear / default values when checkbox clicked

* Remove bottom padding

* Improve UI when checkboxes selected

* Address AI nits

* Handle malformed scoreboard results from autograder, fix error handling for scoreboards (#1982)

* begin fixing broken redirects

* add code to check that entries are arrays, return flash error if not valid entry

* fix spacing

* address nit

* Add logging

* Click into submissions from gradebook score (#1998)

* Clickable gradebook scores

* Only scores have links

---------

Co-authored-by: kestertan <[email protected]>

* Switch mossnet clean to use rails root instead of tilde expansion (#1997)

use Rails root join function instead of ~/ to make sure moss clean script works across systems

* Merge pull request from GHSA-h8wq-ghfq-5hfx

* fixes

* Add validation for handout, writeup, and handin_directory

* Avoid use of and

* Check that handout/writeup exists before checking path (#2001)

Move present? check to front

* Adds warning when assessment.rb file upload isn't a .rb file (#1999)

* preliminary working version

* only validates .rb files

---------

Co-authored-by: Damian Ho <[email protected]>

* Refactor Assessment name rules, remove config file requirement (#1987)

* begin refactoring naming rules for assessments

* continue working on file acceptance

* add testing

* fix autograde

* work on backwards compatibility / revertibility

* keep working on implementing revertability

* Fix some code creating assessmentConfigFile before assessment id created

* Add documentation to naming rules

* add line about assessment name uniqueness

* update error messages

* fix tests

* add error handling code to redirect user in case assessment config file can't be loaded, run robocop

* address AI code review

* remove redundant flash

* Fix text

* Fix reload assessment config button text

* Add more error handling, revamp regex string to better reflect valid ruby module names, add better sanitization for display name -> name conversion, fix docs to reflect actually valid assessment names.

* fix test

* Address nits

* Fix issue where assessment could affect another assessment's config file if they both had names that mapped to pre-PR config file name

* Delete config/oauth_config.yml

* Delete diff.patch

* Delete assessment.patch

* remove unnecessary files

* more removals

* Suppress confirmation dialog on edit assessment page when no changes made (#2004)

* Extract logic, call functions directly

* Remove extraneous space

* Remove another extraneous space

* Display submission version in gradebook (#2005)

* First Commit: version info is on gradebook as new columns

* Second commit: only add a ver column after each assignment

* Delete database.docker.yml

* Delete schema.rb

* Deleted debug code

* change gitignore to original version

* Address nits

* Fix tooltips

* Simplify version logic

* Stop overwriting headerCssClass

* Fix tooltip for not_yet_submitted

* Handle nil aud

* Add version to gradebook CSV export

* Render tooltips onMouseEnter too

* Simplify version header

* Simplify logic

* Increase gradebook width

---------

Co-authored-by: SimonMen65 <[email protected]>
Co-authored-by: Simon Men <[email protected]>

* Don't clear assessment penalty fields on initial load (#2006)

* Don't clear on initial load

* Remove extraneous spaces

* No line breaks when generating base64 strings (#2008)

* fix bug for long strings

* Update base64.js using new TextEncoder

* Show all courses for MOSS (#2015)

* Show all courses, restore filter

* Address AI nits

* Fix use of autocomplete attribute

* Add newline

* Simplify toggleOptions implementation

* Fix style of isArchive checkboxes

* Correct use of javascript_include_tag

* Fix failing test

* Update styling of warning

* Extract dropdown logic, use OR for filtering

* Add newline

* Add spacing between dropdowns

* Use find instead of children, check for selector existence

* Removed name from assessment yml (#1993)

* Removed name from assessment yml

* Modified test after removing name from assessment yml

* Removed unnecessary test for wrong assessment name

* Removed yml name check in assessments_controller

---------

Co-authored-by: Nicholas Clark <[email protected]>

* Account for hooks in viewFeedback instead of feedback output (#2003)

* preliminary working version

* resolve merge conflicts

* use submission.scores instead of feedback array

* don't show non autograded scores in autograded scores tab

* rabbit ai suggestions

* more rabbit.ai nits

* make finishedAutograding not an instance variable

* Remove element overlapping scrollbar hitbox (#2009)

* Remove element overlapping scrollbar hitbox

* Move style to annotation.scss

---------

Co-authored-by: Damian Ho <[email protected]>

* Attachment categories (#1983)

* Add category_name field and update course attachment UI

* Improve styling of list items

* Remove anchor link for unreleased badge, simplify delete button logic

* Hide assessment attachments from course landing page

* Add release_at field, remove released field

* Fix tests

* Add fixtures

* Simplify variable names

* Remove bullet points

* Group buttons together

* Make font-family consistent

* Hide category for assessment attachments

* Add cancel button, remove delete button, improve styling

* Improve migration to be backwards compatible / reversible

* Use update instead of update_attribute

* Display when attachment will be released

* Update tests

* Simplify code

* Use Time instead of DateTime

* Add download icon for students

* Vertically align icons

* Hide assessment attachments from course attachment index

* Add vertical space above release date

* Passwordless temporary login (#1984)

* Passwordless temporary login created

* Login using devise

* User is not signed in before changing password

* Removing unneeded files

* Removing changes to user.rb

* Removing unneeded files

* Resetting password does not log you out

* Added mailer

* Added/removed newlines

* Changed naming

* Added checks for nil user or params

* Error handling for passwords

* Removed email after password reset

* Added documentation

* Updated documentation

* Moved documentation to features

* Renamed to admin-features

* Added link in mkdocs.yml

* Visual cue for assessments (#2016)

* Add dates to assessment card

* Add CSS formatting for date

* Fix margin and card sizes to be more pretty

* Show all students on gradesheet (#2019)

* add course members with blank info if no submissions found

* add email for no submission users

* update bg color

* Move submission version logic to be handled by AUD (#2024)

* Move submission version logic to be handled by AUD

* update migration variable naming

* fix unit tests, version number for new auds

* fix coderabbit issues

* add version number to schema

* change schema timestamp

* Use ActiveStorage for attachments, add attachment size limit (#2023)

* 1810 Use ActiveStorage for attachments

* 1864 Add backwards compatibility to ActiveStorage Attachments

* 1872 Add size limit to attachments

* Set mime_type

* Remove require

* redirect to index on error

* Rails 6.1.7.6 Migration (#2037)

* Initial update to 6.1.7.6

* Lock fomantic-ui-sass to 2.8.8.1

* Update schema.rb

* Avoid locking setup-ruby version

* Include net-http in Gemfile to avoid errors

* Run rubocop

* Lock uri to 0.10.0

* Fix lint issue

* Fix course_number values for roster export

* Use flash for drop warning

* Properly display submission errors

* Only show invalid assessment warning to instructors

* Ensure gradebook search bar renders correctly for CAs

* Filter by lecture too when CA views section

* Only show missing submissions from section if CA filters by section

* Update tests

* Better handling for submission errors

* More specific error handling for save_entries

* Better error display for statistics page

* Return 404 for popover on non-existent submission

* load Archive in files that use its methods

* Update Ruby to 3.2.2, Misc fixes (#2040)

* Update Ruby to 3.2.2
- update Capybara config so that it works with new ruby version and so that js can be enabled again on selenium test
- update releaseSectionGrades redirect to go to viewGradesheet for CA's section
- add some more status text / more informative flash when instructor drops student
- redact tango key in getjob

* Address nits, update bundler / github integration

* add arm64-darwin-23 to platforms

* fix users nit

* Bump uri from 0.10.0 to 0.10.3 (#2039)

Bumps [uri](https:/ruby/uri) from 0.10.0 to 0.10.3.
- [Release notes](https:/ruby/uri/releases)
- [Commits](ruby/uri@v0.10.0...v0.10.3)

---
updated-dependencies:
- dependency-name: uri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update old migrations for Ruby 3 (#2044)

Use splat on old migrations

* Remove grading deadline (#2014)

* Initial removal of grading_deadline

* Add brackets around arguments to grading_complete?

* Consistency fixes

* Migration to remove grading deadline

* Add guards to migration

* Rename grading_complete? to grades_released?

* Address issues from v2.8.0 testing, misc fixes/changes (#2038)

* Fix command for promoting a user to admin

* Extract aria/collapsible code, switch to path helpers

* Automatically open first accordion

* Fix docs for Tango info endpoint

* Create user directory on autograde_done

* Coalesce accordions, simplify js, remove admin options

* Update doorkeeper translations

* Remove extraneous quotes

* Remove redundant / useless assessment nil check

* Fix error display when calling downloadAll on invalid assessment

* Simplify failure redirect logic for downloadAll

* Deduplicate logic for autograde feedback path and handin file path

* Remove unused ass_dir variable

* Remove redundant gitignores

* Uncoalesce accordions

* Fix redirects for invalid assessment

Previously, calling downloadAll with an invalid assessment led to infinite redirects

* Update the API to allow retrieving group members (#1956)

* Add a param to the index groups api to retriee group members

* Add api show endpoint for groups

* Update docs

* Update api docs for groups#show

* Compact group members api response

* Move fetching group json to a private method

* Remove empty line

---------

Co-authored-by: Damian Ho <[email protected]>

* Update index and show docs for Groups API (#2045)

Update index and show docs

* Main Table UI Changes (#1886)

* Start Manage Submissions

* Center checkbox in manage submission table (#1868)

fix checkbox issue

* Main Table UI

* Updates with selecting students and buttons

* Add Score Popup Icon

* Icon spacing and codebase style

---------

Co-authored-by: Michelle Liu <[email protected]>

* Add sorting icons to new manage submissions (#1890)

* change icon to swap_vert, hide for file and actions headers

* change icon on diff sort

* Adds Score Details (#1893)

* Adds score details without styling

* address general styling for score details

* refactor code

* address pr issues

* bring back css

* bring back div

* add back class names

* add back icons

* addressed nits

* address nits

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Joey Wildman <[email protected]>
Co-authored-by: Nicholas Myers <[email protected]>
Co-authored-by: Damian Ho <[email protected]>
Co-authored-by: Kester <[email protected]>
Co-authored-by: kestertan <[email protected]>
Co-authored-by: SimonMen65 <[email protected]>
Co-authored-by: Simon Men <[email protected]>
Co-authored-by: Ugo <[email protected]>
Co-authored-by: Nicholas AJ Clark <[email protected]>
Co-authored-by: Nicholas Clark <[email protected]>
Co-authored-by: lykimchee <[email protected]>
Co-authored-by: Joanna Ge <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Umar Alkafaween <[email protected]>
Co-authored-by: Victor Huang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
medium Pull request is medium
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refine grading deadline
2 participants