diff options
author | Guilhem Moulin <guilhem.moulin@fripost.org> | 2012-04-19 00:12:57 +0200 |
---|---|---|
committer | Guilhem Moulin <guilhem.moulin@fripost.org> | 2012-04-19 00:12:57 +0200 |
commit | 47135d7827c75073278089d43220df48f250b118 (patch) | |
tree | b32e0ee5a3a70eff8836b719928a0c08bad65572 /lib/Fripost/Schema/Type | |
parent | 5f15ee93f79af5af0ee064ffdb5c03f2af14ee3a (diff) |
Search tools.
Diffstat (limited to 'lib/Fripost/Schema/Type')
-rw-r--r-- | lib/Fripost/Schema/Type/Domain.pm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Fripost/Schema/Type/Domain.pm b/lib/Fripost/Schema/Type/Domain.pm index f85ea87..0d2be17 100644 --- a/lib/Fripost/Schema/Type/Domain.pm +++ b/lib/Fripost/Schema/Type/Domain.pm @@ -14,6 +14,8 @@ our $VERSION = '0.01'; # domain is given, returns all domains. # Filters on values of both keys `domain' and `owner' (unless they are # undefined). +# If `owner' is the empty string, serch for non self-managed domains +# only. sub search { my $self = shift; @@ -26,7 +28,14 @@ sub search { my @filters = ('(ObjectClass=virtualDomain)'); push @filters, "(dc=" .$_[0]->{domain}. ")" if defined $_[0]->{domain}; - push @filters, "(owner=" .$owner. ")" if defined $_[0]->{owner}; + if (defined $_[0]->{owner}) { + if ($_[0]->{owner} eq '') { + push @filters, "(!(owner=*))"; + } + else { + push @filters, "(owner=" .$owner. ")"; + } + } my $filter; if ($#filters == 0) { $filter = $filters[0]; |