public function lastnames($lastname = NULL) { $persons = \montserrat\Contact::whereContactType(CONTACT_TYPE_INDIVIDUAL)->orderBy('sort_name', 'asc')->with('addresses.state', 'phones', 'emails', 'websites', 'parish.contact_a')->where('last_name', 'LIKE', $lastname . '%')->paginate(100); //dd($persons); return view('persons.index', compact('persons')); // }
public function edit_group($id) { // $registration = \montserrat\Registration::with('retreatant', 'retreat', 'room')->findOrFail($id); // $retreat = \montserrat\Retreat::findOrFail($registration->event_id); $retreatant = \montserrat\Contact::findOrFail($registration->contact_id); $retreats = \montserrat\Retreat::select(\DB::raw('CONCAT(idnumber, "-", title, " (",DATE_FORMAT(start_date,"%m-%d-%Y"),")") as description'), 'id')->where("end_date", ">", \Carbon\Carbon::today())->orderBy('start_date')->pluck('description', 'id'); //dd($retreats); //TODO: we will want to be able to switch between types when going from a group registration to individual room assignment if ($retreatant->contact_type == CONTACT_TYPE_INDIVIDUAL) { $retreatants = \montserrat\Contact::whereContactType(CONTACT_TYPE_INDIVIDUAL)->orderBy('sort_name')->pluck('sort_name', 'id'); } if ($retreatant->contact_type == CONTACT_TYPE_ORGANIZATION) { $retreatants = \montserrat\Contact::whereContactType(CONTACT_TYPE_ORGANIZATION)->whereSubcontactType($retreatant->subcontact_type)->orderBy('sort_name')->pluck('sort_name', 'id'); } $rooms = \montserrat\Room::orderby('name')->pluck('name', 'id'); $rooms->prepend('Unassigned', 0); /* Check to see if the current registration is for a past retreat and if so, add it to the collection */ // $retreats[0] = 'Unassigned'; if ($registration->retreat->end < \Carbon\Carbon::now()) { $retreats[$registration->event_id] = $registration->retreat->idnumber . '-' . $registration->retreat->title . " (" . date('m-d-Y', strtotime($registration->retreat->start_date)) . ")"; } return view('registrations.edit_group', compact('registration', 'retreats', 'rooms', 'retreatants')); }
public function get_contact_type_list($contact_type = 'Individual', $contact_subtype = NULL) { //dd($contact_type,$contact_subtype); switch ($contact_type) { case 'Household': $households = \montserrat\Contact::whereContactType(CONTACT_TYPE_HOUSEHOLD)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $households; break; case 'Organization': switch ($contact_subtype) { case 'Parish': $parish_list = array(); $parishes = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_PARISH)->orderBy('organization_name', 'asc')->with('address_primary.state', 'diocese.contact_a')->get(); foreach ($parishes as $parish) { $parish_list[$parish->id] = $parish->organization_name . ' (' . $parish->address_primary_city . ') - ' . $parish->diocese_name; } return $parish_list; break; case 'Diocese': $dioceses = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_DIOCESE)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $dioceses; break; case 'Province': $provinces = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_PROVINCE)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $provinces; break; case 'Community': $communities = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_COMMUNITY)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $communities; break; case 'Retreat House': $retreat_houses = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_RETREAT_HOUSE)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $retreat_houses; break; case 'Vendor': $vendors = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_VENDOR)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $vendors; break; case 'Religious-Catholic': $religious_catholic = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_RELIGIOUS_CATHOLIC)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $religious_catholic; break; case 'Religious-Non-Catholic': $religious_non_catholic = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_RELIGIOUS_NONCATHOLIC)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $religious_non_catholic; break; case 'Foundation': $foundations = \montserrat\Contact::whereSubcontactType(CONTACT_TYPE_FOUNDATION)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $religious_non_catholic; break; //default NULL (generic organization) //default NULL (generic organization) default: $organizations = \montserrat\Contact::whereContactType(CONTACT_TYPE_ORGANIZATION)->orderBy('organization_name', 'asc')->pluck('organization_name', 'id'); return $organizations; break; } break; // default Individual // default Individual default: switch ($contact_subtype) { case 'Bishop': $bishops = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_BISHOP); })->pluck('sort_name', 'id'); return $bishops; break; case 'Priest': $priests = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_PRIEST); })->pluck('sort_name', 'id'); return $priests; break; case 'Deacon': $deacons = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_DEACON); })->pluck('sort_name', 'id'); return $deacons; break; case 'Pastor': $pastors = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_PASTOR); })->pluck('sort_name', 'id'); return $pastors; break; case 'Innkeeper': $innkeepers = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_INNKEEPER); })->pluck('sort_name', 'id'); return $innkeepers; break; case 'Assistant': $assistants = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_ASSISTANT); })->pluck('sort_name', 'id'); return $assistants; break; case 'Director': $directors = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_DIRECTOR); })->pluck('sort_name', 'id'); return $directors; break; case 'Captain': $captains = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_CAPTAIN); })->pluck('sort_name', 'id'); return $captains; break; case 'Jesuit': $jesuits = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_JESUIT); })->pluck('sort_name', 'id'); return $jesuits; break; case 'Provincial': $provincials = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_PROVINCIAL); })->pluck('sort_name', 'id'); return $provincials; break; case 'Superior': $superiors = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_SUPERIOR); })->pluck('sort_name', 'id'); return $superiors; break; case 'Board member': $board_members = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_BOARD); })->pluck('sort_name', 'id'); return $board_members; break; case 'Employee': $staff = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_STAFF); })->pluck('sort_name', 'id'); return $staff; break; case 'Volunteer': $volunteers = \montserrat\Contact::with('groups.group')->orderby('sort_name')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_VOLUNTEER); })->pluck('sort_name', 'id'); return $volunteers; break; //default null //default null default: $individuals = \montserrat\Contact::whereContactType(CONTACT_TYPE_INDIVIDUAL)->orderBy('sort_name', 'asc')->pluck('sort_name', 'id'); return $individuals; break; } } }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // $touchpoint = \montserrat\Touchpoint::with('staff', 'person')->findOrFail($id); $staff = \montserrat\Contact::with('groups')->whereHas('groups', function ($query) { $query->where('group_id', '=', GROUP_ID_STAFF); })->orderBy('sort_name')->pluck('sort_name', 'id'); //consider renaming touchpoint table's person_id field to contact_id $contact = \montserrat\Contact::findOrFail($touchpoint->person_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'); } //$persons = \montserrat\Contact::whereContactType(CONTACT_TYPE_INDIVIDUAL)->orderBy('sort_name')->pluck('sort_name','id'); // check contact type and if parish get list of parishes if individual get list of persons return view('touchpoints.edit', compact('touchpoint', 'staff', 'persons')); // }