<?php
namespace Rawafed\CloudServicesBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Rawafed\CloudServicesBundle\Entity\Package;
class PackageController extends AbstractController
{
/**
* @Route("/pricing", name="cloud_package_pricing")
* @Template
*/
public function pricingAction(Request $request)
{
if($this->container->has('navigation')) {
$breadcrumbBuilder = $this->get('navigation')->getBreadcrumbBuilder();
$breadcrumbBuilder
->moveTo('homepage')
->add('cloud_services.titles.packages', 'cloud_package_pricing')
;
}
}
/**
* @Template
*/
public function widgetAction()
{
$entityManager = $this->getDoctrine()->getManager();
$packageRepo = $entityManager->getRepository(Package::class);
$packages = $packageRepo->getActivePackages();
return [
'packages' => $packages
];
}
/**
* @Route("/customize/{id}", name="cloud_package_customize")
* @Template
*/
public function customizeAction(Request $request)
{
return [];
}
/**
* @Route("/subscribe/{id}", name="cloud_package_subscribe")
*/
public function subscribeAction(Request $request, $id)
{
$this->get('session')->set('packageId', $id);
$billingPeriod = $request->query->get('period', 'month');
$this->get('session')->set('billing_period', $billingPeriod);
$securityContext = $this->get('security.authorization_checker');
return $this->redirectToRoute('cloud_subscription_new');
}
}