Example #1
0
 public static function returnData($data = false, $page = 1, $total_results = 0)
 {
     if (ErrorModel::getErrors()) {
         $return['error'] = ErrorModel::getErrors();
         $return['success'] = false;
     } else {
         is_array($data) && array_key_exists('data', $data) ? $return = $data : ($data ? $return['data'] = $data : ($return = false));
         $total_results ? $return['total'] = $total_results : false;
         $total_results ? $return['page'] = (int) $page : false;
         $keys = is_array($return['data']) ? array_keys($return['data']) : null;
         $return['data'] ? $return['count'] = (int) count(is_array($return['data']) ? $return['data'][array_shift($keys)] : $return['data']) : false;
         $return['success'] = true;
     }
     return array('response' => $return);
 }
Example #2
0
 public function getErrors()
 {
     return ErrorModel::getErrors();
 }
Example #3
0
 public function discovery($entity, $entity_parent = null, $from_form = false)
 {
     $default_model = new Model\DefaultModel();
     $default_model->initialize($this->getSm());
     $default_model->setConfig($this->config);
     $default_model->setEntity('Entity\\' . $entity);
     isset($this->params['deep']) ? $default_model->setMaxDeep($this->params['deep']) : 0;
     if (!$from_form) {
         if (!$default_model->getEntity()) {
             ErrorModel::addError(array('code' => '404', 'message' => 'Error 404: %1$s %2$s not found', 'values' => array('Entity', $default_model->getEntityName())));
             return;
         }
         switch ($this->getMethod()) {
             case 'POST':
                 $data = $default_model->insert($this->params);
                 break;
             case 'PUT':
                 $data = $default_model->edit($this->params);
                 break;
             case 'DELETE':
                 $data = $default_model->delete($this->params['id']);
                 break;
             default:
                 if ($this->getViewMethod() != 'form') {
                     $id = isset($this->params['id']) ? $this->params['id'] : null;
                     $page = isset($this->params['page']) ? $this->params['page'] : 1;
                     $limit = isset($this->params['limit']) ? $this->params['limit'] : 100;
                     if ($entity_parent) {
                         $data = $default_model->getWithParent($id, $entity_parent, $page, $limit);
                     } else {
                         $data = $default_model->get($id, $page, $limit);
                     }
                     $this->rows = $default_model->getTotalResults();
                 }
                 break;
         }
     } else {
         switch ($this->getViewMethod()) {
             case 'form':
                 $data = $default_model->form($entity, $this->params);
                 break;
         }
     }
     return $data;
 }
Example #4
0
 public function insert(array $params)
 {
     try {
         $class = new $this->entity_name();
         $entity = $this->setData($class, $params);
         $this->_em->persist($entity);
         $this->_em->flush();
         $this->_em->clear();
         return $this->get($entity->getId());
     } catch (Exception $e) {
         ErrorModel::addError(array('code' => 'no_insert_this_data', 'message' => 'Not insert this data'));
         ErrorModel::addError(array('code' => $e->getCode(), 'message' => $e->getMessage()));
         $this->_em->rollback();
     }
 }
 public function indexAction()
 {
     $this->initialize();
     try {
         $return = [];
         switch ($this->_method) {
             case 'DELETE':
             case 'PUT':
                 $return['response'] = $this->alterData();
                 break;
             case 'POST':
                 $return['response'] = $this->insertData();
                 break;
             case 'GET':
                 $return['response'] = $this->_viewMethod == 'form' ? [] : $this->getData();
                 break;
         }
         switch ($this->_viewMethod) {
             case 'form':
                 $return['response']['form'] = $this->getForm(isset($return['response']['data']['id']) ? $return['response']['data']['id'] : null);
                 break;
         }
         $return['response']['method'] = $this->_method;
         $return['response']['view_method'] = $this->_viewMethod;
         $return['response']['success'] = isset($return['success']) ? $return['success'] : true;
         if (ErrorModel::getErrors()) {
             foreach (ErrorModel::getErrors() as $error) {
                 throw new \Exception($error);
             }
         }
     } catch (\Exception $e) {
         $return = array('response' => array('error' => array('code' => $e->getCode(), 'message' => $e->getMessage()), 'success' => false));
     }
     $this->_view->setVariables($return);
     return $this->_view;
 }