Skip to content

Instantly share code, notes, and snippets.

@predakanga
Created July 11, 2012 18:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save predakanga/3a40ad44b7c08883d392 to your computer and use it in GitHub Desktop.
Save predakanga/3a40ad44b7c08883d392 to your computer and use it in GitHub Desktop.
PHP error
( ! ) Fatal error: Cannot redeclare class EnhancedProxy_f1a65572884aa25d368150100150ae270025b0b2\__CG__\Fusion\Framework\SecurityBundle\Controller\GroupAdminController in /Users/lachlan/Development/BTNv2/app/cache/dev/jms_aop/proxies/Fusion-Framework-SecurityBundle-Controller-GroupAdminController.php on line 37
Call Stack
# Time Memory Function Location
1 0.0001 246648 {main}( ) ../app_dev.php:0
2 0.0035 1246976 Symfony\Component\HttpKernel\Kernel->handle( ) ../app_dev.php:28
3 2.2924 12424520 Symfony\Bundle\FrameworkBundle\HttpKernel->handle( ) ../bootstrap.php.cache:610
4 2.2924 12426272 Symfony\Component\HttpKernel\HttpKernel->handle( ) ../bootstrap.php.cache:1541
5 2.2924 12426336 Symfony\Component\HttpKernel\HttpKernel->handleRaw( ) ../bootstrap.php.cache:1382
6 2.5813 17634664 Symfony\Component\HttpKernel\Debug\ContainerAwareTraceableEventDispatcher->dispatch( ) ../bootstrap.php.cache:1422
7 2.5814 17636016 Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch( ) ../ContainerAwareTraceableEventDispatcher.php:78
8 2.5814 17639112 Symfony\Component\EventDispatcher\EventDispatcher->dispatch( ) ../classes.php:4906
9 2.5815 17640160 Symfony\Component\HttpKernel\Debug\ContainerAwareTraceableEventDispatcher->doDispatch( ) ../classes.php:4688
10 2.5820 17644328 call_user_func ( ) ../ContainerAwareTraceableEventDispatcher.php:139
11 2.5820 17644360 FOS\RestBundle\EventListener\ViewResponseListener->onKernelView( ) ../ContainerAwareTraceableEventDispatcher.php:139
12 2.5822 17665856 FOS\RestBundle\View\ViewHandler->handle( ) ../ViewResponseListener.php:124
13 2.5822 17666088 FOS\RestBundle\View\ViewHandler->createResponse( ) ../ViewHandler.php:219
14 2.5823 17666904 FOS\RestBundle\View\ViewHandler->renderTemplate( ) ../ViewHandler.php:332
15 2.5823 17667240 Symfony\Bundle\TwigBundle\Debug\TimedTwigEngine->render( ) ../ViewHandler.php:272
16 2.5823 17668216 Symfony\Bundle\TwigBundle\TwigEngine->render( ) ../TimedTwigEngine.php:52
17 2.5823 17668376 Symfony\Bridge\Twig\TwigEngine->render( ) ../TwigEngine.php:84
18 2.5843 17979832 Twig_Template->render( ) ../TwigEngine.php:53
19 2.5843 17996536 Twig_Template->display( ) ../classes.php:9360
20 2.5845 17999456 Twig_Template->displayWithErrorHandling( ) ../classes.php:9350
21 2.5845 17999536 __TwigTemplate_b2a95c48672a4645e0e8cb4d7e729af9->doDisplay( ) ../classes.php:9372
22 2.5845 17999928 Twig_Template->display( ) ../5c48672a4645e0e8cb4d7e729af9.php:24
23 2.5845 17999992 Twig_Template->displayWithErrorHandling( ) ../classes.php:9350
24 2.5845 18000072 __TwigTemplate_7baef0a236293b63685823af62cc1253->doDisplay( ) ../classes.php:9372
25 2.5845 18000760 Twig_Template->display( ) ../f0a236293b63685823af62cc1253.php:27
26 2.5845 18000824 Twig_Template->displayWithErrorHandling( ) ../classes.php:9350
27 2.5845 18000904 __TwigTemplate_00db62b26892d6a3acf086611afe320a->doDisplay( ) ../classes.php:9372
28 2.5845 18002128 Twig_Template->display( ) ../62b26892d6a3acf086611afe320a.php:29
29 2.5845 18002192 Twig_Template->displayWithErrorHandling( ) ../classes.php:9350
30 2.5845 18002272 __TwigTemplate_d608e6d1ce93f54e5dbc8041aa80daca->doDisplay( ) ../classes.php:9372
31 2.6055 18680000 Twig_Template->displayBlock( ) ../e6d1ce93f54e5dbc8041aa80daca.php:63
32 2.6055 18680096 call_user_func ( ) ../classes.php:9255
33 2.6055 18680128 __TwigTemplate_d608e6d1ce93f54e5dbc8041aa80daca->block_body( ) ../classes.php:9255
34 2.6055 18680240 Twig_Template->displayBlock( ) ../e6d1ce93f54e5dbc8041aa80daca.php:176
35 2.6055 18680336 call_user_func ( ) ../classes.php:9255
36 2.6055 18680368 __TwigTemplate_d608e6d1ce93f54e5dbc8041aa80daca->block_container( ) ../classes.php:9255
37 2.7420 18790264 Twig_Template->displayBlock( ) ../e6d1ce93f54e5dbc8041aa80daca.php:217
38 2.7420 18790392 call_user_func ( ) ../classes.php:9255
39 2.7420 18790424 __TwigTemplate_d608e6d1ce93f54e5dbc8041aa80daca->block_content_row( ) ../classes.php:9255
40 2.7420 18790504 Twig_Template->displayBlock( ) ../e6d1ce93f54e5dbc8041aa80daca.php:289
41 2.7420 18791664 call_user_func ( ) ../classes.php:9253
42 2.7420 18791696 __TwigTemplate_7baef0a236293b63685823af62cc1253->block_content( ) ../classes.php:9253
43 2.7420 18791824 Twig_Template->displayBlock( ) ../f0a236293b63685823af62cc1253.php:44
44 2.7420 18792968 call_user_func ( ) ../classes.php:9253
45 2.7420 18793000 __TwigTemplate_7baef0a236293b63685823af62cc1253->block_admin_sidebar( ) ../classes.php:9253
46 2.7421 18793776 Symfony\Bundle\TwigBundle\Extension\ActionsExtension->renderAction( ) ../f0a236293b63685823af62cc1253.php:64
47 2.7421 18793776 Symfony\Bundle\FrameworkBundle\Templating\Helper\ActionsHelper->render( ) ../ActionsExtension.php:47
48 2.7421 18794080 Symfony\Bundle\FrameworkBundle\HttpKernel->render( ) ../ActionsHelper.php:49
49 2.7421 18801968 Symfony\Bundle\FrameworkBundle\HttpKernel->handle( ) ../bootstrap.php.cache:1625
50 2.7422 18804464 Symfony\Component\HttpKernel\HttpKernel->handle( ) ../bootstrap.php.cache:1541
51 2.7422 18804464 Symfony\Component\HttpKernel\HttpKernel->handleRaw( ) ../bootstrap.php.cache:1382
52 2.7511 18903256 call_user_func_array ( ) ../bootstrap.php.cache:1418
53 2.7511 18903592 Fusion\Framework\AdminBundle\Controller\DefaultController->sidebarAction( ) ../bootstrap.php.cache:1418
54 2.7511 18903688 Symfony\Bundle\FrameworkBundle\Controller\Controller->get( ) ../DefaultController.php:30
55 2.7511 18903736 Symfony\Component\DependencyInjection\Container->get( ) ../Controller.php:245
56 2.7511 18904128 appDevDebugProjectContainer->getFusion_Admin_ManagerService( ) ../bootstrap.php.cache:209
57 2.7511 18904864 Symfony\Component\DependencyInjection\Container->get( ) ../appDevDebugProjectContainer.php:2136
58 2.7511 18905288 appDevDebugProjectContainer->getFusion_Admin_Controllers_GroupService( ) ../bootstrap.php.cache:209
./.git/index
./app/cache/dev/appDevDebugProjectContainer.php
./app/cache/dev/appDevDebugProjectContainer.php.meta
./app/cache/dev/appDevDebugProjectContainer.xml
./app/cache/dev/appdevUrlGenerator.php
./app/cache/dev/appdevUrlGenerator.php.meta
./app/cache/dev/appdevUrlMatcher.php
./app/cache/dev/appdevUrlMatcher.php.meta
./app/cache/dev/diextra/controller_injectors/FusionFrameworkSecurityBundleControllerGroupAdminController.php
./app/cache/dev/diextra/controller_injectors/FusionFrameworkSecurityBundleControllerGroupAdminController.php.meta
./app/cache/dev/diextra/proxies/Fusion-Framework-SecurityBundle-Controller-GroupAdminController.php
./app/cache/dev/jms_aop/proxies/Fusion-Framework-SecurityBundle-Controller-GroupAdminController.php
./app/cache/dev/profiler/4c/4e/4ffdba19b4e4c
./app/cache/dev/profiler/71/d7/4ffdba19bd771
./app/logs/dev.log
./src/Fusion/Framework/SecurityBundle/Controller/GroupAdminController.php
./src/Fusion/Framework/SecurityBundle/Resources/config/services.xml
<?php
namespace Fusion\Framework\SecurityBundle\Controller;
use Symfony\Component\Form\FormView;
use Doctrine\Common\Util\Debug;
use Fusion\Framework\SecurityBundle\Form\Type\RoleSelectorType;
use Fusion\Framework\UtilityBundle\Form\Type\GroupedChoiceType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Fusion\Framework\SecurityBundle\Entity\Group;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Fusion\Framework\AdminBundle\AdminControllerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use JMS\SecurityExtraBundle\Annotation\Secure;
/**
* @Route("/admin/security/groups")
*/
class GroupAdminController extends Controller implements AdminControllerInterface
{
public function getSectionName()
{
return "Security";
}
public function getControllerName()
{
return "Groups";
}
public function getRoute()
{
return "fusion_admin_security_groups";
}
public function getMinimumRole()
{
return "ROLE_ADMIN";
}
/**
* @Route("/", name="fusion_admin_security_groups")
* @Secure(roles="ROLE_ADMIN")
*
* @Template()
*/
public function listGroupsAction()
{
$groups = $this->getDoctrine()->getRepository('FusionSecurityBundle:Group')->findAll();
return array('current_route' => $this->getRoute(), 'groups' => $groups);
}
/**
* @Route("/{id}", name="fusion_admin_security_groups_edit", defaults={"id"=0}, requirements={"id"="\d+"})
* @Route("/create", name="fusion_admin_security_groups_create", defaults={"id"=0})
* @Secure(roles="ROLE_ADMIN")
* @ParamConverter("group", class="Fusion\Framework\SecurityBundle\Entity\Group")
* @Template()
*/
public function editGroupAction(Request $request, Group $group = null)
{
$dataGroup = $group;
if(!$dataGroup)
{
$dataGroup = new Group('New group');
}
$form = $this->createFormBuilder($dataGroup)
->add('name', 'text')
->add('roles', new RoleSelectorType($this->get('doctrine.orm.entity_manager')), array('expanded' => true, 'multiple' => true))
->getForm();
if($request->getMethod() == "POST")
{
$form->bindRequest($request);
if($form->isValid())
{
$em = $this->getDoctrine()->getEntityManager();
if(!$group)
{
// New group - persist, flush and redirect
$newGroup = $form->getData();
$em->persist($newGroup);
$em->flush();
return $this->redirect($this->generateUrl('fusion_admin_security_groups_edit', array('id' => $newGroup->getId())));
}
// Otherwise, just flush
$em->flush();
}
}
return array('current_route' => $this->getRoute(), 'group' => $group, 'form' => $form->createView());
}
}
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="security.acl.voter.class">Fusion\Framework\SecurityBundle\Voter\LenientAclVoter</parameter>
<parameter key="security.access.decision_manager.class">Fusion\Framework\SecurityBundle\Authorization\ObjectFriendlyAccessDecisionManager</parameter>
<parameter key="fusion.security.manager.classes.class">Fusion\Framework\SecurityBundle\Service\ClassManager</parameter>
<parameter key="Fusion.admin.controllers.group.class">Fusion\Framework\SecurityBundle\Controller\GroupAdminController</parameter>
</parameters>
<services>
<service id="fusion.security.manager.classes" class="%fusion.security.manager.classes.class%">
<argument type="service" id="doctrine.orm.entity_manager" />
</service>
<service id="fusion.admin.controllers.group" class="%fusion.admin.controllers.group.class%">
<tag name="fusion.admin.controller" />
</service>
</services>
</container>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment