/var/www/vhosts/nabawater/backend/controllers
Edit: /var/www/vhosts/nabawater/backend/controllers/DeliveryboyController.php (7662B)
render('index',
[
'searchModel' => $searchModel,
'dataProvider' => $searchModel->search(Yii::$app->request->queryParams)
]
);
}
/**
*
* @param type $id
* @return string
*
* @Title("View")
*/
public function actionView($id)
{
$model = $this->findModel($id);
$query = Deliveryboy::find()
->alias('DB')
->select([
'DBL.deliveryboy_name',
'DB.*'
])
->leftJoin(['DBL' => DeliveryboyLang::tableName()], 'DB.deliveryboy_id = DBL.deliveryboy_id')
->where(['DBL.deliveryboy_id' => $model->deliveryboy_id])
->one();
return $this->render('view', ['model' => $query]);
}
/**
*
* @return string
*
* @Title("Create")
*/
public function actionCreate()
{
$model = new Deliveryboy();
$model->setScenario($model::SCENARIO_CREATE);
$modelLang = new DeliveryboyLang();
$post = Yii::$app->getRequest()->post();
$appLanguages = Language::getAppLanguages();
if ($model->load($post) && $modelLang->load($post)) {
$model->setPassword(trim($model->password));
$model->save();
foreach($appLanguages as $langCode => $langName) {
$modelTranslation = new DeliveryboyLang();
$modelTranslation->loadTranslationAttribute($post, $langCode);
$modelTranslation->deliveryboy_id = $model->getPrimaryKey();
$modelTranslation->save();
}
Com::successFlash('Created Successfully');
return $this->redirect(['index']);
}
return $this->render('create', [
'model' => $model,
'modelLang' => $modelLang,
'appLanguages' => $appLanguages
/* 'modelUploadForm' => $modelUploadForm*/
]);
}
/**
*
* @param type $id
* @return string
*
* @Title("Update")
*/
public function actionUpdate($id)
{
$model = $this->findModel($id);
$model->setScenario($model::SCENARIO_UPDATE);
$modelLang = new DeliveryboyLang();
$license = $model->license;
$identityCard = $model->identity_card;
$modelUploadForm = new DeliveryboyUploadForm();
$post = Yii::$app->getRequest()->post();
$appLanguages = Language::getAppLanguages();
DeliveryboyLang::updateTranslationAttribute($modelLang, $model->getPrimaryKey());
if ($model->load($post) && $model->validate()) {
$modelLang->load($post);
$licenseFile = UploadedFile::getInstance($modelUploadForm, 'license');
$identityCardFile = UploadedFile::getInstance($modelUploadForm, 'identity_card');
$uploadHelper = UploadHelper::getInstance();
if (!empty($licenseFile)) {
$uploadHelper->setPath($uploadHelper::DELIVERY_BOY);
$uploadHelper->setUploadedFile($licenseFile);
$path = $uploadHelper->getPath(true);
$licenseFile->saveAs($path);
$realpath = $uploadHelper->getRealPath($path);
$model->license = '/'. $realpath ;
} else if (!empty($identityCardFile)) {
$uploadHelper->setPath($uploadHelper::DELIVERY_BOY);
$uploadHelper->setUploadedFile($identityCardFile);
$path = $uploadHelper->getPath(true);
$identityCardFile->saveAs($path);
$realpath = $uploadHelper->getRealPath($path);
$model->identity_card = '/'. $realpath;
} else {
$model->license = $license;
$model->identity_card = $identityCard;
}
if(!$model->save()) {
return $model;
}
foreach ($appLanguages as $langCode => $langName) {
$modelTranslation = DeliveryboyLang::findOne([
'deliveryboy_id' => $model->getPrimaryKey(),
'language_code' => $langCode
]);
if ($modelTranslation === null) {
$modelTranslation = new DeliveryboyLang();
$modelTranslation->deliveryboy_id = $model->getPrimaryKey();
}
$modelTranslation->loadTranslationAttribute($post, $langCode);
$modelTranslation->save();
}
Com::successFlash('Updated Successfully');
return $this->redirect(['index']);
}
return $this->render('update', [
'model' => $model,
'modelLang' => $modelLang,
'appLanguages' => $appLanguages
/* 'modelUploadForm' => $modelUploadForm,*/
]);
}
/**
*
* @param type $id
* @return string
*
* @Title("Delete")
*/
public function actionDelete($id)
{
$model = $this->findModel($id);
if ($model === null) {
Com::failureFlash('Unable to find the Deliveryboy');
return $this->redirect(['index']);
}
Deliveryboy::deleteAll(['deliveryboy_key' => $id]);
$model->save();
Com::successFlash('Deleted Successfully');
return $this->redirect(['index']);
}
/**
*
* @param type $id
* @return type
* @throws NotFoundHttpException
*/
protected function findModel($id)
{
if (($model = Deliveryboy::findOne(['deliveryboy_key' => $id])) !== null) {
return $model;
} else {
throw new NotFoundHttpException('The requested page does not exist.');
}
}
/**
* @return string
*
* @Title("Delivery Boy Status")
*/
public function actionGetDeliveryBoyStatus()
{
$params = ['key', 'status'];
$post = Yii::$app->getRequest()->post();
$result = ['status' => STATUS_FAIL, 'msg' => ''];
foreach ($params as $param) {
if (!array_key_exists($param, $post)) {
$result['msg'] = 'Required param missing';
goto skip;
}
}
$model = Deliveryboy::findOne(['deliveryboy_key' => $post['key']]);
if ($model === null) {
$result['msg'] = 'Unable to find the Deliveryboy';
goto skip;
} else {
$model->status = $post['status'];
}
$model->save(false);
$result['msg'] = 'Deliveryboy status successfully';
$result['status'] = STATUS_SUCCESS;
skip:
return $this->asJson($result);
}
}