-
Notifications
You must be signed in to change notification settings - Fork 226
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
Allow simultaneous creation of multiple extensions #1896
Conversation
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.
Testing:
- Creating extension for multiple users
- Autofill if all selected users have the same extension (from original task)
- Autofill clears if all selected users have different extensions
- Able to update extensions (for multiple users as well) (from original task)
- Warning popup for already added users
- No users specified error flash
The dropdown is super clean I love it!!! It looks like this task ended up being a lot more complicated and bigger than I initially thought, especially with you adding the security and input validation checks, tysm Damian!!
I had a couple questions that don't necessarily require changes, but:
- I remember we had some discussion during one of the team meetings about a specific date format, are we updating the "Select a new due date" to be that format? (I don't remember what we ended up deciding for the finalized date format though, so let me know!)
![image](https://private-user-images.githubusercontent.com/66969001/238128194-8b6f7b63-5800-4874-93b6-86fd43720676.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTg3MjQsIm5iZiI6MTczOTM1ODQyNCwicGF0aCI6Ii82Njk2OTAwMS8yMzgxMjgxOTQtOGI2ZjdiNjMtNTgwMC00ODc0LTkzYjYtODZmZDQzNzIwNjc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDExMDcwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE0OTJiNjMzNTM1Mjc4NjQwOWJjNDAyMGY3NzU4YTkyZTA2NjhmNjM3ZDUzNWEzNjVmMjQwOWI4MDI2ZWYyNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cLI-_2mT0-acNmjY5rBTUUDc_sCh2pjcXiAIvXlYrrg)
- Apologies for noticing just now and not when actually doing design overviews, but all three dates (including from the previous screenshot) on this page are a different format— do we want to do anything about this?
![image](https://private-user-images.githubusercontent.com/66969001/238128359-ac859fc9-d9c6-4fd7-9c64-2c1964bb4e6e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTg3MjQsIm5iZiI6MTczOTM1ODQyNCwicGF0aCI6Ii82Njk2OTAwMS8yMzgxMjgzNTktYWM4NTlmYzktZDljNi00ZmQ3LTljNjQtMmMxOTY0YmI0ZTZlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDExMDcwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRiZmY4NzY5OTQzYmJmNjBlMzUzNWRhZTNiYWY1NGQ3N2FmNWU5YjBkYWNiMjVmY2I4ZTUwOTAwZTZkNGY4MzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.HXNk96_KVSQcabMNQiK91tDMcG1NbUReHrRUcW41hnk)
![image](https://private-user-images.githubusercontent.com/66969001/238128365-c88afc09-7049-4204-bebb-ca95dce3deb3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTg3MjQsIm5iZiI6MTczOTM1ODQyNCwicGF0aCI6Ii82Njk2OTAwMS8yMzgxMjgzNjUtYzg4YWZjMDktNzA0OS00MjA0LWJlYmItY2E5NWRjZTNkZWIzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDExMDcwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5YzBlODA3NjE2ZDNkMTcxYzA0NzEwMGY0YTY5OWUyODY5ZmVmN2ExY2QyZDk5NWNiYmE4YjNmZjQzMTU4YWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Hxs8nz5eoy2z837i6CNsK5lFfXBtHy48nx_yzhTM0Qg)
- Would you prefer having this merged to master or to feature/new-manage-submissions?
That's it for questions! This is beautiful I love the dropdown so much :'))
In #1895, Michelle decided on a format, I believe in discussion with Victor. However, given that extensions are on a day-by-day basis, I feel that such precision is not required. I will standardize the formats to something like MMM D YYYY (e.g. Mar 11 2023). This is slightly different in that it uses a 4 digit year, but it feels more readable to me.
I think this is a fairly standalone feature that can be merged to master, so that 213 can make use of it (unless new manage submissions will be merged to master soon?) |
![]() @lykimchee New standardized date format (PR description has also been updated). Let me know what you think of this, as well as merging into master! |
Merging into master sounds good to me! I think the new date format looks good as well! I would prefer to keep the specific time for just the original due date though, in the format of Michelle's PR (except I like your year format better). With this change, the MM-DD-YY part of the dates would still be consistent, even though the original due date would have an additional timestamp, so I don't think it would be confusing to look at— but let me know your thoughts though! |
Description
Motivation and Context
Currently, extensions can only be created or updated for one student at a time. This is tedious if multiple students should be given the same extension, as surfaced during 213 user testing.
Resolves #1854
How Has This Been Tested?
Creating extensions
e.g. give 1 day extensions to 3 users (user0, user1, user2)
![Screenshot 2023-05-14 at 16 11 01](https://private-user-images.githubusercontent.com/9074856/238175102-e7a85074-2ba8-4ddf-8b16-a3a37855a44b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTg3MjMsIm5iZiI6MTczOTM1ODQyMywicGF0aCI6Ii85MDc0ODU2LzIzODE3NTEwMi1lN2E4NTA3NC0yYmE4LTRkZGYtOGIxNi1hM2EzNzg1NWE0NGIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMTEwNzAzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YTUzZGUwNjFlNGQzODk3MTMwNWFhNDIyNTc2OGY1M2M4NjA0ZTk5YzMyZGQwOTNiNWY1MThkMWJiMDRiOGM5MSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.D3KQENYMVuo2dx8dkoLJF9zlyAAJKH-d2_TfS6GhAYQ)
note: already selected users are filtered from the dropdown, to prevent users from selecting them again
Updating extensions
e.g. give infinite extensions to 3 users (user2, user3, user4) -> this updates user2's extension
![Screenshot 2023-05-14 at 16 11 20](https://private-user-images.githubusercontent.com/9074856/238175107-04609c37-2c1c-473a-b869-8c71feec6b12.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTg3MjMsIm5iZiI6MTczOTM1ODQyMywicGF0aCI6Ii85MDc0ODU2LzIzODE3NTEwNy0wNDYwOWMzNy0yYzFjLTQ3M2EtYjg2OS04YzcxZmVlYzZiMTIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMTEwNzAzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZmM1Yjc5MmRkMzM5N2QxYmQ2YTU5NDJhOWQxMTk5MmMxNTQxZDc2YThjYWYwNWE2NGViZGVhZjQwYWVjYWEyYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.sflexAazsmFu3d1QQfBUZkGYI8LVFfGpy_jjZ9L5g84)
Autofill
XSS
Error conditions
#course_user_data
to include invalid cuds -> "No user with id xxx" was found for this coursemin
check) -> "Validation failed: Please enter (≥ 0) days of extension, or mark as infinite."Ensure that when an error occurs, no changes are applied
Types of changes
Checklist:
overcommit --install && overcommit --sign
to use pre-commit hook for linting