From 907f0ba2013700341c49bb40b1a0a80f03b2585b Mon Sep 17 00:00:00 2001 From: Nicholas Date: Sun, 5 Nov 2023 11:46:10 +0800 Subject: [PATCH] Fix some UG bugs #172, #190, #191, #192, #194, #196, #197, #198, #201, #202 --- docs/UserGuide.md | 62 ++++++++++++------ docs/images/helpMessage.png | Bin 8435 -> 12430 bytes .../java/seedu/address/ui/OverrideWindow.java | 4 +- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 31e5c8511eb..0a815d7138d 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -128,7 +128,7 @@ A person can have any number of tags (including 0) Examples: -* `add n/John p/80101010 e/johndoe@gmail.com a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202 [t/TAG]…​` +* `add n/John p/80101010 e/johndoe@gmail.com a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202` Successful Output: `New person added: John; Phone: 80101010; @@ -142,6 +142,21 @@ Tags:` ![result for 'add n/John p/80101010 e/johndoe@gmail.com a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202'](images/addUi.png) +You can also add a client's contacts with multiple tags. + +Examples: +* `add n/John p/80101010 e/johndoe@gmail.com a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202 t/80yo t/grumpy` + +Successful Output: `New person added: John; +Phone: 80101010; +Email: johndoe@gmail.com; +Address: Punggol Central Blk 444 #15-32 820123; +Next-of-kin Name: Brennan; +Next-of-kin Phone: 82020202; +Appointment: No Appointment made!; +Financial Plans: ; +Tags: [80yo][grumpy]` + ------------------ ### Listing all persons : `list` @@ -156,9 +171,9 @@ Successful Output:`Listed all persons` -------------------------------- ### Editing a person : `edit` -Edit clients contact fields using an entry index followed by the updated details. +Edit clients contact fields using an index followed by the updated details. -Format: `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [fp/FINANCIAL_PLAN] [t/TAG]…​` +Format: `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [fp/FINANCIAL_PLAN] [t/TAG]…​` * Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index **must be a positive integer** 1, 2, 3, …​ * At least one of the optional fields must be provided. @@ -171,7 +186,7 @@ Format: `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NE * A person's appointment cannot in edited in this manner. Refer to [Schedule](#scheduling-an-appointment--schedule). Acceptable Values: -1. ENTRY_INDEX - Number (1 to current size of the contact book) +1. INDEX - Number (1 to current size of the contact book) 2. NAME - any value is possible 3. PHONE_NUMBER - Numbers (0-9) and symbols, no alphabets 4. EMAIL - string in valid email format @@ -241,27 +256,34 @@ Successful Output: Deletes the client contact from the contact book by their index. -Format: `delete ENTRY_INDEX` +Format: `delete INDEX` * Deletes the person at the specified `INDEX`. * The index refers to the index number shown in the displayed person list. Acceptable Values: -1. ENTRY_INDEX - Number (1 to current size of the contact book). +1. INDEX - Number (1 to current size of the contact book). Examples: * `list` followed by `delete 1` deletes the 1st person in the contact book. Successful Output: -`Contact Deleted! -Low Jun Yu is removed.` +`Deleted Person: David; +Phone: 93234567; +Email: davidmiller@gmail.com; +Address: Bishan Blk 999 #08-15 569874; +Next-of-kin Name: Olivia; +Next-of-kin Phone: 56981234; +Appointment: Meeting, 15-12-2023 17:30; +Financial Plans: [Financial Plan A][Financial Plan B]; +Tags: ` ---------- ### Scheduling an Appointment : `schedule` -Schedules an appointment for a client using an entry index followed by the appointment details. +Schedules an appointment for a client using an index followed by the appointment details. -Format: `schedule ENTRY_INDEX [ap/APPOINTMENT_NAME] [d/APPOINTMENT_DATE]` +Format: `schedule INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE` - Schedules appointment with the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. - Both appointment name and date must be provided. @@ -278,12 +300,12 @@ Successful Output:`Appointment updated!` ---------- ### Completing an Appointment : `complete` -Completes an appointment with clients. User can input an entry index to complete an appointment with a specific client. User can also input a specific date to complete all appointments with the matching date. +Completes an appointment with clients. User can input an index to complete an appointment with a specific client. User can also input a specific date to complete all appointments with the matching date. -Format: `complete [ENTRY_INDEX] [d/APPOINTMENT_DATE]` +Format: `complete [INDEX] [d/APPOINTMENT_DATE]` - Completes appointment with the person at the specified INDEX. The index refers to the index number shown in the displayed person list. -- **Either an entry index or appointment date must be provided** for command to execute. +- **Either an index or appointment date must be provided** for command to execute. Examples: - `complete 1` @@ -307,7 +329,7 @@ Example: ![confirm clear window](images/confirmClear.png) ---------------------------- -### Sorting of data: `sort` +### Sorting of data : `sort` Sorts all the entries with predefined sorting functionalities. After sorting the list, the ordering of the entries will be changed. As a result, performing delete operations that require indexing will reference the new ordering @@ -318,13 +340,13 @@ that is currently displayed on the screen. * `name` : sorts list by lexicographical ordering of name (case-insensitive). * `appointment`: sorts list by appointment timing in order of the earliest appointment first. -Format: `sort` + `keyword` +Format: `sort keyword` * Calling this command after a Find command will preserve the results filtered by the Find command. Example: `sort name` performs sorting by lexicographical ordering -Successful Output:`4 persons listed!` +Successful Output: `4 persons listed!` ![result for`sort name'](images/sortUi.png) @@ -370,14 +392,14 @@ _Details coming soon ..._ | Action | Format, Examples | |--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PHONE [t/TAG]…​`
e.g., `add n/John p/80101010 e/johndoe@gmail.com a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202 [t/TAG]…​` | +| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PHONE [fp/FINANCIAL_PLAN] [t/TAG]…​`
e.g., `add n/John p/80101010 e/johndoe@gmail.com a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202 [t/TAG]…​` | | **Clear** | `clear` | | **Delete** | `delete INDEX`
e.g., `delete 3` | -| **Edit** | `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [t/TAG]…​`
e.g.,`edit 1 n/john doe a/23 woodlands ave 123` | +| **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [fp/FINANCIAL_PLAN] [t/TAG]…​`
e.g.,`edit 1 n/john doe a/23 woodlands ave 123` | | **Find** | `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`
e.g., `find n/James n/Jake` | | **Gather** | `gather [fp/FINANCIAL PLAN]` or `gather [t/TAG]`
e.g., `gather fp/Basic Insurance Plan` | -| **Schedule** | `schedule ENTRY_INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE`
e.g. `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00` | -| **Complete** | `complete [ENTRY_INDEX] [d/APPOINTMENT_DATE]`
e.g `complete 1`
e.g `complete 01-05-2023` | | +| **Schedule** | `schedule INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE`
e.g. `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00` | +| **Complete** | `complete [INDEX] [d/APPOINTMENT_DATE]`
e.g `complete 1`
e.g `complete 01-05-2023` | | | **List** | `list` | | **Help** | `help` | | **Sort** | `sort SORTING_FUNCTION`
e.g., `sort appointment` | diff --git a/docs/images/helpMessage.png b/docs/images/helpMessage.png index b1f70470137ec75b2bfe4d29458114d1aa75dbcd..9350d1b971ef13aa1618287d7f975088b432ca6f 100644 GIT binary patch literal 12430 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 literal 8435 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ÐxTGMs?~ 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 { - public static final String CONFIRM_OVERRIDE_MESSAGE = "There is an appointment found under this persons name" - + "are you sure you want to override this appointment? \n"; + public static final String CONFIRM_OVERRIDE_MESSAGE = "There is an appointment found under this person's name. " + + "Are you sure you want to override this appointment? \n"; private static String message; private static Appointment appointment = null;