diff --git a/mailadmin/permissions.py b/mailadmin/permissions.py index ea4c6d1..d3337fc 100644 --- a/mailadmin/permissions.py +++ b/mailadmin/permissions.py @@ -50,6 +50,6 @@ class DestinationPrefixOwner(permissions.BasePermission): if len(my_prefixes) == 0: return False # Prepare regular expression - regexp = '|'.join(['{0}-'.format(p) for p in my_prefixes]) + regexp = '|'.join(['^{0}-'.format(p) for p in my_prefixes]) # The destination should have at least one match with the prefix regexp return re.search(regexp, fw.data['dest']) is not None \ No newline at end of file diff --git a/mailadmin/views.py b/mailadmin/views.py index 5246e31..fe6bdb5 100644 --- a/mailadmin/views.py +++ b/mailadmin/views.py @@ -67,8 +67,7 @@ class ForwardsViewSet(viewsets.ViewSet): my_prefixes = orgunits.values_list('prefix', flat=True) # Prepare regular expression - regexp = '|'.join(['{0}-'.format(p) for p in my_prefixes]) - + regexp = '|'.join(['^{0}-'.format(p) for p in my_prefixes]) if len(my_prefixes) == 0: return Response({'result': 'No results'}) # Need at least one