public function add($id)
 {
     //
     $current_user = Auth::user();
     $user_email = \montserrat\Email::whereEmail($current_user->email)->first();
     $defaults['contact_id'] = $id;
     if (empty($user_email->contact_id)) {
         $defaults['user_id'] = 0;
     } else {
         $defaults['user_id'] = $user_email->contact_id;
     }
     //lookup the contact type of the touchpoint being added and show similar ones in drop down (persons, parishes, etc.)
     $contact = \montserrat\Contact::findOrFail($id);
     if (isset($contact->subcontact_type)) {
         $persons = \montserrat\Contact::whereSubcontactType($contact->subcontact_type)->orderBy('sort_name')->pluck('sort_name', 'id');
     } else {
         $persons = \montserrat\Contact::whereContactType($contact->contact_type)->orderBy('sort_name')->pluck('sort_name', 'id');
     }
     $staff = \montserrat\Contact::with('groups')->whereHas('groups', function ($query) {
         $query->where('group_id', '=', GROUP_ID_STAFF);
     })->orderBy('sort_name')->pluck('sort_name', 'id');
     // TODO: replace this with an autocomplete text box for performance rather than a dropdown box
     return view('touchpoints.create', compact('staff', 'persons', 'defaults'));
 }