/**
  * Return the open referral choices for the patient.
  *
  * @return Referral[]
  */
 public function getReferralChoices($element = null)
 {
     $criteria = new CdbCriteria();
     $criteria->addCondition('patient_id = :pid');
     $criteria->addCondition('closed_date is null');
     $criteria->params = array('pid' => $this->patient->id);
     // if the referral has been closed but is the selected referral for the event, needs to be part of the list
     if ($element && $element->referral_id) {
         $criteria->addCondition('id = :crid', 'OR');
         $criteria->params[':crid'] = $element->referral_id;
     }
     $criteria->order = 'received_date DESC';
     return Referral::model()->findAll($criteria);
 }
Ejemplo n.º 2
0
 public function actionContractor()
 {
     if (!Yii::app()->user->isGuest) {
         if (Yii::app()->user->role == 'contractor') {
             $this->pageTitle = 'Handyman.com - Contractor Dashboard';
             $this->cities = Cities::model()->findAll(array('order' => 'RAND()', 'limit' => 10));
             $contractor_id = Yii::app()->user->getId();
             $model = Contractors::model()->findByPk($contractor_id);
             $param['page'] = "dashboard";
             $param['model'] = $model;
             $criteria = new CDbCriteria();
             $criteria->condition = "to_id={$contractor_id} and to_user_type='contractor'";
             $param['message_count'] = Messages::model()->count($criteria);
             $criteria2 = new CdbCriteria();
             $criteria2->condition = "contractor_id = {$contractor_id}";
             $param['views_count'] = ContractorViews::model()->count($criteria2);
             $oneWeekAgo = date("Y-m-d H:i:s", strtotime("-1 months"));
             $criteria3 = new CdbCriteria();
             $criteria3->addBetweenCondition('date_added', $oneWeekAgo, date("Y-m-d H:i:s"));
             $param['latest_project_count'] = Projects::model()->count($criteria3);
             $param['from'] = $oneWeekAgo;
             $param['to'] = date("Y-m-d H:i:s");
             $param['points'] = 0;
             $points = ContractorPoints::model()->findByAttributes(array('contractor_id' => $contractor_id));
             if (count($points) > 0) {
                 $param['points'] = $points->points;
             }
             $team_invites = ContractorTeam::model()->findbyAttributes(array('invited_id' => $contractor_id, 'confirmed' => 0));
             $param['team_invites'] = $team_invites;
             $this->render('contractor', $param);
         } else {
             $this->redirect(Yii::app()->homeUrl);
         }
     } else {
         $this->redirect(Yii::app()->homeUrl);
     }
 }
Ejemplo n.º 3
0
 public function insertRecords($data, $update = FALSE, $condition = FALSE)
 {
     $record = new self();
     foreach ($data as $k => $v) {
         $v = str_replace(array("'", '"'), '', $v);
         $record->{$k} = $v;
     }
     if ($update) {
         $criteria = new CdbCriteria();
         if (is_array($condition)) {
             foreach ($condition as $column => $value) {
                 $criteria->addCondition("{$column}='{$value}'");
             }
         } else {
             $criteria->where = $condition;
         }
         return $record->updateAll($data, $criteria);
     } else {
         return $record->save();
     }
 }
Ejemplo n.º 4
0
 public function prepareList($page_size = 50)
 {
     $criteria = new CdbCriteria();
     $criteria->with = array('listener');
     if ($this->date_from) {
         $criteria->compare('listener.created', '>=' . date('Y-m-d H:i:s', strtotime($this->date_from . ' ' . $this->time_from)));
     }
     if ($this->date_to) {
         $criteria->compare('listener.created', '<=' . date('Y-m-d H:i:s', strtotime($this->date_to . ' ' . $this->time_to)));
     }
     $criteria->compare('listener.source', $this->source);
     $criteria->order = 'listener.created desc, t.created desc';
     $provider = new CActiveDataProvider(ListenerProcess, array('criteria' => $criteria, 'sort' => array('defaultOrder' => array('listener.created' => true, 'created' => false)), 'pagination' => array('pageSize' => empty($page_size) ? 10000 : $page_size)));
     return $provider;
 }
Ejemplo n.º 5
0
 public function getNewsFeedForWeb($user_id)
 {
     $returnArr = array();
     $hidden_post = $this->getHiddenPostByUser($user_id);
     $blocked_user = $this->getBlockedUserByUser($user_id);
     $news_feed_criteria = new CdbCriteria();
     $news_feed_criteria->select = 't.*, u.username';
     $news_feed_criteria->join = 'JOIN tbl_user u ON t.user_id = u.id';
     $news_feed_criteria->addNotInCondition('t.post_id', $hidden_post);
     // = "tbl_posts.post_id NOT IN ($hidden_post) AND tbl_posts.user_id NOT IN ($blocked_user)";
     $news_feed_criteria->addNotInCondition('t.user_id', $blocked_user);
     $news_feed_criteria->order = 't.post_id DESC';
     $count = Posts::model()->count($news_feed_criteria);
     $pages = new CPagination($count);
     $pages->validateCurrentPage = FALSE;
     $pages->pageSize = Yii::app()->params['RESULT_PER_PAGE'];
     $pages->applyLimit($news_feed_criteria);
     $data = Posts::model()->findAll($news_feed_criteria);
     foreach ($data as $item) {
         $itemArr = $this->getPostById($item->post_id, $user_id);
         $returnArr[] = $itemArr;
     }
     return array('data' => $returnArr, 'pages' => $pages);
 }
Ejemplo n.º 6
0
 public function getAllSamples()
 {
     $criteria = new CdbCriteria();
     $criteria->join = "join dataset_sample ds on ds.sample_id = t.id";
     $criteria->addCondition("ds.dataset_id = " . $this->id);
     return Sample::model()->findAll($criteria);
 }
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     if ($model->approved_date != null) {
         Yii::app()->user->setFlash("error", "<strong>Error!</strong> PO already approved. Can't be edited...");
         //$this->redirect(array('/m2/vPorderInventory',));
         $this->redirect(array('view', "id" => $model->id));
     }
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['vPorder'])) {
         $model->attributes = $_POST['vPorder'];
         if ($model->validate()) {
             if (Yii::app()->request->isAjaxRequest) {
                 $sqlinsert = "INSERT INTO v_porder_detail_temp (parent_id, item_id, description, qty, amount)\n\t\t\t\t\tVALUES (" . $model->id . ", " . $model->item_id . ", '" . $model->description . "', " . $model->qty . ", " . $model->amount . ")";
                 $command = Yii::app()->db->createCommand($sqlinsert);
                 $command->execute();
             } else {
                 $model->save();
                 //Delete Old Detail Data
                 $sqlDelete = "DELETE FROM v_porder_detail WHERE parent_id = ':id'";
                 $command = Yii::app()->db->createCommand($sqlDelete);
                 $command->bindParam(":id", $id, PDO::PARAM_STR);
                 $command->execute();
                 //Insert New Data
                 $sql = "INSERT INTO v_porder_detail (parent_id, item_id, description, qty, amount)\n\t\t\t\t\tSELECT :id, item_id, description, qty, amount FROM v_porder_detail_temp\n\t\t\t\t\tWHERE parent_id = ':id'";
                 $command = Yii::app()->db->createCommand($sql);
                 $command->bindParam(":id", $id, PDO::PARAM_STR);
                 $command->execute();
                 //Delete Temporary Data
                 $sqlD = "DELETE FROM v_porder_detail_temp WHERE parent_id = ':id'";
                 $command = Yii::app()->db->createCommand($sqlD);
                 $command->bindParam(":id", $id, PDO::PARAM_STR);
                 $command->execute();
                 $this->redirect(array('/m2/vPorderInventory'));
             }
         }
     }
     if (!Yii::app()->request->isAjaxRequest) {
         $criteria = new CdbCriteria();
         $criteria->compare('parent_id', $model->id);
         $models = vPorderDetail::model()->findAll($criteria);
         $sqlcount = "select count(*) FROM v_porder_detail_temp WHERE parent_id = '" . $model->id . "'";
         $command = Yii::app()->db->createCommand($sqlcount);
         $_count = $command->queryScalar();
         if ($_count == 0) {
             foreach ($models as $mod) {
                 $sql = "INSERT INTO v_porder_detail_temp (parent_id, item_id, description, qty, amount)\n\t\t\t\t\tVALUES (" . $mod->parent_id . ", " . $mod->item_id . ", '" . $mod->description . "', " . $mod->qty . ", " . $mod->amount . ")";
                 $command = Yii::app()->db->createCommand($sql);
                 $command->execute();
             }
         }
     }
     $sql = "SELECT * FROM v_porder_detail_temp WHERE parent_id = '" . $model->id . "'";
     $command = Yii::app()->db->createCommand($sql);
     $rawData = $command->queryAll();
     $dataProvider = new CArrayDataProvider($rawData, array('pagination' => false));
     if (Yii::app()->request->isAjaxRequest) {
         $this->renderPartial('_formDetail', array('model' => $model, 'dataProvider' => $dataProvider));
     } else {
         $this->render('update', array('model' => $model, 'dataProvider' => $dataProvider));
     }
 }