Пример #1
0
<?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);
Пример #2
0
 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
 }