Skip to content
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

[CS2103-T14-2] T.A.rence #167

Open
wants to merge 210 commits into
base: master
Choose a base branch
from

Conversation

ZiHawkEye
Copy link

@ZiHawkEye ZiHawkEye commented Oct 12, 2019

Ellieyee and others added 30 commits September 12, 2019 16:17
* Update documentation to match fork

* Test Travis

* Modify README

* Modify build.gradle site-name (#4)

* Safely deleting Address field

* Remove unnecessary imports

* Fix AddressBook testing units
# Conflicts:
#	docs/UserGuide.adoc
#12)

* Remove Clear Command subsystem

* App: refactor *StudentBook* to *Application*
Change command "add" to "addStudent"
Added Tutorial, Module classes and subclasses and associated tests
ZiHawkEye and others added 30 commits November 6, 2019 21:58
* Fixed Tutorial.setStudent() and EditCommandTest

* Update user guide

* Updated user guide

* Fixed setStudent() and EditCommand yet again

* Fixed bugs
fixed: included prefix mat_no and nusid in argmultimap for addstudentcommandparser
fixed: added issameperson() in Student which is called in contains in UniquePersonList which is called in addstudent/hasstudent in application, changed message_duplicate_student to reflect the new logic
changed: error messages (invalid ... in ...) to for better comprehension
changed: command usage messages for better comprehension
fixed: included conditional in application.setstudent() that does nothing if editedstudent and target are equal to avoid bug where student reference is changed in uniquepersonlist when the same student is added and removed
fixed: partialinputparsertest where by bob and amy had the same nusnetid and matricnums

* More bug fixes
fixed: changed assignment/tutname/eventname regex
fixed: display not a valid command, removed from Finder.java
fixed: optional[] no longer printed for optional fields in student.toString()
fixed: duplicateevents error not shown in console for addEventCommand

* Bug fixes:
fixed: import command whereby no error is shown in console when import https://nusmods.com/timetable/sem-1/share? is inputted
changed: import command message
changed: tutname regex to accept non white space characters

* Fixed listEvents bug
changed: displayassignmentscommand message usage - please update user guide
changed: studentnotfoundexception message in setassignmentscorecommand
fixed: did not throw error when setscore command is called for a student not in the tutorial

* Updated docs
* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Add confirmation prompt for deleting non-empty modules & tutorials

* Fix "y/n" recognition, proper module/tutorial deletion

* Add suggested commands for AddTutorialCommand

* Add suggested corrections for three command types

* Add suggested commands for MarkAttendanceCommand (partial)

* Add suggested commands and tests for MarkAttendanceCommand

* Add suggested commands for displaying attendance

* Fix test failing

* Fix checkstyle

* Comment out failing test for now

* Fix checkstyle

* Comment out failing test for now

* Add autocomplete feature

* Add tests for autocomplete feature

* Fix checkstyle, optimise code

* Fix autocomplete bug

* Fix checkstyle

* Add preliminary dev docs for autocorrect

* Add dev docs for autocorrect

* Update dev docs for autocorrect

* Edit dev guide header

* Add EOF newline

* Add EOF newline

* Add dev docs for and streamline autocomplete

* Update dev docs

* Update user guide

* Add autocomplete for command words

* Add command history feature

* Add tests for AutocompleteHandler

* Fix checkstyle

* Add tests for command history

* Clean up ModelStubInputHistoryHandler

* Update dev guide

* Fix typo

* Add missing tests and update existing ones

* Add AddAssignmentCommandParser test

* Add DeleteAssignmentCommandParser test

* Add SetAssignmentScoreCommand test

* Add tests for Event commands

* Update score input checking for assignment parsers

* Add enhance autocomplete

* Fix autocomplete bugs

* Fix checkstyle

* Fix unclickable "smol white speck" text input field

* Improve focusing for input text box

* Fix bugs

* Fix test

* Fix test

* Partial fix for text input field alignment

* Fix bugs

* Add PPP
* Allow scrolling via key presses

* Rename CommandExecutor to InputExecutor

* Refine Student equality test
* Add default panel display for assignment and attendance

* Add default GUI display for displayAssignmentScore

* Refactor assignmentTablePanel display

* Fix checkstyle

* Fix default panel display

* Adjust application min width and checkstyle fix

* Update user guide

* Add PNG of various UI display

* Update userguide PNG

* Update Attendance.Png

* Update user guide for list command
…not input if got IOException (#193)

* Update UserGuide.adoc

* Update UserGuide.adoc

* Update DG and UG

* Update DG

* Update DG

* Update Developer Guide

* Update  (#6)

* Include index shortcut for AddStudentCommand (#49)

* Added Attendance, missing tests for Tutorial and associated subclasses.

* Allow multiple input formats for addTutorial weeks (#52)

* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Update list command (#53)

* Update TutorialCard to display Module code

* Update List command to display in UI

* Fuck you sourcetree

* Implemented saving of Modules

* Can read module json from file

* Save progress, before starting on trying to store as an easier to interpret json string array of array of array

* Add function to save modules model to file. Haven't add function to read from said saved data.

* Changed from hashMap to LinkedHashMap to preserve relative ordering

* Refactor code that deals with saving to Json

* Add function to read module data from saved Json file

* Refactor code block on studentStringToStudent

* Refactor code segment on Student object creation

* Add checkers for invalid tutorial and student strings & general refactoring

* Corrected ckeckStyle and tests

* Fix checkStyle violations

* Added intial round of tests

* Fix test for invalid dateTime or Duration

* Update fork

* Add support for saving (but not reading) of attendance list

* Add test json files

* Extract out weekly attendance string except final week

* Fix issue with saving an attendance list with 0 students

* Add ability to construct attendance object from json string

* Fix failing test cases due to change in tutorialString structure (addition of tutorialAttendance field)

* Fix checkstyle violations

* Added EOF to json test files

* Revert to 63465c7

* Code cleaning

* Fix check style violations

* Refactor parsing methods in JsonAdaptedModule.java to JsonUtil.java

* Refactor JsonAdaptedModuleTest & JsonUtilTest

* Update local repo

* Update local repo

* Update local repo

* Update developer guide

* Update tutorial class

* Remove JsonAdaptedPerson from Storage-related files

* Fix checkStyle violations

* Fix checkstyle violations

* Checkpoint before converting tutorial structure from a String to a Map

* Ported storage to nested map of strings

* Remove all instances from previous storage method

* Added saving of initial model state

* Add ability to save each state for every state-changing command

* Add a skeleton Undo Command (input/output)

* Add ability to check for invalid arguments for "u/integer"

* Add if-branch for an undo command

* Checkpoint before implementing overloaded Command.execute(model, storage) abstract method

* Add overloaded abstract method to accomodate commands that need both Model & Storage objects (ie UndoCommand) to operate

* Added undo ability

* Fix bug where new state is saved after Undo Command

* Fix failing tests

* Fix failing test cases

* Fix checkStyle violations

* Fix checkstyle violations

* Update build.gradle

* Update build.gradle

* Bug fixes

* Update user guide

* Before attempting to change json storage directory to (Paths.get)

* Fix state storage file directory for Mac users

* Update checkStyle

* Add parsing of Assignment from json

* Add storage for assignments

* Add method isDuplicateAssignment

* Fix checkStyle

* Fix checkStyle

* Add string checking for all student fields. To remove any leftover square brackets ie "[" or "]".

* Added Hatziq's PPP

* Fix issue #154

* Maybe fix the assignment storage?

* Start storage for event

* Update documentation

* Update documentation

* Update docs

* Added checking for semStart. If new SemStart is the same as current SemStart, throw an error

* Fix checkStyle

* Update ahmadhatziq.adoc

* Add storage for events

* Fix checkStyle

* Fix checkStyle

* Fix bug where if json state files are missing, will cause app to hang
* Fixed Tutorial.setStudent() and EditCommandTest

* Update user guide

* Updated user guide

* Fixed setStudent() and EditCommand yet again

* Fixed bugs
fixed: included prefix mat_no and nusid in argmultimap for addstudentcommandparser
fixed: added issameperson() in Student which is called in contains in UniquePersonList which is called in addstudent/hasstudent in application, changed message_duplicate_student to reflect the new logic
changed: error messages (invalid ... in ...) to for better comprehension
changed: command usage messages for better comprehension
fixed: included conditional in application.setstudent() that does nothing if editedstudent and target are equal to avoid bug where student reference is changed in uniquepersonlist when the same student is added and removed
fixed: partialinputparsertest where by bob and amy had the same nusnetid and matricnums

* More bug fixes
fixed: changed assignment/tutname/eventname regex
fixed: display not a valid command, removed from Finder.java
fixed: optional[] no longer printed for optional fields in student.toString()
fixed: duplicateevents error not shown in console for addEventCommand

* Bug fixes:
fixed: import command whereby no error is shown in console when import https://nusmods.com/timetable/sem-1/share? is inputted
changed: import command message
changed: tutname regex to accept non white space characters

* Fixed listEvents bug
changed: displayassignmentscommand message usage - please update user guide
changed: studentnotfoundexception message in setassignmentscorecommand
fixed: did not throw error when setscore command is called for a student not in the tutorial

* Updated docs

* Patched setStudents - clearCommand and undoing deletion of students should work now
* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Add confirmation prompt for deleting non-empty modules & tutorials

* Fix "y/n" recognition, proper module/tutorial deletion

* Add suggested commands for AddTutorialCommand

* Add suggested corrections for three command types

* Add suggested commands for MarkAttendanceCommand (partial)

* Add suggested commands and tests for MarkAttendanceCommand

* Add suggested commands for displaying attendance

* Fix test failing

* Fix checkstyle

* Comment out failing test for now

* Fix checkstyle

* Comment out failing test for now

* Add autocomplete feature

* Add tests for autocomplete feature

* Fix checkstyle, optimise code

* Fix autocomplete bug

* Fix checkstyle

* Add preliminary dev docs for autocorrect

* Add dev docs for autocorrect

* Update dev docs for autocorrect

* Edit dev guide header

* Add EOF newline

* Add EOF newline

* Add dev docs for and streamline autocomplete

* Update dev docs

* Update user guide

* Add autocomplete for command words

* Add command history feature

* Add tests for AutocompleteHandler

* Fix checkstyle

* Add tests for command history

* Clean up ModelStubInputHistoryHandler

* Update dev guide

* Fix typo

* Add missing tests and update existing ones

* Add AddAssignmentCommandParser test

* Add DeleteAssignmentCommandParser test

* Add SetAssignmentScoreCommand test

* Add tests for Event commands

* Update score input checking for assignment parsers

* Add enhance autocomplete

* Fix autocomplete bugs

* Fix checkstyle

* Fix unclickable "smol white speck" text input field

* Improve focusing for input text box

* Fix bugs

* Fix test

* Fix test

* Partial fix for text input field alignment

* Fix bugs

* Add PPP

* Allow scrolling via key presses

* Rename CommandExecutor to InputExecutor

* Refine Student equality test

* Update PPP, dev guide

* Fix EOF newline

* Add test for MarkAttendanceVerifiedCommand

* Fix MarkAttendanceVerifiedCommandTest

* Add tests for NUSMods timetable importing

* Update MarkAttendanceCommandTest

* Update MarkAttendanceCommandTest

* Update MarkAttendanceCommandTest

* Update ParserUtilTest

* Update ParserUtilTest

* Add AddEventCommandTest

* Add tests for Add/ListEventsCommand

* Add tests for Delete/EditEventCommand

* Add SetSemStartCommandIntegration Test

* Try to fix ExportAttendanceCommandTest

* Fix checkstyle

* Attempt fix for ExportAttendanceCommandTest

* Fix tests for DeleteTutorialCommand

* Update DeleteTutorialCommandTest

* Fix bug with command history
* Update UserGuide.adoc

* Update UserGuide.adoc

* Update DG and UG

* Update DG

* Update DG

* Update Developer Guide

* Update  (#6)

* Include index shortcut for AddStudentCommand (#49)

* Added Attendance, missing tests for Tutorial and associated subclasses.

* Allow multiple input formats for addTutorial weeks (#52)

* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Update list command (#53)

* Update TutorialCard to display Module code

* Update List command to display in UI

* Fuck you sourcetree

* Implemented saving of Modules

* Can read module json from file

* Save progress, before starting on trying to store as an easier to interpret json string array of array of array

* Add function to save modules model to file. Haven't add function to read from said saved data.

* Changed from hashMap to LinkedHashMap to preserve relative ordering

* Refactor code that deals with saving to Json

* Add function to read module data from saved Json file

* Refactor code block on studentStringToStudent

* Refactor code segment on Student object creation

* Add checkers for invalid tutorial and student strings & general refactoring

* Corrected ckeckStyle and tests

* Fix checkStyle violations

* Added intial round of tests

* Fix test for invalid dateTime or Duration

* Update fork

* Add support for saving (but not reading) of attendance list

* Add test json files

* Extract out weekly attendance string except final week

* Fix issue with saving an attendance list with 0 students

* Add ability to construct attendance object from json string

* Fix failing test cases due to change in tutorialString structure (addition of tutorialAttendance field)

* Fix checkstyle violations

* Added EOF to json test files

* Revert to 63465c7

* Code cleaning

* Fix check style violations

* Refactor parsing methods in JsonAdaptedModule.java to JsonUtil.java

* Refactor JsonAdaptedModuleTest & JsonUtilTest

* Update local repo

* Update local repo

* Update local repo

* Update developer guide

* Update tutorial class

* Remove JsonAdaptedPerson from Storage-related files

* Fix checkStyle violations

* Fix checkstyle violations

* Checkpoint before converting tutorial structure from a String to a Map

* Ported storage to nested map of strings

* Remove all instances from previous storage method

* Added saving of initial model state

* Add ability to save each state for every state-changing command

* Add a skeleton Undo Command (input/output)

* Add ability to check for invalid arguments for "u/integer"

* Add if-branch for an undo command

* Checkpoint before implementing overloaded Command.execute(model, storage) abstract method

* Add overloaded abstract method to accomodate commands that need both Model & Storage objects (ie UndoCommand) to operate

* Added undo ability

* Fix bug where new state is saved after Undo Command

* Fix failing tests

* Fix failing test cases

* Fix checkStyle violations

* Fix checkstyle violations

* Update build.gradle

* Update build.gradle

* Bug fixes

* Update user guide

* Before attempting to change json storage directory to (Paths.get)

* Fix state storage file directory for Mac users

* Update checkStyle

* Add parsing of Assignment from json

* Add storage for assignments

* Add method isDuplicateAssignment

* Fix checkStyle

* Fix checkStyle

* Add string checking for all student fields. To remove any leftover square brackets ie "[" or "]".

* Added Hatziq's PPP

* Fix issue #154

* Maybe fix the assignment storage?

* Start storage for event

* Update documentation

* Update documentation

* Update docs

* Added checking for semStart. If new SemStart is the same as current SemStart, throw an error

* Fix checkStyle

* Update ahmadhatziq.adoc

* Add storage for events

* Fix checkStyle

* Fix checkStyle

* Fix bug where if json state files are missing, will cause app to hang

* Fix for set Students

* Fix bug where assignment additions won't be saved

* Fix undo command for Assignments

* Added tests

* Add tests

* Fix failing tests

* Fix failing tests
* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Add confirmation prompt for deleting non-empty modules & tutorials

* Fix "y/n" recognition, proper module/tutorial deletion

* Add suggested commands for AddTutorialCommand

* Add suggested corrections for three command types

* Add suggested commands for MarkAttendanceCommand (partial)

* Add suggested commands and tests for MarkAttendanceCommand

* Add suggested commands for displaying attendance

* Fix test failing

* Fix checkstyle

* Comment out failing test for now

* Fix checkstyle

* Comment out failing test for now

* Add autocomplete feature

* Add tests for autocomplete feature

* Fix checkstyle, optimise code

* Fix autocomplete bug

* Fix checkstyle

* Add preliminary dev docs for autocorrect

* Add dev docs for autocorrect

* Update dev docs for autocorrect

* Edit dev guide header

* Add EOF newline

* Add EOF newline

* Add dev docs for and streamline autocomplete

* Update dev docs

* Update user guide

* Add autocomplete for command words

* Add command history feature

* Add tests for AutocompleteHandler

* Fix checkstyle

* Add tests for command history

* Clean up ModelStubInputHistoryHandler

* Update dev guide

* Fix typo

* Add missing tests and update existing ones

* Add AddAssignmentCommandParser test

* Add DeleteAssignmentCommandParser test

* Add SetAssignmentScoreCommand test

* Add tests for Event commands

* Update score input checking for assignment parsers

* Add enhance autocomplete

* Fix autocomplete bugs

* Fix checkstyle

* Fix unclickable "smol white speck" text input field

* Improve focusing for input text box

* Fix bugs

* Fix test

* Fix test

* Partial fix for text input field alignment

* Fix bugs

* Add PPP

* Allow scrolling via key presses

* Rename CommandExecutor to InputExecutor

* Refine Student equality test

* Update PPP, dev guide

* Fix EOF newline

* Add test for MarkAttendanceVerifiedCommand

* Fix MarkAttendanceVerifiedCommandTest

* Add tests for NUSMods timetable importing

* Update MarkAttendanceCommandTest

* Update MarkAttendanceCommandTest

* Update MarkAttendanceCommandTest

* Update ParserUtilTest

* Update ParserUtilTest

* Add AddEventCommandTest

* Add tests for Add/ListEventsCommand

* Add tests for Delete/EditEventCommand

* Add SetSemStartCommandIntegration Test

* Try to fix ExportAttendanceCommandTest

* Fix checkstyle

* Attempt fix for ExportAttendanceCommandTest

* Fix tests for DeleteTutorialCommand

* Update DeleteTutorialCommandTest

* Fix bug with command history

* Fix test failing

* Fix checkstyle
* Update UserGuide.adoc

* Update UserGuide.adoc

* Update DG and UG

* Update DG

* Update DG

* Update Developer Guide

* Update  (#6)

* Include index shortcut for AddStudentCommand (#49)

* Added Attendance, missing tests for Tutorial and associated subclasses.

* Allow multiple input formats for addTutorial weeks (#52)

* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Update list command (#53)

* Update TutorialCard to display Module code

* Update List command to display in UI

* Fuck you sourcetree

* Implemented saving of Modules

* Can read module json from file

* Save progress, before starting on trying to store as an easier to interpret json string array of array of array

* Add function to save modules model to file. Haven't add function to read from said saved data.

* Changed from hashMap to LinkedHashMap to preserve relative ordering

* Refactor code that deals with saving to Json

* Add function to read module data from saved Json file

* Refactor code block on studentStringToStudent

* Refactor code segment on Student object creation

* Add checkers for invalid tutorial and student strings & general refactoring

* Corrected ckeckStyle and tests

* Fix checkStyle violations

* Added intial round of tests

* Fix test for invalid dateTime or Duration

* Update fork

* Add support for saving (but not reading) of attendance list

* Add test json files

* Extract out weekly attendance string except final week

* Fix issue with saving an attendance list with 0 students

* Add ability to construct attendance object from json string

* Fix failing test cases due to change in tutorialString structure (addition of tutorialAttendance field)

* Fix checkstyle violations

* Added EOF to json test files

* Revert to 63465c7

* Code cleaning

* Fix check style violations

* Refactor parsing methods in JsonAdaptedModule.java to JsonUtil.java

* Refactor JsonAdaptedModuleTest & JsonUtilTest

* Update local repo

* Update local repo

* Update local repo

* Update developer guide

* Update tutorial class

* Remove JsonAdaptedPerson from Storage-related files

* Fix checkStyle violations

* Fix checkstyle violations

* Checkpoint before converting tutorial structure from a String to a Map

* Ported storage to nested map of strings

* Remove all instances from previous storage method

* Added saving of initial model state

* Add ability to save each state for every state-changing command

* Add a skeleton Undo Command (input/output)

* Add ability to check for invalid arguments for "u/integer"

* Add if-branch for an undo command

* Checkpoint before implementing overloaded Command.execute(model, storage) abstract method

* Add overloaded abstract method to accomodate commands that need both Model & Storage objects (ie UndoCommand) to operate

* Added undo ability

* Fix bug where new state is saved after Undo Command

* Fix failing tests

* Fix failing test cases

* Fix checkStyle violations

* Fix checkstyle violations

* Update build.gradle

* Update build.gradle

* Bug fixes

* Update user guide

* Before attempting to change json storage directory to (Paths.get)

* Fix state storage file directory for Mac users

* Update checkStyle

* Add parsing of Assignment from json

* Add storage for assignments

* Add method isDuplicateAssignment

* Fix checkStyle

* Fix checkStyle

* Add string checking for all student fields. To remove any leftover square brackets ie "[" or "]".

* Added Hatziq's PPP

* Fix issue #154

* Maybe fix the assignment storage?

* Start storage for event

* Update documentation

* Update documentation

* Update docs

* Added checking for semStart. If new SemStart is the same as current SemStart, throw an error

* Fix checkStyle

* Update ahmadhatziq.adoc

* Add storage for events

* Fix checkStyle

* Fix checkStyle

* Fix bug where if json state files are missing, will cause app to hang

* Fix for set Students

* Fix bug where assignment additions won't be saved

* Fix undo command for Assignments

* Added tests

* Add tests

* Fix failing tests

* Fix failing tests

* Add test

* Fix issue where clearCommand won't reset semStart date

* Fix bug where week range accepts weekStart > weekEnd

* Fix bug where tutorial with same name won't be saved in storage

* Add tests
* Fixed Tutorial.setStudent() and EditCommandTest

* Update user guide

* Updated user guide

* Fixed setStudent() and EditCommand yet again

* Fixed bugs
fixed: included prefix mat_no and nusid in argmultimap for addstudentcommandparser
fixed: added issameperson() in Student which is called in contains in UniquePersonList which is called in addstudent/hasstudent in application, changed message_duplicate_student to reflect the new logic
changed: error messages (invalid ... in ...) to for better comprehension
changed: command usage messages for better comprehension
fixed: included conditional in application.setstudent() that does nothing if editedstudent and target are equal to avoid bug where student reference is changed in uniquepersonlist when the same student is added and removed
fixed: partialinputparsertest where by bob and amy had the same nusnetid and matricnums

* More bug fixes
fixed: changed assignment/tutname/eventname regex
fixed: display not a valid command, removed from Finder.java
fixed: optional[] no longer printed for optional fields in student.toString()
fixed: duplicateevents error not shown in console for addEventCommand

* Bug fixes:
fixed: import command whereby no error is shown in console when import https://nusmods.com/timetable/sem-1/share? is inputted
changed: import command message
changed: tutname regex to accept non white space characters

* Fixed listEvents bug
changed: displayassignmentscommand message usage - please update user guide
changed: studentnotfoundexception message in setassignmentscorecommand
fixed: did not throw error when setscore command is called for a student not in the tutorial

* Updated docs

* Patched setStudents - clearCommand and undoing deletion of students should work now

* Fixed SetSemStart Storage bug

* Added check to ensure tutorial duration is non-negative
Fixed storage for semStart

* Bug fixes
fixed: Error not thrown in application when application is changed but semstart is null
fixed: Error not thrown when invalid time is inputted for addTutorial (9999)
fixed: SuggestedCommands not set to an empty list when deleteSuggestedCommands is called - causes error to be thrown in terminal
when index is inputted after suggestedCommand.execute() throws an error

* Updated docs
* Update UserGuide.adoc

* Update UserGuide.adoc

* Update DG and UG

* Update DG

* Update DG

* Update Developer Guide

* Update  (#6)

* Include index shortcut for AddStudentCommand (#49)

* Added Attendance, missing tests for Tutorial and associated subclasses.

* Allow multiple input formats for addTutorial weeks (#52)

* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Update list command (#53)

* Update TutorialCard to display Module code

* Update List command to display in UI

* Fuck you sourcetree

* Implemented saving of Modules

* Can read module json from file

* Save progress, before starting on trying to store as an easier to interpret json string array of array of array

* Add function to save modules model to file. Haven't add function to read from said saved data.

* Changed from hashMap to LinkedHashMap to preserve relative ordering

* Refactor code that deals with saving to Json

* Add function to read module data from saved Json file

* Refactor code block on studentStringToStudent

* Refactor code segment on Student object creation

* Add checkers for invalid tutorial and student strings & general refactoring

* Corrected ckeckStyle and tests

* Fix checkStyle violations

* Added intial round of tests

* Fix test for invalid dateTime or Duration

* Update fork

* Add support for saving (but not reading) of attendance list

* Add test json files

* Extract out weekly attendance string except final week

* Fix issue with saving an attendance list with 0 students

* Add ability to construct attendance object from json string

* Fix failing test cases due to change in tutorialString structure (addition of tutorialAttendance field)

* Fix checkstyle violations

* Added EOF to json test files

* Revert to 63465c7

* Code cleaning

* Fix check style violations

* Refactor parsing methods in JsonAdaptedModule.java to JsonUtil.java

* Refactor JsonAdaptedModuleTest & JsonUtilTest

* Update local repo

* Update local repo

* Update local repo

* Update developer guide

* Update tutorial class

* Remove JsonAdaptedPerson from Storage-related files

* Fix checkStyle violations

* Fix checkstyle violations

* Checkpoint before converting tutorial structure from a String to a Map

* Ported storage to nested map of strings

* Remove all instances from previous storage method

* Added saving of initial model state

* Add ability to save each state for every state-changing command

* Add a skeleton Undo Command (input/output)

* Add ability to check for invalid arguments for "u/integer"

* Add if-branch for an undo command

* Checkpoint before implementing overloaded Command.execute(model, storage) abstract method

* Add overloaded abstract method to accomodate commands that need both Model & Storage objects (ie UndoCommand) to operate

* Added undo ability

* Fix bug where new state is saved after Undo Command

* Fix failing tests

* Fix failing test cases

* Fix checkStyle violations

* Fix checkstyle violations

* Update build.gradle

* Update build.gradle

* Bug fixes

* Update user guide

* Before attempting to change json storage directory to (Paths.get)

* Fix state storage file directory for Mac users

* Update checkStyle

* Add parsing of Assignment from json

* Add storage for assignments

* Add method isDuplicateAssignment

* Fix checkStyle

* Fix checkStyle

* Add string checking for all student fields. To remove any leftover square brackets ie "[" or "]".

* Added Hatziq's PPP

* Fix issue #154

* Maybe fix the assignment storage?

* Start storage for event

* Update documentation

* Update documentation

* Update docs

* Added checking for semStart. If new SemStart is the same as current SemStart, throw an error

* Fix checkStyle

* Update ahmadhatziq.adoc

* Add storage for events

* Fix checkStyle

* Fix checkStyle

* Fix bug where if json state files are missing, will cause app to hang

* Fix for set Students

* Fix bug where assignment additions won't be saved

* Fix undo command for Assignments

* Added tests

* Add tests

* Fix failing tests

* Fix failing tests

* Add test

* Fix issue where clearCommand won't reset semStart date

* Fix bug where week range accepts weekStart > weekEnd

* Fix bug where tutorial with same name won't be saved in storage

* Add tests

* Add UndoCommand into DG

* Update docs
* Update userguide and checkstyle

* Update architectureSequenceDiagram

* Update Ui Class Diagram

* Update PPP

* Update PPP

* Update PPP

* Update tags for PPP

* Fix PPP tag

* Update everyone's PPP
* Updated UniqueModule/TutorialList methods

* Update UniqueModule/TutorialList methods, fix tests

* Add test for AddTutorialCommand

* Fix checkstyle

* Update tests for AddTutorialCommand

* Add commands for deleting tutorials and modules

* Accept multiple input types for addTutorialCommand weeks

* Add confirmation prompt for deleting non-empty modules & tutorials

* Fix "y/n" recognition, proper module/tutorial deletion

* Add suggested commands for AddTutorialCommand

* Add suggested corrections for three command types

* Add suggested commands for MarkAttendanceCommand (partial)

* Add suggested commands and tests for MarkAttendanceCommand

* Add suggested commands for displaying attendance

* Fix test failing

* Fix checkstyle

* Comment out failing test for now

* Fix checkstyle

* Comment out failing test for now

* Add autocomplete feature

* Add tests for autocomplete feature

* Fix checkstyle, optimise code

* Fix autocomplete bug

* Fix checkstyle

* Add preliminary dev docs for autocorrect

* Add dev docs for autocorrect

* Update dev docs for autocorrect

* Edit dev guide header

* Add EOF newline

* Add EOF newline

* Add dev docs for and streamline autocomplete

* Update dev docs

* Update user guide

* Add autocomplete for command words

* Add command history feature

* Add tests for AutocompleteHandler

* Fix checkstyle

* Add tests for command history

* Clean up ModelStubInputHistoryHandler

* Update dev guide

* Fix typo

* Add missing tests and update existing ones

* Add AddAssignmentCommandParser test

* Add DeleteAssignmentCommandParser test

* Add SetAssignmentScoreCommand test

* Add tests for Event commands

* Update score input checking for assignment parsers

* Add enhance autocomplete

* Fix autocomplete bugs

* Fix checkstyle

* Fix unclickable "smol white speck" text input field

* Improve focusing for input text box

* Fix bugs

* Fix test

* Fix test

* Partial fix for text input field alignment

* Fix bugs

* Add PPP

* Allow scrolling via key presses

* Rename CommandExecutor to InputExecutor

* Refine Student equality test

* Update PPP, dev guide

* Fix EOF newline

* Add test for MarkAttendanceVerifiedCommand

* Fix MarkAttendanceVerifiedCommandTest

* Add tests for NUSMods timetable importing

* Update MarkAttendanceCommandTest

* Update MarkAttendanceCommandTest

* Update MarkAttendanceCommandTest

* Update ParserUtilTest

* Update ParserUtilTest

* Add AddEventCommandTest

* Add tests for Add/ListEventsCommand

* Add tests for Delete/EditEventCommand

* Add SetSemStartCommandIntegration Test

* Try to fix ExportAttendanceCommandTest

* Fix checkstyle

* Attempt fix for ExportAttendanceCommandTest

* Fix tests for DeleteTutorialCommand

* Update DeleteTutorialCommandTest

* Fix bug with command history

* Fix test failing

* Fix checkstyle

* Update PPP

* Update PPP, add tags to docs

* Add more tags to docs

* Fix bug with command text field

* Fix doc tags

* Update DisplayAttendanceCommandTest

* Remove unneeded todo

* Update ArchitectureSequenceDiagram
* Fixed Tutorial.setStudent() and EditCommandTest

* Update user guide

* Updated user guide

* Fixed setStudent() and EditCommand yet again

* Fixed bugs
fixed: included prefix mat_no and nusid in argmultimap for addstudentcommandparser
fixed: added issameperson() in Student which is called in contains in UniquePersonList which is called in addstudent/hasstudent in application, changed message_duplicate_student to reflect the new logic
changed: error messages (invalid ... in ...) to for better comprehension
changed: command usage messages for better comprehension
fixed: included conditional in application.setstudent() that does nothing if editedstudent and target are equal to avoid bug where student reference is changed in uniquepersonlist when the same student is added and removed
fixed: partialinputparsertest where by bob and amy had the same nusnetid and matricnums

* More bug fixes
fixed: changed assignment/tutname/eventname regex
fixed: display not a valid command, removed from Finder.java
fixed: optional[] no longer printed for optional fields in student.toString()
fixed: duplicateevents error not shown in console for addEventCommand

* Bug fixes:
fixed: import command whereby no error is shown in console when import https://nusmods.com/timetable/sem-1/share? is inputted
changed: import command message
changed: tutname regex to accept non white space characters

* Fixed listEvents bug
changed: displayassignmentscommand message usage - please update user guide
changed: studentnotfoundexception message in setassignmentscorecommand
fixed: did not throw error when setscore command is called for a student not in the tutorial

* Updated docs

* Patched setStudents - clearCommand and undoing deletion of students should work now

* Fixed SetSemStart Storage bug

* Added check to ensure tutorial duration is non-negative
Fixed storage for semStart

* Bug fixes
fixed: Error not thrown in application when application is changed but semstart is null
fixed: Error not thrown when invalid time is inputted for addTutorial (9999)
fixed: SuggestedCommands not set to an empty list when deleteSuggestedCommands is called - causes error to be thrown in terminal
when index is inputted after suggestedCommand.execute() throws an error

* Updated docs

* Updated docs
* Fixed Tutorial.setStudent() and EditCommandTest

* Update user guide

* Updated user guide

* Fixed setStudent() and EditCommand yet again

* Fixed bugs
fixed: included prefix mat_no and nusid in argmultimap for addstudentcommandparser
fixed: added issameperson() in Student which is called in contains in UniquePersonList which is called in addstudent/hasstudent in application, changed message_duplicate_student to reflect the new logic
changed: error messages (invalid ... in ...) to for better comprehension
changed: command usage messages for better comprehension
fixed: included conditional in application.setstudent() that does nothing if editedstudent and target are equal to avoid bug where student reference is changed in uniquepersonlist when the same student is added and removed
fixed: partialinputparsertest where by bob and amy had the same nusnetid and matricnums

* More bug fixes
fixed: changed assignment/tutname/eventname regex
fixed: display not a valid command, removed from Finder.java
fixed: optional[] no longer printed for optional fields in student.toString()
fixed: duplicateevents error not shown in console for addEventCommand

* Bug fixes:
fixed: import command whereby no error is shown in console when import https://nusmods.com/timetable/sem-1/share? is inputted
changed: import command message
changed: tutname regex to accept non white space characters

* Fixed listEvents bug
changed: displayassignmentscommand message usage - please update user guide
changed: studentnotfoundexception message in setassignmentscorecommand
fixed: did not throw error when setscore command is called for a student not in the tutorial

* Updated docs

* Patched setStudents - clearCommand and undoing deletion of students should work now

* Fixed SetSemStart Storage bug

* Added check to ensure tutorial duration is non-negative
Fixed storage for semStart

* Bug fixes
fixed: Error not thrown in application when application is changed but semstart is null
fixed: Error not thrown when invalid time is inputted for addTutorial (9999)
fixed: SuggestedCommands not set to an empty list when deleteSuggestedCommands is called - causes error to be thrown in terminal
when index is inputted after suggestedCommand.execute() throws an error

* Updated docs

* Updated docs

* PPP Update
* Fixed Tutorial.setStudent() and EditCommandTest

* Update user guide

* Updated user guide

* Fixed setStudent() and EditCommand yet again

* Fixed bugs
fixed: included prefix mat_no and nusid in argmultimap for addstudentcommandparser
fixed: added issameperson() in Student which is called in contains in UniquePersonList which is called in addstudent/hasstudent in application, changed message_duplicate_student to reflect the new logic
changed: error messages (invalid ... in ...) to for better comprehension
changed: command usage messages for better comprehension
fixed: included conditional in application.setstudent() that does nothing if editedstudent and target are equal to avoid bug where student reference is changed in uniquepersonlist when the same student is added and removed
fixed: partialinputparsertest where by bob and amy had the same nusnetid and matricnums

* More bug fixes
fixed: changed assignment/tutname/eventname regex
fixed: display not a valid command, removed from Finder.java
fixed: optional[] no longer printed for optional fields in student.toString()
fixed: duplicateevents error not shown in console for addEventCommand

* Bug fixes:
fixed: import command whereby no error is shown in console when import https://nusmods.com/timetable/sem-1/share? is inputted
changed: import command message
changed: tutname regex to accept non white space characters

* Fixed listEvents bug
changed: displayassignmentscommand message usage - please update user guide
changed: studentnotfoundexception message in setassignmentscorecommand
fixed: did not throw error when setscore command is called for a student not in the tutorial

* Updated docs

* Patched setStudents - clearCommand and undoing deletion of students should work now

* Fixed SetSemStart Storage bug

* Added check to ensure tutorial duration is non-negative
Fixed storage for semStart

* Bug fixes
fixed: Error not thrown in application when application is changed but semstart is null
fixed: Error not thrown when invalid time is inputted for addTutorial (9999)
fixed: SuggestedCommands not set to an empty list when deleteSuggestedCommands is called - causes error to be thrown in terminal
when index is inputted after suggestedCommand.execute() throws an error

* Updated docs

* Updated docs

* PPP Update

* Final PPP Update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants