Skip to content

Commit 369755d

Browse files
committed
remove permission inheritance
1 parent a2aa489 commit 369755d

File tree

3 files changed

+1
-70
lines changed

3 files changed

+1
-70
lines changed

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/helper/PermissionHelper.xtend

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
11
package org.zikula.modulestudio.generator.cartridges.symfony.controller.helper
22

33
import de.guite.modulestudio.metamodel.Application
4-
import de.guite.modulestudio.metamodel.Entity
5-
import de.guite.modulestudio.metamodel.ManyToManyPermissionInheritanceType
6-
import de.guite.modulestudio.metamodel.ManyToManyRelationship
7-
import de.guite.modulestudio.metamodel.Relationship
84
import org.zikula.modulestudio.generator.application.IMostFileSystemAccess
95
import org.zikula.modulestudio.generator.application.ImportList
106
import org.zikula.modulestudio.generator.extensions.ControllerExtensions
117
import org.zikula.modulestudio.generator.extensions.FormattingExtensions
128
import org.zikula.modulestudio.generator.extensions.ModelBehaviourExtensions
13-
import org.zikula.modulestudio.generator.extensions.ModelJoinExtensions
14-
import org.zikula.modulestudio.generator.extensions.NamingExtensions
159
import org.zikula.modulestudio.generator.extensions.Utils
1610

1711
class PermissionHelper {
1812

1913
extension ControllerExtensions = new ControllerExtensions
2014
extension FormattingExtensions = new FormattingExtensions
2115
extension ModelBehaviourExtensions = new ModelBehaviourExtensions
22-
extension ModelJoinExtensions = new ModelJoinExtensions
23-
extension NamingExtensions = new NamingExtensions
2416
extension Utils = new Utils
2517

2618
def generate(Application it, IMostFileSystemAccess fsa) {
@@ -120,17 +112,6 @@ class PermissionHelper {
120112
$objectType = $entity->get_objectType();
121113
$instance = $entity->getKey() . '::';
122114

123-
«IF hasEntitiesInheritingPermissions»
124-
// check inherited permissions
125-
«FOR entity : getEntitiesInheritingPermissions»
126-
if ('«entity.name.formatForCode»' === $objectType) {
127-
«FOR relation : entity.getBidirectionalIncomingPermissionInheriters»
128-
«entity.inheritedPermissionCheck(relation)»
129-
«ENDFOR»
130-
}
131-
«ENDFOR»
132-
133-
«ENDIF»
134115
return $this->permissionApi->hasPermission(
135116
'«appName»:' . ucfirst($objectType) . ':',
136117
$instance,
@@ -158,46 +139,6 @@ class PermissionHelper {
158139
«ENDIF»
159140
'''
160141
161-
def private hasEntitiesInheritingPermissions(Application it) {
162-
!getEntitiesInheritingPermissions.empty
163-
}
164-
165-
def private getEntitiesInheritingPermissions(Application it) {
166-
entities.filter[!getBidirectionalIncomingPermissionInheriters.empty]
167-
}
168-
169-
def dispatch private inheritedPermissionCheck(Entity it, Relationship relation) '''
170-
if (null !== $entity->get«relation.getRelationAliasName(false).formatForCodeCapital»()) {
171-
$parent = $entity->get«relation.getRelationAliasName(false).formatForCodeCapital»();
172-
if (!$this->hasEntityPermission($parent, $permissionLevel, $userId)) {
173-
return false;
174-
}
175-
}
176-
'''
177-
178-
def dispatch private inheritedPermissionCheck(Entity it, ManyToManyRelationship relation) '''
179-
«IF relation.inheritPermissions == ManyToManyPermissionInheritanceType.AFFIRMATIVE»
180-
$parentAccess = false;
181-
«ENDIF»
182-
foreach ($entity->get«relation.getRelationAliasName(false).formatForCodeCapital»() as $parent) {
183-
«IF relation.inheritPermissions == ManyToManyPermissionInheritanceType.AFFIRMATIVE»
184-
if ($this->hasEntityPermission($parent, $permissionLevel, $userId)) {
185-
$parentAccess = true;
186-
break;
187-
}
188-
«ELSEIF ManyToManyPermissionInheritanceType.UNANIMOUS == relation.inheritPermissions»
189-
if (!$this->hasEntityPermission($parent, $permissionLevel, $userId)) {
190-
return false;
191-
}
192-
«ENDIF»
193-
}
194-
«IF ManyToManyPermissionInheritanceType.AFFIRMATIVE == relation.inheritPermissions»
195-
if (true !== $parentAccess) {
196-
return false;
197-
}
198-
«ENDIF»
199-
'''
200-
201142
def private helperMethods(Application it) '''
202143
/**
203144
* Checks if a certain permission level is granted for the given object type.

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/extensions/ModelJoinExtensions.xtend

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import de.guite.modulestudio.metamodel.Application
44
import de.guite.modulestudio.metamodel.CascadeType
55
import de.guite.modulestudio.metamodel.Entity
66
import de.guite.modulestudio.metamodel.Field
7-
import de.guite.modulestudio.metamodel.ManyToManyPermissionInheritanceType
87
import de.guite.modulestudio.metamodel.ManyToManyRelationship
98
import de.guite.modulestudio.metamodel.ManyToOneRelationship
109
import de.guite.modulestudio.metamodel.OneToManyRelationship
@@ -68,15 +67,6 @@ class ModelJoinExtensions {
6867
+ incoming.filter(ManyToManyRelationship).filter[bidirectional]
6968
}
7069

71-
/**
72-
* Returns a list of all incoming bidirectional join relations which inherit permissions.
73-
*/
74-
def getBidirectionalIncomingPermissionInheriters(Entity it) {
75-
incoming.filter(OneToOneRelationship).filter[bidirectional && inheritPermissions]
76-
+ incoming.filter(OneToManyRelationship).filter[bidirectional && inheritPermissions]
77-
+ incoming.filter(ManyToManyRelationship).filter[bidirectional && inheritPermissions != ManyToManyPermissionInheritanceType.NONE]
78-
}
79-
8070
/**
8171
* Returns a list of all incoming bidirectional join relations (excluding inheritance)
8272
* which are not nullable.

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/extensions/ViewExtensions.xtend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class ViewExtensions {
5858

5959
if (standardFields) weight = weight + 1
6060
if (geographical) weight = weight + 1
61-
//if (tree != EntityTreeType.NONE) weight = weight + 1
61+
//if (tree) weight = weight + 1
6262
weight
6363
}
6464

0 commit comments

Comments
 (0)