<?php //Imports require_once 'db.php'; require_once 'Checklist.php'; require_once 'ChecklistItem.php'; if (empty($_POST['name'])) { header("Location: ../addchecklist?e=name"); exit; } $name = $_POST['name']; $descs = explode('|^|', $_POST['itemdescs']); $con = connect_db(); $list = new Checklist(); $list->name = $_POST['name']; $list->save($con); if ($descs[0] != '') { foreach ($descs as $desc) { $listItem = new ChecklistItem(); $listItem->listid = $list->id; $listItem->desc = $desc; $listItem->save($con); } } $con->close(); header('Location: ../checklist?_=' . $list->id);
public function actionChecklist() { $criteria = new CDbCriteria(); $criteria->addCondition('mstTeamUsers1.teamOwner_id = ' . Yii::app()->user->getInfo()); $criteria->addCondition('mstTeamUsers1.status = 1'); $criteria->with = array('mstTeamUsers1'); $checklist_id = Yii::app()->getRequest()->getParam('list'); $modelArray = Users::model()->findAll($criteria); $checklistModel = new Checklist(); $checklistItemModel = new ChecklistItem(); if (Yii::app()->getRequest()->isAjaxRequest && Yii::app()->getRequest()->getIsPostRequest()) { $checklist_item_id = Yii::app()->getRequest()->getParam('checklist_item_id'); $checklist_item_chacke = Yii::app()->getRequest()->getParam('checklist_item_chack'); $checklistItemModel->updateByPk($checklist_item_id, ['active' => (int) $checklist_item_chacke]); ActionClass::json($_POST); } if (Yii::app()->getRequest()->getIsPostRequest()) { $json = ['success' => false]; $checklist = Yii::app()->getRequest()->getParam('checklist'); $checklist_item = Yii::app()->getRequest()->getParam('checklist_item'); //Create checklist if ($checklist && !empty($checklist)) { $checklistModel->name = $checklist; if ($checklistModel->save()) { return $this->redirect('checklist?list=' . $checklistModel->id); } } //Create checklist item if ($checklist_item && !empty($checklist_item)) { if ($checklist_id) { $checklistItemModel->name = $checklist_item; $checklistItemModel->checklist_id = $checklist_id; if ($checklistItemModel->save()) { return $this->redirect($_SERVER['HTTP_REFERER']); } } } return $this->redirect($_SERVER['HTTP_REFERER']); } Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . "/css/request-checklist.css"); Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . "/css/request-checklist-resp.css"); Yii::app()->clientScript->registerScriptFile(Yii::app()->theme->baseUrl . "/js/request-checklist.js", CClientScript::POS_END); Yii::app()->clientScript->registerScriptFile(Yii::app()->theme->baseUrl . "/js/checklist.js", CClientScript::POS_END); $checklist = $checklistModel->findByPk(Yii::app()->getRequest()->getParam('list')); $this->render('checklist', ['model' => $this->_model, 'checklist' => $checklist, 'modelArray' => $modelArray]); }
/** * Edit selected checklist * * @param void * @return null */ function edit() { $this->wireframe->print_button = false; if ($this->request->isApiCall() && !$this->request->isSubmitted()) { $this->httpError(HTTP_ERR_BAD_REQUEST); } // if if ($this->active_checklist->isNew()) { $this->httpError(HTTP_ERR_NOT_FOUND); } // if if (!$this->active_checklist->canEdit($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if //BOF:mod 20110615 $subscribers = $this->active_checklist->getSubscribers(); $notify_users = array(array(), null); foreach ($subscribers as $subscriber) { $notify_users[0][] = $subscriber->getId(); } $this->smarty->assign('notify_users', $notify_users); //EOF:mod 20110615 $checklist_data = $this->request->post('checklist'); if (!is_array($checklist_data)) { $checklist_data = array('name' => $this->active_checklist->getName(), 'body' => $this->active_checklist->getBody(), 'visibility' => $this->active_checklist->getVisibility(), 'milestone_id' => $this->active_checklist->getMilestoneId(), 'tags' => $this->active_checklist->getTags()); } // if $this->smarty->assign('checklist_data', $checklist_data); if ($this->request->isSubmitted()) { db_begin_work(); $old_name = $this->active_checklist->getName(); $this->active_checklist->setAttributes($checklist_data); $save = $this->active_checklist->save(); if ($save && !is_error($save)) { db_commit(); //BOF: mod $this->active_checklist->register_departments(!empty($checklist_data['departments']) ? $checklist_data['departments'] : array()); //EOF: mod //BOF:mod 20110614 $subscribers = $this->request->post('notify_users'); if (!in_array($this->active_project->getLeaderId(), $subscribers)) { $subscribers[] = $this->active_project->getLeaderId(); } // if Subscriptions::subscribeUsers($subscribers, $this->active_checklist); $assignees_flag_data = $this->request->post('assignee'); $this->active_checklist->register_assignees_flag($assignees_flag_data); //EOF:mod 20110614 if ($this->request->getFormat() == FORMAT_HTML) { flash_success('Checklist :name has been updated', array('name' => $old_name)); $this->redirectToUrl($this->active_checklist->getViewUrl()); } else { $this->serveData($this->active_checklist, 'checklist'); } // if } else { db_rollback(); if ($this->request->getFormat() == FORMAT_HTML) { $this->smarty->assign('errors', $save); } else { $this->serveData($save); } // if } // if } // if }