/**
  * post Import
  *
  * @param  Business $business Business to import Contacts to
  * @param  Request  $request  Submitted form data
  * @return Response           Redirect to Business addressbook
  */
 public function postImport(Business $business, Request $request)
 {
     $this->log->info(__METHOD__);
     $this->log->info(sprintf("  businessId:%s", $business->id));
     //////////////////
     // FOR REFACTOR //
     //////////////////
     $csv = $this->csvToArray(Request::get('data'));
     foreach ($csv as $import) {
         $import = array_map(function ($item) {
             return $item == 'NULL' ? null : $item;
         }, $import);
         if ($import['birthdate'] !== null) {
             $date = \DateTime::createFromFormat('Ymd', $import['birthdate']);
             $import['birthdate'] = $date->format('m/d/Y');
         }
         $notes = $import['notes'];
         unset($import['notes']);
         $contact = Contact::create($import);
         $business->contacts()->attach($contact, ['notes' => $notes]);
         $business->save();
     }
     $count = count($csv);
     $this->log->info("  Imported {$count} contacts");
     Notifynder::category('user.importedContacts')->from('App\\Models\\User', auth()->user()->id)->to('App\\Models\\Business', $business->id)->url('http://localhost')->extra(compact('count'))->send();
     Flash::success(trans('manager.contacts.msg.import.success'));
     return redirect()->route('manager.business.contact.index', [$business]);
 }
Пример #2
0
 /**
  * Copy Contact from provided exiting.
  *
  * @param User     $user
  * @param Business $business
  * @param Contact  $existingContact
  *
  * @return App\Models\Contact
  */
 public function copyFrom(User $user, Business $business, Contact $existingContact)
 {
     $contact = Contact::create($existingContact->toArray());
     $contact->user()->associate($user->id);
     $contact->businesses()->detach();
     $contact->save();
     $business->contacts()->attach($contact);
     $business->save();
     return $contact;
 }
 /**
  * store Business
  *
  * @param  BusinessFormRequest $request Business form Request
  * @return Response                     Redirect
  */
 public function store(BusinessFormRequest $request)
 {
     $this->log->info(__METHOD__);
     //////////////////
     // FOR REFACTOR //
     //////////////////
     // Search Existing
     $existingBusiness = Business::withTrashed()->where(['slug' => $request->input('slug')])->first();
     // If found
     if ($existingBusiness !== null) {
         $this->log->info("  Found existing businessId:{$existingBusiness->id}");
         // If owned, restore
         if (auth()->user()->isOwner($existingBusiness)) {
             $this->log->info("  Restoring owned businessId:{$existingBusiness->id}");
             $existingBusiness->restore();
             Flash::success(trans('manager.businesses.msg.store.restored_trashed'));
             return redirect()->route('manager.business.service.create', $existingBusiness);
         }
         // If not owned, return message
         $this->log->info("  Already taken businessId:{$existingBusiness->id}");
         Flash::error(trans('manager.businesses.msg.store.business_already_exists'));
         return redirect()->back()->withInput(request()->all());
     }
     // Register new Business
     $business = new Business($request->all());
     $category = Category::find($request->get('category'));
     $business->strategy = $category->strategy;
     $business->category()->associate($category);
     $business->save();
     auth()->user()->businesses()->attach($business);
     auth()->user()->save();
     // Generate local notification
     $business_name = $business->name;
     Notifynder::category('user.registeredBusiness')->from('App\\Models\\User', auth()->user()->id)->to('App\\Models\\Business', $business->id)->url('http://localhost')->extra(compact('business_name'))->send();
     // Redirect success
     Flash::success(trans('manager.businesses.msg.store.success'));
     return redirect()->route('manager.business.service.create', $business);
 }
Пример #4
0
 /**
  * Set category to a Business and save.
  * 
  * @param Business $business
  * @param int      $category
  *
  * @return App\Models\Business
  */
 public function setCategory(Business $business, $category)
 {
     $category = Category::find($category);
     $business->category()->associate($category);
     $business->save();
     return $business;
 }