@@ -22,9 +22,8 @@ class InternalEnforcer(CoreEnforcer):
2222
2323 def _add_policy (self , sec , ptype , rule ):
2424 """adds a rule to the current policy."""
25- rule_added = self .model .add_policy (sec , ptype , rule )
26- if not rule_added :
27- return rule_added
25+ if self .model .has_policy (sec , ptype , rule ):
26+ return False
2827
2928 if self .adapter and self .auto_save :
3029 if self .adapter .add_policy (sec , ptype , rule ) is False :
@@ -36,13 +35,15 @@ def _add_policy(self, sec, ptype, rule):
3635 else :
3736 self .watcher .update ()
3837
38+ rule_added = self .model .add_policy (sec , ptype , rule )
39+
3940 return rule_added
4041
4142 def _add_policies (self , sec , ptype , rules ):
4243 """adds rules to the current policy."""
43- rules_added = self . model . add_policies ( sec , ptype , rules )
44- if not rules_added :
45- return rules_added
44+ for rule in rules :
45+ if self . model . has_policy ( sec , ptype , rule ) :
46+ return False
4647
4748 if self .adapter and self .auto_save :
4849 if hasattr (self .adapter , "add_policies" ) is False :
@@ -57,14 +58,12 @@ def _add_policies(self, sec, ptype, rules):
5758 else :
5859 self .watcher .update ()
5960
61+ rules_added = self .model .add_policies (sec , ptype , rules )
62+
6063 return rules_added
6164
6265 def _add_policies_ex (self , sec , ptype , rules ):
6366 """adds rules to the current policy."""
64- rules_added = self .model .add_policies_ex (sec , ptype , rules )
65- if not rules_added :
66- return rules_added
67-
6867 if self .adapter and self .auto_save :
6968 if hasattr (self .adapter , "add_policies_ex" ) is False :
7069 return False
@@ -78,6 +77,8 @@ def _add_policies_ex(self, sec, ptype, rules):
7877 else :
7978 self .watcher .update ()
8079
80+ rules_added = self .model .add_policies_ex (sec , ptype , rules )
81+
8182 return rules_added
8283
8384 def _update_policy (self , sec , ptype , old_rule , new_rule ):
0 commit comments