@@ -41,13 +41,62 @@ module default {
41
41
multi languagesOfConsulting: Language;
42
42
multi fieldRegions: FieldRegion;
43
43
multi countries: Location;
44
+ multi strategicAlliances: Partner {
45
+ constraint exclusive;
46
+ };
47
+
48
+ parent: Partner {
49
+ constraint exclusive;
50
+ };
44
51
45
52
startDate: cal::local_date;
46
53
47
54
departmentIdBlock: Finance::Department::IdBlock {
48
55
on source delete delete target;
49
56
on target delete allow;
50
57
};
58
+
59
+ access policy CanSelectUpdateReadGeneratedFromAppPoliciesForPartner
60
+ allow select, update read using (
61
+ (
62
+ exists (<Role>{'ConsultantManager', 'FieldOperationsDirector', 'LeadFinancialAnalyst', 'Controller', 'FinancialAnalyst', 'ProjectManager', 'RegionalDirector'} intersect global currentRoles)
63
+ or (
64
+ exists (<Role>{'Consultant', 'ConsultantManager', 'FieldPartner'} intersect global currentRoles)
65
+ and .isMember
66
+ )
67
+ or (
68
+ exists (<Role>{'ExperienceOperations', 'Fundraising'} intersect global currentRoles)
69
+ and (
70
+ .isMember
71
+ or .sensitivity <= Sensitivity.Medium
72
+ )
73
+ )
74
+ or (
75
+ Role.Marketing in global currentRoles
76
+ and (
77
+ (
78
+ .isMember
79
+ and .sensitivity <= Sensitivity.Medium
80
+ )
81
+ or .sensitivity <= Sensitivity.Low
82
+ )
83
+ )
84
+ or (
85
+ Role.StaffMember in global currentRoles
86
+ and .sensitivity <= Sensitivity.Low
87
+ )
88
+ )
89
+ );
90
+
91
+ access policy CanInsertGeneratedFromAppPoliciesForPartner
92
+ allow insert using (
93
+ exists (<Role>{'FinancialAnalyst', 'LeadFinancialAnalyst', 'Controller'} intersect global currentRoles)
94
+ );
95
+
96
+ access policy CanDeleteGeneratedFromAppPoliciesForPartner
97
+ allow delete using (
98
+ Role.Controller in global currentRoles
99
+ );
51
100
}
52
101
}
53
102
0 commit comments