From ddb83a1b58b8887bbfafff2f683677adb64b0305 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Tue, 15 Sep 2020 19:52:09 +0000 Subject: [PATCH] Only change group membership if cert changes --- apiserver/apiserver/api/serializers.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/apiserver/apiserver/api/serializers.py b/apiserver/apiserver/api/serializers.py index 54d9f52..fa93b4e 100644 --- a/apiserver/apiserver/api/serializers.py +++ b/apiserver/apiserver/api/serializers.py @@ -197,16 +197,20 @@ class AdminMemberSerializer(MemberSerializer): def update(self, instance, validated_data): if 'rabbit_cert_date' in validated_data: - if validated_data['rabbit_cert_date']: - utils_ldap.add_to_group(instance, 'Laser Users') - else: - utils_ldap.remove_from_group(instance, 'Laser Users') + changed = validated_data['rabbit_cert_date'] != instance.rabbit_cert_date + if changed: + if validated_data['rabbit_cert_date']: + utils_ldap.add_to_group(instance, 'Laser Users') + else: + utils_ldap.remove_from_group(instance, 'Laser Users') if 'trotec_cert_date' in validated_data: - if validated_data['trotec_cert_date']: - utils_ldap.add_to_group(instance, 'Trotec Users') - else: - utils_ldap.remove_from_group(instance, 'Trotec Users') + changed = validated_data['trotec_cert_date'] != instance.trotec_cert_date + if changed: + if validated_data['trotec_cert_date']: + utils_ldap.add_to_group(instance, 'Trotec Users') + else: + utils_ldap.remove_from_group(instance, 'Trotec Users') return super().update(instance, validated_data)