/** * Return a value indicating whether the user has joined or not into specific task * @param int $id * @return boolean value */ public function getHasJoined($id = 0) { $exist = false; $task_id = $id == 0 ? $_GET['id'] : $id; $exist = UsersHasTasks::model()->exists('t.user_id = :user_id AND t.task_id = :task_id', array(':user_id' => Yii::app()->user->id, ':task_id' => $task_id)); return (bool) $exist; }
public function actionRelatedDelete() { // check if user has permissions to viewTasks if (Yii::app()->user->checkAccess('viewTasks')) { // verify params request if (Yii::app()->request->isAjaxRequest) { // verify params request if (Yii::app()->request->isPostRequest) { // verify user_id has relation with selected project and task_id has relation with selected project if (Users::model()->verifyUserInProject((int) Yii::app()->user->getState('project_selected'), (int) $_POST['uid']) && Tasks::model()->verifyTasksInProject((int) Yii::app()->user->getState('project_selected'), (int) $_POST['task_id']) && Yii::app()->user->isManager) { $model = UsersHasTasks::model()->findBeforeDelete($_POST['uid'], $_POST['task_id']); if ($model->delete()) { // Guardar log $attributes = array('log_date' => date("Y-m-d G:i:s"), 'log_activity' => 'TaskRevoked', 'log_resourceid' => $model->task_id, 'log_type' => Logs::LOG_REVOKED, 'user_id' => $model->user_id, 'module_id' => Yii::app()->controller->id, 'project_id' => (int) Yii::app()->user->getState('project_selected')); Logs::model()->saveLog($attributes); $availableUsers = Users::model()->availablesUsersToTakeTask(Yii::app()->user->getState('project_selected'), $model->task_id); $str = $this->renderPartial('_dropdownUsersList', array('availableUsers' => $availableUsers), true); $output = array('saved' => true, 'html' => $str, 'hasreg' => true); } echo CJSON::encode($output); Yii::app()->end(); } else { throw new CHttpException(403, Yii::t('site', '403_Error')); } } else { throw new CHttpException(403, Yii::t('site', '403_Error')); } } else { throw new CHttpException(403, Yii::t('site', '403_Error')); } } else { throw new CHttpException(403, Yii::t('site', '403_Error')); } }
public function findBeforeDelete($user_id, $task_id) { return UsersHasTasks::model()->find(array('condition' => 't.user_id = :user_id AND t.task_id = :task_id', 'params' => array(':user_id' => $user_id, ':task_id' => $task_id))); }