Comments (5)
I did some poking around in /cake/libs/model/model.php and in the _findList() function, I found this:
if (!isset($query['recursive']) || $query['recursive'] === null) {
$query['recursive'] = -1;
}
Which could definitely be screwing things up if 'recursive' is not being explicitly set by Permissionable', perhaps only when the find is of the 'list' variety?
from permissionable.
On a related note, I'm running into a similar problem when trying to save something to the Group table, where first the ability to write to the table is verified. The SQL is appearing as:
SELECT COUNT() AS count
, GroupPermission
. FROM groups
AS Group
WHERE Group
.name
= 'Root' AND Group
.id
!= ' ... uuid ...'
In \models\behaviors\permissionable.php I tried adding
'recursive' => 1
to hasPermissions() here:
$perm = $Model->{$alias}->find('count', array( ... ));
but it didn't have any effect.
I also tried modifying $queryData['recursive'] directly in the beforeFind() function, but that caused my browser to be unable to resolve the page.
from permissionable.
Two alternatives are:
- Adding 'permissionable' => false to the find parameters, i.e.:
$users = $this->User->find('list', array(
'permissionable' => false,
'conditions' => array('User.name <>' => 'guest')
));
or, using find('all') but specifying the fields, i.e.
$users = $this->User->find('all', array(
'recursive' => -1,
'conditions' => array('User.name <>' => 'guest'),
'fields' => array('User.id', 'User.name')
));
from permissionable.
Of course in the second case you would have to use Set::extract() or something similar on the results to leave only the 'user_id' => 'user_name'.
from permissionable.
Any real solution to this? The same issue crops up when attempting to use the tree behavior.
from permissionable.
Related Issues (11)
- Add UNIX-style command methods to behavior
- Web UI for setting permissions on object rows HOT 2
- $this->Model->find('list'); fails on models with permissionable attached HOT 5
- support inherited permissions
- Add methods to dis-/enable permissions checking/creating HOT 2
- drops belongsTo relationships when fields=>null HOT 2
- not sure if this is Permissionable or Cakephp, but I get a sql warning on $this->paginate HOT 2
- Unknown column 'PostPermission.foreign_id' HOT 12
- Fail to save data because of missing bind HOT 4
- Saving HABTM HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from permissionable.