public function home()
 {
     $articles = Article::latest()->get();
     $opportunities = Opportunity::all()->sort();
     //        return view('articles.index', compact('articles'));
     return view('pages.home', compact('articles', 'opportunities'));
 }
 public function destroy($id)
 {
     $opportunity = Opportunity::findOrFail($id);
     $opportunity->delete();
     return redirect('opportunity');
 }
Example #3
0
 public function showConvert()
 {
     $contact = null;
     $account = null;
     $opportunity = null;
     $newOpportunity = Request::input('newOpportunity', 0);
     $account_name = Request::input('account_name', $this->record->company);
     $account_id = Request::input('account_id', '');
     $opportunity_name = Request::input('opportunity_name', '');
     $stage_id = Request::input('stage_id', '');
     $close_date = Request::input('close_date', '');
     list($accountResults, $tooManyResults) = $this->accountSearchResult($account_name, 100);
     $messageType = 'pageError';
     $message = '';
     $viewData = ['record' => $this->record, 'accountResults' => $accountResults, 'tooManyResults' => $tooManyResults, 'newOpportunity' => $newOpportunity, 'account_name' => $account_name, 'account_id' => $account_id, 'opportunity_name' => $opportunity_name, 'stage_id' => $stage_id, 'close_date' => $close_date];
     if (Request::has('convertLead')) {
         // let's make sure we have all the data we need!
         if (empty($account_name) && empty($account_id)) {
             $message = 'Account name or, if available, an existing account must be provided for conversion';
             Session::flash($messageType, $message);
             return View('lead/lead-conversion-form', $viewData);
         }
         if ($newOpportunity == 1) {
             if (empty($opportunity_name)) {
                 $message .= '<li>Opportunity name field can not be blank';
             }
             if (empty($stage_id)) {
                 $message .= '<li>Stage field can not be blank';
             }
             if (empty($close_date)) {
                 $message .= '<li>Close date field can not be blank';
             }
             if (!empty($message)) {
                 $message = "There are some errors with your input: <ul>{$message}</ul>";
                 Session::flash($messageType, $message);
                 return View('lead/lead-conversion-form', $viewData);
             }
         }
         DB::beginTransaction();
         try {
             // create a new account
             if (empty($account_id)) {
                 $fields = $this->record->toArray();
                 unset($fields['id']);
                 unset($fields['email']);
                 unset($fields['title']);
                 unset($fields['first_name']);
                 unset($fields['last_name']);
                 unset($fields['company']);
                 unset($fields['mobile_phone']);
                 unset($fields['do_not_call']);
                 unset($fields['do_not_email']);
                 unset($fields['do_not_fax']);
                 unset($fields['email_opt_out']);
                 unset($fields['fax_opt_out']);
                 unset($fields['birthdate']);
                 unset($fields['salutation_id']);
                 unset($fields['converted_at']);
                 unset($fields['read_by_owner']);
                 unset($fields['status_id']);
                 unset($fields['created_at']);
                 unset($fields['updated_at']);
                 $fields['name'] = $account_name;
                 $fields['owner_id'] = Auth::User()->id;
                 $fields['adder_id'] = Auth::User()->id;
                 $fields['modifier_id'] = Auth::User()->id;
                 $account = Account::create($fields);
                 $account_id = $account->id;
             }
             // create a new opportunity if requested
             if ($newOpportunity == 1) {
                 $opportunity = Opportunity::create(['name' => $opportunity_name, 'account_id' => $account_id, 'stage_id' => $stage_id, 'close_date' => $close_date, 'lead_source_id' => $this->record->lead_source_id, 'owner_id' => Auth::User()->id, 'adder_id' => Auth::User()->id, 'modifier_id' => Auth::User()->id]);
             }
             // create contact
             $fields = $this->record->toArray();
             unset($fields['id']);
             unset($fields['company']);
             unset($fields['num_of_employees']);
             unset($fields['website']);
             unset($fields['annual_revenue']);
             unset($fields['status_id']);
             unset($fields['industry_id']);
             unset($fields['rating_id']);
             unset($fields['converted_at']);
             unset($fields['read_by_owner']);
             $fields['converted_lead_id'] = $this->record->id;
             $fields['account_id'] = $account_id;
             $fields['owner_id'] = Auth::User()->id;
             $fields['adder_id'] = Auth::User()->id;
             $fields['modifier_id'] = Auth::User()->id;
             $contact = Contact::create($fields);
             // mark lead as converted
             $this->record->converted_at = date('Y-m-d H:i:s');
             $this->record->update();
         } catch (\Exception $e) {
             DB::rollback();
             return redirect('/lead/' . $this->record->id)->with('pageError', 'Lead conversion failed.');
         }
         if (empty($account_id) && empty($account) || $newOpportunity == 1 && empty($opportunity) || empty($contact)) {
             DB::rollback();
             return redirect('/lead/' . $this->record->id)->with('pageError', 'Lead conversion failed.');
         } else {
             DB::commit();
             return redirect('/contact/' . $contact->id)->with('pageSuccess', 'Lead converted successfully. Contact details are below.');
         }
     }
     return View('lead/lead-conversion-form', $viewData);
 }