示例#1
0
 private function addEditHandler($p_sMode = 'create')
 {
     $this->loginCheck();
     $bEdit = $p_sMode === 'edit';
     $oTicket = new APP_Model_Ticket();
     $oForm = new PPI_Model_Form();
     $oForm->init('ticket_create');
     $oForm->disableSubmit();
     $oForm->setFormStructure($oTicket->getAddEditFormStructure($p_sMode, array('isAdmin' => $this->getAuthData(false)->role_name !== 'member')));
     // Get the ticket ID
     $iTicketID = $this->get($p_sMode, 0);
     if ($oForm->isSubmitted() && $oForm->isValidated()) {
         $aSubmitValues = $oForm->getSubmitValues();
         $aSubmitValues += array('status' => 'open', 'severity' => 'minor', 'assigned_user_id' => 0, 'user_id' => $this->getAuthData(false)->id, 'created' => time());
         if ($bEdit && $iTicketID > 0) {
             $oTicket->update($aSubmitValues, $oTicket->getPrimaryKey() . " = " . $oTicket->quote($iTicketID));
         } else {
             $iTicketID = $oTicket->insert($aSubmitValues);
         }
         $this->setFlashMessage('Ticket successfully ' . ($bEdit ? 'updated.' : 'created'));
         $this->redirect('ticket/view/' . $iTicketID . '/' . str_replace(' ', '-', $aSubmitValues['title']));
     }
     if ($p_sMode === 'edit' && $iTicketID > 0) {
         $oForm->setDefaults($oTicket->find($iTicketID));
     }
     $formBuilder = $oForm->getRenderInformation();
     $aTicket = $oTicket->find($iTicketID);
     $this->load('ticket/create', compact('aTicket', 'formBuilder'));
 }
示例#2
0
 /**
  * AdminController::userView()
  * View a specific user
  * @return void
  */
 protected function ticketView()
 {
     $oTicket = new APP_Model_Ticket();
     if (($iTicketID = $this->oInput->get('view')) != '') {
         $ticket = $oTicket->select()->columns('t.*, u.first_name user_fn, u.last_name user_ln, uu.first_name user_assigned_fn, uu.last_name user_assigned_ln')->from($oTicket->getTableName() . ' t')->leftJoin('users u', 't.user_id=u.id')->leftJoin('users uu', 't.assigned_user_id=uu.id')->where('t.id = ' . $oTicket->quote($iTicketID))->order('created desc')->getList();
         if ($ticket->countRows() == 0) {
             throw new PPI_Exception('Ticket does not exist.');
         }
         $this->adminLoad('admin/ticket_view', array('ticket' => $ticket->fetch(), 'leftMenu' => true, 'pageTitle' => 'View Ticket'));
     }
 }