/** * 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); }
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); } }
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(); } }
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; }
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); }
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)); } }