/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //
     $this->validate($request, ['organization_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']);
     $diocese = new \montserrat\Contact();
     $diocese->organization_name = $request->input('organization_name');
     $diocese->display_name = $request->input('organization_name');
     $diocese->sort_name = $request->input('organization_name');
     $diocese->contact_type = CONTACT_TYPE_ORGANIZATION;
     $diocese->subcontact_type = CONTACT_TYPE_DIOCESE;
     $diocese->save();
     $diocese_address = new \montserrat\Address();
     $diocese_address->contact_id = $diocese->id;
     $diocese_address->location_type_id = LOCATION_TYPE_MAIN;
     $diocese_address->is_primary = 1;
     $diocese_address->street_address = $request->input('street_address');
     $diocese_address->supplemental_address_1 = $request->input('supplemental_address_1');
     $diocese_address->city = $request->input('city');
     $diocese_address->state_province_id = $request->input('state_province_id');
     $diocese_address->postal_code = $request->input('postal_code');
     $diocese_address->country_id = $request->input('country_id');
     $diocese_address->save();
     $diocese_main_phone = new \montserrat\Phone();
     $diocese_main_phone->contact_id = $diocese->id;
     $diocese_main_phone->location_type_id = LOCATION_TYPE_MAIN;
     $diocese_main_phone->is_primary = 1;
     $diocese_main_phone->phone = $request->input('phone_main_phone');
     $diocese_main_phone->phone_type = 'Phone';
     $diocese_main_phone->save();
     $diocese_fax_phone = new \montserrat\Phone();
     $diocese_fax_phone->contact_id = $diocese->id;
     $diocese_fax_phone->location_type_id = LOCATION_TYPE_MAIN;
     $diocese_fax_phone->phone = $request->input('phone_main_fax');
     $diocese_fax_phone->phone_type = 'Fax';
     $diocese_fax_phone->save();
     $diocese_email_main = new \montserrat\Email();
     $diocese_email_main->contact_id = $diocese->id;
     $diocese_email_main->is_primary = 1;
     $diocese_email_main->location_type_id = LOCATION_TYPE_MAIN;
     $diocese_email_main->email = $request->input('email_main');
     $diocese_email_main->save();
     $url_main = new \montserrat\Website();
     $url_main->contact_id = $diocese->id;
     $url_main->url = $request->input('url_main');
     $url_main->website_type = 'Main';
     $url_main->save();
     $url_work = new \montserrat\Website();
     $url_work->contact_id = $diocese->id;
     $url_work->url = $request->input('url_work');
     $url_work->website_type = 'Work';
     $url_work->save();
     $url_facebook = new \montserrat\Website();
     $url_facebook->contact_id = $diocese->id;
     $url_facebook->url = $request->input('url_facebook');
     $url_facebook->website_type = 'Facebook';
     $url_facebook->save();
     $url_google = new \montserrat\Website();
     $url_google->contact_id = $diocese->id;
     $url_google->url = $request->input('url_google');
     $url_google->website_type = 'Google';
     $url_google->save();
     $url_instagram = new \montserrat\Website();
     $url_instagram->contact_id = $diocese->id;
     $url_instagram->url = $request->input('url_instagram');
     $url_instagram->website_type = 'Instagram';
     $url_instagram->save();
     $url_linkedin = new \montserrat\Website();
     $url_linkedin->contact_id = $diocese->id;
     $url_linkedin->url = $request->input('url_linkedin');
     $url_linkedin->website_type = 'LinkedIn';
     $url_linkedin->save();
     $url_twitter = new \montserrat\Website();
     $url_twitter->contact_id = $diocese->id;
     $url_twitter->url = $request->input('url_twitter');
     $url_twitter->website_type = 'Twitter';
     $url_twitter->save();
     //TODO: add contact_id which is the id of the creator of the note
     if (!empty($request->input('note'))) {
     }
     $diocese_note = new \montserrat\Note();
     $diocese_note->entity_table = 'contact';
     $diocese_note->entity_id = $diocese->id;
     $diocese_note->note = $request->input('note');
     $diocese_note->subject = 'Diocese note';
     $diocese_note->save();
     if ($request->input('bishop_id') > 0) {
         $relationship_bishop = new \montserrat\Relationship();
         $relationship_bishop->contact_id_a = $diocese->id;
         $relationship_bishop->contact_id_b = $request->input('bishop_id');
         $relationship_bishop->relationship_type_id = RELATIONSHIP_TYPE_BISHOP;
         $relationship_bishop->is_active = 1;
         $relationship_bishop->save();
     }
     return Redirect::action('DiocesesController@index');
 }
 public function make(Request $request)
 {
     $this->validate($request, ['contact_a_id' => 'integer|min:0|required', 'contact_b_id' => 'integer|min:0|required']);
     // a very hacky way to get the contact_id of the user that we are creating a relationship for
     // this allows the ability to redirect back to that user
     $url_previous = URL::previous();
     $url_param = strpos($url_previous, 'add') + 4;
     $url_right = substr($url_previous, $url_param);
     if (strpos($url_right, '/') > 0) {
         $url_a_param = substr($url_right, 0, strpos($url_right, '/'));
         $url_b_param = substr($url_right, strpos($url_right, '/') + 1);
         $contact_id = $url_b_param;
     } else {
         $url_a_param = $url_right;
         $url_b_param = 0;
         $contact_id = $url_a_param;
     }
     //dd($url_right,$url_a_param, $url_b_param);
     $relationship = new \montserrat\Relationship();
     $relationship->contact_id_a = $request->input('contact_a_id');
     $relationship->contact_id_b = $request->input('contact_b_id');
     $relationship->relationship_type_id = $request->input('relationship_type_id');
     $relationship->is_active = 1;
     $relationship->save();
     return Redirect::route('person.show', ['id' => $contact_id]);
 }
 public function save_relationship($field, $contact_id_a, $contact_id_b, $relationship_type)
 {
     // save relationship
     if ($request->input($field) > 0) {
         $relationship = new \montserrat\Relationship();
         $relationship->contact_id_a = $contact_id_a;
         $relationship->contact_id_b = $contact_id_b;
         $relationship->relationship_type_id = $relationship_type;
         $relationship->is_active = 1;
         $relationship->save();
     }
 }