def policy_removed(instance, post_funcs): """if a policy is removed this will be called automatically """ print "removing access policy " + `instance` if instance.group: users = instance.group.users elif instance.policygroup: users = instance.policygroup.users elif instance.tariff: users = tariff_users(instance.tariff) for user in users: if user.active: access_policies = user.access_policies if instance.id in access_policies: access_policies.remove(int(instance.id)) user.access_policies = access_policies else: access_policies = user.disabled_policies if instance.id in access_policies: access_policies.remove(int(instance.id)) user.disabled_policies = access_policies
def policy_added(instance): """if an access_policy is added this will be called automatically afterwards """ print "adding an access policy " + `instance.id` if instance.group: users = instance.group.users elif instance.policygroup: users = instance.policygroup.users elif instance.tariff: users = tariff_users(instance.tariff) for user in users: if user.active: access_policies = user.access_policies if instance.id not in access_policies: access_policies.append(int(instance.id)) user.access_policies = access_policies else: access_policies = user.disabled_policies if instance.id not in access_policies: access_policies.append(int(instance.id)) user.disabled_policies = access_policies