Maintenance électrique le 12 août, nos services, et y compris Gitlab, seront fortement impactés autour de cette date. Retour à un état normal prévu dans le milieu de la semaine prochaine.

Commit 04de9db6 authored by root's avatar root Committed by Maël Kervella

serialisation des alias mail des users ayant activé l'adresse interne

parent 5c433acd
......@@ -608,6 +608,9 @@ class MailAliasSerializer(NamespacedHMSerializer):
fields = ('user', 'valeur', 'complete_mail')
# SERVICE REGEN
......@@ -624,6 +627,17 @@ class ServiceRegenSerializer(NamespacedHMSerializer):
extra_kwargs = {
'api_url': {'view_name': 'serviceregen-detail'}
}
# Configuration mail
class UserMailAliasSerializer(NamespacedHMSerializer):
get_mail_aliases = MailAliasSerializer(read_only=True, many=True)
class Meta:
model = users.User
fields = ('pseudo', 'get_mail_aliases')
# DHCP
......
......@@ -98,6 +98,8 @@ router.register_viewset(r'users/mailalias', views.MailAliasViewSet)
router.register_viewset(r'services/regen', views.ServiceRegenViewSet, base_name='serviceregen')
# DHCP
router.register_view(r'dhcp/hostmacip', views.HostMacIpView),
# Mail config
router.register_view(r'mail/alias', views.UserMailAliasView),
# DNS
router.register_view(r'dns/zones', views.DNSZonesView),
# MAILING
......
......@@ -496,6 +496,17 @@ class ServiceRegenViewSet(viewsets.ModelViewSet):
return queryset
# Server mail config
class UserMailAliasView(generics.ListAPIView):
"""Expose all the aliases of the users that activated the internal address
"""
queryset = users.User.objects.filter(internal_address=True)
serializer_class = serializers.UserMailAliasSerializer
# DHCP
class HostMacIpView(generics.ListAPIView):
......
......@@ -684,6 +684,12 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser,
else:
return str(self.mailalias_set.get(valeur=self.pseudo))
@cached_property
def get_mail_aliases(self):
if self.internal_address:
return self.mailalias_set.all()
return None
def get_next_domain_name(self):
"""Look for an available name for a new interface for
this user by trying "pseudo0", "pseudo1", "pseudo2", ...
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment