public function index() { App::import('Model', 'QuoteManager.Quote'); $quoteModel = new Quote(); $quoteDataList = $quoteModel->find('all', array('fields' => array('quote_number', 'status'), 'conditions' => array('Quote.vid' => null, 'Quote.created_by' => $this->loginUser['id']))); App::import('Model', 'WorkOrderManager.WorkOrder'); $workOrderModel = new WorkOrder(); $workOrderDataList = $workOrderModel->find('all', array('fields' => array('work_order_number', 'status'), 'conditions' => array('WorkOrder.created_by' => $this->loginUser['id']))); App::import('Model', 'PurchaseOrderManager.PurchaseOrder'); $purchaseOrderModel = new PurchaseOrder(); $purchaseOrderDataList = $purchaseOrderModel->find('all', array('fields' => array('purchase_order_num', 'received'), 'conditions' => array('PurchaseOrder.created_by' => $this->loginUser['id']))); $this->set(compact('quoteDataList', 'workOrderDataList', 'purchaseOrderDataList')); }
/** * view method * * @param string $id * @return void */ public function detail($id = null, $modal = null) { $this->layoutOpt['left_nav_selected'] = "view_customer"; $this->Customer->id = $id; if (!$this->Customer->exists()) { throw new NotFoundException(__('Invalid customer')); } //$this->set('customer', $this->Customer->read(null, $id)); $customer = $this->Customer->read(null, $id); App::uses("CustomerSalesRepresentetives", "CustomerManager.Model"); $sales = new CustomerSalesRepresentetives(); $sales_representatives = $sales->find("all", array("conditions" => array("CustomerSalesRepresentetives.customer_id" => $id))); App::uses("Quote", "QuoteManager.Model"); $quote = new Quote(); $quotes = $quote->find("all", array("conditions" => array("Quote.vid" => null, 'Quote.customer_id' => $id))); $this->set(compact('customer', 'modal', 'sales_representatives', 'quotes')); }
if (Auth::check()) { $rules = array('approve' => 'integer|numeric', 'deny' => 'integer|numeric'); $validator = Validator::make(Input::all(), $rules); if ($validator->passes()) { if (Input::has('approve')) { $quote = Quote::find(Input::get('approve')); if ($quote) { if ($quote->status != 1) { $quote->status = 1; $quote->save(); $response = Event::fire('quote.approved', array($quote)); } } } if (Input::has('deny')) { $quote = Quote::find(Input::get('deny')); if ($quote) { if ($quote->status != -1) { $quote->status = -1; $quote->save(); } } } } } }); // Route::filter('favorite', function() { // if (Auth::check()) { // $rules = array( // 'favor' => 'integer|numeric', // 'unfavor' => 'integer|numeric'
function update($id = FALSE) { if ($_POST) { unset($_POST['send']); $_POST = array_map('htmlspecialchars', $_POST); $quotation = Quote::find($id); $quotation = $quotation->update_attributes($_POST); if (!$quotation) { $this->session->set_flashdata('message', 'error:' . $this->lang->line('messages_save_quotation_error')); } else { $this->session->set_flashdata('message', 'success:' . $this->lang->line('messages_save_quotation_success')); } redirect('quotations/view/' . $id); } else { $this->view_data['quotations'] = Quote::find($id); $this->view_data['users'] = user::find('all', array('conditions' => array('status=?', 'active'))); $this->theme_view = 'modal'; $this->view_data['title'] = $this->lang->line('application_edit_quotation'); $this->view_data['form_action'] = 'quotations/update/' . $id; $this->content_view = 'quotations/_quotations'; } }
public function calculate_cabinet_price() { $this->autoRender = FALSE; $calculatePrice['new_row'] = ''; $resource = explode('|', trim($this->request->data['resource'])); if (isset($resource[1]) && !empty($resource[1])) { // pr($this->request->data);exit; $resource_id = $resource[0]; $resource_type = $resource[1]; $quote_id = (int) $this->request->data['quote_id']; $cabinet_color = $this->request->data['cabinet_color']; $material_id = $this->request->data['material_id']; $door_id = $this->request->data['door_id']; $door_color = $this->request->data['door_color']; $drawer_id = $this->request->data['drawer_id']; $drawer_slide_id = $this->request->data['drawer_slide']; $quantity = $this->request->data['resource_quantity']; $delivery_option = $this->request->data['delivery_option']; $cabinet_order_id = null; $door_side = $this->request->data['door_side']; $door_drilling = $this->request->data['door_drilling']; $customer_id = $this->request->data['customer_id']; App::import("Model", "CustomerManager.Customer"); $customer_model = new Customer(); $customer = $customer_model->find('first', array('conditions' => array('Customer.id' => $customer_id))); App::import("Model", "QuoteManager.Quote"); $quote_model = new Quote(); $quote_data = $quote_model->find('first', array('conditions' => array('Quote.id' => $quote_id), 'recursive' => -1)); $multi_family_pricing = 0; foreach ($customer['BuilderProject'] as $project) { if ($project['id'] == $quote_data['Quote']['project_id']) { $multi_family_pricing = $project['multi_family_pricing']; } } if ($customer['Customer']['customer_type_id'] == 2 && $multi_family_pricing == 1) { switch ($resource_type) { case 'cabinet': $calculatePrice = $this->PriceCalculation->calculateCabinetPriceForBuilder($resource_id, $cabinet_color, $material_id, $door_id, $door_color, $drawer_id, $drawer_slide_id, $quantity, $delivery_option); if (!empty($quote_id)) { $cabinet_order_id = $this->saveTempCalculationResultToPrint($quote_id, $resource_id, $calculatePrice['total_price'], $calculatePrice['debug_calculation'], $resource_type, $cabinet_color, $material_id, $door_id, $door_color, $quantity, $door_side, $door_drilling); //, $drawer_id, $drawer_slide_id); } break; case 'item': $calculatePrice = $this->PriceCalculation->calculateItemPriceForBuilder($resource_id, $quantity, $material_id, $cabinet_color); if (!empty($quote_id)) { $cabinet_order_id = $this->saveTempCalculationResultToPrint($quote_id, $resource_id, $calculatePrice['total_price'], $calculatePrice['debug_calculation'], $resource_type, null, $material_id, null, null, $quantity); //, $drawer_id, $drawer_slide_id); } break; } } else { switch ($resource_type) { case 'cabinet': $calculatePrice = $this->PriceCalculation->calculateCabinetPrice($resource_id, $cabinet_color, $material_id, $door_id, $door_color, $drawer_id, $drawer_slide_id, $quantity, $delivery_option); if (!empty($quote_id)) { $cabinet_order_id = $this->saveTempCalculationResultToPrint($quote_id, $resource_id, $calculatePrice['total_price'], $calculatePrice['debug_calculation'], $resource_type, $cabinet_color, $material_id, $door_id, $door_color, $quantity, $door_side, $door_drilling); //, $drawer_id, $drawer_slide_id); } break; case 'item': $calculatePrice = $this->PriceCalculation->calculateItemPrice($resource_id, $quantity, $material_id, $cabinet_color); if (!empty($quote_id)) { $cabinet_order_id = $this->saveTempCalculationResultToPrint($quote_id, $resource_id, $calculatePrice['total_price'], $calculatePrice['debug_calculation'], $resource_type, null, $material_id, null, null, $quantity); //, $drawer_id, $drawer_slide_id); } break; } } if ($resource_id) { /* Set up new view that won't enter the ClassRegistry */ $view = new View($this, false); $view->set('calculatePrice', $calculatePrice); $view->set('cabinet_order_id', $cabinet_order_id); $view->set('door_side', $door_side); $view->set('door_drilling', $door_drilling); /* Grab output into variable without the view actually outputting! */ $view_output = $view->render('../Elements/Forms/Order/cabinet-order-form-row'); $calculatePrice['new_row'] = $view_output; } } echo json_encode($calculatePrice); exit; }
/** * edit_order method * * @param string $id * @return void */ public function edit_order($quote_id = null) { $this->layoutOpt['left_nav_selected'] = "view_quote"; $this->quote_id = $quote_id; $this->GraniteOrder->quote_id = $quote_id; if ($this->request->is('post') || $this->request->is('put')) { $this->request->data['GraniteOrder']['quote_id'] = $quote_id; if ($this->GraniteOrder->save($this->request->data)) { $this->Session->setFlash(__('The granite order has been saved')); $this->redirect(array('controller' => 'quotes', 'action' => DETAIL, $quote_id)); } else { $this->Session->setFlash(__('The granite order could not be saved. Please, try again.')); } } $this->request->data = $this->GraniteOrder->find('first', array('conditions' => array('quote_id' => $quote_id))); App::import('Model', 'QuoteManager.Quote'); $quoteModel = new Quote(); $quoteModel->recursive = 2; $quotes = $quoteModel->find('first', array('conditions' => array('Quote.id' => $quote_id))); App::import('Model', 'CustomerManager.Customer'); $customerModel = new Customer(); $customerModel->recursive = 0; $customerTypes = $customerModel->CustomerType->find('list'); $this->set(compact('quotes', 'quote_id', 'customerTypes')); }
function getQuoteForCornJob($id = null) { App::import('Model', 'QuoteManager.Quote'); $Quote_Model = new Quote(); $quote = $Quote_Model->find("first", array("conditions" => array("Quote.id" => $id))); return $quote; }
public function getQuote($id = null, $customer_id) { App::import("Model", "QuoteManager.Quote"); $Quote_model = new Quote(); $quote = $Quote_model->find("first", array("conditions" => array("Quote.id" => $id))); $this->set(compact('id', 'quote', "customer_id")); $this->render('Elements/PartialData/getQuote'); }
function auto_generate_number($type) { $value = ""; if ($type == "Quote") { App::uses('Quote', 'QuoteManager.Model'); $quoteModel = new Quote(); $quotes = $quoteModel->find('all', array('fields' => array('Quote.id,Quote.quote_number'))); if ($quotes) { $quote_number = (int) $quotes[count($quotes) - 1]['Quote']['quote_number']; $quote_number = explode("-", $quote_number); $length = strlen($quote_number[0] + 1) == strlen($quote_number[0]) ? strlen($quote_number[0]) : strlen($quote_number[0] + 1); for ($i = $length; $i < 6; $i++) { $value .= '0'; } $value .= $quote_number[0] + 1; } else { $value = "000001"; } } elseif ($type == "Work Order") { App::uses('WorkOrder', 'WorkOrderManager.Model'); $woModel = new WorkOrder(); $wos = $woModel->find('all', array('fields' => array('WorkOrder.id,work_order_number'))); if ($wos) { $wo_number = (int) $wos[count($wos) - 1]['WorkOrder']['work_order_number']; $length = strlen($wo_number + 1) == strlen($wo_number) ? strlen($wo_number) : strlen($wo_number + 1); for ($i = $length; $i < 6; $i++) { $value .= '0'; } $value .= $wo_number + 1; } else { $value = "000001"; } } elseif ($type == "Purchase Order") { App::uses('PurchaseOrder', 'PurchaseOrderManager.Model'); $poModel = new PurchaseOrder(); $pos = $poModel->find('all', array('fields' => array('PurchaseOrder.id,purchase_order_num'))); if ($pos) { $po_number = (int) $pos[count($pos) - 1]['PurchaseOrder']['purchase_order_num']; $length = strlen($po_number + 1) == strlen($po_number) ? strlen($po_number) : strlen($po_number + 1); for ($i = $length; $i < 6; $i++) { $value .= '0'; } $value .= $po_number + 1; } else { $value = "000001"; } } elseif ($type == "Invoice") { App::uses('Invoice', 'Invoice.Model'); $invoiceModel = new Invoice(); $invoice = $invoiceModel->find('all', array('fields' => array('Invoice.id,invoice_no'))); if ($invoice) { $invoice_number = (int) $invoice[count($invoice) - 1]['Invoice']['invoice_no']; $length = strlen($invoice_number + 1) == strlen($invoice_number) ? strlen($invoice_number) : strlen($invoice_number + 1); for ($i = $length; $i < 6; $i++) { $value .= '0'; } $value .= $invoice_number + 1; } else { $value = "000001"; } } return $value; }
/** * Show the form for editing the specified quote. * * @param int $id * @return Response */ public function edit($id) { if (!Sentry::getUser()) { return Redirect::route('sessions.create'); } $quote = Quote::find($id); return View::make('quotes.edit', compact('quote')); }
/** * add method * * @return void */ public function add($id = null, $type = null) { $data = array(); $itemData = array(); if ($type == 'Purchase Order') { App::import('Model', 'PurchaseOrderManager.PurchaseOrder'); $purchaseOrder = new PurchaseOrder(); $purchaseOrder->recursive = 0; $data = $purchaseOrder->find('first', array('conditions' => array('PurchaseOrder.id' => $id))); $itemData = $this->QuoteItem->listOfPoItem(null, $id); } elseif ($type == 'Quote') { App::import('Model', 'QuoteManager.Quote'); $quote = new Quote(); $quote->recursive = 1; $data = $quote->find('first', array('conditions' => array('Quote.id' => $id))); $itemData = $this->QuoteItem->ListQuoteItems($id); // debug($itemData); $itemData = $this->QuoteItem->AdjustPOItem($itemData); $itemData['main_list'] = $itemData['name_list']; unset($itemData['name_list']); $itemData['qty_list'] = $itemData['quantity_list']; unset($itemData['quantity_list']); // debug($data); // debug($itemData); // // exit; } $invoice_no = $this->QuoteItem->auto_generate_number('Invoice'); $invoiceFormatData = $this->InvoiceItem->formatInvoiceData($invoice_no, $type, $id, $data, $itemData); $invoiceCreate = $this->InvoiceItem->createInvoice($invoiceFormatData); if ($invoiceCreate) { $this->Session->setFlash(__('The invoice has been saved')); $this->redirect(array('action' => 'detail', $invoiceCreate['Invoice']['id'])); } else { $this->Session->setFlash(__('The invoice could not be saved. Please, try again.')); } $this->set(compact('invoiceStatuses', 'type')); }
public function delQuote($id) { $quote = Quote::find($id); $quote->delete(); return Redirect::to('admin/quote'); }
public function po_of_work_order($quote_id = null, $section = null, $work_id = null, $edit = null) { $this->layoutOpt['left_nav_selected'] = "add_purchase_order"; if ($this->request->is('post') || $this->request->is('put')) { $this->PurchaseOrder->create(); if ($this->PurchaseOrder->save($this->request->data)) { $this->Session->setFlash(__('The Purchase Order has been saved'), 'default', array('class' => 'text-success')); $this->redirect(array('plugin' => 'work_order_manager', 'controller' => 'work_orders', 'action' => 'detail_section', $work_id, $section)); } else { $this->Session->setFlash(__('The Purchase Order could not be saved. Please, try again.'), 'default', array('class' => 'text-error')); } } App::uses('Quote', 'QuoteManager.Model'); $quote = new Quote(); $quote->recursive = 0; $quoteInfo = $quote->find('all', array('conditions' => array('Quote.id' => $quote_id))); App::import('Model', 'PurchaseOrderManager.GeneralSetting'); $general_model = new GeneralSetting(); $location_data = $general_model->find("first", array("conditions" => array("GeneralSetting.name" => 'Default'))); $this->set(compact('quote_id', 'section', 'quoteInfo', 'work_id', 'edit', 'location_data')); }
/** * print/pdf view method * * @param string $id * @return void */ public function print_detail($id = null) { $this->layoutOpt['layout'] = 'report'; $this->ServiceEntry->id = $id; if (!$this->ServiceEntry->exists()) { throw new NotFoundException(__('Invalid ServiceEntry')); } $user_id = $this->loginUser['id']; $this->ServiceEntry->recursive = 3; $service = $this->ServiceEntry->read(null, $id); App::import('Model', 'ScheduleManager.ScheduleStatus'); $scheduleStatusModel = new ScheduleStatus(); $schedule_status = $scheduleStatusModel->find('all', array('conditions' => array('ScheduleStatus.schedule_id' => $id, 'ScheduleStatus.type' => 'Service'))); App::import('Model', 'QuoteManager.Quote'); $quoteModel = new Quote(); $quotes = $quoteModel->find('first', array('conditions' => array('Quote.id' => $service['WorkOrder']['quote_id']))); $reportTitle = "Service"; $reportNumber = $service['WorkOrder']['work_order_number']; $reportDate = date('l, F d, Y'); $this->set(compact('user_id', 'service', 'quotes', 'schedule_status', 'reportTitle', 'reportNumber', 'reportDate')); }
/** * Execute the console command. * * @return mixed */ public function fire() { $this->line('Lets start our migration.'); //Migrate Groups to Roles $groups = DB::connection('oldmysql')->table('groups'); $this->line($groups->count() . ' groups[\'s] were found in the legacy database'); foreach ($groups->get() as $group) { $role = new Role(); $role->name = $group->group; $role->save(); } //Migrate Users $users = DB::connection('oldmysql')->table('users'); $this->line($users->count() . ' user[\'s] were found in the legacy database'); foreach ($users->get() as $user) { $this->line('Migrating user: '******'oldmysql')->table('groups')->where('id', $user->group)->first(); $myrole = Role::where('name', $group->group)->first(); $newuser->roles()->attach($myrole); $this->line('Adding user to role: ' . $group->group); } //Migrate Users $quotes = DB::connection('oldmysql')->table('quotes'); $this->line($quotes->count() . ' quote[\'s] were found in the legacy database'); foreach ($quotes->get() as $quote) { $this->line('Migrating quote: #' . $quote->id); $newquote = new Quote(); $newquote->timestamps = false; $newquote->id = $quote->id; $newquote->title = $quote->title; $newquote->quote = $quote->quote; $user = User::find($quote->userid); $newquote->user()->associate($user); $newquote->status = $quote->approved; $newquote->created_at = date('Y-m-d H:i:s', $quote->timestamp); $newquote->updated_at = date('Y-m-d H:i:s', $quote->timestamp); $newquote->save(); } $votes = DB::connection('oldmysql')->table('votes'); $this->line($votes->count() . ' vote[\'s] were found in the legacy database'); foreach ($votes->get() as $vote) { $user = User::find($vote->userid); $quote = Quote::find($vote->quoteid); if ($user && $quote) { if ($vote->vote == 1) { $this->line($user->username . ' voted up #' . $quote->id); } else { $this->line($user->username . ' voted down #' . $quote->id); } if ($quote) { $vuser = $quote->voted()->whereUserId($vote->userid)->first(); if (!$vuser) { $quote->voted()->attach($user, array('vote' => $vote->vote)); } else { $vuser->pivot->vote = $vote->vote; $vuser->pivot->save(); } } //Our confidence has changed in this quote. $quote->updateVoteConfidence(); } else { if (!$quote) { $this->line('Vote #' . $vote->id . ' could not be imported because the quote doesn\'t exist'); } if (!$user) { $this->line('Vote #' . $vote->id . ' could not be imported because the user doesn\'t exist'); } } } }
public function wo_genarate_auto() { App::uses('Quote', 'QuoteManager.Model'); $quote = new Quote(); $quote_info = $quote->find("all", array("conditions" => array("Quote.status" => 'Approve'))); $today_date = date('Y-m-d'); foreach ($quote_info as $quote) { if (empty($quote['WorkOrder']) || !isset($quote['WorkOrder']['id'])) { $status_date = $quote['QuoteStatus'][count($quote['QuoteStatus']) - 1]['status_date']; if ($status_date < 1) { $status_date = $quote['QuoteStatus'][count($quote['QuoteStatus']) - 1]['created']; } $after_five_days = date('Y-m-d', strtotime("+5 days", strtotime($status_date))); $wo_arr = array(); $flag = false; if ($after_five_days < $today_date) { // debug($today_date); // debug($after_five_days); // debug($status_date); // debug($quote); $this->WorkOrder->create(); $wo_arr['WorkOrder']['quote_id'] = $quote['Quote']['id']; $wo_arr['WorkOrder']['work_order_number'] = ''; $flag = $this->WorkOrder->save($wo_arr); if ($flag) { $this->create_po($wo_arr, $flag['WorkOrder']['id']); $wo_arr['WorkOrder']['id'] = $flag['WorkOrder']['id'] + 1; } } } } }