/** * Initialize form. * * @return void */ public function initialize() { parent::initialize(); $this->setTitle('Edit Package')->setDescription('Edit this package.'); $this->getFieldSet(self::FIELDSET_CONTENT)->remove('name')->remove('type')->remove('header')->addHidden('type')->addHidden('name'); $this->getFieldSet(self::FIELDSET_FOOTER)->clearElements()->addButton('save')->addButtonLink('cancel', 'Cancel', ['for' => $this->_link]); $this->getFieldSet(self::FIELDSET_WIDGET)->remove('module')->addHidden('module'); }
/** * Create package action. * * @return mixed * * @Route("/create", methods={"GET", "POST"}, name="admin-packages-create") */ public function createAction() { $this->view->form = $form = new CreateForm(); if (!$this->request->isPost() || !$form->isValid()) { return; } $data = $form->getValues(); /** @var Package $package */ $package = $form->getEntity(); $package->save(); $this->_setWidgetData($form, $package, $data); if (!empty($data['header'])) { $data['header'] = PHP_EOL . trim($data['header']) . PHP_EOL; } $packageManager = new Manager(); $packageManager->createPackage($data); $this->_enablePackageConfig($package); $this->_updateMetadata(); switch ($package->type) { case Manager::PACKAGE_TYPE_MODULE: $return = 'admin-packages'; break; case Manager::PACKAGE_TYPE_THEME: $return = 'admin-packages-themes'; break; case Manager::PACKAGE_TYPE_WIDGET: $return = 'admin-packages-widgets'; break; case Manager::PACKAGE_TYPE_PLUGIN: $return = 'admin-packages-plugins'; break; case Manager::PACKAGE_TYPE_LIBRARY: $return = 'admin-packages-libraries'; break; default: $return = 'admin-packages'; break; } $this->flashSession->success('New package created successfully!'); return $this->response->redirect(['for' => $return]); }