def reset_api_key(modeladmin, request, queryset): DynamicZone = cache.get_model('powerdns_manager', 'DynamicZone') n = queryset.count() for domain_obj in queryset: # Only one DynamicZone instance for each Domain dz = DynamicZone.objects.get(domain=domain_obj) if dz.api_key: dz.api_key = generate_api_key() dz.save() else: messages.error(request, 'Zone is not dynamic: %s' % domain_obj.name) n = n - 1 if n: messages.info(request, 'Successfully updated %d domains.' % n)
def save(self, *args, **kwargs): """Saves the instance to the database. If ``is_dynamic`` has been enabled and if ``api_key`` is empty, then generate a new API key. If ``api_key`` is not empty, do nothing. If ``is_dynamic`` is not enabled, always set ``api_key`` to NULL. """ if self.is_dynamic: if not self.api_key: self.api_key = generate_api_key() else: self.api_key = None return super(DynamicZone, self).save(*args, **kwargs)
def reset_api_key(modeladmin, request, queryset): if not modeladmin.has_change_permission(request): raise PermissionDenied DynamicZone = get_model('powerdns_manager', 'DynamicZone') n = queryset.count() for domain_obj in queryset: # Only one DynamicZone instance for each Domain try: dz = DynamicZone.objects.get(domain=domain_obj) except DynamicZone.DoesNotExist: messages.error(request, 'Zone is not dynamic: %s' % domain_obj.name) n = n - 1 else: if dz.api_key: dz.api_key = generate_api_key() dz.save() else: messages.error(request, 'Zone is not dynamic: %s' % domain_obj.name) n = n - 1 if n: messages.info(request, 'Successfully reset the API key of %d domains.' % n)
def reset_api_key(modeladmin, request, queryset): if not modeladmin.has_change_permission(request): raise PermissionDenied DynamicZone = cache.get_model('powerdns_manager', 'DynamicZone') n = queryset.count() for domain_obj in queryset: # Only one DynamicZone instance for each Domain try: dz = DynamicZone.objects.get(domain=domain_obj) except DynamicZone.DoesNotExist: messages.error(request, 'Zone is not dynamic: %s' % domain_obj.name) n = n - 1 else: if dz.api_key: dz.api_key = generate_api_key() dz.save() else: messages.error(request, 'Zone is not dynamic: %s' % domain_obj.name) n = n - 1 if n: messages.info(request, 'Successfully reset the API key of %d domains.' % n)