Skip to content

Commit ab008c0

Browse files
committed
Add checks for assets are assigned to roles that already have been assigned inaction.py
1 parent f133c51 commit ab008c0

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

famodel/irma/action.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,9 @@ def checkAsset(self, role_name, asset):
271271
# Make sure role_name is valid for this action
272272
if not role_name in self.assets.keys():
273273
raise Exception(f"The specified role '{role_name}' is not a named in this action.")
274+
275+
if self.assets[role_name] is not None:
276+
return False, f"Role '{role_name}' is already filled in action '{self.name}'."
274277

275278
for capability in self.requirements[role_name].keys():
276279

@@ -429,6 +432,9 @@ def assignAsset(self, role_name, asset):
429432
if not role_name in self.assets.keys():
430433
raise Exception(f"The specified role name '{role_name}' is not in this action.")
431434

435+
if self.assets[role_name] is not None:
436+
raise Exception(f"Role '{role_name}' is already filled in action '{self.name}'.")
437+
432438
assignable, message = self.checkAsset(role_name, asset)
433439
if assignable:
434440
self.assets[role_name] = asset

0 commit comments

Comments
 (0)