public function manage(DmRecordPermission $permission)
 {
     if (!$this->user->getUser()) {
         return;
     }
     $userId = $this->user->getUser()->get($this->user->getUser()->getTable()->getIdentifier());
     $query = dmDb::table('DmRecordPermissionAssociation')->createQuery('p')->select('p.id, p.dm_secure_module, p.dm_secure_action, p.dm_secure_model, g.id, u.id')->leftJoin('p.Groups g')->leftJoin('p.Users u')->addWhere('p.dm_secure_module = ?', $permission->get('secure_module'))->addWhere('p.dm_secure_action = ?', $permission->get('secure_action'))->addWhere('p.dm_secure_model = ?', $permission->get('secure_model'));
     $query = $this->context->getEventDispatcher()->filter(new sfEvent($permission, 'dm_record_permission_association_manager.filter_query'), $query)->getReturnValue();
     $associations = $query->execute();
     $this->associate($permission, $associations);
 }