当前位置: 首页>>代码示例>>PHP>>正文


PHP Form::getResponse方法代码示例

本文整理汇总了PHP中Icinga\Web\Form::getResponse方法的典型用法代码示例。如果您正苦于以下问题:PHP Form::getResponse方法的具体用法?PHP Form::getResponse怎么用?PHP Form::getResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Icinga\Web\Form的用法示例。


在下文中一共展示了Form::getResponse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: unshareAction

 /**
  * Unshare a navigation item
  */
 public function unshareAction()
 {
     $this->assertPermission('config/application/navigation');
     $this->assertHttpMethod('POST');
     // TODO: I'd like these being form fields
     $itemType = $this->params->getRequired('type');
     $itemOwner = $this->params->getRequired('owner');
     $navigationConfigForm = new NavigationConfigForm();
     $navigationConfigForm->setUser($this->Auth()->getUser());
     $navigationConfigForm->setShareConfig(Config::navigation($itemType));
     $navigationConfigForm->setUserConfig(Config::navigation($itemType, $itemOwner));
     $form = new Form(array('onSuccess' => function ($form) use($navigationConfigForm) {
         $itemName = $form->getValue('name');
         try {
             $newConfig = $navigationConfigForm->unshare($itemName);
             if ($navigationConfigForm->save()) {
                 if ($newConfig->getSection($itemName)->type === 'menu-item') {
                     $form->getResponse()->setRerenderLayout();
                 }
                 Notification::success(sprintf(t('Navigation item "%s" has been unshared'), $form->getValue('name')));
             } else {
                 // TODO: It failed obviously to write one of the configs, so we're leaving the user in
                 //       a inconsistent state. Luckily, it's nothing lost but possibly duplicated...
                 Notification::error(sprintf(t('Failed to unshare navigation item "%s"'), $form->getValue('name')));
             }
         } catch (NotFoundError $e) {
             throw $e;
         } catch (Exception $e) {
             Notification::error($e->getMessage());
         }
         $redirect = $form->getValue('redirect');
         if (!empty($redirect)) {
             $form->setRedirectUrl(htmlspecialchars_decode($redirect));
         }
         return true;
     }));
     $form->setUidDisabled();
     $form->setSubmitLabel('btn_submit');
     // Required to ensure that isSubmitted() is called
     $form->addElement('hidden', 'name', array('required' => true));
     $form->addElement('hidden', 'redirect');
     try {
         $form->handleRequest();
     } catch (NotFoundError $_) {
         $this->httpNotFound(sprintf($this->translate('Navigation item "%s" not found'), $form->getValue('name')));
     }
 }
开发者ID:0svald,项目名称:icingaweb2,代码行数:50,代码来源:NavigationController.php


注:本文中的Icinga\Web\Form::getResponse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。