-
Notifications
You must be signed in to change notification settings - Fork 12
Add CheaterSheet support and API #97
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
Conversation
- Add an API to Radar to allow ImGPT to communicate with it - Also add support for Cheatersheet proxying
ee7be82
to
34a39ba
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds CheaterSheet integration to Radar, enabling proxying to the CheaterSheet service and providing an API for better reporting tools and inter-service communication. The implementation includes a Django REST Framework API and web interface proxying capabilities.
Key changes:
- Added CheaterSheet proxying functionality with web interface and API endpoints
- Enhanced submission model to track A+ submission IDs for better integration
- Implemented bulk comparison creation functionality in the UI
Reviewed Changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
review/templates/review/index.html | Added navigation button to CheaterSheet |
review/templates/review/exercise.html | Added bulk comparison creation UI and JavaScript functionality |
review/templates/review/course.html | Added CheaterSheet navigation button |
review/templates/review/comparison.html | Added individual comparison creation with modal interface |
review/templates/review/_comparisontable_unique.html | Enhanced grid items with submission and student data attributes |
radar/urls.py | Added API and CheaterSheet URL routing |
radar/settings.py | Added REST framework configuration and CheaterSheet settings |
provider/insert.py | Enhanced submission creation to capture A+ submission ID |
data/models.py | Added aplus_key field to Submission model |
data/migrations/ | Database migration files for new aplus_key field |
data/api_views.py | CheaterSheet API proxy implementation |
data/api_urls.py | API URL routing configuration |
cheatersheet/views.py | CheaterSheet web proxy and API integration views |
cheatersheet/urls.py | CheaterSheet URL patterns |
Comments suppressed due to low confidence (2)
cheatersheet/views.py:17
- Class name 'cheatersheet_proxy_web_view' doesn't follow Python naming conventions. It should be 'CheaterSheetProxyWebView' using PascalCase.
class cheatersheet_proxy_web_view(View):
cheatersheet/views.py:129
- Function name 'go_to_cheatersheet_view' doesn't follow Python naming conventions. It should be 'go_to_cheatersheet_view' using snake_case, but the parameter 'report_id' is not used in the function body, suggesting this function may be incomplete.
def go_to_cheatersheet_view(request, report_id):
Description
What?
Add support for CheaterSheet proxying to Radar as well as an API
Why?
Facilitate better reporting tools and support for other services to speak with Radar
How?
Added Django Rest api
Fixes #
Testing
Remember to add or update unit tests for new features and changes.
What type of test did you run?
[ADD A DESCRIPTION ABOUT WHAT YOU TESTED MANUALLY]
Did you test the changes in
Think of what is affected by these changes and could become broken
Translation
Programming style
Have you updated the README or other relevant documentation?
Is it Done?
Clean up your git commit history before submitting the pull request!