/** * Run the migrations. * * @return void */ public function up() { $admin = \GoProp\Models\User::where('username', 'admin')->first(); if (!$admin->profile) { $admin->profile()->save(new \GoProp\Models\Profile(['first_name' => 'GoProp', 'last_name' => 'Admin'])); } }
protected function findOrCreateUser($socialUser) { $authUser = User::where('facebook_id', $socialUser->getId())->orWhere('email', $socialUser->getEmail())->first(); if ($authUser) { return $authUser; } $user = User::create(['email' => $socialUser->getEmail(), 'facebook_id' => $socialUser->getId()]); $user->assignRole('authenticated_user'); //Set Name $exploded = explode(' ', $socialUser->getName()); $profile = new Profile(); $profile->first_name = $exploded[0]; unset($exploded[0]); if (isset($exploded[1])) { $profile->last_name = implode(' ', $exploded); } $profile->user()->associate($user); /* if(!empty($data['profile']['profile_picture']) && $data['profile']['profile_picture']->isValid()){ $profile->profile_picture = $profile->saveProfilePicture($data['profile']['profile_picture']); } */ $profile->profile_picture = $profile->saveRemoteProfilePicture($socialUser->getAvatar()); $profile->save(); $extendedProfile = new ExtendedProfile(); $profile->extendedProfile()->save($extendedProfile); $subscriptions = Subscription::all()->pluck('id')->all(); $user->subscriptions()->sync($subscriptions); return $user; }
public function update(PropertyFormRequest $request, $id) { $user = Auth::user(); $property = Property::withTrashed()->findOrFail($id); if ($user->is('property_manager') && $user->profile->province != $property->province) { abort(401, 'Unauthorized access.'); } $ownerEmail = $request->get('owner', $user->email); $owner = User::where('email', $ownerEmail)->firstOrFail(); $property->user()->associate($owner); if ($request->has('listing_referral')) { $listingReferral = User::where('email', $request->input('listing_referral'))->firstOrFail(); $property->referralList()->associate($listingReferral); } if ($request->has('selling_agent')) { $agentSelling = User::where('email', $request->input('selling_agent'))->firstOrFail(); $property->agentSell()->associate($agentSelling); } if ($request->has('selling_referral')) { $agentReferral = User::where('email', $request->input('selling_referral'))->firstOrFail(); $property->referralSell()->associate($agentReferral); } $data = $request->all(); if ($request->input('point_map') != 1) { $data['latitude'] = NULL; $data['longitude'] = NULL; } $property->fill($data); $property->processViewingSchedule($request->all()); $property->save(); $checkedPortals = []; foreach ($request->input('property_portals', []) as $checkedPortal) { $checkedPortals[$checkedPortal] = ['user_id' => $user->id]; } $property->propertyPortals()->sync($checkedPortals); //Clear all packages $property->packages()->detach(); if ($request->input('for_sell') && $request->has('sell_package')) { $property->packages()->attach([$request->input('sell_package') => ['addons' => implode('|', $request->input('features.sell', []))]]); } if ($request->input('for_rent') && $request->has('rent_package')) { $property->packages()->attach([$request->input('rent_package') => ['addons' => implode('|', $request->input('features.rent', []))]]); } return redirect($request->input('backUrl'))->with('messages', ['Property is successfully saved.']); }
public function notifySignedUpReferralAgents() { $submissions = FormSubmission::groupBy('email')->get(); foreach ($submissions as $submission) { if (User::where('email', $submission->email)->count() < 1) { $password = str_random(8); $user = new User(['email' => $submission->email, 'status' => User::STATUS_ACTIVE, 'password' => bcrypt($password)]); $user->manage_property = FALSE; $user->save(); $user->assignRole('agent'); $names = explode(' ', $submission->getData('name')); $profile = new Profile(); $profile->fill(['first_name' => array_shift($names), 'last_name' => !empty($names) ? implode(' ', $names) : '', 'mobile_phone_number' => $submission->getData('contact_number'), 'address' => $submission->getData('address') . ', ' . $submission->getData('city')]); $profile->user()->associate($user); $profile->save(); $user->load('profile'); $this->notifyReferralAgent($user, $password); } } }