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;
             }
     }
 }
Esempio n. 2
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $this->validate($request, ['organization_name' => 'required', 'display_name' => 'required', 'sort_name' => 'required', 'email_primary' => 'email', 'url_main' => 'url', 'url_facebook' => 'url|regex:/facebook\\.com\\/.+/i', 'url_google' => 'url|regex:/plus\\.google\\.com\\/.+/i', 'url_twitter' => 'url|regex:/twitter\\.com\\/.+/i', 'url_instagram' => 'url|regex:/instagram\\.com\\/.+/i', 'url_linkedin' => 'url|regex:/linkedin\\.com\\/.+/i', 'phone_main_phone' => 'phone', 'phone_main_fax' => 'phone', 'avatar' => 'image|max:5000', 'attachment' => 'file|mimes:pdf,doc,docx|max:10000', 'attachment_description' => 'string|max:200']);
     $vendor = \montserrat\Contact::with('address_primary.state', 'address_primary.location', 'phone_primary.location', 'phone_main_fax', 'email_primary.location', 'website_main', 'notes')->findOrFail($request->input('id'));
     $vendor->organization_name = $request->input('organization_name');
     $vendor->display_name = $request->input('display_name');
     $vendor->sort_name = $request->input('sort_name');
     $vendor->save();
     if (empty($vendor->address_primary)) {
         $address_primary = new \montserrat\Address();
     } else {
         $address_primary = \montserrat\Address::findOrNew($vendor->address_primary->id);
     }
     $address_primary->contact_id = $vendor->id;
     $address_primary->location_type_id = LOCATION_TYPE_MAIN;
     $address_primary->is_primary = 1;
     $address_primary->street_address = $request->input('street_address');
     $address_primary->supplemental_address_1 = $request->input('supplemental_address_1');
     $address_primary->city = $request->input('city');
     $address_primary->state_province_id = $request->input('state_province_id');
     $address_primary->postal_code = $request->input('postal_code');
     $address_primary->country_id = $request->input('country_id');
     $address_primary->save();
     if (empty($vendor->phone_primary)) {
         $phone_primary = new \montserrat\Address();
     } else {
         $phone_primary = \montserrat\Phone::findOrNew($vendor->phone_primary->id);
     }
     $phone_primary->contact_id = $vendor->id;
     $phone_primary->location_type_id = LOCATION_TYPE_MAIN;
     $phone_primary->is_primary = 1;
     $phone_primary->phone_type = 'Phone';
     $phone_primary->phone = $request->input('phone_main_phone');
     $phone_primary->save();
     if (empty($vendor->phone_main_fax)) {
         $phone_main_fax = new \montserrat\Phone();
     } else {
         $phone_main_fax = \montserrat\Phone::findOrNew($vendor->phone_main_fax->id);
     }
     $phone_main_fax->contact_id = $vendor->id;
     $phone_main_fax->location_type_id = LOCATION_TYPE_MAIN;
     $phone_main_fax->phone_type = 'Fax';
     $phone_main_fax->phone = $request->input('phone_main_fax');
     $phone_main_fax->save();
     if (empty($vendor->email_primary)) {
         $email_primary = new \montserrat\Email();
     } else {
         $email_primary = \montserrat\Email::findOrNew($vendor->email_primary->id);
     }
     $email_primary->contact_id = $vendor->id;
     $email_primary->is_primary = 1;
     $email_primary->location_type_id = LOCATION_TYPE_MAIN;
     $email_primary->email = $request->input('email_primary');
     $email_primary->save();
     if (null !== $request->file('avatar')) {
         $description = 'Avatar for ' . $vendor->organization_name;
         $attachment = new AttachmentsController();
         $attachment->update_attachment($request->file('avatar'), 'contact', $vendor->id, 'avatar', $description);
     }
     if (null !== $request->file('attachment')) {
         $description = $request->input('attachment_description');
         $attachment = new AttachmentsController();
         $attachment->update_attachment($request->file('attachment'), 'contact', $vendor->id, 'attachment', $description);
     }
     $url_main = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'Main']);
     $url_main->contact_id = $vendor->id;
     $url_main->url = $request->input('url_main');
     $url_main->website_type = 'Main';
     $url_main->save();
     $url_work = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'Work']);
     $url_work->contact_id = $vendor->id;
     $url_work->url = $request->input('url_work');
     $url_work->website_type = 'Work';
     $url_work->save();
     $url_facebook = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'Facebook']);
     $url_facebook->contact_id = $vendor->id;
     $url_facebook->url = $request->input('url_facebook');
     $url_facebook->website_type = 'Facebook';
     $url_facebook->save();
     $url_google = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'Google']);
     $url_google->contact_id = $vendor->id;
     $url_google->url = $request->input('url_google');
     $url_google->website_type = 'Google';
     $url_google->save();
     $url_instagram = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'Instagram']);
     $url_instagram->contact_id = $vendor->id;
     $url_instagram->url = $request->input('url_instagram');
     $url_instagram->website_type = 'Instagram';
     $url_instagram->save();
     $url_linkedin = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'LinkedIn']);
     $url_linkedin->contact_id = $vendor->id;
     $url_linkedin->url = $request->input('url_linkedin');
     $url_linkedin->website_type = 'LinkedIn';
     $url_linkedin->save();
     $url_twitter = \montserrat\Website::firstOrNew(['contact_id' => $vendor->id, 'website_type' => 'Twitter']);
     $url_twitter->contact_id = $vendor->id;
     $url_twitter->url = $request->input('url_twitter');
     $url_twitter->website_type = 'Twitter';
     $url_twitter->save();
     return Redirect::action('VendorsController@index');
 }
Esempio n. 3
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     //
     $this->validate($request, ['first_name' => 'required', 'last_name' => 'required', 'email' => 'email', 'dob' => 'date', 'url' => 'url', 'parish_id' => 'integer|min:0', 'gender' => 'in:Male,Female,Other,Unspecified']);
     $contact = \montserrat\Contact::with('addresses.location', 'emails.location', 'phones.location', 'websites', 'emergency_contact')->findOrFail($request->input('id'));
     $contact->title = $request->input('title');
     $contact->firstname = $request->input('first_name');
     $contact->middlename = $request->input('middle_name');
     $contact->lastname = $request->input('last_name');
     $contact->suffix = $request->input('suffix');
     $contact->nickname = $request->input('nick_name');
     $contact->display_name = $request->input('display_name');
     $contact->sort_name = $request->input('sort_name');
     //emergency contact info
     $contact->emergency_contact->name = $request->input('emergency_contact_name');
     $contact->emergency_contact->relationship = $request->input('emergency_contact_relationship');
     $contact->emergency_contact->phone = $request->input('emergency_contact_phone');
     $contact->emergency_contact->phone_alternate = $request->input('emergency_contact_phone_alternate');
     //demographic info
     $contact->gender = $request->input('gender');
     $contact->dob = $request->input('dob');
     $contact->ethnicity = $request->input('ethnicity');
     $contact->parish_id = $request->input('parish_id');
     $contact->languages = $request->input('languages');
     //health info
     $contact->medical = $request->input('medical');
     $contact->dietary = $request->input('dietary');
     //misc info
     $contact->notes = $request->input('notes');
     $contact->roompreference = $request->input('roompreference');
     //group or roles info
     $contact->is_donor = $request->input('is_donor');
     $contact->is_retreatant = $request->input('is_retreatant');
     $contact->is_director = $request->input('is_director');
     $contact->is_innkeeper = $request->input('is_innkeeper');
     $contact->is_assistant = $request->input('is_assistant');
     $contact->is_captain = $request->input('is_captain');
     $contact->is_staff = $request->input('is_staff');
     $contact->is_volunteer = $request->input('is_volunteer');
     $contact->is_pastor = $request->input('is_pastor');
     $contact->is_bishop = $request->input('is_bishop');
     $contact->is_catholic = $request->input('is_catholic');
     $contact->is_board = $request->input('is_board');
     $contact->is_formerboard = $request->input('is_formerboard');
     $contact->is_jesuit = $request->input('is_jesuit');
     $contact->is_deceased = $request->input('is_deceased');
     $contact->save();
     $home_address = \montserrat\Address::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_HOME]);
     //dd($home_address);
     $home_address->street_address = $request->input('address_home_address1');
     $home_address->supplemental_address_1 = $request->input('address_home_address2');
     $home_address->city = $request->input('address_home_city');
     $home_address->state_province_id = $request->input('address_home_state');
     $home_address->postal_code = $request->input('address_home_zip');
     $home_address->country_id = $request->input('address_home_country');
     $home_address->save();
     $work_address = \montserrat\Address::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_WORK]);
     $work_address->street_address = $request->input('address_work_address1');
     $work_address->supplemental_address_1 = $request->input('address_work_address2');
     $work_address->city = $request->input('address_work_city');
     $work_address->state_province_id = $request->input('address_work_state');
     $work_address->postal_code = $request->input('address_work_zip');
     $work_address->country_id = $request->input('address_work_country');
     $work_address->save();
     $other_address = \montserrat\Address::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_OTHER]);
     $other_address->street_address = $request->input('address_other_address1');
     $other_address->supplemental_address_1 = $request->input('address_other_address2');
     $other_address->city = $request->input('address_other_city');
     $other_address->state_province_id = $request->input('address_other_state');
     $other_address->postal_code = $request->input('address_other_zip');
     $other_address->country_id = $request->input('address_other_country');
     $other_address->save();
     $phone_home_phone = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_HOME, 'phone_type' => 'Phone']);
     $phone_home_phone->phone = $request->input('phone_home_phone');
     $phone_home_phone->save();
     $phone_home_mobile = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_HOME, 'phone_type' => 'Mobile']);
     $phone_home_mobile->phone = $request->input('phone_home_mobile');
     $phone_home_mobile->save();
     $phone_home_fax = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_HOME, 'phone_type' => 'Fax']);
     $phone_home_fax->phone = $request->input('phone_home_fax');
     $phone_home_fax->save();
     $phone_work_phone = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_WORK, 'phone_type' => 'Phone']);
     $phone_work_phone->phone = $request->input('phone_work_phone');
     $phone_work_phone->save();
     $phone_work_mobile = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_WORK, 'phone_type' => 'Mobile']);
     $phone_work_mobile->phone = $request->input('phone_work_mobile');
     $phone_work_mobile->save();
     $phone_work_fax = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_WORK, 'phone_type' => 'Fax']);
     $phone_work_fax->phone = $request->input('phone_work_fax');
     $phone_work_fax->save();
     $phone_other_phone = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_OTHER, 'phone_type' => 'Phone']);
     $phone_other_phone->phone = $request->input('phone_other_phone');
     $phone_other_phone->save();
     $phone_other_mobile = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_OTHER, 'phone_type' => 'Mobile']);
     $phone_other_mobile->phone = $request->input('phone_other_mobile');
     $phone_other_mobile->save();
     $phone_other_fax = \montserrat\Phone::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_OTHER, 'phone_type' => 'Fax']);
     $phone_other_fax->phone = $request->input('phone_other_fax');
     $phone_other_fax->save();
     $email_home = \montserrat\Email::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_HOME]);
     $email_home->email = $request->input('email_home');
     $email_home->save();
     $email_work = \montserrat\Email::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_WORK]);
     $email_work->email = $request->input('email_work');
     $email_work->save();
     $email_other = \montserrat\Email::firstOrNew(['contact_id' => $contact->id, 'location_type_id' => LOCATION_TYPE_OTHER]);
     $email_other->email = $request->input('email_other');
     $email_other->save();
     $url_main = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'Main']);
     $url_main->url = $request->input('url_main');
     $url_main->save();
     $url_work = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'Work']);
     $url_work->url = $request->input('url_work');
     $url_work->save();
     $url_facebook = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'Facebook']);
     $url_facebook->url = $request->input('url_facebook');
     $url_facebook->save();
     $url_google = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'Google']);
     $url_google->url = $request->input('url_google');
     $url_google->save();
     $url_instagram = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'Instagram']);
     $url_instagram->url = $request->input('url_instagram');
     $url_instagram->save();
     $url_linkedin = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'LinkedIn']);
     $url_linkedin->url = $request->input('url_linkedin');
     $url_linkedin->save();
     $url_twitter = \montserrat\Website::firstOrNew(['contact_id' => $contact->id, 'website_type' => 'Twitter']);
     $url_twitter->url = $request->input('url_twitter');
     $url_twitter->save();
     return Redirect::action('ContactsController@index');
     //
 }
 /**
  * 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'));
     //
 }
Esempio n. 5
0
 public function edit($id)
 {
     //get this retreat's information
     $retreat = \montserrat\Retreat::with('retreatmasters', 'assistant', 'innkeeper', 'captains')->findOrFail($id);
     $event_types = \montserrat\EventType::whereIsActive(1)->orderBy('name')->pluck('name', 'id');
     //create lists of retreat directors, innkeepers, and assistants from relationship to retreat house
     $retreat_house = \montserrat\Contact::with('retreat_directors.contact_b', 'retreat_innkeepers.contact_b', 'retreat_assistants.contact_b')->findOrFail(CONTACT_MONTSERRAT);
     foreach ($retreat_house->retreat_innkeepers as $innkeeper) {
         $i[$innkeeper->contact_id_b] = $innkeeper->contact_b->sort_name;
     }
     asort($i);
     $i = array(0 => 'N/A') + $i;
     foreach ($retreat_house->retreat_directors as $director) {
         $d[$director->contact_id_b] = $director->contact_b->sort_name;
     }
     asort($d);
     $d = array(0 => 'N/A') + $d;
     foreach ($retreat_house->retreat_assistants as $assistant) {
         $a[$assistant->contact_id_b] = $assistant->contact_b->sort_name;
     }
     asort($a);
     $a = array(0 => 'N/A') + $a;
     foreach ($retreat_house->retreat_captains as $captain) {
         $c[$captain->contact_id_b] = $captain->contact_b->sort_name;
     }
     asort($c);
     $c = array(0 => 'N/A') + $c;
     //dd($a);
     return view('retreats.edit', compact('retreat', 'd', 'i', 'a', 'c', 'event_types'));
 }
Esempio n. 6
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     //
     $this->validate($request, ['organization_name' => 'required', 'display_name' => 'required', 'sort_name' => 'required', 'bishop_id' => 'integer|min:0', 'email_main' => 'email', 'url_main' => 'url', 'url_facebook' => 'url|regex:/facebook\\.com\\/.+/i', 'url_google' => 'url|regex:/plus\\.google\\.com\\/.+/i', 'url_twitter' => 'url|regex:/twitter\\.com\\/.+/i', 'url_instagram' => 'url|regex:/instagram\\.com\\/.+/i', 'url_linkedin' => 'url|regex:/linkedin\\.com\\/.+/i', 'phone_main_phone' => 'phone', 'phone_main_fax' => 'phone', 'avatar' => 'image|max:5000', 'attachment' => 'file|mimes:pdf,doc,docx|max:10000', 'attachment_description' => 'string|max:200']);
     $diocese = \montserrat\Contact::with('bishops.contact_b', 'parishes.contact_b', 'address_primary.state', 'address_primary.location', 'phone_primary.location', 'phone_main_fax.location', 'email_primary.location', 'website_main', 'notes')->findOrFail($id);
     $diocese->organization_name = $request->input('organization_name');
     $diocese->display_name = $request->input('display_name');
     $diocese->sort_name = $request->input('sort_name');
     $diocese->contact_type = CONTACT_TYPE_ORGANIZATION;
     $diocese->subcontact_type = CONTACT_TYPE_DIOCESE;
     $diocese->save();
     $address_primary = \montserrat\Address::findOrNew($diocese->address_primary->id);
     $address_primary->contact_id = $diocese->id;
     $address_primary->location_type_id = LOCATION_TYPE_MAIN;
     $address_primary->is_primary = 1;
     $address_primary->street_address = $request->input('street_address');
     $address_primary->supplemental_address_1 = $request->input('supplemental_address_1');
     $address_primary->city = $request->input('city');
     $address_primary->state_province_id = $request->input('state_province_id');
     $address_primary->postal_code = $request->input('postal_code');
     $address_primary->country_id = COUNTRY_ID_USA;
     $address_primary->is_primary = 1;
     $address_primary->save();
     $phone_primary = \montserrat\Phone::findOrNew($diocese->phone_primary->id);
     $phone_primary->contact_id = $diocese->id;
     $phone_primary->location_type_id = LOCATION_TYPE_MAIN;
     $phone_primary->is_primary = 1;
     $phone_primary->phone = $request->input('phone_main_phone');
     $phone_primary->phone_type = 'Phone';
     $phone_primary->save();
     if (empty($diocese->phone_main_fax)) {
         $phone_main_fax = new \montserrat\Phone();
     } else {
         $phone_main_fax = \montserrat\Phone::findOrNew($diocese->phone_main_fax->id);
     }
     $phone_main_fax->contact_id = $diocese->id;
     $phone_main_fax->location_type_id = LOCATION_TYPE_MAIN;
     $phone_main_fax->phone = $request->input('phone_main_fax');
     $phone_main_fax->phone_type = 'Fax';
     $phone_main_fax->save();
     $email_primary = \montserrat\Email::findOrNew($diocese->email_primary->id);
     $email_primary->contact_id = $diocese->id;
     $email_primary->is_primary = 1;
     $email_primary->location_type_id = LOCATION_TYPE_MAIN;
     $email_primary->email = $request->input('email_primary');
     $email_primary->save();
     $url_main = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'Main']);
     $url_main->contact_id = $diocese->id;
     $url_main->url = $request->input('url_main');
     $url_main->website_type = 'Main';
     $url_main->save();
     $url_work = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'Work']);
     $url_work->contact_id = $diocese->id;
     $url_work->url = $request->input('url_work');
     $url_work->website_type = 'Work';
     $url_work->save();
     $url_facebook = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'Facebook']);
     $url_facebook->contact_id = $diocese->id;
     $url_facebook->url = $request->input('url_facebook');
     $url_facebook->website_type = 'Facebook';
     $url_facebook->save();
     $url_google = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'Google']);
     $url_google->contact_id = $diocese->id;
     $url_google->url = $request->input('url_google');
     $url_google->website_type = 'Google';
     $url_google->save();
     $url_instagram = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'Instagram']);
     $url_instagram->contact_id = $diocese->id;
     $url_instagram->url = $request->input('url_instagram');
     $url_instagram->website_type = 'Instagram';
     $url_instagram->save();
     $url_linkedin = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'LinkedIn']);
     $url_linkedin->contact_id = $diocese->id;
     $url_linkedin->url = $request->input('url_linkedin');
     $url_linkedin->website_type = 'LinkedIn';
     $url_linkedin->save();
     $url_twitter = \montserrat\Website::firstOrNew(['contact_id' => $diocese->id, 'website_type' => 'Twitter']);
     $url_twitter->contact_id = $diocese->id;
     $url_twitter->url = $request->input('url_twitter');
     $url_twitter->website_type = 'Twitter';
     $url_twitter->save();
     if ($request->input('bishop_id') > 0) {
         $bishop_id = $request->input('bishop_id');
         $relationship_bishop = \montserrat\Relationship::firstOrNew(['contact_id_a' => $diocese->id, 'contact_id_b' => $bishop_id, 'relationship_type_id' => RELATIONSHIP_TYPE_BISHOP, 'is_active' => 1]);
         $relationship_bishop->contact_id_a = $diocese->id;
         $relationship_bishop->contact_id_b = $bishop_id;
         $relationship_bishop->relationship_type_id = RELATIONSHIP_TYPE_BISHOP;
         $relationship_bishop->is_active = 1;
         $relationship_bishop->save();
     }
     if (null !== $request->file('avatar')) {
         $description = 'Avatar for ' . $diocese->organization_name;
         $attachment = new AttachmentsController();
         $attachment->update_attachment($request->file('avatar'), 'contact', $diocese->id, 'avatar', $description);
     }
     if (null !== $request->file('attachment')) {
         $description = $request->input('attachment_description');
         $attachment = new AttachmentsController();
         $attachment->update_attachment($request->file('attachment'), 'contact', $diocese->id, 'attachment', $description);
     }
     return Redirect::action('DiocesesController@index');
 }
Esempio n. 7
0
 public function role($group_id)
 {
     //dd($group_id);
     $persons = \montserrat\Contact::with('groups', 'address_primary')->whereHas('groups', function ($query) use($group_id) {
         $query->where('group_id', '=', $group_id)->whereStatus('Added');
     })->orderBy('sort_name')->get();
     $group = \montserrat\Group::findOrFail($group_id);
     $role['name'] = $group->name;
     $role['email_link'] = "";
     $email_list = "";
     foreach ($persons as $person) {
         if (!empty($person->email_primary_text)) {
             $email_list .= $person->email_primary_text . ',';
         }
         if (!empty($email_list)) {
             $role['email_link'] = "<a href='mailto:?bcc=" . $email_list . "'>E-mail " . $group->name . " Group</a>";
         } else {
             $role['email_link'] = NULL;
         }
     }
     return view('persons.role', compact('persons', 'role'));
     //
 }