chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
declare(strict_types=1);
namespace Mautic\MarketplaceBundle\Controller\Package;
use Doctrine\Persistence\ManagerRegistry;
use Mautic\CoreBundle\Controller\CommonController;
use Mautic\CoreBundle\Factory\MauticFactory;
use Mautic\CoreBundle\Factory\ModelFactory;
use Mautic\CoreBundle\Helper\CoreParametersHelper;
use Mautic\CoreBundle\Helper\UserHelper;
use Mautic\CoreBundle\Security\Permissions\CorePermissions;
use Mautic\CoreBundle\Service\FlashBag;
use Mautic\CoreBundle\Translation\Translator;
use Mautic\MarketplaceBundle\Model\PackageModel;
use Mautic\MarketplaceBundle\Security\Permissions\MarketplacePermissions;
use Mautic\MarketplaceBundle\Service\Config;
use Mautic\MarketplaceBundle\Service\RouteProvider;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
class InstallController extends CommonController
{
public function __construct(
private PackageModel $packageModel,
private RouteProvider $routeProvider,
private Config $config,
ManagerRegistry $doctrine,
MauticFactory $factory,
ModelFactory $modelFactory,
UserHelper $userHelper,
CoreParametersHelper $coreParametersHelper,
EventDispatcherInterface $dispatcher,
Translator $translator,
FlashBag $flashBag,
RequestStack $requestStack,
CorePermissions $security
) {
parent::__construct($doctrine, $factory, $modelFactory, $userHelper, $coreParametersHelper, $dispatcher, $translator, $flashBag, $requestStack, $security);
}
public function viewAction(string $vendor, string $package): Response
{
if (!$this->config->marketplaceIsEnabled()) {
return $this->notFound();
}
if (!$this->security->isGranted(MarketplacePermissions::CAN_INSTALL_PACKAGES)
|| !$this->config->isComposerEnabled()) {
return $this->accessDenied();
}
return $this->delegateView(
[
'returnUrl' => $this->routeProvider->buildListRoute(),
'viewParameters' => [
'packageDetail' => $this->packageModel->getPackageDetail("{$vendor}/{$package}"),
],
'contentTemplate' => '@Marketplace/Package/install.html.twig',
'passthroughVars' => [
'mauticContent' => 'package',
'activeLink' => '#mautic_marketplace',
'route' => $this->routeProvider->buildInstallRoute($vendor, $package),
],
]
);
}
}