Skip to content

20250630 Staging into Main#147

Merged
rsmoke merged 24 commits intomainfrom
staging
Jul 1, 2025
Merged

20250630 Staging into Main#147
rsmoke merged 24 commits intomainfrom
staging

Conversation

@rsmoke
Copy link
Member

@rsmoke rsmoke commented Jul 1, 2025

No description provided.

rsmoke added 24 commits June 30, 2025 12:47
- Replaced the judge selection dropdown with a dynamic search input field that allows users to type and search for judges by name or email.
- Implemented a Turbo controller for real-time lookup and display of matching judges, enhancing the user experience by providing immediate feedback.
- This change improves the interface by making judge selection more intuitive and efficient.
- Implemented a new `judge_lookup` action in the JudgingAssignmentsController to facilitate real-time searching of available judges by name or email.
- The action retrieves judges who are not already assigned to the contest instance, enhancing the user experience by allowing for quick and efficient judge selection.
- This change complements the recent refactor of the judge selection input, further improving usability in the judging pool.
- Implemented a new `lookup` action in the UsersController to enable real-time searching of users by first name, last name, email, or UID.
- The action returns a JSON response with a list of matching users, enhancing the user experience by allowing for quick and efficient user selection.
- This addition complements existing dynamic selection features in the application, improving overall usability.
- Added a `url` value to the UID lookup controller to allow for customizable fetch URLs, improving flexibility in user lookups.
- Updated the fetch logic to handle both UID and query parameters dynamically, enhancing the search functionality.
- Improved the suggestion display logic to fallback on multiple user attributes, ensuring a more informative user selection experience.
- Updated the assignment form to utilize a Turbo controller for UID lookup, enhancing the user experience with real-time user search capabilities.
- Changed the hidden field for UID to use `hidden_field_tag` for better form handling.
- Improved the structure of the form by nesting the UID lookup within a dedicated controller, ensuring cleaner code and better separation of concerns.
- Introduced a new button in the judges management partial to allow users to send judging instructions directly from the interface.
- Enhanced the layout by ensuring proper alignment and spacing for improved user experience.
- This addition complements existing judge management features, streamlining the process for contest organizers.
…s management view

- Updated the judges management partial to only show the "Send judging instructions" button when judges are assigned to the current round.
- This change improves the user interface by preventing confusion when no judges are available, enhancing overall usability.
- Added a dynamic URL value to the UID lookup controller for enhanced flexibility in fetching judges.
- Simplified the text in the judge creation form to improve clarity and focus on the assignment process.
- These changes enhance the user experience by streamlining the judge selection and creation workflow.
- Introduced a new route for user lookup to facilitate autocomplete in assignment forms.
- Nested judge lookup routes under contest instances to streamline the judging pool selection process.
- These additions improve user experience by enabling dynamic searching for users and judges, enhancing overall usability in the application.
- Introduced a new test suite for the judge_lookup action to ensure it correctly returns available judges not already assigned to a contest instance.
- Added tests to verify filtering judges by query and ensuring the JSON response includes the expected keys (id and name).
- These enhancements improve test coverage and ensure the reliability of the judge selection functionality.
- Introduced a new test suite for the lookup action to ensure it correctly returns users matching the query by name, email, or UID.
- Added tests to verify the JSON response structure and limit the number of results returned.
- These enhancements improve test coverage and ensure the reliability of the user search functionality.
- Introduced a new action to send judging instructions to assigned judges, enhancing communication and workflow for contest organizers.
- Implemented error handling for email delivery failures, logging issues and providing user feedback on the success or failure of the operation.
- This addition improves the overall usability of the judging rounds management by streamlining the process of notifying judges.
- Introduced JudgingInstructionsMailer with a send_instructions method to facilitate the emailing of judging instructions to assigned judges.
- The mailer retrieves necessary details such as judge email, contest description, and special instructions, enhancing communication for contest organizers.
- This addition streamlines the process of notifying judges, improving overall workflow in the judging rounds management.
- Modified the contact email retrieval logic in ResultsMailer to use a specific support email address as the fallback.
- This change ensures that users have a reliable point of contact for support, enhancing communication and user experience.
- Introduced a new method, normalize_email, to the User model for standardizing email addresses.
- This method removes any '+' subaddressing from University of Michigan email addresses, ensuring consistent email formatting.
- The addition enhances data integrity and improves user experience by providing a cleaner email representation.
…agement view

- Updated the judges management partial to display the "Send judging instructions" button only when judges are assigned to the current round.
- This change enhances the user interface by reducing confusion when no judges are available, improving overall usability in the contest management workflow.
<message>Created a new view for the JudgingInstructionsMailer to format and display judging instructions for assigned judges. The view includes details such as contest name, judging period, requirements, and special instructions, enhancing communication and clarity for judges. This addition improves the overall user experience in the judging process.
…message>

<message>Created a new text view for the JudgingInstructionsMailer to format and present detailed judging instructions for assigned judges. This view includes essential information such as contest name, judging period, requirements, and special instructions, thereby improving communication and clarity for judges. This addition enhances the overall user experience in the judging process.
<message>Introduced a new route for the send_instructions action in the JudgingRoundsController, allowing for the sending of judging instructions to assigned judges. This addition enhances the functionality of the judging rounds management by providing a direct way to notify judges, improving overall communication and workflow in the contest process.
- Added default URL options for ActionMailer in the test environment to ensure proper URL generation for email links during tests.
- This change enhances the testing setup by providing a consistent host and port, improving the reliability of email-related tests.
<message>Created a comprehensive test suite for the JudgingInstructionsMailer, specifically for the send_instructions method. The tests cover various scenarios, including email headers, body content, and fallback mechanisms for contact emails. This addition enhances the reliability of the email functionality and ensures that judges receive accurate and complete judging instructions, improving overall communication in the contest process.
- Replaced the dynamic retrieval of the default contact email with a hardcoded support email address in the ResultsMailer test suite.
- This change simplifies the test setup and ensures consistency in the expected email content, enhancing the reliability of the tests related to email communication.
<message>Created a new preview class for the JudgingInstructionsMailer to facilitate the visualization of email content for the send_instructions method. This preview includes logic to generate sample data for judges and judging rounds, ensuring that the email displays accurate and relevant information. This addition enhances the development process by allowing for easier testing and verification of email formatting and content before sending.
…-instructions-for-improvements

Add preview for JudgingInstructionsMailer
@rsmoke rsmoke merged commit 78edd1d into main Jul 1, 2025
7 of 9 checks passed
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.

1 participant