public function actionListcall($company_id = 0) { if ($company_id == 0) { $company_id = Yii::app()->getUser()->getProfile()->company_id; } Yii::import('sklad.models.*'); $criteria = new CDbCriteria(); $criteria->with = ['user' => ['joinType' => 'INNER JOIN', 'condition' => 'user.company_id = :company_id']]; $criteria->params = [':company_id' => $company_id]; $criteria->order = 'sklad_call_id DESC'; $this->render('listcall', ['sklad' => SkladCall::model()->findAll($criteria), 'company_id' => $company_id]); }
/** * Запуск виджета */ public function run() { switch ($this->type) { case 'store_add': $product = Product::model()->find('t.slug = "' . $this->record_id . '"'); $criteria = new CDbCriteria(); $product->category_id = isset($product->category_id) ? $product->category_id : 1; $criteria->condition = 't.category_id = ' . $product->category_id . ' AND t.status ="active"'; $criteria->limit = 5; $storecalls = StoreCall::model()->findAll($criteria); $this->render('store_add', ['storecalls' => $storecalls]); break; case 'store_call_add': $storecall = StoreCall::model()->findByPk($this->record_id); $criteria = new CDbCriteria(); $storecall->category_id = isset($storecall->category_id) ? $storecall->category_id : 1; $criteria->condition = 't.category_id =' . $storecall->category_id . ' AND t.status ="1"'; $criteria->limit = 5; $products = Product::model()->findAll($criteria); $this->render('store_call_add', ['products' => $products]); break; case 'cargo_add': $cargo = Cargo::model()->with('address_from', 'address_to')->findByPk($this->record_id); $reissearchform = new ReisSearchForm(); $reissearchform->from_name = $cargo->address_from[0]->name; $reissearchform->from_address_lat = $cargo->address_from[0]->lat; $reissearchform->from_address_long = $cargo->address_from[0]->long; $reissearchform->from_radius = $this->radius; $reissearchform->to_name = $cargo->address_to[0]->name; $reissearchform->to_address_lat = $cargo->address_to[0]->lat; $reissearchform->to_address_long = $cargo->address_to[0]->long; $reissearchform->to_radius = $this->radius; $reisIds = $reissearchform->relatedReis(); if (!empty($reisIds)) { $reis = Reis::model()->findAllByAttributes(array('reis_id' => $reisIds), array('order' => 'reis_id desc', 'limit' => 5)); } else { $reis = array(); } $this->render('cargo_add', ['reis' => $reis]); break; case 'transport_add': $transport = Reis::model()->findByPk($this->record_id); $transport->address_from; $transport->address_to; $cargosearchform = new CargoSearchForm(); $cargosearchform->from_name = $transport->address_from[0]->name; $cargosearchform->from_address_lat = $transport->address_from[0]->lat; $cargosearchform->from_address_long = $transport->address_from[0]->long; $cargosearchform->from_radius = $this->radius; if (!empty($transport->address_to)) { $cargosearchform->to_name = $transport->address_to[0]->name; $cargosearchform->to_address_lat = $transport->address_to[0]->lat; $cargosearchform->to_address_long = $transport->address_to[0]->long; $cargosearchform->to_radius = $this->radius; } $cargoIds = $cargosearchform->relatedCargo(); if (!empty($cargoIds)) { $cargo = Cargo::model()->findAllByAttributes(array('cargo_id' => $cargoIds), array('order' => 'cargo_id desc', 'limit' => 5)); } else { $cargo = array(); } $this->render('transport_add', ['cargo' => $cargo]); break; case 'sklad_call_add': $skladcall = SkladCall::model()->with('address')->findByPk($this->record_id); if ($skladcall->address->name && $skladcall->address->lat && $skladcall->address->long) { $skladsearchform = new SkladSearchForm(); $skladsearchform->from_name = $skladcall->address->name; $skladsearchform->from_address_lat = $skladcall->address->lat; $skladsearchform->from_address_long = $skladcall->address->long; $skladsearchform->from_radius = $this->radius; $criteria = $skladsearchform->getCriteria(); $criteria->limit = 5; $sklads = Sklad::model()->findAll($criteria); } else { $sklads = array(); } $this->render('sklad_call', ['sklads' => $sklads]); break; case 'sklad_add': $sklad = Sklad::model()->with('address')->findByPk($this->record_id); if ($sklad->address->name && $sklad->address->lat && $sklad->address->long) { $skladcallsearchform = new SkladCallSearchForm(); $skladcallsearchform->from_name = $sklad->address->name; $skladcallsearchform->from_address_lat = $sklad->address->lat; $skladcallsearchform->from_address_long = $sklad->address->long; $skladcallsearchform->from_radius = $this->radius; $criteria = $skladcallsearchform->getCriteria(); $criteria->limit = 5; $skladcalls = SkladCall::model()->findAll($criteria); } else { $skladcalls = array(); } $this->render('sklad_add', ['skladcalls' => $skladcalls]); break; case 'specialtechnique_call_add': $specialTechniqueCall = SpecialTechnique::model()->with('address')->findByPk($this->record_id); if ($specialTechniqueCall->address->name && $specialTechniqueCall->address->lat && $specialTechniqueCall->address->long) { $specialtechniqueform = new SpecialTechniqueForm(); $specialtechniqueform->from_name = $specialTechniqueCall->address->name; $specialtechniqueform->from_address_lat = $specialTechniqueCall->address->lat; $specialtechniqueform->from_address_long = $specialTechniqueCall->address->long; $specialtechniqueform->from_radius = $this->radius; $specialtechniqueform->type_request = 'offer'; $specialtechniqueform->category_id = $specialTechniqueCall->category_id; $criteria = $specialtechniqueform->getCriteria(); $criteria->limit = 5; $specialtechnique = SpecialTechnique::model()->findAll($criteria); } else { $specialtechnique = array(); } $this->render('specialtechnique_call_add', ['specialtechnique' => $specialtechnique]); break; case 'specialtechnique_add': $specialTechnique = SpecialTechnique::model()->with('address')->findByPk($this->record_id); if ($specialTechnique->address->name && $specialTechnique->address->lat && $specialTechnique->address->long) { $specialtechniqueform = new SpecialTechniqueForm(); $specialtechniqueform->from_name = $specialTechnique->address->name; $specialtechniqueform->from_address_lat = $specialTechnique->address->lat; $specialtechniqueform->from_address_long = $specialTechnique->address->long; $specialtechniqueform->from_radius = $this->radius; $specialtechniqueform->type_request = 'request'; $specialtechniqueform->category_id = $specialTechnique->category_id; $criteria = $specialtechniqueform->getCriteria(); $criteria->limit = 5; $specialtechniquecall = SpecialTechnique::model()->findAll($criteria); } else { $specialtechniquecall = array(); } $this->render('specialtechnique_add', ['specialtechniquecall' => $specialtechniquecall]); break; default: break; } }
public function actionDeletecall($id) { $model = SkladCall::model()->findByPk($id); if (!Yii::app()->user->checkAccess('admin') && ((Yii::app()->getUser()->getProfile()->modules->head != UserModules::DIRECTOR_COMPANY || Yii::app()->user->getProfile()->company_id != $model->user->company_id) && (Yii::app()->getUser()->getProfile()->modules->storage != '1' || $model->user_id != Yii::app()->user->id) || Yii::app()->user->getProfile()->company->active == '0')) { throw new CHttpException(403); } if ($model === null) { throw new CHttpException(404, 'Указанная запись не найдена'); } // if ($model->canWrite()) { $model->delete(); $this->redirect('/cabinet/storagecall'); // } throw new CHttpException(404, 'The requested page does not exist.'); }