/protected/controllers/UsersupervisionController.php
PHP | 949 lines | 754 code | 28 blank | 167 comment | 40 complexity | 95a4a4a892890372a6a1a38eaa15a2a5 MD5 | raw file
Possible License(s): Apache-2.0, BSD-3-Clause
- <?php
- class UsersupervisionController extends Controller
- {
- /**
- * @var string the default layout for the views. Defaults to '//layouts/column2', meaning
- * using two-column layout. See 'protected/views/layouts/column2.php'.
- */
- public $layout='imstheme';
- /**
- * @return array action filters
- */
- public function filters()
- {
- return array(
- 'accessControl', // perform access control for CRUD operations
- );
- }
- /**
- * Specifies the access control rules.
- * This method is used by the 'accessControl' filter.
- * @return array access control rules
- */
- public function accessRules()
- {
- return array(
- array('allow', // allow authenticated user to perform 'index' and 'view' actions
- 'actions'=>array('view','download','location','createlocation','viewlocation','update','deletelocation','exportword','updatereport'),
- //'expression'=>'Yii::app()->user->isSuperAdmin || Yii::app()->user->isStaff',
- 'users'=>array('@'),
- ),
- array('allow', // allow authenticated user to perform 'create', 'update' and 'delete' actions
- 'actions'=>array('create','delete'),
- 'expression'=>'Yii::app()->user->isSuperAdmin',
- ),
- array('deny', // deny all users
- 'users'=>array('*'),
- ),
- );
- }
- /**
- * Displays a particular model.
- * @param integer $id the ID of the model to be displayed
- */
- public function actionView($id)
- {
- $model=$this->loadModel($id);
- $this->render('view',array(
- 'model'=>$model,
- ));
- }
-
- public function actionCreatelocation($id)
- {
- $supervision= $this->loadModel($id);
- $model=new TLocation;
- $prov=$this->loadProv($id);
- if(isset($_POST['TLocation']))
- {
- if($_POST['TLocation']['level_loc'] === '1')
- {
- $modelProv=$this->_getProv($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelProv))
- {
- $model->attributes=$_POST['TLocation'];
- $model->supervision_id=$id;
- if($model->save())
- {
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelProv->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelProv->id));
- }
- }
- elseif($_POST['TLocation']['level_loc'] === '2')
- {
- $modelKab=$this->_getKab($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['kab_id'],$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelKab))
- {
- $model->attributes=$_POST['TLocation'];
- $model->supervision_id=$id;
- if($model->save())
- {
- $data=$this->_getProv($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- if(empty($data))
- {
- $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($data->id,$rowStaff);
- }
- }
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelKab->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelKab->id));
- }
- }
- elseif($_POST['TLocation']['level_loc'] === '3')
- {
- $modelKec=$this->_getKec($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['kab_id'],$_POST['TLocation']['kec_id'],$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelKec))
- {
- $model->attributes=$_POST['TLocation'];
- $model->supervision_id=$id;
- if($model->save())
- {
- $dataKab=$this->_getKab($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- if(empty($dataKab))
- {
- $this->_saveKabLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff1)
- {
- $this->save_staffs($dataKab->id,$rowStaff1);
- }
- }
-
- $data=$this->_getProv($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- if(empty($data))
- {
- $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($data->id,$rowStaff);
- }
- }
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelKec->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelKec->id));
- }
- }
- else
- {
- if(!empty($_POST['TLocation']['village_id']))
- $village=$_POST['TLocation']['village_id'];
- else
- $village= $this->getVillage ();
-
- $modelVil=$this->_getVil($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['kab_id'],$_POST['TLocation']['kec_id'],$village,$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelVil))
- {
- $model->attributes=$_POST['TLocation'];
- $model->supervision_id=$id;
- $model->village_id=$village;
- if($model->save())
- {
- $dataKec=$this->_getKec($model->supervision_id,$model->prov_id,$model->kab_id,$model->kec_id,$model->in_date,$model->out_date);
- if(empty($dataKec))
- {
- $this->_saveKecLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->kec_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff2)
- {
- $this->save_staffs($dataKec->id,$rowStaff2);
- }
- }
-
- $dataKab=$this->_getKab($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- if(empty($dataKab))
- {
- $this->_saveKabLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff1)
- {
- $this->save_staffs($dataKab->id,$rowStaff1);
- }
- }
-
- $data=$this->_getProv($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- if(empty($data))
- {
- $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($data->id,$rowStaff);
- }
- }
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelVil->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelVil->id));
- }
- }
-
-
- // $model->attributes=$_POST['TLocation'];
- // $model->supervision_id=$id;
- // //$model->village_id=$this->getVillage();
- // if($model->save())
- // {
- // if($model->level_loc == '2')
- // {
- // $data=$this->_getProv($model->supervision_id,$model->prov_id);
- // if(empty($data))
- // {
- // $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- // }
- // else
- // {
- // foreach($_POST['TLocation']['staff'] as $rowStaff)
- // {
- // $this->save_staffs($data->id,$rowStaff);
- // }
- // }
- // }
- //
- // if($model->level_loc == '3')
- // {
- // $dataKab=$this->_getKab($model->supervision_id,$model->prov_id,$model->kab_id);
- // if(empty($data))
- // {
- // $this->_saveKabLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- // }
- // else
- // {
- // foreach($_POST['TLocation']['staff'] as $rowStaff1)
- // {
- // $this->save_staffs($dataKab->id,$rowStaff1);
- // }
- // }
- //
- // $data=$this->_getProv($model->supervision_id,$model->prov_id);
- // if(empty($data))
- // {
- // $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- // }
- // else
- // {
- // foreach($_POST['TLocation']['staff'] as $rowStaff)
- // {
- // $this->save_staffs($data->id,$rowStaff);
- // }
- // }
- // }
- //
- // if($model->level_loc == '4')
- // {
- // $dataKec=$this->_getKec($model->supervision_id,$model->prov_id,$model->kab_id,$model->kec_id);
- // if(empty($dataKec))
- // {
- // $this->_saveKecLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->kec_id,$model->in_date,$model->out_date);
- // }
- // else
- // {
- // foreach($_POST['TLocation']['staff'] as $rowStaff2)
- // {
- // $this->save_staffs($dataKec->id,$rowStaff2);
- // }
- // }
- //
- // $dataKab=$this->_getKab($model->supervision_id,$model->prov_id,$model->kab_id);
- // if(empty($dataKab))
- // {
- // $this->_saveKabLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- // }
- // else
- // {
- // foreach($_POST['TLocation']['staff'] as $rowStaff1)
- // {
- // $this->save_staffs($dataKab->id,$rowStaff1);
- // }
- // }
- //
- // $data=$this->_getProv($model->supervision_id,$model->prov_id);
- // if(empty($data))
- // {
- // $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- // }
- // else
- // {
- // foreach($_POST['TLocation']['staff'] as $rowStaff)
- // {
- // $this->save_staffs($data->id,$rowStaff);
- // }
- // }
- // }
- //
- // $this->redirect(array('viewlocation','id'=>$model->id));
- // }
- }
- $this->render('create',array(
- 'supervision'=>$supervision,
- 'model'=>$model,
- 'prov'=>$prov,
- //'staff'=>$staff
- ));
- }
- /**
- * Updates a particular model.
- * If update is successful, the browser will be redirected to the 'view' page.
- * @param integer $id the ID of the model to be updated
- */
- public function actionUpdate($id)
- {
- $model=$this->loadModelLocation($id);
- $supervision= $this->loadModel($model->supervision_id);
- $prov=$this->loadProv($model->supervision_id);
- $staff=$this->loadStaffName($model->id);
- if(isset($_POST['TLocation']))
- {
- if($_POST['TLocation']['level_loc'] === '1')
- {
- $modelProv=$this->_getProv($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelProv))
- {
- $model->attributes=$_POST['TLocation'];
- if($model->save())
- {
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelProv->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelProv->id));
- }
- }
- elseif($_POST['TLocation']['level_loc'] === '2')
- {
- $modelKab=$this->_getKab($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['kab_id'],$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelKab))
- {
- $model->attributes=$_POST['TLocation'];
- if($model->save())
- {
- $data=$this->_getProv($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- if(empty($data))
- {
- $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($data->id,$rowStaff);
- }
- }
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelKab->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelKab->id));
- }
- }
- elseif($_POST['TLocation']['level_loc'] === '3')
- {
- $modelKec=$this->_getKec($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['kab_id'],$_POST['TLocation']['kec_id'],$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelKec))
- {
- $model->attributes=$_POST['TLocation'];
- if($model->save())
- {
- $dataKab=$this->_getKab($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- if(empty($dataKab))
- {
- $this->_saveKabLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff1)
- {
- $this->save_staffs($dataKab->id,$rowStaff1);
- }
- }
-
- $data=$this->_getProv($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- if(empty($data))
- {
- $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($data->id,$rowStaff);
- }
- }
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelKec->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelKec->id));
- }
- }
- else
- {
- if(!empty($_POST['TLocation']['village_id']))
- $village=$_POST['TLocation']['village_id'];
- else
- $village= $this->getVillage ();
-
- $modelVil=$this->_getVil($id,$_POST['TLocation']['prov_id'],$_POST['TLocation']['kab_id'],$_POST['TLocation']['kec_id'],$village,$_POST['TLocation']['in_date'],$_POST['TLocation']['out_date']);
- if(empty($modelVil))
- {
- $model->attributes=$_POST['TLocation'];
- $model->village_id=$village;
- if($model->save())
- {
- $dataKec=$this->_getKec($model->supervision_id,$model->prov_id,$model->kab_id,$model->kec_id,$model->in_date,$model->out_date);
- if(empty($dataKec))
- {
- $this->_saveKecLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->kec_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff2)
- {
- $this->save_staffs($dataKec->id,$rowStaff2);
- }
- }
-
- $dataKab=$this->_getKab($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- if(empty($dataKab))
- {
- $this->_saveKabLocation($model->supervision_id,$model->prov_id,$model->kab_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff1)
- {
- $this->save_staffs($dataKab->id,$rowStaff1);
- }
- }
-
- $data=$this->_getProv($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- if(empty($data))
- {
- $this->_saveProvLocation($model->supervision_id,$model->prov_id,$model->in_date,$model->out_date);
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($data->id,$rowStaff);
- }
- }
- $this->redirect(array('viewlocation','id'=>$model->id));
- }
- }
- else
- {
- foreach($_POST['TLocation']['staff'] as $rowStaff)
- {
- $this->save_staffs($modelVil->id,$rowStaff);
- }
- $this->redirect(array('viewlocation','id'=>$modelVil->id));
- }
- }
- }
- $this->render('update',array(
- 'supervision'=>$supervision,
- 'model'=>$model,
- 'prov'=>$prov,
- 'staff'=>$staff
- ));
- }
- /**
- * Deletes a particular model.
- * If deletion is successful, the browser will be redirected to the 'admin' page.
- * @param integer $id the ID of the model to be deleted
- */
- public function actionDelete($id)
- {
- if(Yii::app()->request->isPostRequest)
- {
- // we only allow deletion via POST request
- $this->loadModel($id)->delete();
- // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
- if(!isset($_GET['ajax']))
- $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
- }
- else
- throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
- }
-
- public function actionDeletelocation($id)
- {
- if(Yii::app()->request->isPostRequest)
- {
- // we only allow deletion via POST request
- $model=TLocation::model()->findByPk($id);
- if($model)
- {
- $data=TIssueStaff::model()->findByAttributes(array('location_id'=>$id,'user_id'=> Yii::app()->user->id));
- $data->delete();
- }
- // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
- if(!isset($_GET['ajax']))
- $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
- }
- else
- throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
- }
- /**
- * Manages all models.
- */
- // public function actionIndex()
- // {
- // $dataProvider=new CActiveDataProvider('TSupervisionStaff', array(
- // 'criteria'=>array(
- // 'with'=>array('supervision'),
- // 'condition'=>'t.user_id=:id',
- // 'params'=>array(':id'=> Yii::app()->user->id)
- // ),
- // 'sort'=>array(
- // 'defaultOrder'=>'supervision.created_on DESC',
- // ),
- // ));
- // $this->render('index',array(
- // 'model'=>$dataProvider,
- // ));
- // }
-
- public function actionLocation($id)
- {
- $supervision= $this->loadModel($id);
- $dataProvider=new CActiveDataProvider('TIssueStaff', array(
- 'criteria'=>array(
- 'with'=>array('location'),
- 'condition'=>'location.supervision_id=:id AND t.user_id=:uId',
- 'params'=>array(':id'=> $id,'uId'=>Yii::app()->user->id)
- ),
- ));
- $this->render('location1',array(
- 'supervision'=>$supervision,
- 'model'=>$dataProvider,
- ));
- }
-
- public function actionViewlocation($id)
- {
- $model=$this->loadModelLocation($id);
- $supervision= $this->loadModel($model->supervision_id);
- $staff = $this->_getStaffs($id);
- $this->render('viewlocation',array(
- 'supervision'=>$supervision,
- 'model'=>$model,
- 'staff'=>$staff,
- ));
- }
-
- public function actionExportword($id,$action=false)
- {
- $dataProgram=array();
- $dataIssue=array();
- $datab=array();
- $model=$this->loadModelSupervision($id);
- $staff=TSupervisionStaff::model()->findByAttributes(array('supervision_id'=>$id,'user_id'=>Yii::app()->user->id));
- $criteria= new CDbCriteria;
- $criteria->with=array('location','location.supervision');
- $criteria->condition="supervision.id=:sid AND t.user_id=:uid";
- $criteria->params=array(':sid'=>$id,'uid'=> Yii::app()->user->id);
- $criteria->order="t.created_on desc";
- // $criteria->distinct=false;
- $criteria->group='t.program_group_id';
- $issues= TIssue::model()->findAll($criteria);
- // if($issues)
- // {
- // foreach($issues as $row)
- // {
- // $model2=$this->loadDataByProgram($id, $row->program_id);
- // if($model2)
- // {
- // foreach($model2 as $row2)
- // {
- // $dataIssue[]=array($row->id,$row->issue_register_number);
- // }
- // }
- // $dataProgram[]=array($row->program->name_program,$dataIssue);
- // }
- // //$datab=$dataIssue;
- // print_r($dataProgram);
- // exit;
- // }
- // $html2pdf = Yii::app()->ePdf->HTML2PDF();
- // $html2pdf->WriteHTML($this->renderPartial('pdf', array('model'=>$model), true));
- // $html2pdf->Output();
- if($action)
- {
- $div = $this->renderPartial('pdf', array('model' => $model,'issues'=>$issues,'status'=>$staff->report_status), true);
- header("Pragma: no-cache"); // required
- header("Expires: 0");
- header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
- header("Cache-Control: private", false); // required for certain browsers
- header("Content-type: application/vnd.ms-word");
- header("Content-Disposition: attachment; filename=\"supervision_" . Yii::app()->user->name ."_". date("Y-m-d").".doc");
- header("Content-Transfer-Encoding: binary");
- // ob_clean();
- // flush();
- echo $div;
- }
- else
- {
- // print_r($issues);
- // exit;
-
- $this->render('exportword',array(
- 'model'=>$model,
- 'issues'=>$issues,
- 'status'=>$staff->report_status
- ));
- // $this->render('tes',array(
- // // 'model'=>$model,
- // 'issues'=>$dataIssue
- // ));
- }
- }
-
- public function actionUpdatereport()
- {
- if(Yii::app()->request->getIsAjaxRequest())
- {
- $model=TSupervisionStaff::model()->findByAttributes(array('supervision_id'=>$_GET['sId'],'user_id'=>Yii::app()->user->id));
- $model->report_status=$_GET['value'];
- $model->save(false);
- Yii::app()->end();
- }
- else
- throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
- }
- /**
- * Returns the data model based on the primary key given in the GET variable.
- * If the data model is not found, an HTTP exception will be raised.
- * @param integer the ID of the model to be loaded
- */
- public function loadModel($id)
- {
- $criteria=new CDbCriteria;
- $criteria->with=array('supervision');
- $criteria->condition='t.user_id=:userId AND supervision.id=:id';
- $criteria->params=array(':userId'=>Yii::app()->user->id,'id'=>$id);
- $model=TSupervisionStaff::model()->find($criteria);
- if($model===null)
- throw new CHttpException(404,'The requested page does not exist.');
- return $model;
- }
-
- public function loadModelLocation($id)
- {
- $model= TLocation::model()->findByPk((int)$id);
- if($model===null)
- throw new CHttpException(404,'The requested page does not exist.');
- return $model;
- }
-
- public function loadModelSupervision($id)
- {
- $model= TSupervision::model()->findByPk((int)$id);
- if($model===null)
- throw new CHttpException(404,'The requested page does not exist.');
- return $model;
- }
-
- /**
- * Performs the AJAX validation.
- * @param CModel the model to be validated
- */
- protected function performAjaxValidation($model)
- {
- if(isset($_POST['ajax']) && $_POST['ajax']==='tsupervision-form')
- {
- echo CActiveForm::validate($model);
- Yii::app()->end();
- }
- }
-
- public function loadProv($id)
- {
- $data=TSupervisionProvinsi::model()->with('prov')->findAllByAttributes(array('supervision_id'=>$id));
- $data=CHtml::listData($data,'prov_id','prov.name_prov');
- ksort($data);
- return $data;
- }
-
- public function loadStaffName($id)
- {
- $data= TIssueStaff::model()->with(array('user'))->findAllByAttributes(array('location_id'=>$id));
- return $data;
- }
-
- protected function _getStaffs($id)
- {
- $dataProvider=new CActiveDataProvider('TIssueStaff', array(
- 'criteria'=>array(
- 'with'=>array('user'),
- 'condition'=>"location_id=:id",
- 'params'=>array(':id'=>$id),
- ),
- 'pagination'=>array(
- 'pageSize'=>10,
- ),
- ));
- return $dataProvider;
- }
-
- protected function _getProvince($id)
- {
- $criteria= new CDbCriteria;
- $criteria->with=array('prov');
- $criteria->condition="supervision_id=:id";
- $criteria->params=array(':id'=>$id);
- $dataProvider=TSupervisionProvinsi::model()->findAll($criteria);
- return $dataProvider;
- }
-
- protected function _getTeams($id)
- {
- $criteria= new CDbCriteria;
- $criteria->with=array('team');
- $criteria->condition="supervision_id=:id";
- $criteria->params=array(':id'=>$id);
- $dataProvider=TSupervisionTeam::model()->findAll($criteria);
-
- return $dataProvider;
- }
-
- protected function _getStaff($id)
- {
- $criteria= new CDbCriteria;
- $criteria->with=array('user');
- $criteria->condition="supervision_id=:id";
- $criteria->params=array(':id'=>$id);
- $dataProvider=TSupervisionStaff::model()->findAll($criteria);
-
- return $dataProvider;
- }
-
- protected function _getParticipants($id)
- {
- $criteria= new CDbCriteria;
- $criteria->with=array('organizations');
- $criteria->condition="supervision_id=:id";
- $criteria->params=array(':id'=>$id);
- $dataProvider=TSupervisionParticipants::model()->findAll($criteria);
- return $dataProvider;
- }
-
- protected function getVillage()
- {
- if(!empty($_POST['village_id']))
- {
- $model= TmVillage::model()->findByAttributes(array('name_village'=>$_POST['village_id'],'kec_id'=>$_POST['TLocation']['kec_id']));
- if($model === NULL)
- {
- $model= new TmVillage;
- $model->name_village=$_POST['village_id'];
- $model->kec_id=$_POST['TLocation']['kec_id'];
- $model->save(false);
- }
- $data=$model->id;
- }
- else
- $data = NULL;
- return $data;
- }
-
- protected function _getProv($supervision_id,$prov,$indate,$outdate)
- {
- $model=TLocation::model()->findByAttributes(array('supervision_id'=>$supervision_id,'level_loc'=>'1','prov_id'=>$prov,'in_date'=>$indate,'out_date'=>$outdate));
- //$model=TLocation::model()->find("supervision_id=$supervision_id AND level_loc=1 AND prov_id=$prov AND in_date=$indate ");
- return $model;
- }
-
- protected function _getKab($supervision_id,$prov,$kab_id,$indate,$outdate)
- {
- $model=TLocation::model()->findByAttributes(array('supervision_id'=>$supervision_id,'level_loc'=>'2','prov_id'=>$prov,'kab_id'=>$kab_id,'in_date'=>$indate,'out_date'=>$outdate));
- return $model;
- }
-
- protected function _getKec($supervision_id,$prov,$kab_id,$kec_id,$indate,$outdate)
- {
- $model=TLocation::model()->findByAttributes(array('supervision_id'=>$supervision_id,'level_loc'=>'3','prov_id'=>$prov,'kab_id'=>$kab_id,'kec_id'=>$kec_id,'in_date'=>$indate,'out_date'=>$outdate));
- return $model;
- }
-
- protected function _getVil($supervision_id,$prov,$kab_id,$kec_id,$vil_id,$indate,$outdate)
- {
- $model=TLocation::model()->findByAttributes(array('supervision_id'=>$supervision_id,'level_loc'=>'4','prov_id'=>$prov,'kab_id'=>$kab_id,'kec_id'=>$kec_id,'village_id'=>$vil_id,'in_date'=>$indate,'out_date'=>$outdate));
- return $model;
- }
-
- protected function save_staffs($loc,$uid)
- {
- $model=TIssueStaff::model()->findByAttributes(array('location_id'=>$loc,'user_id'=>$uid));
- if(empty($model))
- {
- $teamModel = new TIssueStaff;
- $teamModel->location_id = $loc;
- $teamModel->user_id = $uid;
- $teamModel->save();
- }
- }
-
- protected function _saveProvLocation($supervision_id,$prov,$in_date,$out_date)
- {
- $newModel=new TLocation;
- $newModel->supervision_id=$supervision_id;
- $newModel->level_loc='1';
- $newModel->prov_id=$prov;
- $newModel->in_date=$in_date;
- $newModel->out_date=$out_date;
- $newModel->save(false);
- }
-
- protected function _saveKabLocation($supervision_id,$prov,$kab_id,$in_date,$out_date)
- {
- $newModel=new TLocation;
- $newModel->supervision_id=$supervision_id;
- $newModel->level_loc='2';
- $newModel->prov_id=$prov;
- $newModel->kab_id=$kab_id;
- $newModel->in_date=$in_date;
- $newModel->out_date=$out_date;
- $newModel->save(false);
- }
-
- protected function _saveKecLocation($supervision_id,$prov,$kab_id,$kec_id,$in_date,$out_date)
- {
- $newModel=new TLocation;
- $newModel->supervision_id=$supervision_id;
- $newModel->level_loc='3';
- $newModel->prov_id=$prov;
- $newModel->kab_id=$kab_id;
- $newModel->kec_id=$kec_id;
- $newModel->in_date=$in_date;
- $newModel->out_date=$out_date;
- $newModel->save(false);
- }
-
- protected function _saveLocation($model)
- {
- $model->attributes=$_POST['TLocation'];
- $model->supervision_id=$id;
- $model->save();
- return $model;
- }
-
- public function loadDataByProgram($supId,$programId)
- {
- $criteria= new CDbCriteria;
- $criteria->with=array('location','location.supervision');
- $criteria->condition="supervision.id=:sid AND t.user_id=:uid AND t.program_group_id=:pid";
- $criteria->params=array(':sid'=>$supId,'uid'=> Yii::app()->user->id,':pid'=>$programId);
- $criteria->order="t.created_on desc";
- $criteria->group='t.area_id';
- $data= TIssue::model()->findAll($criteria);
- return $data;
- }
-
- public function loadDataByarea($supId,$programId,$areaId)
- {
- $criteria= new CDbCriteria;
- $criteria->with=array('location','location.supervision');
- $criteria->condition="supervision.id=:sid AND t.user_id=:uid AND t.program_group_id=:pid AND t.area_id=:aid";
- $criteria->params=array(':sid'=>$supId,'uid'=> Yii::app()->user->id,':pid'=>$programId,':aid'=>$areaId);
- $criteria->order="t.created_on desc";
- $data= TIssue::model()->findAll($criteria);
- return $data;
- }
-
- public function actionDownload($id)
- {
- if(isset($_GET['id']) && (!empty($_GET['id'])))
- {
- $model= TSupervision::model()->findByAttributes(array('id'=>$id));
- if($model)
- {
- $model->output_file($model->attachment);
- }
- else
- {
- throw new CHttpException(403, "You open a wrong page. Please don't call this page directly");
- }
- }
- else
- {
- throw new CHttpException(403, "You open a wrong page. Please don't call this page directly");
- }
- }
-
- }