问题标签 [sonata-user-bundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何从 SonataUserBundle 中的用户获取组?
我在 dev-master 中使用 symfony 2.2.3 和 sonata admin。
我想要一个自定义字段来显示来自特定组的用户。
我还没有找到如何与 Sonata User 实体和 Sonata Group 实体建立关系。
学说模式创建 3 个表:fos_user_user、fos_user_group 和关系表 fos_user_user_group。
我的 Admin 类中有一个带有类似字段的表单:
而我在 UserRepository 中的 getCoachs() 函数:
我知道查询不起作用,因为 innerJoin 不正确。
我的用户实体和组实体只是用 id 扩展 BaseUser 和 GroupUser。
有人知道正确的查询吗?
谢谢你。
编辑 :
好的,我找到了查询的解决方案:
但是,我有这个错误:
我不明白,因为我返回了我的函数 getCoachs(),它返回了一个查询生成器......
不知道 ?
session - 模拟期间会话丢失
我使用配置sonata_user
在以下位置的 SonataAdminBundle config.yml
:
/admin
我在前缀下有我的管理面板。我已经用字段配置UserAdmin
(基于User
实体) 。impersonating
我试图通过单击管理面板中的链接来模拟用户,我看到了应用程序(不是管理面板)登录页面。
我检查了开发人员工具栏,我注意到模拟用户的请求被重定向到登录页面。这很奇怪,因为此请求与前一个请求具有大部分相同的参数(用于管理面板中的用户列表)。尤其是Request Cookies
截面相同。
我注意到一个区别Request Headers
:第一个请求(用于管理面板中的用户列表)发送cache-control max-age=0
但第二个请求(用于模拟)不发送。
ROLE_ALLOWED_TO_SWITCH
显然,我以完全权限(特别是)登录到用户的管理面板。
那么,我怎样才能直接从管理面板模拟呢?我的应用程序可能有什么问题?
php - 无法生成路由 value_user_create
我的 Symfony2-Project 与 SonataAdmin- 和 UserBundle 有问题。我根据 Admin- 和 UserBundle-Documentations 安装和配置了所有东西,并试图让它运行,这看起来不错。所以你可以说这两个捆绑包都是开箱即用的。当我尝试从 Admin-Dashboard 访问用户列表(默认路径/admin/sonata/user/user/list)时,我得到了这个:
如前所述,我既没有更改 Sonata 提供的默认路由信息,也没有覆盖 Controller 或任何东西。根据 symfony 控制台,存在其他 CRUDrouter:debug
路由admin_sonata_user_user_create
中的路由(指向/admin/sonata/user/user/create
)
所以对我来说,似乎 route-name 中的值value_user_create
不会被admin_sonata_user
-prefix 取代,但这只是一个想法,我无法证明。无论如何,我找不到任何地方来解决这个问题,所以每一个帮助和提示在这里都可能会有所帮助。
提前致以最诚挚的问候和感谢
编辑:我的奏鸣曲用户服务如下所示:
在这里第一次发表评论后,我创建了我自己的 UserAdmin-Class,它派生自默认的 Sonata\UserBundle\Admin\Entity\UserAdmin-Class,除了它如上所述将 baseRouteName 设置为 null。正如配置所说,我正在使用默认的 AdminBundle-CRUD-Controller。在那种情况下没有覆盖或任何东西。清除缓存,再次尝试 - 相同的错误消息。还尝试将其设置为文字,例如“user_admin”,但同样无效。奇怪的是,所有其他路线似乎都运行良好。我可以打开创建用户页面,以及创建组和列出组页面。
security - 我需要在 symfony 2 中添加新的自定义角色来管理 SONATA Bundle 中的权限
我需要创建一个新的 ROLE 作为 ROLE_ERECTA_TASK_ADMIN 但我不知道如何在 Sonata 管理界面中声明它?我使用 Sonata Bundle 来管理我的用户组角色,现在我只有一些角色,但我想创建一些其他形式的我的 Bundles。
我的安全.yml
Sonata 管理员用户管理员:
提前致谢。
php - SonataUserBundle + FOSUserBundle - 覆盖控制器
我将 SonataUserBundle 与 FOSUserBundle 一起使用。在 AppKernel.php 中它看起来像这样:
SonataUserBundle 中的一些控制器已经被覆盖。
现在我想覆盖 FOSUserBundle ChangePasswordController。所以我做了: src/Application/FOS/UserBundle/Controller/ChangePasswordController.php src/Application/FOS/UserBundle/ApplicationFOSUserBundle.php
以及修改过的 AppKernel.php
问题是......它无法正常工作。
致命错误:未捕获的异常 'LogicException' 带有消息 'Bundle "FOSUserBundle" 直接由两个包 "SonataUserBundle" 和 "ApplicationFOSUserBundle" 扩展。在 /home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache 第 2364 行(!) LogicException:捆绑“FOSUserBundle”直接由两个捆绑“SonataUserBundle”和“ApplicationFOSUserBundle”扩展。在 /home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache 第 2364 行
php - 安装奏鸣曲捆绑的问题
我从奏鸣曲捆绑开始,我需要安装但我不能:无论我遵循官方教程,我尝试访问 localhost 还是输入php app/console sonata:easy-extends:generate SonataUserBundle --dest=src
它告诉我:
[InvalidArgumentException]
Bundle "ApplicationSonataUserBundle" does not exist or it is not enabled.
或者我按照这个(fr),当我尝试更新作曲家时,它显示:
这是我第二期的 composer.json :
拜托,我被屏蔽了!这些捆绑包应该可以节省时间,但编写它们会更快!
symfony - User locale does not work at first request
My website is running Symfony, master version. So far, I was able to use the LocalListener logic from the website, with a slight difference due to code not being compatible with my version. (I think) I only simplified the onKernelRequest method this way:
That way, I could put up a simple language selector on my page, using these paths, and the new language would apply at the first request. (it would not happen if I left the "else" condition)
Then I wanted to take account of the locale stored in user accounts, in case the user is logged in and has specified a locale in his or her profile. So I added this piece of code in the function :
(EDIT: sorry for poor indentation, somehow stackoverflow does not want to indent it properly...)
Basically it checks if a user is logged in, and if there is, if he or she has set a locale, and if they have, sets the locale to the user locale instead. Now this works, but... not instantly. Whenever I log in or change my locale in my profile, the next page I get to is still in the previously set locale. Only when I load a new page does it change its translations properly, and stays that way for the next requests.
So here is my question: is there something I am supposed to add to make this change occur on those post-login and post-profile-edit requests?
sql - 带有连接表的多对一原则 - 过滤结果
我有一个Customer
实体和User
一个带有 JOIN 关系表的实体customers_users
。
在Customer
我有这个的实体中。
我希望在创建客户时我可以将用户分配给它并且实际上它运行良好,但是我希望过滤用户以仅显示那些未分配给无客户的用户。
例如,我有两个客户和两个用户,第一个客户分配了两个用户;然后当我编辑第二个客户时,似乎为它分配了两个用户,但是当我选择这些并发送表单时,它会引发以下异常:
php - 使用 XDebug 调试操作方法,绕过 Symfony2 上的登录表单
我正在使用 Sonata User 和 Sonata Admin 捆绑包(使用 XDebug over Eclipse Kepler PDT)调试 Symfony 2.3 应用程序,我需要调试一个特定的表单,但我想绕过登录表单和所涉及的所有调试,因为该过程是太长了。
php - 创建用户后无法为“page_slug”生成 URL
我有一个奇怪的问题。我安装并配置了 SonataUserBundle 以使用 FosUserBundle 和 SonataAdminBundle。安装没有任何问题,一切似乎都运行良好,除非我通过 sonataUserBundle 网页创建另一个用户。一旦我创建了用户(并且它是在我查看数据库时创建的),我就再也看不到用户列表了。当我单击返回用户列表时,我收到以下错误:
如果我从数据库中删除用户,只有一个用户,那么我可以访问用户列表。
我完全不知道如何进一步解决这个问题......
编辑1:
感谢 Marko Jurinčič,我发现我的配置中有这些行
但是,这看起来不像是一条路线,而且实际上没有任何名为 page_slug 的路线。它应该有一个路线名称“page_slug”吗?