Data at Your Fingertips: Explore Our New Reporting and Statistical Capabilities By Ryan Ashbrook 6 hours ago
CodingJungle Posted September 5, 2017 Share Posted September 5, 2017 this is a new one for me, SELECT * FROM `pro_babble_rooms` AS `babble_rooms` LEFT JOIN `pro_core_permission_index` AS `core_permission_index` ON core_permission_index.app='babble' AND core_permission_index.perm_type='rooms' AND core_permission_index.perm_type_id=babble_rooms.rooms_id WHERE (( FIND_IN_SET(2,perm_) ) OR perm_='*' ) Unknown column 'perm_' in 'where clause' this is cause by line 201 in /applications/core/extensions/core/sitemap/Content.php: $select = new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', $nodeClass::$databaseTable, array( '(' . \IPS\Db::i()->findInSet( "perm_{$nodeClass::$permissionMap['read']}", array( \IPS\Settings::i()->guest_group ) ) . ' OR ' . "perm_{$nodeClass::$permissionMap['read']}=? )", '*' ) )->join( 'core_permission_index', array( "core_permission_index.app=? AND core_permission_index.perm_type=? AND core_permission_index.perm_type_id={$nodeClass::$databaseTable}.{$nodeClass::$databasePrefix}{$nodeClass::$databaseColumnId}", $nodeClass::$permApp, $nodeClass::$permType ) ), $nodeClass ); i wasn't aware "read" was required to be in the permission map. this seems to have started happening when i upgraded to 4.2.3, so i am assuming it is a undocumented change? Link to comment Share on other sites More sharing options...
bfarber Posted September 5, 2017 Share Posted September 5, 2017 The line in question has been the same since Dec 29 2015 (I had to dig through git history to confirm). Quote Some keys are required if your models implement certain other functionality: view (can see the node) is always required (defined as the value 'view') read (can read content items) is always required add (can add content items) is always required reply (can reply to content items) is required if your content items can be commented on review (can review content items) is required if your content items support reviews Note that our documentation states 'read' is always required if you implement permissions in your nodes. Link to comment Share on other sites More sharing options...
CodingJungle Posted September 5, 2017 Author Share Posted September 5, 2017 3 hours ago, bfarber said: The line in question has been the same since Dec 29 2015 (I had to dig through git history to confirm). then what has changed? why am i suddenly since august 29 (shortly after upgrading to 4.2.3) getting these error messages? Link to comment Share on other sites More sharing options...
bfarber Posted September 5, 2017 Share Posted September 5, 2017 Hard for me to say right now, however 'read' perm is a required permission when you implement permissions per the documentation, so I would work on getting it implemented. Link to comment Share on other sites More sharing options...
CodingJungle Posted September 5, 2017 Author Share Posted September 5, 2017 40 minutes ago, bfarber said: Hard for me to say right now, however 'read' perm is a required permission when you implement permissions per the documentation, so I would work on getting it implemented. i have, was just more curious after like a year and a half now, it just started doing this. Link to comment Share on other sites More sharing options...
InvisionHQ Posted October 17, 2017 Share Posted October 17, 2017 I've the same problem with Awards app. In my case I've: /** * @var array */ public static $permissionMap = array( 'view' => 'view', 'add' => 2, 'receive' => 3, 'self' => 4, 'restrict' => 5, 'manage' => 6, 'awarded' => 7 ); It's enough add read in this way? /** * @var array */ public static $permissionMap = array( 'view' => 'view', 'add' => 2, 'receive' => 3, 'self' => 4, 'restrict' => 5, 'manage' => 6, 'awarded' => 7, 'read' => 8 ); Link to comment Share on other sites More sharing options...
Daniel F Posted October 17, 2017 Share Posted October 17, 2017 24 minutes ago, InvisionHQ said: I've the same problem with Awards app. In my case I've: /** * @var array */ public static $permissionMap = array( 'view' => 'view', 'add' => 2, 'receive' => 3, 'self' => 4, 'restrict' => 5, 'manage' => 6, 'awarded' => 7 ); It's enough add read in this way? /** * @var array */ public static $permissionMap = array( 'view' => 'view', 'add' => 2, 'receive' => 3, 'self' => 4, 'restrict' => 5, 'manage' => 6, 'awarded' => 7, 'read' => 8 ); yes Link to comment Share on other sites More sharing options...
InvisionHQ Posted October 17, 2017 Share Posted October 17, 2017 Thanks, If permissions exceed 7, as in my case, is it a good practice to add a column in core_permission_index? Another thing, I do not know if it can be useful but looking at the code I saw that in pages (blocks, fields) the "read" permission is missing. Link to comment Share on other sites More sharing options...
Daniel F Posted October 17, 2017 Share Posted October 17, 2017 Blocks, Fields and several other classes don't need the read permission because they don't contain a contentItemClass I would suggest to take a look at following article where everything is explained. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.