开发者

Symfony 1.3: Need to override backend filter field's set of data

开发者 https://www.devze.com 2023-03-15 07:44 出处:网络
My project is using Symfony 1.3.11, PHP version is 5.3.3. Let me explain my case and my problem: We wanted to add another kind of user, not just \"user\" and \"admin\" (using sfGuardPlugin). I did

My project is using Symfony 1.3.11, PHP version is 5.3.3.

Let me explain my case and my problem:

  1. We wanted to add another kind of user, not just "user" and "admin" (using sfGuardPlugin). I did add "business" and I did give him permissions to only ONE admin module -- "purchases" (accessing own and under some conditions -- other people's purchases made on the site).
  2. The "business" user can be associated to one or more Partners (firms) registered in the site, effectively allowing us to handle business owners or representatives a wee bit differently.
  3. When the "business" user accesses the admin section, the list of purchases he sees must be this: All Purchases for all Products of all Partners he has associated with him. (Not exactly a trivial query).
  4. I did that, in my opinion, in a stupid manner, but it does work -- namely overriding the "apps/backend/modules/purchase/actions/actions.class.php#executeIndex". I had to first copy-paste some code from the version of that method in the cache.
  5. In short, I did hook myself to the "executeIndex" and added a code to do the proper Criteria, and the code works.

The problem now is this:

The filter field above the list (the one containing the Product list) does contain all possible Products. We want it to only contain all Products for all Partn开发者_运维技巧ers the current user is associated with.

Thing is, it's my first time having to override the admin's filters and I am lost as to where should I plug my code.

Any help is appreciated. Thanks for your time.

UPDATE: Strangely very unpopular question. Nobody ever had to do this? Wow.


You have to unset the product_list and set another widget with the filtered choices.

Check this post where I explain something like that but using doctrine. In your case the sfGuardUserForm is your somthingFilterForm.

You could also filter data using this method. This is a little more elegant but both would work.

0

精彩评论

暂无评论...
验证码 换一张
取 消