-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
[#11466] Add remind sub-menu to UI #11510
[#11466] Add remind sub-menu to UI #11510
Conversation
Guys, This PR seems to be stalling (no activities for the past 7 days). 🐌 😢 |
@NicolasCwy Seems like CI is failing, let us know once you fix it |
Still working on this, taking abit of a break! Will convert it into a PR when I'm ready for review |
Guys, This PR seems to be stalling (no activities for the past 8 days). 🐌 😢 |
Selecting "Select all non-submitters" checks the modal option "Select all instructors not yet submitted" and "Select all students not yet submitted" in modal even when all instructors or students have completed the have completed the feedback session. Change isAllYetToSubmitInstructorsSelected and isAllYetToSubmitStudentsSelected functions to check that there exist entities who have not completed the form before checking option.
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.
Hey! Took a quick look at your PR while you are fixing the e2e tests :)
src/web/app/components/sessions-table/sessions-table.component.html
Outdated
Show resolved
Hide resolved
src/web/app/components/sessions-table/sessions-table.component.html
Outdated
Show resolved
Hide resolved
aff6260
to
c1fc8d2
Compare
Hi @daongochieu2810 I have finished the PR, would I need to create test for the bug I fixed (Number 2)? Thinking of adding tests to |
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.
Implementation looks good to me! Just a small code quality related comment below.
@samuelfangjw I've tried to create an E2E test to check if all non-submitters have been notified when the reminder button has been clicked, but I'm not sure if there's something wrong with the |
Looking at the method, I believe it skips the check on the dev server. |
Update snapshot tests
@BeforeClass | ||
public void classSetup() { | ||
deleteDownloadsFile(fileName); | ||
|
||
// ------------------------------------ Prepare student non-submitter data ------------------------------------ // | ||
|
||
StudentAttributes secondStudentNonSubmitter = testData.students.get("IHome.benny.c.tmms@IHome.CS2104"); | ||
secondStudentNonSubmitter.setEmail(TestProperties.TEST_EMAIL); | ||
StudentAttributes thirdStudentNonSubmitter = testData.students.get("IHome.danny.e.tmms@IHome.CS2104"); | ||
thirdStudentNonSubmitter.setEmail(TestProperties.TEST_EMAIL); | ||
|
||
studentNonSubmitters = Arrays.asList(studentToEmail, secondStudentNonSubmitter, thirdStudentNonSubmitter); |
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.
I think it would be more appropriate to place this in the prepareTestData
method, since this seems like preparing test data.
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.
I thought so too, but saw that InstructorFeedbackReportPageE2ETest.java
, was doing it in the classSetup()
, which I thought was to keep the prepareTestData
method lean, should I still move it?
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.
Yes! For InstructorFeedbackReportPageE2ETest.java
, in the classSetup()
method, they are fetching data from the database but not modifying anything. In the prepareTestData
method, they are modifying the testData that will be persisted into the database. In fact, there is a similar line of code in prepareTestData()
that is almost identical to the changes you made.
studentToEmail = testData.students.get("Emily");
studentToEmail.setEmail(TestProperties.TEST_EMAIL);
removeAndRestoreDataBundle(testData);
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.
Yea I saw this, I thought because the studentToEmail
and the instructor
are entities used in every test as compared to my test data which was used only in one test, I would have to differentiate them by placing them in a different method. Will make the changes!
protected void prepareTestData() {
testData = loadDataBundle("/InstructorFeedbackSessionsPageE2ETest.json");
studentToEmail = testData.students.get("charlie.tmms@IFSess.CS1101");
studentToEmail.setEmail(TestProperties.TEST_EMAIL);
removeAndRestoreDataBundle(testData);
...
} I don't believe there will be any issue! Looking at the existing implementation of |
I would be able to add another instructor to test that instructors are emailed. I think I'm concerned if omitting the instructor who is creating the session is ok? |
I don't think it matters, will probably work. I believe instructor is associated to course by courseId and not email |
Guys, This PR seems to be stalling (no activities for the past 7 days). 🐌 😢 |
Students with the same email are not persisted in the database. The tests added therefore did not work but passed.
@samuelfangjw As spoken since we are unable to set multiple entities to use |
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.
Looks good to me :)
* Add remind sub-menu to UI * Add logic to reminder button modal * Update snapshots tests for reminder sub-menu * Fix bug that incorrectly selects modal option Selecting "Select all non-submitters" checks the modal option "Select all instructors not yet submitted" and "Select all students not yet submitted" in modal even when all instructors or students have completed the have completed the feedback session. Change isAllYetToSubmitInstructorsSelected and isAllYetToSubmitStudentsSelected functions to check that there exist entities who have not completed the form before checking option. * Style remind button * Update snapshot tests * Fix lint errors * Change button group to use bootstrap flex class * Add back loading condition * Update send reminder email E2E test * Update snapshot tests * Fix typo in E2E tests * Make E2E helper function name more descriptive * Add E2E to InstructorFeedbackSession * Remove unused event emitter Update snapshot tests * Add E2E test to InstructorFeedbackSession Add E2E test to test remind all non-submitters button and ensure that sent to student non-submitters. * Fix typo in E2E test * Removed tests for more than one student Students with the same email are not persisted in the database. The tests added therefore did not work but passed. * Fix lint error Co-authored-by: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com>
commit 1eb42d7 Merge: 4e4b5d6 7dfda8b Author: Hannah Chia <chia.hannahk@gmail.com> Date: Thu Mar 31 21:30:13 2022 +0800 Merge branch 'master' into mb-website commit 4e4b5d6 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Thu Mar 31 21:05:13 2022 +0800 [TEAMMATES#11684] Fix minor typos (TEAMMATES#11685) * Fix minor typos * Remove unnecessary multi-byte characters commit d495c3b Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Mar 29 00:21:23 2022 +0800 [TEAMMATES#11673] Add ESLint rule for member delimiter style (TEAMMATES#11675) commit 808c445 Author: Mo Zongran <mozongran@gmail.com> Date: Mon Mar 28 23:34:00 2022 +0800 [TEAMMATES#11585] Fix unnecessary data read in expected submission count (TEAMMATES#11659) commit 105fa5a Author: Nicolas Chang Weng Yew <nicolas.chang99@gmail.com> Date: Mon Mar 28 18:40:42 2022 +0800 [TEAMMATES#8184] Instructor create session: default questions: replace 'contribution question' (TEAMMATES#11613) commit 446f5be Author: Howard Liu <howard@ixnet.work> Date: Mon Mar 28 15:45:30 2022 +0800 [TEAMMATES#11621] [TEAMMATES#11622] Minor fixes for angular.json and typos (TEAMMATES#11672) commit 351141b Author: Hannah Chia <chia.hannahk@gmail.com> Date: Thu Mar 31 20:40:45 2022 +0800 Remove unneeded images and lines of code commit f28c10a Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Mar 28 12:13:12 2022 +0800 Fix Typo commit b89277a Author: Samuel Fang <samuelfangjw@gmail.com> Date: Mon Mar 28 01:00:54 2022 +0800 [TEAMMATES#11674] Fix duplicate time picker option when 23:00 selection (TEAMMATES#11677) commit c779df6 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Sun Mar 27 23:35:57 2022 +0800 [TEAMMATES#11618] Backend for usage statistics collection (TEAMMATES#11666) * Add usage statistics entity + attributes * Add API to fetch usage statistics objects * Limit statistics query to six months * Add cron job action to collect response stats * Extend stats collection function to few other entities * Extend stats collection function to number of emails sent and submissions * Add some tests to non-trivial backend methods commit cafe194 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sun Mar 27 22:58:26 2022 +0800 [TEAMMATES#11655] Devise a better way to handle duplicate account requests (TEAMMATES#11657) commit 489106f Author: FergusMok <FergusMok1@gmail.com> Date: Sun Mar 27 19:54:58 2022 +0800 [TEAMMATES#11086] Enrolling students: show a progress indicator when enrolling a large class (TEAMMATES#11600) commit 9564596 Author: Mo Zongran <mozongran@gmail.com> Date: Tue Mar 22 21:56:47 2022 +0800 [TEAMMATES#11585] Add key only queries to data count and existential checks (TEAMMATES#11662) * fix: change limit 1 to keys only query for existential check * update: add method to get the student count in a team in a course commit 29262c8 Author: LI JIANHAN <59337195+jianhandev@users.noreply.github.com> Date: Mon Mar 21 00:58:46 2022 +0800 [TEAMMATES#8011] Improve scalability of student cascade delete (TEAMMATES#11574) * Limit number of students to delete per request in backend * Update component tests for delete students with limit * Break up large delete students request in frontend * Add frontend test for students batch delete * Enforce typing for CourseStatistics object in test file * Show correct toast type Co-authored-by: jianhandev <jianhandev@gmail.com> commit 12bb18b Author: Howard Liu <howard@ixnet.work> Date: Thu Mar 17 00:13:26 2022 +0800 [TEAMMATES#11570] Move all external service classes to new package (TEAMMATES#11577) * Move all external service classes to new package * Update design diagram and documents * Update design document and diagram * Amend docs based on comments commit 564dcfc Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Mon Mar 14 23:28:35 2022 +0800 [TEAMMATES#11647] Update developers commit 2a8ea4a Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Mar 14 22:09:04 2022 +0800 [TEAMMATES#11640] Apply lazy-loading of question contents in session submission page (TEAMMATES#11642) * Load recipients and responses only when in view * Add button to submit responses for individual questions * Add E2E test for submitting response to one question only * Rephrase saving complete modal when there is only one question to reduce ambiguity commit e587d06 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Mar 14 21:13:16 2022 +0800 [TEAMMATES#11644] Remove webmaster/webtool files from source control (TEAMMATES#11645) * Add webtools folder with .gitkeep * Remove all hardcoded webtool files commit 0b713bb Author: Howard Liu <howard@ixnet.work> Date: Mon Mar 14 20:37:44 2022 +0800 [TEAMMATES#11547] Remove outdated instructor help information (TEAMMATES#11555) commit 69d4c43 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Mar 28 11:44:11 2022 +0800 Separate contributing file to remove frontmatter from it commit 38cb4b5 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Thu Mar 17 16:45:10 2022 +0800 Add documentation Remove .mbd file extensions from site.json Remove irrelevant text Change Contributing file name references to CONTRIBUTING CONTRIBUTING.md is a special file in git. Rename contributing.md to CONTRIBUTING.md Streamline frontmatter Revert "Change Contributing file name references to CONTRIBUTING" This reverts commit 4900cc2. commit 3de6cab Author: Hannah Chia <chia.hannahk@gmail.com> Date: Wed Mar 16 18:14:41 2022 +0800 Add titles to pages, change favicon commit 377a52f Author: Mo Zongran <mozongran@gmail.com> Date: Sun Mar 13 22:21:50 2022 +0800 [TEAMMATES#11143] Refactor session link recovery logic (TEAMMATES#11159) commit cb6726b Author: Mo Zongran <mozongran@gmail.com> Date: Sun Mar 13 21:57:10 2022 +0800 [TEAMMATES#11585] Remove unnecessary data read (TEAMMATES#11646) commit 30b4667 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sat Mar 12 17:01:54 2022 +0800 [TEAMMATES#11633] Remove overwritten text-break class (TEAMMATES#11634) commit ddfe505 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Fri Mar 11 21:19:33 2022 +0800 [TEAMMATES#11433] Admin: Give a way to remove unregistered instructors and their data (TEAMMATES#11582) * Add delete account request function in account service * Add delete button for account request on admin search page * Add backend validation to prevent account request of registered instructor from being deleted * Add admin search page e2e tests for deletion of account request * Remove redundant hasInstructor attribute commit 9e449c9 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Fri Mar 11 08:36:42 2022 +0800 [TEAMMATES#11630] [TEAMMATES#11631] Update conditions for session closing and closed emails (TEAMMATES#11635) * Send session closing email to all students/instructors * Repurpose session closed email to co-owner only commit d0d63da Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Fri Mar 11 07:23:17 2022 +0800 [TEAMMATES#11626] New instructors: set the session timestamps of the sample course to match user (TEAMMATES#11627) * Use demo.timezone placeholder to indicate string to replace * Make sample data session times dynamic commit 5e6b116 Author: FergusMok <FergusMok1@gmail.com> Date: Fri Mar 11 02:38:26 2022 +0800 [TEAMMATES#10843] Instructor viewing results: incorrect state shown briefly when expanding the non-submitters panel (TEAMMATES#11595) commit 019cb9e Author: Howard Liu <howard@ixnet.work> Date: Fri Mar 11 02:05:43 2022 +0800 [TEAMMATES#11588] Fix incorrect loading for student result page (TEAMMATES#11604) commit ab4dc55 Author: Zhao Jingjing <54243224+zhaojj2209@users.noreply.github.com> Date: Thu Mar 10 21:50:19 2022 +0800 [TEAMMATES#11370] Copying question from another session: optimize fetching of available questions (TEAMMATES#11566) commit 93a93e7 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Mar 7 14:52:10 2022 +0800 Fix inconsistent spacing Change emojis to icons Rename CONTRIBUTING.md to contributing.md commit f779ff7 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Wed Mar 2 15:14:06 2022 +0800 [TEAMMATES#11579] [TEAMMATES#11610] Update front page data + remove usermap page (TEAMMATES#11616) * Remove usermap-related files * Remove topojson library * Update committers + senior members list * Update developers list * Update submission base number * Update users number in home page commit 866e030 Author: Hardik Ruparel <hardikruparel14@gmail.com> Date: Tue Mar 1 21:52:33 2022 -0800 [TEAMMATES#11598] Outdated link in Solr documentation (TEAMMATES#11601) commit e00bcd7 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Mar 1 00:49:31 2022 +0800 [TEAMMATES#11591] Use Firefox 96 in E2E tests (TEAMMATES#11611) commit 98518a6 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Thu Mar 31 21:03:09 2022 +0800 [TEAMMATES#11345] Update Angular to 12 (TEAMMATES#11509) commit e4680e1 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Feb 28 14:16:57 2022 +0800 [TEAMMATES#11607] Update back-end dependencies (TEAMMATES#11608) * Update Gradle to 7.4 * Update lint tools to latest * Fix newly flagged lint issues * Fix deprecated code usages * Fix deprecated java 5-7 practices * Copy full implementation of readExternal from time.zone classes * Update non-GCP dependencies to latest * Update GCP dependencies to latest commit 8c55c68 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Feb 28 21:59:56 2022 +0800 Add line about markbind setup in setting-up Also minor chores commit 4988607 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Feb 28 21:33:13 2022 +0800 Add logo images commit 1dea9d2 Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Sat Feb 26 11:11:37 2022 +0800 [TEAMMATES#11599] Update developers commit eb5c160 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sat Feb 26 11:07:39 2022 +0800 [TEAMMATES#11583] Add account request entity to storage component diagram (TEAMMATES#11584) commit 741350d Author: Martin Larsson <martin.99.larsson@telia.com> Date: Fri Feb 25 05:11:23 2022 +0100 [TEAMMATES#11592] Wrong argument order in populateFieldsToGenerateInQuestion causes NPE (TEAMMATES#11593) * test: add tests for IN_SAME_SECTION * fix: correct argument order for getStudentForEmail commit 608e101 Author: Nicolas Chang Weng Yew <nicolas.chang99@gmail.com> Date: Wed Feb 23 16:46:17 2022 +0800 [TEAMMATES#11578] Make user cookie time sensitive (TEAMMATES#11581) * Add expiration time to cookies * Add UserInfo cookie test * Remove magic number and change expiry time to long * Add validity test * Change expiryTime setter to use long parameter commit 524f247 Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Sun Feb 20 23:55:17 2022 +0800 [TEAMMATES#11568] Update developers commit 54302e9 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Sat Feb 19 22:08:34 2022 +0800 [TEAMMATES#9152] Add more SpotBugs rules (TEAMMATES#11580) commit 0ecf769 Author: Howard Liu <howard@ixnet.work> Date: Thu Feb 17 21:31:41 2022 +0800 [TEAMMATES#11487] Disable mouse wheel events for number inputs (TEAMMATES#11542) * Disable mouse wheel events for number inputs - Prevent mouse wheel scroll from changing students' number inputs * Revert "Disable mouse wheel events for number inputs" This reverts commit 9429e87. * Disable wheel for numeric inputs using directive - New WheelDisablerDirective and respective module is created - Updated snapshot for session-submission-page * Fix linting errors commit 9e90de3 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Feb 15 23:58:22 2022 +0800 [TEAMMATES#11540] Make maintainer logs interface scrollable (TEAMMATES#11545) * Allow maintainer logs output to scroll * Enlarge scrollable area * Replace css selectors with nested sass selectors commit 96d899f Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Tue Feb 15 22:35:57 2022 +0800 [TEAMMATES#11559] Include session submission/results URL for instructor in instructor-addressed emails (TEAMMATES#11561) commit d944d6d Author: Howard Liu <howard@ixnet.work> Date: Tue Feb 15 21:51:19 2022 +0800 [TEAMMATES#11551] Fix incorrect message for student home page (TEAMMATES#11563) commit e361590 Author: Jay Ting <65202977+jayasting98@users.noreply.github.com> Date: Tue Feb 15 21:21:21 2022 +0800 [TEAMMATES#11548] Add edit functionality for admins adding new instructors (TEAMMATES#11549) commit d45173c Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Feb 15 11:31:32 2022 +0800 [TEAMMATES#9031] Allow adding of comment to MSQ questions (TEAMMATES#11546) * Allow adding of comment to MSQ questions * Fix typo in session-submission-page test * Fix some comments appearing in wrong column in downloaded csv file * Remove impossible test commit 12843cd Author: Nicolas Chang Weng Yew <nicolas.chang99@gmail.com> Date: Tue Feb 15 10:37:45 2022 +0800 [TEAMMATES#11466] Add remind sub-menu to UI (TEAMMATES#11510) * Add remind sub-menu to UI * Add logic to reminder button modal * Update snapshots tests for reminder sub-menu * Fix bug that incorrectly selects modal option Selecting "Select all non-submitters" checks the modal option "Select all instructors not yet submitted" and "Select all students not yet submitted" in modal even when all instructors or students have completed the have completed the feedback session. Change isAllYetToSubmitInstructorsSelected and isAllYetToSubmitStudentsSelected functions to check that there exist entities who have not completed the form before checking option. * Style remind button * Update snapshot tests * Fix lint errors * Change button group to use bootstrap flex class * Add back loading condition * Update send reminder email E2E test * Update snapshot tests * Fix typo in E2E tests * Make E2E helper function name more descriptive * Add E2E to InstructorFeedbackSession * Remove unused event emitter Update snapshot tests * Add E2E test to InstructorFeedbackSession Add E2E test to test remind all non-submitters button and ensure that sent to student non-submitters. * Fix typo in E2E test * Removed tests for more than one student Students with the same email are not persisted in the database. The tests added therefore did not work but passed. * Fix lint error Co-authored-by: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> commit 27c0d59 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sun Feb 13 16:47:27 2022 +0800 [TEAMMATES#8787] New instructors: set the time zone of the sample course to match user (TEAMMATES#11557) commit d375d0e Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sun Feb 13 15:44:20 2022 +0800 [TEAMMATES#11553] Make account requests searchable in admin search page (TEAMMATES#11560) commit 47965ae Author: FergusMok <FergusMok1@gmail.com> Date: Sat Feb 12 18:36:31 2022 +0800 [TEAMMATES#11152] Student update profile: profile image does not display correctly when certain formats are used (TEAMMATES#11550) * Add validation for student profile picture file types * Add more user-friendly notice message * Change validProfileFileTypes to readonly * Fix linting problems commit c7fb26e Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Feb 28 11:19:36 2022 +0800 chore: fix newline commit 6daef05 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Feb 14 14:44:49 2022 +0800 Chore: Add new line commit 42325a0 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Thu Mar 31 21:01:32 2022 +0800 Add workflow actions Add documentation update about using markbind commit 9cd316b Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Feb 14 14:00:59 2022 +0800 # This is a combination of 4 commits. # This is the 1st commit message: Add workflow actions # This is the commit message #2: change back from .html to .md where possible # This is the commit message #3: Add documentation update about using markbind # This is the commit message #4: Add documentation link in sidebar commit 484b909 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Mon Feb 7 12:09:54 2022 +0800 Rearrange site layout to make pages more obvious Change Design.md to use .puml files Add links to site-nav remove _site files from cache Remove unnecessary files Add about page commit 3a523df Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Mon Feb 7 11:17:03 2022 +0800 [TEAMMATES#11554] Update developers commit ef604b8 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Feb 7 10:50:26 2022 +0800 [TEAMMATES#11537] Fix unstable E2E tests (TEAMMATES#11558) * Add wait for page load * Capture elements on demand * Use value of timeout from test properties commit 09eacf5 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Sun Feb 6 23:23:45 2022 +0800 [TEAMMATES#11357] Allow access to submission/results page for unregistered instructors (TEAMMATES#11488) * Modify access controls of necessary APIs to cater for unregistered instructors * Extend front-end access for submission/result pages to unregistered instructors * Remove unnecessary studentemail parameter for session submission/result links * Remove the now unnecessary join instruction for instructor submission/result reminders * Replace instructor submission/result links with generic ones * Add course join notes for instructor * Include list of session links for regenerate email * Display session links for instructor search result commit c75304d Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sat Feb 5 10:13:27 2022 +0800 [TEAMMATES#11371] Instructor sample data: defer until instructor joins (TEAMMATES#11396) * Defer creation of sample data until after instructor joins * Fix deleteAccountRequest * Add loading spinner to create-account-page * Add check for whether user already has account * Update frontend tests * Add component tests * Add tests for AccountRequestAttributes * Add component tests for create account actions * Fix frontend lint errors * Fix backend lint errors * Fix e2e tests * Add account requests to data bundle * Update account requests logic test * Add e2e Tests * Fix page not redirecting to login * Fix lint errors * Fix linting issues * Change id of AccountRequest to use both email and institute * Move create account page to user join page * Update tests for user-join-page * Add delete account request action * Delete account request in AdminHomePageE2E test * Add GetAccountRequest action * Remove unnecessary calls to getAccountRequest * Fix failing component tests * Use instructorEmail instead of Email const * Fix minor bugs and cleanup * Remove trailing whitespace * Add placeholder skeleton to frontend * Update AccountRequest and DTO * Move registration url creation to accountRequest dto * Update createAccountAction to soft delete * Update component tests * Add endpoint to get account request status * Update user join page * Fix indentation * Update tests for user-join-page * Fix failing component tests * Fix typos * Fix typo which caused createdAt to be null * Fix broken component tests * Update exception to use specific exception type * Change Instant to Long in AccountRequestData.java * Refactor CreateAccountRequestActionTest to use getJoinLink method * Fix lint issues * Change getAccountRequest to throw exception * Remove unnecessary null check * Refactor user join page * Remove instructor from registration url * Remove instructor entity type from tests * Update sample data to be more realistic * Remove name and registration key update options * Fix architecture test violations * Seperate craete and update account request * Streamline API for join status * Minor bug fix * Remove account request status constant * Refactor get account request methods * Simplify condition * Fix typo * Remove else block * Create e2e test for account requests * Fix lint issues * Fix failing test * Remove now unnecessary comment * Revert unnecessary change * Remove outdated comment * Fix minor issues * Remove additional word * Replace boolean with string * Catch error when accountRequestAttributes is null * Remove entityType from join link * Use invalidKey variable * Remove name from update options * Handle case where accountRequestAttributes not found with assertions instead * Seperate try block in CreateAccountAction.java * Handle cases in CreateAccountAction where exceptions should not be thrown * Tweak comment language used to be consistent * Collapse catch blocks in CreateAccountAction.java Co-authored-by: Wilson Kurniawan <wkurniawan.92@gmail.com> commit 27d3291 Author: Zhao Jingjing <54243224+zhaojj2209@users.noreply.github.com> Date: Fri Feb 4 18:53:58 2022 +0800 [TEAMMATES#11539] Feedback response submission: Requests sent to backend despite invalid response (TEAMMATES#11541) * Fix invalid feedback response check * Add tests Co-authored-by: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> commit 8ecf764 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Sat Jan 15 17:17:41 2022 +0800 Fixed navbar and added logo Ignore auto generated site Add markbind to troubleshooting guide Revise via prof Damith comments commit 4781fa2 Author: Hannah Chia <chia.hannahk@gmail.com> Date: Sat Jan 15 16:35:39 2022 +0800 Add markbind features to e2e testing commit f21be78 Author: tlylt <liu_yongliang@hotmail.com> Date: Sat Jan 15 16:14:13 2022 +0800 add example reuse and panel commit 8b4e54e Author: Jovyn Tan <jovyn.tls@gmail.com> Date: Sat Jan 15 16:45:29 2022 +0800 Fix broken static analysis links commit 4e0a62e Author: Jovyn Tan <jovyn.tls@gmail.com> Date: Sat Jan 15 16:11:13 2022 +0800 Add tooltips and boxes commit e59f2e9 Author: ong6 <junxiongong2@gmail.com> Date: Sat Jan 15 15:26:24 2022 +0800 Finished setting up navbar commit 7783a47 Author: ong6 <junxiongong2@gmail.com> Date: Sat Jan 15 14:54:16 2022 +0800 Fixed navigation commit 9de6686 Author: ong6 <junxiongong2@gmail.com> Date: Sat Jan 15 14:44:43 2022 +0800 Fixed navbar commit 4e8be3a Author: ong6 <junxiongong2@gmail.com> Date: Sat Jan 15 14:41:10 2022 +0800 Fixed navigation styling commit 4d210e6 Author: tlylt <liu_yongliang@hotmail.com> Date: Sat Jan 15 14:11:21 2022 +0800 generate site commit 7dfda8b Author: Samuel Fang <samuelfangjw@gmail.com> Date: Thu Mar 31 11:11:59 2022 +0800 [TEAMMATES#11684] Fix minor typos (TEAMMATES#11685) * Fix minor typos * Remove unnecessary multi-byte characters commit e1a19ac Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Mar 29 00:21:23 2022 +0800 [TEAMMATES#11673] Add ESLint rule for member delimiter style (TEAMMATES#11675) commit fe084aa Author: Mo Zongran <mozongran@gmail.com> Date: Mon Mar 28 23:34:00 2022 +0800 [TEAMMATES#11585] Fix unnecessary data read in expected submission count (TEAMMATES#11659) commit b088fd0 Author: Nicolas Chang Weng Yew <nicolas.chang99@gmail.com> Date: Mon Mar 28 18:40:42 2022 +0800 [TEAMMATES#8184] Instructor create session: default questions: replace 'contribution question' (TEAMMATES#11613) commit bffb533 Author: Howard Liu <howard@ixnet.work> Date: Mon Mar 28 15:45:30 2022 +0800 [TEAMMATES#11621] [TEAMMATES#11622] Minor fixes for angular.json and typos (TEAMMATES#11672) commit 46f9439 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Mon Mar 28 01:00:54 2022 +0800 [TEAMMATES#11674] Fix duplicate time picker option when 23:00 selection (TEAMMATES#11677) commit 2927683 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Sun Mar 27 23:35:57 2022 +0800 [TEAMMATES#11618] Backend for usage statistics collection (TEAMMATES#11666) * Add usage statistics entity + attributes * Add API to fetch usage statistics objects * Limit statistics query to six months * Add cron job action to collect response stats * Extend stats collection function to few other entities * Extend stats collection function to number of emails sent and submissions * Add some tests to non-trivial backend methods commit 63d20da Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sun Mar 27 22:58:26 2022 +0800 [TEAMMATES#11655] Devise a better way to handle duplicate account requests (TEAMMATES#11657) commit 5fd040c Author: FergusMok <FergusMok1@gmail.com> Date: Sun Mar 27 19:54:58 2022 +0800 [TEAMMATES#11086] Enrolling students: show a progress indicator when enrolling a large class (TEAMMATES#11600) commit 47a51f8 Author: Mo Zongran <mozongran@gmail.com> Date: Tue Mar 22 21:56:47 2022 +0800 [TEAMMATES#11585] Add key only queries to data count and existential checks (TEAMMATES#11662) * fix: change limit 1 to keys only query for existential check * update: add method to get the student count in a team in a course commit 2bdf70c Author: LI JIANHAN <59337195+jianhandev@users.noreply.github.com> Date: Mon Mar 21 00:58:46 2022 +0800 [TEAMMATES#8011] Improve scalability of student cascade delete (TEAMMATES#11574) * Limit number of students to delete per request in backend * Update component tests for delete students with limit * Break up large delete students request in frontend * Add frontend test for students batch delete * Enforce typing for CourseStatistics object in test file * Show correct toast type Co-authored-by: jianhandev <jianhandev@gmail.com> commit 3824506 Author: Howard Liu <howard@ixnet.work> Date: Thu Mar 17 00:13:26 2022 +0800 [TEAMMATES#11570] Move all external service classes to new package (TEAMMATES#11577) * Move all external service classes to new package * Update design diagram and documents * Update design document and diagram * Amend docs based on comments commit fdfdcf1 Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Mon Mar 14 23:28:35 2022 +0800 [TEAMMATES#11647] Update developers commit 720ea6d Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Mar 14 22:09:04 2022 +0800 [TEAMMATES#11640] Apply lazy-loading of question contents in session submission page (TEAMMATES#11642) * Load recipients and responses only when in view * Add button to submit responses for individual questions * Add E2E test for submitting response to one question only * Rephrase saving complete modal when there is only one question to reduce ambiguity commit 96fa122 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Mar 14 21:13:16 2022 +0800 [TEAMMATES#11644] Remove webmaster/webtool files from source control (TEAMMATES#11645) * Add webtools folder with .gitkeep * Remove all hardcoded webtool files commit 39ce954 Author: Howard Liu <howard@ixnet.work> Date: Mon Mar 14 20:37:44 2022 +0800 [TEAMMATES#11547] Remove outdated instructor help information (TEAMMATES#11555) commit ab1b48c Author: Mo Zongran <mozongran@gmail.com> Date: Sun Mar 13 22:21:50 2022 +0800 [TEAMMATES#11143] Refactor session link recovery logic (TEAMMATES#11159) commit 0642966 Author: Mo Zongran <mozongran@gmail.com> Date: Sun Mar 13 21:57:10 2022 +0800 [TEAMMATES#11585] Remove unnecessary data read (TEAMMATES#11646) commit a3c4ba0 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sat Mar 12 17:01:54 2022 +0800 [TEAMMATES#11633] Remove overwritten text-break class (TEAMMATES#11634) commit 29118a3 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Fri Mar 11 21:19:33 2022 +0800 [TEAMMATES#11433] Admin: Give a way to remove unregistered instructors and their data (TEAMMATES#11582) * Add delete account request function in account service * Add delete button for account request on admin search page * Add backend validation to prevent account request of registered instructor from being deleted * Add admin search page e2e tests for deletion of account request * Remove redundant hasInstructor attribute commit acf8bc0 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Fri Mar 11 08:36:42 2022 +0800 [TEAMMATES#11630] [TEAMMATES#11631] Update conditions for session closing and closed emails (TEAMMATES#11635) * Send session closing email to all students/instructors * Repurpose session closed email to co-owner only commit f177a43 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Fri Mar 11 07:23:17 2022 +0800 [TEAMMATES#11626] New instructors: set the session timestamps of the sample course to match user (TEAMMATES#11627) * Use demo.timezone placeholder to indicate string to replace * Make sample data session times dynamic commit 2763068 Author: FergusMok <FergusMok1@gmail.com> Date: Fri Mar 11 02:38:26 2022 +0800 [TEAMMATES#10843] Instructor viewing results: incorrect state shown briefly when expanding the non-submitters panel (TEAMMATES#11595) commit 9f2f4c7 Author: Howard Liu <howard@ixnet.work> Date: Fri Mar 11 02:05:43 2022 +0800 [TEAMMATES#11588] Fix incorrect loading for student result page (TEAMMATES#11604) commit 33cfa21 Author: Zhao Jingjing <54243224+zhaojj2209@users.noreply.github.com> Date: Thu Mar 10 21:50:19 2022 +0800 [TEAMMATES#11370] Copying question from another session: optimize fetching of available questions (TEAMMATES#11566) commit 9cc2e84 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Wed Mar 2 15:14:06 2022 +0800 [TEAMMATES#11579] [TEAMMATES#11610] Update front page data + remove usermap page (TEAMMATES#11616) * Remove usermap-related files * Remove topojson library * Update committers + senior members list * Update developers list * Update submission base number * Update users number in home page commit 96c2743 Author: Hardik Ruparel <hardikruparel14@gmail.com> Date: Tue Mar 1 21:52:33 2022 -0800 [TEAMMATES#11598] Outdated link in Solr documentation (TEAMMATES#11601) commit d31a76d Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Mar 1 00:49:31 2022 +0800 [TEAMMATES#11591] Use Firefox 96 in E2E tests (TEAMMATES#11611) commit de1b10c Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Feb 28 15:38:20 2022 +0800 [TEAMMATES#11345] Update Angular to 12 (TEAMMATES#11509) commit 45406dc Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Feb 28 14:16:57 2022 +0800 [TEAMMATES#11607] Update back-end dependencies (TEAMMATES#11608) * Update Gradle to 7.4 * Update lint tools to latest * Fix newly flagged lint issues * Fix deprecated code usages * Fix deprecated java 5-7 practices * Copy full implementation of readExternal from time.zone classes * Update non-GCP dependencies to latest * Update GCP dependencies to latest commit b89ce39 Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Sat Feb 26 11:11:37 2022 +0800 [TEAMMATES#11599] Update developers commit 7803395 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sat Feb 26 11:07:39 2022 +0800 [TEAMMATES#11583] Add account request entity to storage component diagram (TEAMMATES#11584) commit c805534 Author: Martin Larsson <martin.99.larsson@telia.com> Date: Fri Feb 25 05:11:23 2022 +0100 [TEAMMATES#11592] Wrong argument order in populateFieldsToGenerateInQuestion causes NPE (TEAMMATES#11593) * test: add tests for IN_SAME_SECTION * fix: correct argument order for getStudentForEmail commit 49bea44 Author: Nicolas Chang Weng Yew <nicolas.chang99@gmail.com> Date: Wed Feb 23 16:46:17 2022 +0800 [TEAMMATES#11578] Make user cookie time sensitive (TEAMMATES#11581) * Add expiration time to cookies * Add UserInfo cookie test * Remove magic number and change expiry time to long * Add validity test * Change expiryTime setter to use long parameter commit f70ae53 Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Sun Feb 20 23:55:17 2022 +0800 [TEAMMATES#11568] Update developers commit 693d6bf Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Sat Feb 19 22:08:34 2022 +0800 [TEAMMATES#9152] Add more SpotBugs rules (TEAMMATES#11580) commit 4ec60a2 Author: Howard Liu <howard@ixnet.work> Date: Thu Feb 17 21:31:41 2022 +0800 [TEAMMATES#11487] Disable mouse wheel events for number inputs (TEAMMATES#11542) * Disable mouse wheel events for number inputs - Prevent mouse wheel scroll from changing students' number inputs * Revert "Disable mouse wheel events for number inputs" This reverts commit 9429e87. * Disable wheel for numeric inputs using directive - New WheelDisablerDirective and respective module is created - Updated snapshot for session-submission-page * Fix linting errors commit 288d0ff Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Feb 15 23:58:22 2022 +0800 [TEAMMATES#11540] Make maintainer logs interface scrollable (TEAMMATES#11545) * Allow maintainer logs output to scroll * Enlarge scrollable area * Replace css selectors with nested sass selectors commit f88ba0c Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Tue Feb 15 22:35:57 2022 +0800 [TEAMMATES#11559] Include session submission/results URL for instructor in instructor-addressed emails (TEAMMATES#11561) commit 00d2adf Author: Howard Liu <howard@ixnet.work> Date: Tue Feb 15 21:51:19 2022 +0800 [TEAMMATES#11551] Fix incorrect message for student home page (TEAMMATES#11563) commit f347d66 Author: Jay Ting <65202977+jayasting98@users.noreply.github.com> Date: Tue Feb 15 21:21:21 2022 +0800 [TEAMMATES#11548] Add edit functionality for admins adding new instructors (TEAMMATES#11549) commit 8d64ee9 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Tue Feb 15 11:31:32 2022 +0800 [TEAMMATES#9031] Allow adding of comment to MSQ questions (TEAMMATES#11546) * Allow adding of comment to MSQ questions * Fix typo in session-submission-page test * Fix some comments appearing in wrong column in downloaded csv file * Remove impossible test commit 0da0e52 Author: Nicolas Chang Weng Yew <nicolas.chang99@gmail.com> Date: Tue Feb 15 10:37:45 2022 +0800 [TEAMMATES#11466] Add remind sub-menu to UI (TEAMMATES#11510) * Add remind sub-menu to UI * Add logic to reminder button modal * Update snapshots tests for reminder sub-menu * Fix bug that incorrectly selects modal option Selecting "Select all non-submitters" checks the modal option "Select all instructors not yet submitted" and "Select all students not yet submitted" in modal even when all instructors or students have completed the have completed the feedback session. Change isAllYetToSubmitInstructorsSelected and isAllYetToSubmitStudentsSelected functions to check that there exist entities who have not completed the form before checking option. * Style remind button * Update snapshot tests * Fix lint errors * Change button group to use bootstrap flex class * Add back loading condition * Update send reminder email E2E test * Update snapshot tests * Fix typo in E2E tests * Make E2E helper function name more descriptive * Add E2E to InstructorFeedbackSession * Remove unused event emitter Update snapshot tests * Add E2E test to InstructorFeedbackSession Add E2E test to test remind all non-submitters button and ensure that sent to student non-submitters. * Fix typo in E2E test * Removed tests for more than one student Students with the same email are not persisted in the database. The tests added therefore did not work but passed. * Fix lint error Co-authored-by: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> commit 39fba77 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sun Feb 13 16:47:27 2022 +0800 [TEAMMATES#8787] New instructors: set the time zone of the sample course to match user (TEAMMATES#11557) commit 6454c30 Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sun Feb 13 15:44:20 2022 +0800 [TEAMMATES#11553] Make account requests searchable in admin search page (TEAMMATES#11560) commit bb36f4a Author: FergusMok <FergusMok1@gmail.com> Date: Sat Feb 12 18:36:31 2022 +0800 [TEAMMATES#11152] Student update profile: profile image does not display correctly when certain formats are used (TEAMMATES#11550) * Add validation for student profile picture file types * Add more user-friendly notice message * Change validProfileFileTypes to readonly * Fix linting problems commit 0e1c1a0 Author: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com> Date: Mon Feb 7 11:17:03 2022 +0800 [TEAMMATES#11554] Update developers commit 73de639 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Mon Feb 7 10:50:26 2022 +0800 [TEAMMATES#11537] Fix unstable E2E tests (TEAMMATES#11558) * Add wait for page load * Capture elements on demand * Use value of timeout from test properties commit 4767707 Author: Wilson Kurniawan <wkurniawan.92@gmail.com> Date: Sun Feb 6 23:23:45 2022 +0800 [TEAMMATES#11357] Allow access to submission/results page for unregistered instructors (TEAMMATES#11488) * Modify access controls of necessary APIs to cater for unregistered instructors * Extend front-end access for submission/result pages to unregistered instructors * Remove unnecessary studentemail parameter for session submission/result links * Remove the now unnecessary join instruction for instructor submission/result reminders * Replace instructor submission/result links with generic ones * Add course join notes for instructor * Include list of session links for regenerate email * Display session links for instructor search result commit 30ac04e Author: Samuel Fang <samuelfangjw@gmail.com> Date: Sat Feb 5 10:13:27 2022 +0800 [TEAMMATES#11371] Instructor sample data: defer until instructor joins (TEAMMATES#11396) * Defer creation of sample data until after instructor joins * Fix deleteAccountRequest * Add loading spinner to create-account-page * Add check for whether user already has account * Update frontend tests * Add component tests * Add tests for AccountRequestAttributes * Add component tests for create account actions * Fix frontend lint errors * Fix backend lint errors * Fix e2e tests * Add account requests to data bundle * Update account requests logic test * Add e2e Tests * Fix page not redirecting to login * Fix lint errors * Fix linting issues * Change id of AccountRequest to use both email and institute * Move create account page to user join page * Update tests for user-join-page * Add delete account request action * Delete account request in AdminHomePageE2E test * Add GetAccountRequest action * Remove unnecessary calls to getAccountRequest * Fix failing component tests * Use instructorEmail instead of Email const * Fix minor bugs and cleanup * Remove trailing whitespace * Add placeholder skeleton to frontend * Update AccountRequest and DTO * Move registration url creation to accountRequest dto * Update createAccountAction to soft delete * Update component tests * Add endpoint to get account request status * Update user join page * Fix indentation * Update tests for user-join-page * Fix failing component tests * Fix typos * Fix typo which caused createdAt to be null * Fix broken component tests * Update exception to use specific exception type * Change Instant to Long in AccountRequestData.java * Refactor CreateAccountRequestActionTest to use getJoinLink method * Fix lint issues * Change getAccountRequest to throw exception * Remove unnecessary null check * Refactor user join page * Remove instructor from registration url * Remove instructor entity type from tests * Update sample data to be more realistic * Remove name and registration key update options * Fix architecture test violations * Seperate craete and update account request * Streamline API for join status * Minor bug fix * Remove account request status constant * Refactor get account request methods * Simplify condition * Fix typo * Remove else block * Create e2e test for account requests * Fix lint issues * Fix failing test * Remove now unnecessary comment * Revert unnecessary change * Remove outdated comment * Fix minor issues * Remove additional word * Replace boolean with string * Catch error when accountRequestAttributes is null * Remove entityType from join link * Use invalidKey variable * Remove name from update options * Handle case where accountRequestAttributes not found with assertions instead * Seperate try block in CreateAccountAction.java * Handle cases in CreateAccountAction where exceptions should not be thrown * Tweak comment language used to be consistent * Collapse catch blocks in CreateAccountAction.java Co-authored-by: Wilson Kurniawan <wkurniawan.92@gmail.com> commit 86e2fba Author: Zhao Jingjing <54243224+zhaojj2209@users.noreply.github.com> Date: Fri Feb 4 18:53:58 2022 +0800 [TEAMMATES#11539] Feedback response submission: Requests sent to backend despite invalid response (TEAMMATES#11541) * Fix invalid feedback response check * Add tests Co-authored-by: Ahmed Bahajjaj <42177597+madanalogy@users.noreply.github.com>
Fixes #11466
Outline of Solution
send-reminders-to-respondents-modal.component.ts
isAllYetToSubmitStudentsSelected
andisAllYetToSubmitInstructorsSelected
which is used to determine if "Select all instructors not yet submitted" and "Select all students not yet submitted" boxes are checkedInstructorFeedbackSessionsPageE2ETest
andInstructorHomePageE2ETest
tests both reminder options. Due to the constraint of how many students/ instructors can useTestProperties.TEST_EMAIL
, only one non-submitter student is verified to have received the reminder email.