/** * 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(); } }