Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function detailedView($fields = array())
 {
     self::$logger->debug('>>detailedView(fields=[' . var_export($fields, true) . '])');
     $config = ConfigProvider::getInstance();
     $sessionProvider = $config->get('session.provider.name');
     $session = SessionProviderFactory::getInstance($sessionProvider);
     // we may want to display the OID regardless of class
     $fields['OIDLabel'] = $this->BO->getDataLabel('OID');
     $fields['OID'] = $this->BO->getOID();
     // buffer form fields to $formFields
     $fields['formFields'] = $this->renderAllFields('view');
     // Back button
     $button = new Button('history.back()', 'Back', 'backBut');
     $fields['backButton'] = $button->render();
     $html = '';
     // render edit and delete buttons for admins only
     if ($session->get('currentUser') !== false && $session->get('currentUser')->inGroup('Admin')) {
         if (isset($fields['editButtonURL'])) {
             $button = new Button("document.location = '" . $fields['editButtonURL'] . "'", 'Edit', 'editBut');
         } else {
             $button = new Button("document.location = '" . FrontController::generateSecureURL('act=Alpha\\Controller\\ActiveRecordController&ActiveRecordType=' . get_class($this->BO) . '&ActiveRecordOID=' . $this->BO->getOID() . '&view=edit') . "'", 'Edit', 'editBut');
         }
         $html .= $button->render();
         $js = "if(window.jQuery) {\n                    BootstrapDialog.show({\n                        title: 'Confirmation',\n                        message: 'Are you sure you wish to delete this item?',\n                        buttons: [\n                            {\n                                icon: 'glyphicon glyphicon-remove',\n                                label: 'Cancel',\n                                cssClass: 'btn btn-default btn-xs',\n                                action: function(dialogItself){\n                                    dialogItself.close();\n                                }\n                            },\n                            {\n                                icon: 'glyphicon glyphicon-ok',\n                                label: 'Okay',\n                                cssClass: 'btn btn-default btn-xs',\n                                action: function(dialogItself) {\n                                    \$('[id=\"" . ($config->get('security.encrypt.http.fieldnames') ? base64_encode(SecurityUtils::encrypt('ActiveRecordOID')) : 'ActiveRecordOID') . "\"]').attr('value', '" . $this->BO->getOID() . "');\n                                    \$('#deleteForm').submit();\n                                    dialogItself.close();\n                                }\n                            }\n                        ]\n                    });\n                }";
         $button = new Button($js, 'Delete', 'deleteBut');
         $html .= $button->render();
     }
     $fields['adminButtons'] = $html;
     self::$logger->debug('<<detailedView [HTML]');
     return View::loadTemplate($this->BO, 'detail', $fields);
 }