diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 25cb0be2538..983f84f2ff6 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -42,8 +42,8 @@ Here are some descriptions of the words we use throughout the User Guide: ### Add lead - What it does: Add potential leads and their basic information, e.g. name, age, year of study, major, etc. -- Command format: `addlead n/NAME p/PHONE e/EMAIL a/ADDRESS m/MEETING_TIME [t/TAG]...`. -- Example usage: `Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 t/classmate`. +- Command format: `addlead n/NAME p/PHONE e/EMAIL a/ADDRESS k/KEY_MILESTONE [m/MEETING_TIME] [t/TAG]...`. +- Example usage: `Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 k/01/12/2023 m/10/10/2023 14:30 t/classmate`. - Acceptable values for each compulsory parameter: - `NAME`: can contain any string of alphanumeric characters. - The name can contain spaces but cannot be blank (only contain spaces). @@ -55,6 +55,9 @@ Here are some descriptions of the words we use throughout the User Guide: - The domain name must end with a domain label at least 2 characters long - Each domain label must start and end with alphanumeric characters and only separated by hyphens, if any. - `ADDRESS`: can contain any alphanumeric character, must not be blank. + - `KEY_MILESTONE`: only contains date in the format of `dd/MM/yyyy` + - ``KEY_MILESTONE`` is the date of a lead's life-changing event. + - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` - Acceptable values for each optional parameter: - `MEETING_TIME`: only contains date in the format of `dd/MM/yyyy HH:mm` - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` @@ -63,30 +66,18 @@ Here are some descriptions of the words we use throughout the User Guide: - Precise expected outputs when the command succeeds:
- +

After using addlead command

- Precise expected outputs when the command fails: ``` -Invalid command format! -addlead: Adds a lead to the address book. Parameters: n/NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]... -Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 t/classmate +Invalid command format! +addlead: Adds a lead to the address book. Parameters: n/NAME p/PHONE e/EMAIL a/ADDRESS k/KEY_MILESTONE m/MEETING_TIME [t/TAG]... +Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 k/01/12/2023 m/10/10/2023 14:30 t/classmate ``` -### Add Lead with Key Milestone Information [Coming soon] -- What it does: Add potential leads and their basic information, e.g. name, age, year of study, major, etc. -- Command format: `addlead n/NAME p/PHONE e/EMAIL a/ADDRESS k/DATE [t/TAG]...`. -- Example usage: `Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 k/2022-12-01 t/classmate`. -- Acceptable values for each parameter: - - `NAME`: can contain any character. - - `PHONE`: any valid 8-digit integer. - - `EMAIL`: a string of the format `local-part@domain` - - `ADDRESS`: can contain any character. - - `DATE`: only contains date in the format of ``YYYY-MM-DD`` - - `TAG`: can contain any character. - ### Add Client - What it does: Add potential clients and their basic information, e.g. name, age, year of study, major, etc. - Command format: `addclient n/NAME p/PHONE e/EMAIL a/ADDRESS [m/MEETING_TIME] [t/TAG]...`. @@ -291,8 +282,8 @@ Example: deletemeeting 1 ### Edit - What it does: Edit the details of a lead or client. -- Command format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` -- Example usage: `edit 1 n/John Doe p/98765432 +- Command format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [k/KEY_MILESTONE] [t/TAG]...` +- Example usage: `edit 1 n/John Doe p/98765432`
@@ -317,6 +308,9 @@ Example: deletemeeting 1 - The domain name must end with a domain label at least 2 characters long - Each domain label must start and end with alphanumeric characters and only separated by hyphens, if any. - `ADDRESS`: can contain any alphanumeric character, must not be blank. + - `KEY_MILESTONE`: only contains date in the format of `dd/MM/yyyy` + - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` + - If the edited person is a client, no ``KEY_MILESTONE`` of the person will be edited as client does not have ``KEY_MILESTONE`` - `MEETING_TIME`: only contains date in the format of `dd/MM/yyyy HH:mm` - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` - The time must be a valid time in the 24-hour format, these are invalid: `25:00`, `12:60` @@ -331,7 +325,7 @@ Edited Person: ``` Invalid command format! edit: Edits the details of the person identified by the index number used in the displayed person list. Existing values will be overwritten by the input values. -Parameters: INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [m/MEETING_TIME] [t/TAG]... +Parameters: INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [k/KEY_MILESTONE] [m/MEETING_TIME] [t/TAG]... Example: edit 1 p/91234567 e/johndoe@example.com ``` @@ -373,12 +367,12 @@ only entries with a meeting time. ### Convert client to lead -- What it does: Converts a client into lead, the key milestone is 1 year -from current date to ensure a followup by the user +- What it does: Converts a client into lead, the ``KEY_MILESTONE`` is 1 year +from current date to ensure a follow-up by the user. - Command format: `convertolead INDEX` - Example usage: `converttolead 1` - Acceptable values for each parameter: - - `INDEX`: Any integer from `1` to the last index of the leads list + - `INDEX`: Any integer from `1` to the last index of the leads list. - Precise expected outputs when the command succeeds: `Converted client to lead` diff --git a/docs/images/afterusingaddlead.png b/docs/images/afterusingaddlead.png new file mode 100644 index 00000000000..39308fc9b81 Binary files /dev/null and b/docs/images/afterusingaddlead.png differ diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index cd7eadde35c..751782f4265 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -3,6 +3,7 @@ import static java.util.Objects.requireNonNull; import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_KEY_MILESTONE; import static seedu.address.logic.parser.CliSyntax.PREFIX_MEETING_TIME; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; @@ -49,6 +50,7 @@ public class EditCommand extends Command { + "[" + PREFIX_PHONE + "PHONE] " + "[" + PREFIX_EMAIL + "EMAIL] " + "[" + PREFIX_ADDRESS + "ADDRESS] " + + "[" + PREFIX_KEY_MILESTONE + "KEY_MILESTONE] " + "[" + PREFIX_MEETING_TIME + "MEETING_TIME] " + "[" + PREFIX_TAG + "TAG]...\n" + "Example: " + COMMAND_WORD + " 1 "