/**
  * @param \NetteAddons\Forms\Form
  */
 public function importAddonFormSubmitted(Form $form)
 {
     if ($form->valid) {
         $values = $form->getValues();
         $this->token = $values->token;
         $this->flashMessage('Addon has been successfully loaded.');
         $this->redirect('this');
     }
 }
 /**
  * @param \NetteAddons\Model\Addon
  * @param \Nette\Security\IIdentity
  * @return Form
  */
 public function create(Addon $addon, IIdentity $user)
 {
     $form = new Form();
     $form->addTextArea('message', 'Why / What?')->setRequired();
     $form->addSubmit('sub', 'Send');
     $model = $this->reports;
     $form->onSuccess[] = function (Form $form) use($model, $addon, $user) {
         $values = $form->getValues();
         $model->saveReport($user->getId(), $addon->id, $values->message);
     };
     return $form;
 }
 /**
  * @param IIdentity
  * @return Form
  */
 public function create(IIdentity $user)
 {
     $form = new Form();
     $form->addHidden('report')->setRequired();
     $form->addTextArea('reason', 'What?')->setRequired();
     $form->addSubmit('sub', 'Zap');
     $model = $this->reports;
     $form->onSuccess[] = function (Form $form) use($model, $user) {
         $values = $form->getValues();
         $model->updateReport($values->report, $values->reason, $user->getId());
     };
     return $form;
 }
 /**
  * @param \Nette\Security\IIdentity
  * @return \NetteAddons\Forms\Form
  */
 public function create(IIdentity $user)
 {
     $form = new Form();
     $form->addHidden('token', Strings::random());
     $form->addText('url', 'Repository URL', NULL, 256)->setAttribute('autofocus', TRUE)->setRequired();
     $form['url']->addRule(Form::PATTERN, 'Sorry, we currently support only packagist.', '(https?\\://)?packagist\\.org/packages/([a-z0-9]+(?:-[a-z0-9]+)*)/([a-z0-9]+(?:-[a-z0-9]+)*)');
     $form->addSubmit('sub', 'Load');
     $manager = $this->manager;
     $validators = $this->validators;
     $form->onSuccess[] = function (Form $form) use($manager, $validators, $user) {
         $values = $form->getValues();
         try {
             $addonEntity = $this->packagistImporter->getAddon($values['url']);
             if (!$validators->isComposerFullNameUnique($addonEntity->getComposerFullName())) {
                 $form->addError("Addon with composer name '{$addonEntity->getComposerFullName()}' already exists.");
                 return;
             }
             $addon = new Addon();
             // Back compatability
             $addon->composerFullName = $addonEntity->getComposerFullName();
             $addon->userId = $user->getId();
             $addon->shortDescription = $addonEntity->getPerex();
             $addon->type = Addon::TYPE_COMPOSER;
             $addon->defaultLicense = array();
             $addon->resources[AddonResources::RESOURCE_GITHUB] = $addonEntity->getGithub();
             $addon->resources[AddonResources::RESOURCE_PACKAGIST] = $addonEntity->getPackagist();
             $manager->storeAddon($values->token, $addon);
         } catch (\NetteAddons\Model\Importers\AddonVersionImporters\AddonNotFoundException $e) {
             $form['url']->addError("Package with URL '{$values->url}' does not exist.");
         } catch (\Exception $e) {
             $form['url']->addError('Importing failed. Try again later.');
             Debugger::log($e, Debugger::WARNING);
         }
     };
     return $form;
 }