public function actionSearch()
 {
     $model = new Appointment('search');
     if (!$model->app_type) {
         $model->app_type = [Appointment::TYPE_VIEWING, Appointment::TYPE_VALUATION];
     }
     if (!$model->app_notetype) {
         $model->app_notetype = Appointment::getNoteTypes();
     }
     if (!$model->app_start) {
         $model->app_start = date('d-m-Y', strtotime('-1 year'));
     }
     if (isset($_GET['Appointment']) && $_GET['Appointment']) {
         $model->attributes = $_GET['Appointment'];
     }
     $dataProvider = $model->search();
     $dataProvider->getCriteria()->select = ['t.app_status', 't.app_start', 't.app_type', 't.app_notetype', 't.app_subject', 't.app_user'];
     $dataProvider->getCriteria()->with['clients']['select'] = ['clients.cli_fname', 'clients.cli_sname'];
     $dataProvider->getCriteria()->with['_instructions']['select'] = ['_instructions.dea_id'];
     $dataProvider->getCriteria()->with['user']['select'] = ['user.use_fname', 'user.use_sname'];
     $this->render('search', compact('model', 'dataProvider'));
 }