Fix: Error when filtering courses#577
Conversation
|
""" WalkthroughThis change updates the classes map feature in two main ways. First, it modifies the template to adjust the visual stacking order of the filter form and map elements using inline CSS, ensuring the filter form appears above the map and supporting dark mode styling for select elements. Second, it updates the backend view logic by removing the Changes
Assessment against linked issues
✨ Finishing Touches
🧪 Generate Unit Tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. 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 using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Hello @skanbedoui, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
This pull request addresses an error that occurred when filtering courses. The fix involves modifying the classes_map view in web/views.py to remove the status="published" filter when querying sessions by course_id. Additionally, the PR includes style adjustments in web/templates/web/classes_map.html to ensure the filter form and its dropdowns appear above the map using z-index CSS properties. The author has included before/after screenshots to demonstrate the fix.
Highlights
- Bug Fix: The pull request resolves an error encountered when filtering courses, as reported in issue #576.
- View Modification: The
classes_mapview inweb/views.pywas modified to remove thestatus="published"filter when querying sessions bycourse_id. - Z-Index Fix: CSS styles were added to
web/templates/web/classes_map.htmlto ensure the filter form and dropdowns are displayed above the map using z-index properties.
Changelog
- web/templates/web/classes_map.html
- Added CSS styles to control the z-index of the filter form, dropdowns, and map to ensure proper layering.
- Added dark mode support for the filter form select elements.
- web/views.py
- Modified the
classes_mapview to remove thestatus="published"filter when querying sessions bycourse_id.
- Modified the
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
A filter's plight,
Error page in the night,
Z-index ascends,
The bug gently ends,
Courses now shine bright.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
The pull request addresses an error encountered when filtering courses, enhancing the user experience by preventing error pages. The changes involve modifications to the classes_map.html template to adjust z-index properties and a change in views.py to remove a status filter. Overall, the changes seem targeted and effective, but let's review for potential improvements and best practices.
Summary of Findings
- Redundant Status Filter: The removal of the
status="published"filter inviews.pymight have broader implications. It's crucial to ensure that this change doesn't inadvertently expose unpublished courses. A more detailed comment explaining the rationale behind this removal would be beneficial. - CSS Z-Index: The added CSS in
classes_map.htmluses z-index to manage the layering of the filter form and the map. While this approach can solve immediate issues, it's important to consider the maintainability and potential conflicts with other elements on the page. A more robust solution might involve restructuring the HTML or using CSS scoping techniques.
Merge Readiness
The pull request seems to address the reported issue effectively. However, the removal of the status="published" filter warrants further investigation to ensure no unintended side effects are introduced. I recommend adding a comment explaining the rationale behind this change. I am unable to approve this pull request, and other reviewers should review and approve this code before merging.
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
web/templates/web/classes_map.html(1 hunks)web/views.py(1 hunks)
🔇 Additional comments (1)
web/views.py (1)
6528-6528: Fix confirmed: Filter condition simplified to resolve error.This change removes the
status="published"filter when filtering sessions by course_id, which ensures that all course sessions (regardless of status) are correctly included in the map view. This properly fixes the error users were encountering when trying to filter courses on the map page.
| # Apply filters | ||
| if course_id: | ||
| sessions = sessions.filter(course_id=course_id, status="published") | ||
| sessions = sessions.filter(course_id=course_id) |
There was a problem hiding this comment.
We would want to filter status is published on the courses instead.
A1L13N
left a comment
There was a problem hiding this comment.
We would want to filter status is published on the courses instead.
Related issues
Fixes #576
The user is able to use the filter button without getting the error page.
before fix:

after fix:

Checklist
NOTE: I do run the pre-commit command but something keeps me from making it work
Summary by CodeRabbit
Style
Bug Fixes