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

Branch bugs user guide #215

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -734,6 +734,9 @@ or `phone` since two people are very unlikely to share those details.
4. The current `name` and `next-of-kin name` fields currently do not accept symbols. We plan to make the fields accept
symbols so that names like `Thaarshen s/o Thaarshen` and `O'Brien` are accepted. This will involve changing the
validity checker for both fields.
5. The current `gather` command do not allow gathering of all persons emails or by multiple fields at once. To allow the gathering of all the persons emails using `gather all`
command, we plan create another `GatherEmailPrompt` class, with a method that will call the Person `getEmail()` method. To allow gathering emails by multiple fields, for example using the `fp/` and `t/` prefixes at once, we plan to use a similar approach
to find but return the person email instead.

*{More to be added}*

Expand Down
83 changes: 48 additions & 35 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,27 @@ Click on the relevant links to easily navigate through the guide and access the

</div>

--------------------------------------------------------------------------------------------------------------------
# Argument Summary

Below is a table summarising common arguments used in `add`, `edit`, `find`, `schedule` and etc. Refer to the table below to view the arguments' prefix, and their acceptable values.

| Prefix | Argument | Acceptable Values |
|--------|-----------------------|--------------------------------------------------------|
| - | INDEX | Number (1 to current size of the contact book) |
| `n/` | NAME | Alphabets, numbers, and space characters only |
| `p/` | PHONE_NUMBER | Numbers only and at least 3 digits long |
| `e/` | EMAIL | Alphabets, numbers, and symbols only in a valid format |
| `a/` | ADDRESS | Any value is possible |
| `nk/` | NEXT_KIN | Alphabets, numbers, and space characters only |
| `nkp/` | NEXT_KIN_PHONE | Numbers only and at least 3 digits long |
| `fp/` | FINANCIAL_PLAN | Alphabets, numbers, and space characters only |
| `t/` | TAG | Alphabets and numbers only |
| `ap/` | APPOINTMENT_NAME | Any value is possible |
| `d/` | APPOINTMENT_DATE | Format: dd-MM-yyyy (e.g., 31-12-2023) |
| `d/` | APPOINTMENT_DATE_TIME | Format: dd-MM-yyyy HH:mm (e.g., 31-12-2023 14:30) |
| - | KEYWORD | `name` or `appointment` |

-----------------------
### Viewing help : `help`
> :warning: Due to new features, help page is currently being updated.
Expand All @@ -120,15 +141,7 @@ Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PH
* To prevent accidentally adding duplicates, you can use [Find](#locating-persons-by-name-financial-plan-andor-tag--find)
to check if you have already added the person already.

Acceptable Values:
1. NAME - Alphabets, numbers and space characters only
2. PHONE_NUMBER - Numbers only and at least 3 digits long
3. EMAIL - Alphabets, numbers and symbols only in a valid email format
4. ADDRESS - any value is possible
5. NEXT_KIN - Alphabets, numbers and space characters only
6. NEXT_KIN_PHONE - Numbers only and at least 3 digits long
7. FINANCIAL_PLAN - Alphabets, numbers and space characters only
8. TAG - Alphabets and numbers only
Acceptable Values: Refer to [Argument Summary](#argument-summary).

<div markdown="span" class="alert alert-primary">:bulb: **Tip:**
A person can have any number of Financial Plans (including 0)
Expand Down Expand Up @@ -197,16 +210,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN
specifying any tags after it.
* A person's appointment cannot in edited in this manner. Refer to [Schedule](#scheduling-an-appointment--schedule).

Acceptable Values:
1. INDEX - Number (1 to current size of the contact book)
2. NAME - Alphabets, numbers and space characters only
3. PHONE_NUMBER - Numbers only and at least 3 digits long
4. EMAIL - Alphabets, numbers and symbols only
5. ADDRESS - any value is possible
6. NEXT_KIN - Alphabets, numbers and space characters only
7. NEXT_KIN_PHONE - Numbers only and at least 3 digits long
8. FINANCIAL_PLAN - Alphabets, numbers and space characters only
9. TAG - Alphabets and numbers only
Acceptable Values: Refer to [Argument Summary](#argument-summary).

Examples:
* `edit 4 n/john doe a/23 woodlands ave 123` Edits the name and address of the 1st person to be `john doe` and `woodlands ave 123` respectively.
Expand Down Expand Up @@ -242,6 +246,8 @@ Format: `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`
* Persons matching at least one keyword will be returned (i.e. `OR` search).
e.g. `n/Hans n/Bo` will return `Hans Gruber`, `Bo Yang`

Acceptable Values: Refer to [Argument Summary](#argument-summary).

Examples:
* `find n/John` returns `john` and `John Doe`
* `find n/john n/charlie` returns `Charlie`, `john doe`<br>
Expand All @@ -258,6 +264,8 @@ Format: `gather fp/FINANCIAL PLAN` or `gather t/TAG`
* The search is case-insensitive. e.g `financial` will match `FINANCIAL` or `Financial`.
* A person's email will be gathered if the prompt matches a substring of their financial plan or tag.

Acceptable Values: Refer to [Argument Summary](#argument-summary).

Examples:
* `gather t/Elderly`
* `gather fp/Financial Plan A`
Expand All @@ -277,8 +285,7 @@ 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. INDEX - Number (1 to current size of the contact book).
Acceptable Values: Refer to [Argument Summary](#argument-summary).

Examples:
* `list` followed by `delete 1` deletes the 1st person in the contact book.
Expand All @@ -299,13 +306,15 @@ Tags: `

Schedules an appointment for a client using an index followed by the appointment details.

Format: `schedule INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE`
Format: `schedule INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE_TIME`

- 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.
- If there is an existing appointment with the person when command is executed, you can replace it with a new appointment by clicking confirm when prompt is given.
![schedule prompt](images/schedulePrompt.png)

Acceptable Values: Refer to [Argument Summary](#argument-summary).

Example:
- `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00`

Expand All @@ -323,11 +332,13 @@ 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 index or appointment date must be provided** for command to execute.

Acceptable Values: Refer to [Argument Summary](#argument-summary).

Examples:
- `complete 1`
- `complete d/01-05-2023`

Successful Output: `Appointment Completed!`
Successful Output: `Appointment(s) Completed!`

![result for 'complete 1'](images/completeUi.png)

Expand Down Expand Up @@ -360,6 +371,8 @@ Format: `sort KEYWORD`

* Calling this command after a Find command will preserve the results filtered by the Find command.

Acceptable Values: Refer to [Argument Summary](#argument-summary).

Example: `sort name` performs sorting by lexicographical ordering

Successful Output: `4 persons listed!`
Expand Down Expand Up @@ -406,17 +419,17 @@ _Details coming soon ..._

## Command summary

| Action | Format, Examples |
|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Action | Format, Examples |
|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PHONE [fp/FINANCIAL_PLAN]…​ [t/TAG]…​` <br> e.g., `add n/John p/80101010 e/[email protected] a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202` |
| **Clear** | `clear` |
| **Delete** | `delete INDEX`<br> e.g., `delete 3` |
| **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`<br> e.g.,`edit 1 n/john doe a/23 woodlands ave 123` |
| **Find** | `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`<br> e.g., `find n/James n/Jake` |
| **Gather** | `gather [fp/FINANCIAL PLAN]` or `gather [t/TAG]` <br> e.g., `gather fp/Basic Insurance Plan` |
| **Schedule** | `schedule INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE`<br> e.g. `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00` |
| **Complete** | `complete [INDEX] [d/APPOINTMENT_DATE]` <br> e.g `complete 1` <br> e.g `complete 01-05-2023` | |
| **List** | `list` |
| **Help** | `help` |
| **Sort** | `sort KEYWORD` <br> e.g., `sort appointment` |
| **Clear** | `clear` |
| **Delete** | `delete INDEX`<br> e.g., `delete 3` |
| **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`<br> e.g.,`edit 1 n/john doe a/23 woodlands ave 123` |
| **Find** | `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`<br> e.g., `find n/James n/Jake` |
| **Gather** | `gather [fp/FINANCIAL PLAN]` or `gather [t/TAG]` <br> e.g., `gather fp/Basic Insurance Plan` |
| **Schedule** | `schedule INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE_TIME`<br> e.g. `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00` |
| **Complete** | `complete [INDEX] [d/APPOINTMENT_DATE]` <br> e.g `complete 1` <br> e.g `complete 01-05-2023` | |
| **List** | `list` |
| **Help** | `help` |
| **Sort** | `sort KEYWORD` <br> e.g., `sort appointment` |

Binary file modified docs/images/completeUi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class CompleteCommand extends Command {
+ "Parameters: [INDEX(must be a positive integer)] "
+ "[" + PREFIX_APPOINTMENT_DATE + "Appointment Date] *At least one parameter specified\n"
+ "Example: " + COMMAND_WORD + " 1 ";
public static final String MESSAGE_COMPLETE_SUCCESS = "Appointments Completed!";
public static final String MESSAGE_COMPLETE_SUCCESS = "Appointment(s) Completed!";
public static final String MESSAGE_INVALID_DATE_FORMAT = "Input Date should be in format of dd-MM-yyyy";
public static final String MESSAGE_INVALID_DATE = "Please input a valid Date";
public static final String MESSAGE_PERSON_NO_APPOINTMENT = "No Appointment Found:"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class GatherCommand extends Command {
public static final String COMMAND_WORD = "gather";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Gathers all emails of person whose details matches "
+ "the desire prompt\n"
+ "the desired prompt\n"
+ "Gather by either Financial Plans or Tags. Not both.\n"
+ "Parameters: "
+ "[" + PREFIX_FINANCIAL_PLAN + "FINANCIAL_PLAN] or "
Expand Down