156
- 1 - Maintenance Manual Senior Project Mission Control Product Owner Charisse Shandro Mission Meow Cat Rescue and Adoptions, Inc. Team The Parrots are Coming Eric Bollinger Vanessa Cruz Austin Lee Ron Lewis Robert Rico Eric Wong

Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

  • Upload
    others

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 1 -

Maintenance Manual

Senior Project

Mission Control

Product Owner

Charisse Shandro

Mission Meow Cat Rescue and Adoptions, Inc.

Team The Parrots are Coming

Eric Bollinger

Vanessa Cruz

Austin Lee

Ron Lewis

Robert Rico

Eric Wong

Page 2: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 2 -

TABLE OF CONTENTS

Introduction .............................................................................................................................. 7

Implementation Tools and Technologies ............................................................................... 7

User Interaction ........................................................................................................................ 8

1. User Management ............................................................................................................. 8

○ Description ...................................................................................................................... 8

○ Creation........................................................................................................................... 8

○ Editing ............................................................................................................................10

○ Deletion ..........................................................................................................................12

..............................................................................................................................................13

○ Adding Phone Numbers .................................................................................................14

○ Editing Phone Numbers ..................................................................................................14

○ Removing Phone Numbers .............................................................................................14

○ Promotion .......................................................................................................................14

○ Demotion ........................................................................................................................16

○ Create Adopter Profile ....................................................................................................18

○ Create Foster Profile ......................................................................................................20

○ Uploading Photo .............................................................................................................22

○ Deleting Photos ..............................................................................................................22

○ Default Photo .................................................................................................................22

2. Cat Management ..............................................................................................................24

○ Description .....................................................................................................................24

○ Creation..........................................................................................................................24

..............................................................................................................................................25

..............................................................................................................................................26

○ Editing ............................................................................................................................27

○ Deletion ..........................................................................................................................29

○ Adding Tags ...................................................................................................................32

○ Removing Tags ..............................................................................................................32

○ Adding a Foster Home ....................................................................................................32

○ Adding an Adopter ..........................................................................................................34

..............................................................................................................................................36

Page 3: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 3 -

○ Adding a Medical History ................................................................................................37

..............................................................................................................................................39

○ Editing a Medical History ................................................................................................40

..............................................................................................................................................42

○ Removing a Medical History ...........................................................................................43

○ Uploading Photos ...........................................................................................................45

○ Deleting Photos ..............................................................................................................45

○ Default Photo .................................................................................................................45

○ Uploading Files ...............................................................................................................45

○ Deleting Files..................................................................................................................45

○ View Adopter/Foster History ...........................................................................................45

○ Exporting a Cat to Adopt-a-Pet .......................................................................................47

3. Adopter Management ......................................................................................................50

○ Description .....................................................................................................................50

○ Creation..........................................................................................................................50

..............................................................................................................................................51

..............................................................................................................................................52

○ Editing ............................................................................................................................53

..............................................................................................................................................55

○ Deletion ..........................................................................................................................56

..............................................................................................................................................57

..............................................................................................................................................58

○ Adding Phone Numbers .................................................................................................59

○ Editing Phone Numbers ..................................................................................................59

○ Removing Phone Numbers .............................................................................................59

○ Adding Tags ...................................................................................................................59

○ Removing Tags ..............................................................................................................59

○ Uploading Photo .............................................................................................................59

○ Deleting Photos ..............................................................................................................59

○ Default Photo .................................................................................................................60

○ Uploading Files ...............................................................................................................60

○ Deleting Files..................................................................................................................60

Page 4: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 4 -

4. Foster Management .........................................................................................................62

○ Description .....................................................................................................................62

○ Creation..........................................................................................................................62

..............................................................................................................................................63

..............................................................................................................................................64

○ Editing ............................................................................................................................65

..............................................................................................................................................66

..............................................................................................................................................67

○ Deletion ..........................................................................................................................68

..............................................................................................................................................70

○ Adding Phone Numbers .................................................................................................71

○ Editing Phone Numbers ..................................................................................................71

○ Removing Phone Numbers .............................................................................................71

○ Adding Tags ...................................................................................................................71

○ Removing Tags ..............................................................................................................71

○ Uploading Photo .............................................................................................................71

○ Deleting Photos ..............................................................................................................71

○ Default Photo .................................................................................................................72

○ Uploading Files ...............................................................................................................72

○ Deleting Files..................................................................................................................72

5. Contacts Management .....................................................................................................74

○ Description .....................................................................................................................74

○ Creation..........................................................................................................................74

○ Editing ............................................................................................................................77

..............................................................................................................................................79

○ Deletion ..........................................................................................................................80

..............................................................................................................................................82

○ Adding Phone Numbers .................................................................................................82

○ Editing Phone Numbers ..................................................................................................82

○ Removing Phone Numbers .............................................................................................83

6. Litter Management ...........................................................................................................84

○ Description .....................................................................................................................84

Page 5: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 5 -

○ Creation..........................................................................................................................84

○ Editing ............................................................................................................................87

..............................................................................................................................................89

○ Deletion ..........................................................................................................................90

..............................................................................................................................................92

○ Add a New Cat ...............................................................................................................93

..............................................................................................................................................94

..............................................................................................................................................95

○ Add an Existing Cat ........................................................................................................96

7. Filter Management ...........................................................................................................99

○ Description .....................................................................................................................99

○ Filter Cats .......................................................................................................................99

○ Filter Contacts .............................................................................................................. 101

............................................................................................................................................ 102

○ Filter Adopters .............................................................................................................. 102

○ Filter Fosters ................................................................................................................ 105

8. Phone Numbers Management ....................................................................................... 107

○ Description ................................................................................................................... 107

○ Adding Phone Numbers ............................................................................................... 107

............................................................................................................................................ 109

○ Editing Phone Numbers ................................................................................................ 110

............................................................................................................................................ 112

○ Removing Phone Numbers ........................................................................................... 113

9. Tags Management .......................................................................................................... 116

○ Description ................................................................................................................... 116

○ Creation........................................................................................................................ 116

○ Editing .......................................................................................................................... 118

............................................................................................................................................ 120

○ Deletion ........................................................................................................................ 120

............................................................................................................................................ 123

○ Adding Tags to Entities ................................................................................................. 124

○ Removing Tags from Entities ........................................................................................ 126

Page 6: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 6 -

10. Files Management ...................................................................................................... 129

○ Description ................................................................................................................... 129

○ Photo/File Creation ....................................................................................................... 129

○ Photo/File Deletion ....................................................................................................... 133

............................................................................................................................................ 135

○ Default Photo ............................................................................................................... 136

11. Event Management ..................................................................................................... 139

○ Description ................................................................................................................... 139

○ Creation........................................................................................................................ 139

............................................................................................................................................ 141

○ Editing .......................................................................................................................... 142

○ Deletion ........................................................................................................................ 144

Other Files ............................................................................................................................. 148

JavaScript Files ..................................................................................................................... 148

○ Description ................................................................................................................... 148

CSS Files ............................................................................................................................... 148

○ Description ................................................................................................................... 148

Appendices ........................................................................................................................... 149

Appendix A: Database ......................................................................................................... 149

ER Diagram ..................................................................................................................... 149

Tables and Elements ....................................................................................................... 150

............................................................................................................................................... 152

Appendix B: Installation Instructions .................................................................................... 153

Page 7: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 7 -

Introduction

Mission Control Administrative Web System (Mission Control) provides an intuitive web

interface for data management, easy to use tools, and file storage that will prevent the

redundancy and improve the readability of data. It will allow Mission Meow to have four

different user access levels: Admin, Core Volunteer, Volunteer and Foster (listed from

most privileged to least privileged). Users with higher privilege can do everything those

with lesser privileges can do. The following pages contain lists of features and user

stories that will guide the development of Mission Control.

The Maintenance Manual provides maintenance personnel with the information

necessary to maintain the system effectively.

Implementation Tools and Technologies

Programming languages: PHP7, Javascript, jQuery

Technologies, libraries and framework: CakePHP 3, Webflow

Web Services: Apache

Web Technologies: HTML5, CSS

IDE: Eclipse, Idea, MS Visual Studio, Aptana Studio, XCode, NetBeans, Komodo

Networking protocols and data security: TCP, HTTP, POST, GET, FTP and CakePHP 3

Auth

Databases/Data storages: MySQL Database

Application and web servers: CakePHP, Apache, DigitalOcean

For information on how to install the web application and its necessary tools, go to

Appendix B: Installation Instructions.

Page 8: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 8 -

User Interaction

1. User Management

○ Description

■ The web application is a non-public facing system, an Admin must be able to add users to the system, then edit their permission level and delete them if needed. Non-admin users must be able to edit their own login credentials and contact information.

○ Creation

■ A Core Volunteers can add users to the system by sending them an invitation email to give them access to the system.

■ Code Files Needed for Interaction: ● src/Templates/Users/add.ctp ● src/Controller/UsersController.ctp ● src/Model/Entity/User.php ● src/Model/Table/UsersTable.php

■ Required Input: ● Go to the volunteers’ index page ● Click the paw button on the bottom right ● Click the “Add User” button ● Valid email ● User type

■ Expected Output: ● The system will send a temporary password to

the email provided, inviting the volunteer to become part of the system.

● The system will create a new entry in the “users” table.

● The system will save the inputted email in the “email” column and the User type in the “role.”

Page 9: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 9 -

User Creation Screenshots

Page 10: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 10 -

○ Editing

■ All users can edit their own contact information and login credentials in order to display the most current information on their profile.

■ Code Files Needed for Interaction: ● src/Templates/Users/edit.ctp ● src/Controller/UsersController.ctp ● src/Model/Entity/User.php ● src/Model/Table/UsersTable.php ● src/Controller/PhoneNumbers.ctp ● src/Model/Entity/PhoneNumber.php ● src/Model/Table/PhoneNumberTable.php

■ Required Input: ● Select a user from the volunteers’ index page ● Click the paw button ● Click the “Edit” button ● First Name ● Last Name ● Email ● Address ● Phone Number(s)

■ Expected Output: ● The system will save any changes made to the

User’s profile. ● The system will go to the corresponding row in

the “users” table. ● The system will save the inputted information

in the corresponding columns in the “users” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the User’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” will be 3.

Page 11: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 11 -

Editing a User Screenshots

Page 12: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 12 -

○ Deletion

■ An Admin can delete other users from the system in order to remove inactive users.

■ Code Files Needed for Interaction: ● src/Templates/Users/view.ctp ● src/Controller/UsersController.ctp

■ Required Input: ● Select a user from the volunteers’ index page ● Click the paw button on the bottom right. ● Click the “Delete” button ● Click “Delete” on the confirmation box.

■ Expected Output: ● The system will go to the corresponding row in

the “users” table. ● The system will set the User as deleted in the

database by changing the User’s “is_deleted” value to 1.

Page 13: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 13 -

User Deletion Screenshots

Page 14: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 14 -

○ Adding Phone Numbers

■ A Core Volunteer can add one or more phone numbers to users in the system. (For more information look at Phone Numbers Management)

○ Editing Phone Numbers

■ A Core Volunteer can edit existing phone numbers related to any user in the system. (For more information look at Phone Numbers Management)

○ Removing Phone Numbers

■ A Core Volunteer can delete existing phone numbers from any user in the system. (For more information look at Phone Numbers Management)

○ Promotion

■ An Admin can promote other users to increase their privileges and allow them to be able to edit cats, events, and pet lists for other users.

■ Code Files Needed for Interaction: ● src/Templates/Users/edit.ctp ● src/Controller/UsersController.ctp

■ Required Input: ● Select a user from the volunteers’ index page ● Click the paw button on the bottom right. ● Click the “Edit” button ● User’s user type.

■ Expected Output: ● The system will update the “role” column with

the appropriate value. ● The system will update the User’s privileges

accordingly.

Page 15: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 15 -

Promoting a User Screenshots

Page 16: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 16 -

○ Demotion

■ An Admin can demote privileged users (but not Admins), restricting their ability to modify cats, events, and pet lists.

■ Code Files Needed for Interaction: ● src/Templates/Users/edit.ctp ● src/Controller/UsersController.ctp

■ Required Input: ● Select a user from the volunteers’ index page ● Click the paw button on the bottom right. ● Click the “Edit” button ● User’s user type.

■ Expected Output: ● The system will update the “role” column with

the appropriate value. ● The system will update the User’s privileges

accordingly.

Page 17: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 17 -

Demoting a User Screenshots

Page 18: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 18 -

○ Create Adopter Profile

■ A Core Volunteer can create adopter profiles for users that have

adopted cats from the organization.

■ Code Files Needed for Interaction: ● src/Templates/Users/view.ctp ● src/Controller/UsersController.ctp ● src/Controller/FostersController.ctp ● src/Model/Entity/Foster.php ● src/Model/Table/FostersTable.php

■ Required Input: ● Click the “Create Adopter Profile” button on the

second tab. After that, click “Create Adopter” on the confirmation box.

■ Expected Output: ● The system will access the “adopters” table

and create a new entry. ● The system will save the existing information in

the corresponding columns in the “adopters” table.

● The system will create a new adopter profile with the User’s information.

Page 19: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 19 -

Creating an Adopter Profile from User Screenshots

Page 20: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 20 -

○ Create Foster Profile

■ A Core Volunteer can create foster profiles for volunteers that are

currently fostering cats from the organization.

■ Code Files Needed for Interaction: ● src/Templates/Users/view.ctp ● src/Controller/UsersController.ctp ● src/Controller/AdoptersController.ctp ● src/Model/Entity/Adopter.php ● src/Model/Table/AdoptersTable.php

■ Required Input: ● Click the “Create Foster Profile” button on the

second tab. After that, click “Create Foster” on the confirmation box.

■ Expected Output: ● The system will access the “fosters” table and

create a new entry. ● The system will save the existing information in

the corresponding columns in the “fosters” table.

● The system will create a new foster profile with the User’s information.

Page 21: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 21 -

Creating a Foster Profile from User Screenshots

Page 22: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 22 -

○ Uploading Photo

■ A Core Volunteer can upload photos related to a user into the system so they can be viewed. (For more information look at the Files Management)

○ Deleting Photos

■ A Core Volunteer can delete photos related to a user in the system so they can be viewed. (For more information look at the Files Management)

○ Default Photo

■ A Core Volunteer can choose a photo related to a user in the system and mark it as a Profile Photo. (For more information look at the Files Management)

Page 23: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 23 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 24: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 24 -

2. Cat Management

○ Description

■ In order to have an overview of the current inventory and be able to manage cats, an Admin must be able to add, view, update, and remove cats from the system. Other users such as the Core Volunteer will be able to modify and view cats where a Volunteer can only view them, and a Foster can only see the cats associated with their account.

○ Creation

■ A Core Volunteer can add a new cat into the system in order to track the cats in the system.

■ Code Files Needed for Interaction: ● webroot/js/cats.js ● src/Templates/Cats/add.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Cat name ● Date of Birth ● Breed ● Color ● Coat ● Gender ● Kitten/Adult Cat ● Adoption Fee ● Microchip number ● Microchip registration ● Good with Kids ● Good with Dogs ● Good with Cats ● Special Needs ● Needs Experienced Adopter ● Specialty Notes ● Biography

■ Expected Output: ● The system will create a new cat profile with

the cat’s information.

Page 25: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 25 -

Creating a Cat Screenshots

Page 26: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 26 -

Page 27: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 27 -

○ Editing

■ A Core Volunteer can edit the existing information of a cat in the system in order to make or add changes.

■ Code Files Needed for Interaction: ● src/Templates/Cats/edit.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Cat name ● Date of Birth ● Breed ● Color ● Coat ● Gender ● Kitten/Adult Cat ● Adoption Fee ● Microchip number ● Microchip registration ● Good with Kids ● Good with Dogs ● Good with Cats ● Special Needs ● Needs Experienced Adopter ● Specialty Notes ● Biography

■ Expected Output: ● The system will update the cat profile with the

cat’s updated information.

Page 28: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 28 -

Editing a Cat Screenshots

Page 29: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 29 -

○ Deletion

■ An Admin can delete a cat from the system to completely remove an inactive cat profile.

■ Code Files Needed for Interaction: ● src/Templates/Cats/view.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php ● src/Model/Table/CatsTable.php

Page 30: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 30 -

■ Required Input: ● Click the “Delete” button on the confirmation

box ■ Expected Output:

● The system will set the cat as deleted in the database by changing the cat’s “is_deleted” value to 1.

Page 31: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 31 -

Deleting a Cat Screenshots

Page 32: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 32 -

○ Adding Tags

■ A Core Volunteer can add multiple tags to a cat in the system. (For more information look at the Tags Management)

○ Removing Tags

■ A Core Volunteer can delete existing tags from a cat in the system. (For more information look at the Tags Management)

○ Adding a Foster Home

■ A Core Volunteer can mark a cat as fostered and link the foster home in the system in order to view which cat(s) belong to which foster home(s).

■ Code Files Needed for Interaction: ● webroot/js/cats.js ● src/Templates/Cats/view.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php ● src/Controller/FostersController.php

■ Required Input: ● Click the “Add Foster” button under the Foster

tab (3rd tab) ● Choose desired foster from list and click

Foster! ■ Expected Output:

● Selected foster card with information should appear

● Association should be created in Cats table under foster_id

Page 33: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 33 -

Adding a Foster Home to Cat Screenshots

Page 34: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 34 -

○ Adding an Adopter

■ A Core Volunteer can export a cat from the system to Adopt-a-Pet for advertising purposes.

■ Code Files Needed for Interaction: ● webroot/js/cats.js ● src/Templates/Cats/view.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php

■ Required Input: ● Click the “Add Adopter” button under the

Adopter tab (4th tab) ● Choose desired foster from list and click

Foster! ■ Expected Output:

● Selected adopter card with information should appear

● Association should be created in Cats table under adopter_id

Page 35: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 35 -

Adding an Adopter to Cat Screenshots

Page 36: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 36 -

Page 37: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 37 -

○ Adding a Medical History

■ A Core Volunteer can add medical information related to a cat into the system so they can be viewed and retrieved later.

■ Code Files Needed for Interaction: ● src/Templates/Cats/view.ctp ● src/Controller/CatsController.php ● src/Controller/CatMedicalHistoriesController.ph

p ● src/Model/Entity/File.php ● src/Model/Entity/CatMedicalHistory.php

■ Required Input: ● Click the “Add New Medical Record” button

under the Medical Histories tab (2nd tab) ● Medical type ● Date ● Notes ● Document

■ Expected Output: ● A new medical record entry will be added to

the Cat’s view under the Medical Histories Tab

Page 38: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 38 -

Adding a Medical Record to Cat Screenshots

Page 39: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 39 -

Page 40: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 40 -

○ Editing a Medical History

■ A Core Volunteer can edit existing medical information related to a cat in the system so that information displayed is always up to date.

■ Code Files Needed for Interaction: ● src/Templates/CatMedicalHistories/edit.ctp ● src/Controller/CatMedicalHistoriesController.ph

p ● src/Model/Entity/File.php ● src/Model/Entity/CatMedicalHistory.php

■ Required Input: ● Click the desired medical record to edit under

the Medical Histories tab (2nd tab) ● Click on the edit button ● Medical type ● Date ● Notes ● Document

■ Expected Output: ● The updated medical entry will be displayed in

the Cat’s view under the Medical Histories Tab

Page 41: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 41 -

Editing a Medical History in Cats Screenshot

Page 42: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 42 -

Page 43: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 43 -

○ Removing a Medical History

■ A Core Volunteer can remove medical information related to a cat into the system so that they cannot be viewed or retrieved.

■ Code Files Needed for Interaction: ● src/Templates/Cats/view.ctp ● src/Controller/CatMedicalHistoriesController.ph

p ● src/Model/Entity/File.php ● src/Model/Entity/CatMedicalHistory.php

■ Required Input: ● Click on the “Delete” button followed by the

clicking “Delete” in the confirmation on the desired record to remove

■ Expected Output: ● Selected medical record should be removed

and the is_deleted database value in the Files table will be set to 1

Page 44: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 44 -

Removing a Medical History from Cats Screenshot

Page 45: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 45 -

○ Uploading Photos

■ A Core Volunteer can upload photos related to a cat into the system so they can be viewed. (For more information look at the Files Management)

○ Deleting Photos

■ A Core Volunteer can delete photos related to a cat in the system so they can be viewed. (For more information look at the Files Management)

○ Default Photo

■ A Core Volunteer can choose a photo related to a cat in the system and mark it as a Profile Photo. (For more information look at the Files Management)

○ Uploading Files

■ A Core Volunteer can upload files related to a cat into the system so they can be viewed and retrieved later. (For more information look at the Files Management)

○ Deleting Files

■ A Core Volunteer can delete files related to a cat in the system so they cannot be viewed or retrieved. (For more information look at the Files Management)

○ View Adopter/Foster History

■ A Core Volunteer can view the adopters and foster homes that have been associated with a cat from the system.

■ Code Files Needed for Interaction: ● src/Templates/Cats/view.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php

■ Required Input: ● Click on the more tab (6th tab) ● Click on “Cat/Kitten Placement”

■ Expected Output:

Page 46: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 46 -

● Cat/Kitten Placement should appear below

Viewing a Cat’s Adopter/Foster History Screenshots

Page 47: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 47 -

○ Exporting a Cat to Adopt-a-Pet

■ A Core Volunteer can export a cat from the system to Adopt-a-Pet for advertising purposes.

■ Code Files Needed for Interaction: ● src/Templates/Cats/view.ctp ● src/Controller/CatsController.php ● src/Model/Entity/Cat.php

■ Required Input: ● Click on the “Export” button ● Adoption Status ● Color ● Spayed and Neutered ● Shots Current ● Housetrained ● Declawed ● Cat name ● Date of Birth ● Breed ● Coat ● Gender ● Kitten/Adult Cat ● Adoption Fee ● Microchip Number ● Microchip Registration ● Good with Kids ● Good with Dogs ● Good with Cats ● Special Needs ● Needs Experienced Adopter ● Biography ● Current Diet Notes ● Speciality Notes

■ Expected Output: ● After a few hours, the new profile will be added

in Adopt-A-Pet ● Association should be created in Cats table

under foster_id

Page 48: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 48 -

Exporting a Cat to Adopt-a-Pet Screenshots

Page 49: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 49 -

Database Tables and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 50: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 50 -

3. Adopter Management

○ Description

■ The organization needs a quick way to reach out to, communicate with, manage, and view adopters, and potential adopters of kittens. In order to do this, Admins must be able to create, view, update, and remove adopters from the system. Adopters may or may not be associated with kittens.

○ Creation

■ A Core Volunteer can add a new adopter into the system to be able to assign cats to the adopter.

■ Code Files Needed for Interaction: ● webroot/js/adopters.js ● src/Templates/Adopters/add.ctp ● src/Controller/AdoptersController.ctp ● src/Model/Entity/Adopter.php ● src/Model/Table/AdoptersTable.php ● src/Controller/PhoneNumbersController.ctp ● src/Controller/PhoneNumbers.ctp

■ Required Input: ● Go to the adopter’s index page ● Click the paw button on the bottom right ● Click the “Add Adopter” button ● Adoptability ● First Name ● Last Name ● Email ● Address ● Phone Number(s) ● Any notes regarding the adopter

■ Expected Output: ● The system will create a new entry in the

“adopters” table. ● The system will save the inputted information

in the corresponding columns in the “adopters” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the adopter’s id as the “entity_id,” the phone type as the “phone_type”, the phone

Page 51: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 51 -

number as the “phone_num” and “entity_type” will be 1.

Creating an Adopter Screenshots

Page 52: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 52 -

Page 53: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 53 -

○ Editing

■ A Core Volunteer can edit existing adopters in the system to make necessary changes to the information of the adopter.

■ Code Files Needed for Interaction: ● webroot/js/adopters.js ● src/Templates/Adopters/add.ctp ● src/Controller/AdoptersController.ctp ● src/Model/Entity/Adopter.php ● src/Model/Table/AdoptersTable.php ● src/Controller/PhoneNumbersController.ctp ● src/Controller/PhoneNumbers.ctp

■ Required Input: ● Select an adopter from the adopter’s index

page ● Click the paw button ● Click the “Edit” button ● Adoptability ● First Name ● Last Name ● Email ● Address ● Phone Number(s) ● Any notes regarding the adopter

■ Expected Output: ● The system will access an existing entry in the

“adopters” table. ● The system will save the inputted information

in the corresponding columns in the “adopters” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the Adopter’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” will be 1.

Page 54: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 54 -

Editing an Adopter Screenshots

Page 55: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 55 -

Page 56: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 56 -

○ Deletion

■ An Admin can delete adopters from the system to eliminate inactive and no longer needed adopters.

■ Code Files Needed for Interaction: ● src/Templates/Adopters/view.ctp ● src/Controller/AdoptersController.ctp

■ Required Input: ● Select an adopter from the adopter’s index

page ● Click the paw button on the bottom right. ● Click the “Delete” button ● Click “Delete” on the confirmation box.

■ Expected Output: ● The system will go to the corresponding row in

the “adopters” table. ● The system will set the Adopter as deleted in

the database by changing the Adopter’s “is_deleted” value to 1.

Page 57: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 57 -

Deleting an Adopter Screenshots

Page 58: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 58 -

Page 59: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 59 -

○ Adding Phone Numbers

■ A Core Volunteer can add one or more phone numbers to an adopter in the system. (For more information look at Phone Numbers Management)

○ Editing Phone Numbers

■ A Core Volunteer can edit existing phone numbers related to an adopter in the system. (For more information look at Phone Numbers Management)

○ Removing Phone Numbers

■ A Core Volunteer can delete existing phone numbers from an adopter in the system. (For more information look at Phone Numbers Management)

○ Adding Tags

■ A Core Volunteer can add multiple tags to an adopter in the system. (For more information look at the Tags Management)

○ Removing Tags

■ A Core Volunteer can delete existing tags from an adopter in the system. (For more information look at the Tags Management)

○ Uploading Photo

■ A Core Volunteer can upload photos related to an adopter into the system so they can be viewed. (For more information look at the Files Management)

○ Deleting Photos

■ A Core Volunteer can delete photos related to an adopter in the system so they can be viewed. (For more information look at the Files Management)

Page 60: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 60 -

○ Default Photo

■ A Core Volunteer can choose a photo related to an adopter in the system and mark it as a Profile Photo. (For more information look at the Files Management)

○ Uploading Files

■ A Core Volunteer can upload files related to an adopter into the system so they can be viewed and retrieved later. (For more information look at the Files Management)

○ Deleting Files

■ A Core Volunteer can delete files related to an adopter in the system so they cannot be viewed or retrieved. (For more information look at the Files Management)

Page 61: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 61 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 62: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 62 -

4. Foster Management

○ Description

■ In order to assign cats to foster homes, an Admin must be able to manage foster homes by being able to create, view, update, and remove them. Other users such as the Core Volunteer will be able to modify and view foster homes where a volunteer can only view them.

○ Creation

■ A Core Volunteer can add a new Foster Home into the system to be able to assign cats to the Foster.

■ Code Files Needed for Interaction: ● webroot/js/fosters.js ● src/Templates/Fosters/add.ctp ● src/Controller/FostersController.ctp ● src/Model/Entity/Foster.php ● src/Model/Table/FostersTable.php

■ Required Input: ● First Name ● Last Name ● Email ● Address ● Phone Number(s) ● Experience ● Availability ● Rating ● Any notes regarding the foster

■ Expected Output: ● The system will create a new entry in the

“fosters” table. ● The system will save the inputted information

in the corresponding columns in the “fosters” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the foster’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” will be 1.

Page 63: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 63 -

Creating a Foster Screenshots

Page 64: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 64 -

Page 65: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 65 -

○ Editing

■ A Core Volunteer can edit existing fosters in the system to make necessary changes to the information of the foster.

■ Code Files Needed for Interaction: ● webroot/js/fosters.js ● src/Templates/Fosters/add.ctp ● src/Controller/FostersController.ctp ● src/Model/Entity/Foster.php ● src/Model/Table/FostersTable.php

■ Required Input: ● First Name ● Last Name ● Email ● Address ● Phone Number(s) ● Experience ● Availability ● Rating ● Any notes regarding the foster

■ Expected Output: ● The system will access an existing entry in the

“fosters” table. ● The system will save the inputted information

in the corresponding columns in the “fosters” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the Foster’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” will be 1.

Page 66: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 66 -

Editing a Foster Screenshots

Page 67: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 67 -

Page 68: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 68 -

○ Deletion

■ An Admin can delete fosters from the system to eliminate inactive and no longer needed fosters.

■ Code Files Needed for Interaction: ● webroot/js/fosters.js ● src/Templates/Fosters/view.ctp ● src/Controller/FostersController.ctp

■ Required Input: ● Click the “Delete” button on the confirmation

box. ■ Expected Output:

● The system will go to the corresponding row in the “fosters” table.

● The system will set the Foster as deleted in the database by changing the Foster’s “is_deleted” value to 1.

Page 69: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 69 -

Deleting a Foster Screenshots

Page 70: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 70 -

Page 71: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 71 -

○ Adding Phone Numbers

■ A Core Volunteer can add one or more phone numbers to an foster in the system. (For more information look at Phone Numbers Management)

○ Editing Phone Numbers

■ A Core Volunteer can edit existing phone numbers related to an foster in the system. (For more information look at Phone Numbers Management)

○ Removing Phone Numbers

■ A Core Volunteer can delete existing phone numbers from an foster in the system. (For more information look at Phone Numbers Management)

○ Adding Tags

■ A Core Volunteer can add multiple tags to an foster in the system. (For more information look at the Tags Management)

○ Removing Tags

■ A Core Volunteer can delete existing tags from an foster in the system. (For more information look at the Tags Management)

○ Uploading Photo

■ A Core Volunteer can upload photos related to an foster into the system so they can be viewed. (For more information look at the Files Management)

○ Deleting Photos

■ A Core Volunteer can delete photos related to an foster in the system so they can be viewed. (For more information look at the Files Management)

Page 72: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 72 -

○ Default Photo

■ A Core Volunteer can choose a photo related to an foster in the system and mark it as a Profile Photo. (For more information look at the Files Management)

○ Uploading Files

■ A Core Volunteer can upload files related to an foster into the system so they can be viewed and retrieved later. (For more information look at the Files Management)

○ Deleting Files

■ A Core Volunteer can delete files related to an foster in the system so they cannot be viewed or retrieved. (For more information look at the Files Management)

Page 73: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 73 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 74: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 74 -

5. Contacts Management

○ Description

■ The organization needs all users to be able to access a list of contacts. Therefore, Admin must be able to add contacts to the system, edit their information, and delete them if needed. Non-admin users will only have access to the contacts’ overviews.

○ Creation

■ A Core Volunteers can add contacts to the system so that other users can view them and contact them when necessary.

■ Code Files Needed for Interaction: ● src/Templates/Contacts/add.ctp ● src/Controller/ContactsController.ctp ● src/Model/Entity/Contacts.php ● src/Model/Table/ContactsTable.php

■ Required Input: ● Contact Name ● Organization Name ● Contact/Organization Email ● Organization Address ● Phone Number(s)

■ Expected Output: ● The system will create a new entry in the

“contacts” table. ● The system will save the inputted information

in the corresponding columns in the “contacts” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the contact’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” will be 2.

Page 75: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 75 -

Contact Creation Screenshots

Page 76: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 76 -

Page 77: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 77 -

○ Editing

■ A Core Volunteers can edit contacts in the system so that other users can view the most current information and contact them when necessary

■ Code Files Needed for Interaction: ● src/Templates/Contacts/edit.ctp ● src/Controller/ContactsController.ctp ● src/Model/Entity/Contacts.php ● src/Model/Table/ContactsTable.php ● src/Controller/PhoneNumbers.ctp ● src/Model/Entity/PhoneNumber.php ● src/Model/Table/PhoneNumberTable.php

■ Required Input: ● Contact Name ● Organization Name ● Contact/Organization Email ● Organization Address ● Phone Number(s)

■ Expected Output: ● The system will save any changes made to the

contact’s profile. ● The system will go to the corresponding row in

the “contacts” table. ● The system will save the inputted information

in the corresponding columns in the “contacts” table.

● The system will either access an existing entry or create a new entry in the “phone_numbers” table, saving the contact’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” will be 2.

Page 78: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 78 -

Editing a Contact Screenshots

Page 79: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 79 -

Page 80: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 80 -

○ Deletion

■ An Admin can delete contacts from the system in order to avoid inactive users.

■ Code Files Needed for Interaction: ● src/Templates/Contacts/edit.ctp ● src/Controller/ContactsController.ctp

■ Required Input: ● Select a contact from the contact’s index page ● Click the “Delete” button ● Click “Delete” on the confirmation box.

■ Expected Output: ● The system will go to the corresponding row in

the “contacts” table. ● The system will set the Contacts as deleted in

the database by changing the contact’s “is_deleted” value to 1.

Page 81: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 81 -

Deleting a Contact Screenshots

Page 82: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 82 -

○ Adding Phone Numbers

■ A Core Volunteer can add one or more phone numbers to contacts in the system. (For more information look at Phone Numbers Management)

○ Editing Phone Numbers

■ A Core Volunteer can edit existing phone numbers related to any contact in the system. (For more information look at Phone Numbers Management)

Page 83: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 83 -

○ Removing Phone Numbers

■ A Core Volunteer can delete existing phone numbers from any contact in the system. (For more information look at Phone Numbers Management)

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 84: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 84 -

6. Litter Management

○ Description

■ In order to have an overview of the current inventory and be able to manage kittens, an Admin must be able to create, view, update, and remove litters. The litters will be collections of kittens that are either incoming, or currently in stock.

○ Creation

■ An Admin can add incoming litters into the system to inform users about cats that will soon be entering the system.

■ Code Files Needed for Interaction: ● src/Templates/Litters/add.ctp ● src/Controller/LittersController.php ● src/Controller/CatsController.php ● src/Model/Entity/Litter.php ● src/Model/Entity/Cat.php ● src/Model/Table/LittersTable.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Litter name ● Kitten Central ID ● Date of Birth ● Breed ● Estimated Arrival ● Foster Notes ● Notes ● Additional Cats

■ Expected Output: ● The new litter should be created with the cats

associated

Page 85: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 85 -

Litter Creation Screenshots

Page 86: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 86 -

Page 87: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 87 -

○ Editing

■ A Core Volunteer can edit the existing information of a litter in the system in order to make or add changes.

■ Code Files Needed for Interaction: ● src/Templates/Litters/edit.ctp ● src/Controller/LittersController.php ● src/Controller/CatsController.php ● src/Model/Entity/Litter.php ● src/Mode/Entity/Cat.php ● src/Model/Table/LittersTable.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Select desired litter to edit. ● Litter Name ● Kitten Central ID ● Date of Birth ● Breed ● Estimated Arrival ● Foster Notes ● Notes

■ Expected Output: ● The selected litter should now have the

updated information

Page 88: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 88 -

Editing a Litter Screenshots

Page 89: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 89 -

Page 90: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 90 -

○ Deletion

■ An Admin can delete a litter from the system to completely remove an inactive litter profile.

■ Code Files Needed for Interaction: ● src/Templates/Litters/view.ctp ● src/Controller/LittersController.php ● src/Controller/CatsController.php ● src/Model/Entity/Litter.php ● src/Mode/Entity/Cat.php ● src/Model/Table/LittersTable.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Select desired litter to remove ● Click on “Delete Selected” button ● Click on the “Delete!” button

■ Expected Output: ● The selected litter should disappear

Page 91: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 91 -

Deleting a Litter Screenshots

Page 92: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 92 -

Page 93: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 93 -

○ Add a New Cat

■ A Core Volunteer can add a new cat to an existing litter in the system.

■ Code Files Needed for Interaction: ● src/Templates/Litters/view.ctp ● src/Controller/LittersController.php ● src/Controller/CatsController.php ● src/Model/Entity/Litter.php ● src/Mode/Entity/Cat.php ● src/Model/Table/LittersTable.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Select on the desired Litter to add a new cat ● Under the Cat tab (1st Tab) click on “Add New

Cat” ● Cat name ● Date of Birth ● Breed ● Color ● Coat ● Gender ● Kitten/Adult Cat ● Adoption Fee ● Microchip Number ● Microchip Registration ● Good with Kids ● Good with Dogs ● Good with Cats ● Special Needs ● Needs Experienced Adopter ● Specialty Notes ● Biography ● Additional cats

■ Expected Output: ● The new cat(s) should be added to the litter

Page 94: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 94 -

Adding a New Cat Screenshots

Page 95: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 95 -

Page 96: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 96 -

○ Add an Existing Cat

■ A Core Volunteer can link a cat to an existing litter in the system.

■ Code Files Needed for Interaction: ● src/Templates/Litters/view.ctp ● src/Controller/LittersController.php ● src/Controller/CatsController.php ● src/Model/Entity/Litter.php ● src/Mode/Entity/Cat.php ● src/Model/Table/LittersTable.php ● src/Model/Table/CatsTable.php

■ Required Input: ● Select desired Litter to add an existing cat ● Under the Cat tab (1st tab) click on “Add

Existing Cat” ● Select an existing cat to add into the litter

■ Expected Output: ● The existing cat should be added to the litter

Page 97: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 97 -

Adding Existing Cat to Litter Screenshots

Page 98: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 98 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 99: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 99 -

7. Filter Management ○ Description

■ The organization wants users to be able to filter through Cats,

Contacts, Adopters, and Fosters to be able to find a specific Cat,

Contact, Adopter, or Foster in the system.

○ Filter Cats ■ A Volunteer can filter through the cats to find a specific cat in the

system, allowing the volunteer to view that cat’s information.

■ Code Necessary for Interaction:

● scr/Template/Cats/index.ctp

● scr/Controller/CatsController.ctp

● scr/Model/Behavior/FilterableTagBehavior.php

● scr/Model/Behavior/FilterablePhoneBehavior.php

■ Required Input Includes One or More of the Following:

● Go to the cats’ index page ● Click the paw button on the bottom right ● Click the “Sort/Filter” button ● Name

● Gender

● Adult or Kitten

● Breed

● Color

● Coat

● Date of Birth

● Deceased

● Deleted

● Tags

■ Expected Output:

● The filtered cats will be displayed

Page 100: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 100 -

Filter Cats Screenshots

Page 101: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 101 -

○ Filter Contacts

■ A Foster can filter through the contacts to find a specific contact in

the system.

■ Code Necessary for Interaction:

● scr/Template/Contacts/index.ctp

● scr/Controller/ContactsController.ctp

● scr/Model/Behavior/FilterablePhoneBehavior.php

■ Required Input Includes One or More of the Following:

● Go to the contacts’ index page ● Click the paw button on the bottom right ● Click the “Sort/Filter” button ● Contact Name

● Organization Name

● Phone Number

● Email

● Address

■ Expected Output:

● The filtered contacts will be displayed

Page 102: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 102 -

Filter Contacts Screenshots

○ Filter Adopters

■ A Volunteer can filter through the adopters to find a specific adopter

in the system, allowing the volunteer to view that adopter’s

information.

■ Code Necessary for Interaction:

● scr/Template/Adopters/index.ctp

● scr/Controller/AdoptersController.ctp

● scr/Model/Behavior/FilterableTagBehavior.php

Page 103: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 103 -

● scr/Model/Behavior/FilterablePhoneBehavior.php

■ Required Input Includes One or More of the Following:

● Go to the adopters’ index page ● Click the paw button on the bottom right ● Click the “Sort/Filter” button ● First Name

● Last Name

● Phone Number

● Email

● Address

● Number of Cats Adopted

● Adoptability

● Tags

■ Expected Output:

● The filtered adopters will be displayed

Page 104: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 104 -

Filter Adopters Screenshots

Page 105: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 105 -

○ Filter Fosters

■ A Volunteer can filter through the fosters to find a specific foster in

the system, allowing the volunteer to view that foster’s information.

■ Code Necessary for Interaction:

● scr/Template/Fosters/index.ctp

● scr/Controller/FostersController.ctp

● scr/Model/Behavior/FilterableTagBehavior.php

● scr/Model/Behavior/FilterablePhoneBehavior.php

■ Required Input Includes One or More of the Following:

● Go to the fosters’ index page ● Click the paw button on the bottom right ● Click the “Sort/Filter” button ● First Name

● Last Name

● Rating

● Availability

● Phone Number

● Email

● Address

● Tags

■ Expected Output:

● The filtered fosters will be displayed

Page 106: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 106 -

Filter Fosters Screenshots

Page 107: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 107 -

8. Phone Numbers Management

○ Description ■ The organization wants users, fosters, contacts, and

adopters to be able to provide multiple phone numbers to be able to contact them whenever it is necessary.

○ Adding Phone Numbers

■ A Core Volunteer can add one or more phone numbers to users, adopters, and foster in the system.

■ A Foster and a Volunteer can add one or more phone numbers to their own profile.

■ Code Files Needed for Interaction: ● These are the generic files needed to add

one more phone numbers to Users, Adopters, Fosters, and Contacts.

○ src/Model/Entity/PhoneNumber.php ○ src/Model/Table/PhoneNumbersTable.p

hp ○ src/Controller/PhoneNumbersController.

ctp ● In addition to the generic files above, these

files are necessary to add phone numbers to Users.

○ src/Templates/Users/edit.ctp ○ src/Controller/UsersController.ctp

● In addition to the generic files above, these files are necessary to add phone numbers to Contacts.

○ src/Templates/Contacts/edit.ctp ○ src/Controller/ContactsController.ctp

● In addition to the generic files above, these files are necessary to add phone numbers to Adopters.

○ src/Templates/Adopters/edit.ctp ○ src/Controller/AdoptersController.ctp

● In addition to the generic files above, these files are necessary to add phone numbers to Fosters.

○ src/Templates/Fosters/edit.ctp ○ src/Controller/FostersController.ctp

■ Required Input: ● Go to the entity’s view page

Page 108: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 108 -

● Click the paw button on the bottom right ● Click the “Edit” button ● Click the “Add Phone Number” ● Entity’s Phone Number(s)

■ Expected Output: ● The system will add the given phone numbers

to the entity’s profile. ● The system will create a new entry in the

“phone_numbers” table, saving the entity’s id as the “entity_id,” the phone type as the “phone_type”, the phone number as the “phone_num” and “entity_type” according to the entity type.

Page 109: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 109 -

Phone Number Creation Screenshots

Page 110: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 110 -

○ Editing Phone Numbers

■ A Core Volunteer can edit existing phone numbers related to any user in the system.

■ A Foster and a Volunteer can edit existing phone numbers that are related to them and are displayed on their own profile.

■ Code Files Needed for Interaction: ● These are the generic files needed to edit a

phone number that belongs to Users, Adopters, Fosters, and Contacts.

○ src/Model/Entity/PhoneNumber.php ○ src/Model/Table/PhoneNumbersTable.p

hp ○ src/Controller/PhoneNumbersController.

ctp ● In addition to the generic files above, these

files are necessary to edit a phone number that belongs to Users.

○ src/Templates/Users/edit.ctp ○ src/Controller/UsersController.ctp

● In addition to the generic files above, these files are necessary to edit a phone number that belongs to Contacts.

○ src/Templates/Contacts/edit.ctp ○ src/Controller/ContactsController.ctp

● In addition to the generic files above, these files are necessary to edit a phone number that belongs to Adopters.

○ src/Templates/Adopters/edit.ctp ○ src/Controller/AdoptersController.ctp

● In addition to the generic files above, these files are necessary to edit a phone number that belongs to Fosters.

○ src/Templates/Fosters/edit.ctp ○ src/Controller/FostersController.ctp

■ Required Input: ● Go to the entity’s view page ● Click the paw button on the bottom right ● Click the “Edit” button ● Click on the phone number that needs to be

edited ● Click “Edit” ● Entity’s Updated phone number

■ Expected Output:

Page 111: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 111 -

● The system will take the user to the phone editing page.

● The system will access an existing entry in the “phone_numbers” table where the “entity_id” matches the entity’s id.

● The system will save any changes made to the corresponding tables in the phone_numbers table.

● The system will update the entity’s profile with the updated phone numbers.

Editing a Phone Number Screenshots

Page 112: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 112 -

Page 113: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 113 -

○ Removing Phone Numbers

■ A Core Volunteer can delete existing phone numbers from any user in the system.

■ A Foster and a Volunteer can edit existing phone numbers that are related to them and are displayed on their own profile.

■ Code Files Needed for Interaction: ● These are the generic files needed to delete

a phone number that belongs to Users, Adopters, Fosters, and Contacts.

○ src/Model/Entity/PhoneNumber.php ○ src/Controller/PhoneNumbersController.

ctp ● In addition to the generic files above, these

files are necessary to delete a phone number that belongs to Users.

○ src/Templates/Users/edit.ctp ○ src/Controller/UsersController.ctp

● In addition to the generic files above, these files are necessary to delete a phone number that belongs to Contacts.

○ src/Templates/Contacts/edit.ctp ○ src/Controller/ContactsController.ctp

● In addition to the generic files above, these files are necessary to delete a phone number that belongs to Adopters.

○ src/Templates/Adopters/edit.ctp ○ src/Controller/AdoptersController.ctp

● In addition to the generic files above, these files are necessary to delete a phone number that belongs to Fosters.

○ src/Templates/Fosters/edit.ctp ○ src/Controller/FostersController.ctp

■ Required Input: ● Go to the entity’s view page ● Click the paw button on the bottom right ● Click the “Edit” button ● Click on the phone number that needs to be

deleted ● Click “Delete” ● Click “Delete” on the confirmation page.

■ Expected Output: ● The system will access the existing entry in the

“phone_numbers” table where the “entity_id”

Page 114: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 114 -

matches the entity’s id and the “phone_num” matches the number that needs to be deleted.

● The system will delete the chosen phone number from the entity’s profile.

Removing a Phone Number Screenshots

Page 115: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 115 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 116: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 116 -

9. Tags Management ○ Description

■ The organization wants users to be able to provide multiple phone numbers to be able to contact them whenever it is necessary.

○ Creation

■ A Core Volunteer can create one or more tag that will help

differentiate the cats, adopters, and fosters in the system from

others of their type.

■ Code Files Needed for Interaction:

● src/Template/Tags/index.ctp

● src/Model/Entity/Tag.php ● src/Model/Table/TagsTable.php ● src/Controller/TagsController.ctp

■ Required Input:

● Tag label

● Entity (or entities) associated with the tag

● Tag color

■ Expected Output:

● The system will create a new entry in the “tags” table.

● The system will save the inputted information in the corresponding columns in the “tags” table.

● The new tag will appear in the tag’s index page.

Page 117: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 117 -

Tag Creation Screenshots

Page 118: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 118 -

○ Editing ■ A Core Volunteer can edit existing tags that are related to cats,

adopters, and fosters in the system.

■ Code Files Needed for Interaction:

● src/Template/Tags/index.ctp

● src/Model/Entity/Tag.php ● src/Model/Table/TagsTable.php ● src/Controller/TagsController.ctp

■ Required Input:

● Click on the tag that needs to be edited

● Click the “Edit” button

● Tag label

● Entity (or entities) associated with the tag

● Tag color

■ Expected Output:

● The system will access an existing entry in the “tags” table.

● The system will save the inputted information in the corresponding columns in the “tags” table.

● The tag will be shown on the index page will be updated accordingly.

Page 119: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 119 -

Edit a Tag Screenshots

Page 120: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 120 -

○ Deletion ■ A Core Volunteer can delete existing tags that related to cats,

adopters, and fosters in the system.

■ Code Files Needed for Interaction:

● src/Template/Tags/index.ctp

● src/Controller/TagsController.ctp ■ Required Input:

● Click on the tag that needs to be edited

● Click the “Delete” button

● Click “Delete” on the confirmation page

■ Expected Output:

Page 121: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 121 -

● The system will access an existing entry in the “tags” table.

● The system will set “is_deleted” to 1. ● The selected tag will disappear from the index

page.

Page 122: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 122 -

Deleting a Tag Screenshots

Page 123: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 123 -

Page 124: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 124 -

○ Adding Tags to Entities

■ A Core Volunteer can add one or more tags to cats, adopters, and foster in the system.

■ A Foster can add one or more tags to the cat profiles of the cats they are currently fostering.

■ Code Files Needed for Interaction: ● These are the generic files needed to add

one more tags to Cats, Adopters, and Fosters.

○ src/Controller/TagsController.ctp ○ src/Model/Table/TagsTable.php

● In addition to the generic files above, these files are necessary to add tags to Cats.

○ webroot/js/cats.js ○ src/Templates/Cats/view.ctp ○ src/Controller/CatsController.ctp ○ src/Controller/TagsCatsController.ctp

● In addition to the generic files above, these files are necessary to add tags to Adopters.

○ webroot/js/adopters,js ○ src/Templates/Adopters/view.ctp ○ src/Controller/AdoptersController.ctp ○ src/Controller/TagsAdoptersController.ct

p ● In addition to the generic files above, these

files are necessary to add tags to Fosters. ○ webroot/js/fosters.js ○ src/Templates/Fosters/view.ctp ○ src/Controller/FostersController.ctp ○ src/Controller/TagsFostersController.ctp

■ Required Input: ○ Go to the entity’s view page ○ Click “Add Tag” ○ Select a tag from the list. ○ Click “Add Tag” on the confirmation

page. ■ Expected Output:

○ The system will access the “tags” table to obtain the selected tag’s id.

○ The system will access the entity’s table, for example, for foster it will access the “tags_fosters” table, and create a new entry.

Page 125: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 125 -

○ The system will save the entity’s id and the obtained tag id as the “tag_id” in the corresponding table.

Adding Tags to Entities Screenshots

Page 126: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 126 -

○ Removing Tags from Entities

■ A Core Volunteer can delete existing phone numbers from any user in the system.

■ A Foster and a Volunteer can edit existing phone numbers that are related to them on their own profile.

■ Code Files Needed for Interaction: ● These are the generic files needed to add

one more tags to Cats, Adopters, and Fosters.

○ src/Controller/TagsController.ctp ○ src/Model/Table/TagsTable.php

● In addition to the generic files above, these files are necessary to add tags to Cats.

○ src/Templates/Cats/view.ctp ○ src/Controller/CatsController.ctp ○ src/Controller/TagsCatsController.ctp

● In addition to the generic files above, these files are necessary to add tags to Adopters.

○ src/Templates/Adopters/view.ctp ○ src/Controller/AdoptersController.ctp ○ src/Controller/TagsAdoptersController.ct

p ● In addition to the generic files above, these

files are necessary to add tags to Fosters. ○ src/Templates/Fosters/view.ctp ○ src/Controller/FostersController.ctp ○ src/Controller/TagsFostersController.ctp

■ Required Input: ● Go to the entity’s view page ● Click on the “X” icon next to desired tag to

remove

● Click “Delete” on the confirmation page. ■ Expected Output:

● The system will access the entity’s table, for example, for foster it will access the “tags_fosters” table.

● The system will delete the row that contains the entity’s id and the tag id of the selected tag.

● The selected tag will disappear from the entity’s view page

Page 127: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 127 -

Removing a Tag from an Entity Screenshots

Page 128: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 128 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 129: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 129 -

10. Files Management

○ Description

■ The organization has several types of files that must be accessible at all times. Some of these files include pictures, medical records, application forms, animal request forms, and adoption forms.

○ Photo/File Creation

■ A Core Volunteer can add new photos and PDF files to all entities

(user, adopter, foster and cat).

■ A Volunteer,can only add a new photo to their personal profile.

■ A Foster can only add new photos to their personal profile and to

the cats they are currently fostering.

■ Code Files Needed for Interaction: ● These are the generic files needed to make

photo and file creation possible for Users, Adopters, Fosters, and Cats.

○ src/Model/Entity/File.php ○ src/Model/Table/FilesTable.php ○ src/Controller/FilesController.ctp ○ src/Model/Behavior/FilesBehavior.php

● In addition to the generic files above, these files are necessary to add photos and files to Users.

○ src/Templates/Users/view.ctp ○ src/Controller/UsersController.ctp

● In addition to the generic files above, these files are necessary to add photos and files to Cats.

○ src/Templates/Cats/view.ctp ○ src/Controller/CatsController.ctp

● In addition to the generic files above, these files are necessary to add photos and files to Adopters.

○ src/Templates/Adopters/view.ctp ○ src/Controller/AdoptersController.ctp

● In addition to the generic files above, these files are necessary to add photos and files to Fosters.

○ src/Templates/Fosters/view.ctp ○ src/Controller/FostersController.ctp

■ Required Input:

Page 130: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 130 -

● Click on the “Add New Photo” button or the “Add New File” button in the files tab.

● Choose photo and click on “Upload” ■ Expected Output:

● The system will create a new entry in the “files” table.

● If the file is a photo, it will set “is_photo” to 1 and save the the some information about the photo, such as its size, in the corresponding columns.

● The new picture will be displayed under the Pictures section under the files tab in the Adopter’s view.

Page 131: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 131 -

Photo/Files Creation Screenshots

Page 132: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 132 -

Page 133: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 133 -

○ Photo/File Deletion

■ A Core Volunteer can delete existing photos and PDF files from all

entities (user, adopter, foster and cat).

■ A Volunteer,can only add a new photo to their personal profile.

■ A Foster can only delete existing photos from their personal profile

and from the cats they are currently fostering.

■ Code Files Needed for Interaction: ● These are the generic files needed to make

photo and file deletion possible for Users, Adopters, Fosters, and Cats.

○ src/Controller/FilesController.ctp ○ src/Model/Behavior/FilesBehavior.php

● In addition to the generic files above, these files are necessary to delete photos and files to Users.

○ src/Templates/Users/view.ctp ○ src/Controller/UsersController.ctp

● In addition to the generic files above, these files are necessary to delete photos and files to Cats.

○ src/Templates/Cats/view.ctp ○ src/Controller/CatsController.ctp

● In addition to the generic files above, these files are necessary to delete photos and files to Adopters.

○ src/Templates/Adopters/view.ctp ○ src/Controller/AdoptersController.ctp

● In addition to the generic files above, these files are necessary to delete photos and files to Fosters.

○ src/Templates/Fosters/view.ctp ○ src/Controller/FostersController.ctp

■ Required Input: ● Select desired photo or file to remove ● If there is only one photo, upload another photo

before deleting ● Click on “Delete Selected” button ● Click on the “Delete!” button

■ Expected Output: ● The system will go to the corresponding row in

the “files” table.

Page 134: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 134 -

● The system will set the photo as deleted in the database by changing the photo’s or file’s “is_deleted” value to 1.

Photo/Files Deletion Screenshots

Page 135: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 135 -

Page 136: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 136 -

○ Default Photo

■ A Core Volunteer can choose a photo related to a user, adopter, foster, or cat in the system and mark it as a Profile Photo.

■ A Volunteer can choose a photo related to them and mark it as a Profile Photo.

■ A Foster can choose a photo related to them or to a cat they are fostering and mark it as a Profile Photo.

■ Code Files Needed for Interaction: ● These are the generic files needed to

choose a default photo possible for Users, Adopters, Fosters, and Cats.

○ src/Controller/FilesController.ctp ○ src/Model/Behavior/FilesBehavior.php

● In addition to the generic files above, these files are necessary to choose a default photo for a Users.

○ src/Templates/Users/view.ctp ○ src/Controller/UsersController.ctp

● In addition to the generic files above, these files are necessary to choose a default photo for a Cats.

○ src/Templates/Cats/view.ctp ○ src/Controller/CatsController.ctp

● In addition to the generic files above, these files are necessary to choose a default photo for a Adopters.

○ src/Templates/Adopters/view.ctp ○ src/Controller/AdoptersController.ctp

● In addition to the generic files above, these files are necessary to choose a default photo for a Fosters.

○ src/Templates/Fosters/view.ctp ○ src/Controller/FostersController.ctp

■ Required Input: ● Click desired photo to set as default ● Click on the “Mark as Profile Photo” button

■ Expected Output: ● The selected photo should now be the default

profile picture

Page 137: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 137 -

Setting Default Profile Picture Screenshots

Page 138: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 138 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 139: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 139 -

11. Event Management

○ Description

■ Pet Adoptions events are held regularly. In order to reach out to volunteers, adopters, and fosters Admins need to be able to create, view, update, and remove adoption events. The adoption events will have features that allow mass communication to users, and subscribed individuals to receive information about an adoption event.

○ Creation

■ As a Core Volunteer, I can add an adoption event into the system so I can schedule adoption events and know which cats are to be shown for adoption.

■ Code Files Needed for Interaction: ● src/Templates/AdoptionEvents/add.ctp ● src/Controller/AdoptionEventsController.php ● src/Mode/Entity/AdoptionEvent.php ● src/Model/Table/AdoptionEventsTable.php ● src/Model/Table/CatsAdoptionEventsTable.php ● src/Model/Table/UsersAdoptionEventsTable.ph

p ■ Required Input:

● Event Date ● Description ● Cat(s) ● User(s)

■ Expected Output: ● The adoption event will be created with the

inputted information and associated cats and volunteers

Page 140: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 140 -

Adoption Event Creation Screenshots

Page 141: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 141 -

Page 142: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 142 -

○ Editing

■ As a Core Volunteer, I can edit an adoption event so that changes can be made after an event has been created.

■ Code Files Needed for Interaction: ● src/Templates/AdoptionEvents/edit.ctp ● src/Controller/AdoptionEventsController.php ● src/Mode/Entity/AdoptionEvent.php ● src/Model/Table/AdoptionEventsTable.php ● src/Model/Table/CatsAdoptionEventsTable.php ● src/Model/Table/UsersAdoptionEventsTable.ph

p ■ Required Input:

● Event Date ● Description ● Cat(s) ● User(s)

■ Expected Output: ● The adoption event will be updated with the

inputted information and associated cats and volunteers

Page 143: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 143 -

Adoption Event Editing Screenshots

Page 144: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 144 -

○ Deletion

■ As a Core Volunteer, I am able to delete an event from the system to completely remove information of cancelled or past events.

■ Code Files Needed for Interaction: ● src/Templates/AdoptionEvents/view.ctp ● src/Controller/AdoptionEventsController.php ● src/Mode/Entity/AdoptionEvent.php ● src/Model/Table/AdoptionEventsTable.php ● src/Model/Table/CatsAdoptionEventsTable.php ● src/Model/Table/UsersAdoptionEventsTable.ph

p ■ Required Input:

● Select desired adoption event to remove ● Click on “Delete” button ● Click on the “Delete” button in the confirmation

pop up ■ Expected Output:

● The selected adoption event should disappear

Page 145: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 145 -

Adoption Event Deletion Screenshots

Page 146: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 146 -

Page 147: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 147 -

Database Table and Relationships

For information on the database and relationships, go to Appendix A: Database.

Page 148: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 148 -

Other Files

JavaScript Files ○ Description

■ The following JavaScript files can be found in most, if not all, interactions. JavaScripts that are unique to a specific entity can be found in that entity’s user interaction.

■ Files: ● webroot/js/global.js ● webroot/js/jquery-ui.js ● webroot/js/jquery-ui.min.js ● webroot/js/jquery.min.js ● webroot/js/modernizr.js ● webroot/js/moment.js ● webroot/js/paws-administrative-system.js ● webroot/js/select2.min.js ● webroot/js/webflow-custom.js ● webroot/js/webflow.js

CSS Files ○ Description

■ The following CSS files can be found in most, if not all, interactions.

■ Files: ● webroot/css/base.css ● webroot/css/cake.css ● webroot/css/components.css ● webroot/css/jquery-ui.css ● webroot/css/normalize.css ● webroot/css/paws-administrative-system.css ● webroot/css/paws-customs.css ● webroot/css/select2.min.css

Page 149: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 149 -

Appendices

Appendix A: Database

ER Diagram

Page 150: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 150 -

Tables and Elements

Page 151: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 151 -

Page 152: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 152 -

Page 153: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 153 -

Appendix B: Installation Instructions

Mission Control is written in PHP and Javascript under the CakePHP 3 framework, and

is intended to be run on an Ubuntu-based Linux system. This guide assumes that you

have PHP7, Apache, and MySQL installed and set up, and have prior knowledge of how

to use those services. It also assumes that you will be running the web server and the

the database on the same machine.

CakePHP requires the use of Composer. Please follow the official documentation to get

Composer set up: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx

Additionally, you will need to install a few PHP libraries: php-intl, php-ext, and php-

imagick. Simply run a “sudo apt-get install php-intl” command for each of these libraries

to install them.

Our project repository can be cloned using Git. Run “git clone

https://github.com/theparrotsarecoming/pas MissionControl” in the webroot

directory of your choice.

Navigate to MissionControl/config, and run “cp app.default.php app.php” to create the

primary configuration file. There are a number of changes that you will need to make to

this file. First, you need to set up the different user types. Enter the following so that the

first few lines look like this:

“<?php

use Cake\Core\Configure;

Configure::write('Roles', [

'Admin' => 1,

'Core' => 2,

'Volunteer' => 3,

'Foster' => 4

]);

return [“

Page 154: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 154 -

Next, setup the email account that will be used to send account invitations and alerts.

Scroll down to the section labeled “Email Transport”, and enter a new entry called “auto”

so that it looks like this:

“ 'EmailTransport' => [

'default' => [

'className' => 'Mail',

// The following keys are used in SMTP transports

'host' => 'localhost',

'port' => 25,

'timeout' => 30,

'username' => 'user',

'password' => 'secret',

'client' => null,

'tls' => null,

'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),

],

'auto' => [

'className' => 'Smtp',

'host' => 'smtp.gmail.com',

'port' => 587,

'username' => '[email protected]',

'password' => 'PASSWORD',

'tls' => true,

]

], “

Be sure to replace EMAIL and PASSWORD with your desired email credentials. If you

wish to use a host other than Gmail, you will have to change the port, host, and other

fields.

Next, scroll down to the section labeled “Datasources” to set the database user values.

You do not need to change much here--just set the username and password to the

desired MySQL user credentials, and change the database name from “my_app” to

“paws_db”. That’s it for app.php, save and close the file.

Page 155: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 155 -

To set up the database, navigate to MissionMeow/DB. You only need to run a single

command to set up all the required tables. Run “mysql -u USER -p paws_db <

paws_db.sql”, replacing USER with the proper username, and enter your password

when prompted. This will create all the required tables, and create a single admin user

with the email address of “[email protected]”, and a password of

“password”. Upon initial login, you will be given the opportunity to change this email and

password to anything you like.

Return to the main MissionMeow directory. The directories “logs” and “tmp” need to be

writable by the server, so run “chown -R www-data tmp” and “chown -R www-data

logs” to change ownership of the directories to the server user. The same needs to be

done for MissionMeow/webroot/files, so run “chown -R www-data webroot/files”

from the main directory.

Finally, all the third-party tools used by Mission Meow need to be loaded. Navigate to

MissionMeow/vendor, then type “composer update” to load everything. This may take

a while.

After you complete these steps, follow the typical steps to host a web page on your

server, and Mission Meow will be ready to use!

Page 156: Maintenance Manual - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc191/MissionControlMaintenanceManual.pdf · The Maintenance Manual provides maintenance

- 156 -

Appendix C: TreeView