public function prepareRow($object) { $row = parent::prepareRow($object); $menu = array(array('text' => 'Добавить товар', 'handler' => 'this.addProduct')); // Если статус Новый, то предлагаем принять в работу switch ($row['status_id']) { case '1': // Новый break; case '2': // Оформленный пользователем // Оформленный пользователем case '8': // Оплачен if (!$row['manager']) { $menu[] = array('text' => 'Принять заказ', 'handler' => 'this.takeOrder'); } break; default: $menu[] = array('text' => 'Изменить статус', 'handler' => 'this.updateOrderStatus'); } if ($row['status_id'] > 1) { $menu[] = array('text' => 'Печать заказа', 'handler' => 'this.printOrder'); } if ($this->modx->hasPermission('delete_order')) { $menu[] = array('text' => 'Удалить заказ', 'handler' => 'this.deleteOrder'); } if (!empty($row['contractor'])) { $menu[] = array('text' => 'Данные клиента', 'handler' => 'this.ShowContractorInfo'); $menu[] = array('text' => 'Фильтровать по клиенту', 'handler' => 'this.FilterByContractor'); } $row['menu'] = $menu; return $row; }
public function prepareRow(xPDOObject $object) { $data = parent::prepareRow($object); $menu = !empty($data['menu']) ? $data['menu'] : array(); // Если заказ оформленный, то можно его оплатить if ($data['status_id'] == 2) { $menu[] = array("text" => "Оплатить", "handler" => 'pay'); } $data['menu'] = $menu; return $data; }