ported r762 from trunk:


			
			
				1.1@3605
			
			
				1.1.0@772
			
		
Daniel Tiefnig 19 years ago
parent a8ec4d0ef4
commit 1d69146c79

@ -38,14 +38,67 @@ sub search : Local {
$c->stash->{template} = 'tt/subscriber.tt';
my $limit = 10;
my %filter;
my %exact;
if($c->request->params->{use_session}) {
%filter = %{ $c->session->{search_filter} };
%exact = %{ $c->session->{exact_filter} };
} else {
if(defined $c->request->params->{search_user} and length $c->request->params->{search_user}) {
$filter{username} = $c->request->params->{search_user};
unless($c->request->params->{exact_user}) {
$filter{username} =~ s/^\%*/\%/;
$filter{username} =~ s/\%*$/\%/;
} else {
$exact{username} = 1;
}
}
if(defined $c->request->params->{search_e164} and length $c->request->params->{search_e164}) {
$filter{number} = $c->request->params->{search_e164};
unless($c->request->params->{exact_e164}) {
$filter{number} =~ s/^\%*/\%/;
$filter{number} =~ s/\%*$/\%/;
} else {
$exact{number} = 1;
}
}
if(defined $c->request->params->{search_uuid} and length $c->request->params->{search_uuid}) {
$filter{uuid} = $c->request->params->{search_uuid};
unless($c->request->params->{exact_uuid}) {
$filter{uuid} =~ s/^\%*/\%/;
$filter{uuid} =~ s/\%*$/\%/;
} else {
$exact{uuid} = 1;
}
}
}
$c->session->{search_filter} = \%filter;
$c->session->{exact_filter} = \%exact;
$c->stash->{exact_user} = $exact{username};
$c->stash->{exact_e164} = $exact{number};
$c->stash->{exact_uuid} = $exact{uuid};
$c->stash->{search_user} = $filter{username};
$c->stash->{search_e164} = $filter{number};
$c->stash->{search_uuid} = $filter{uuid};
$c->stash->{search_user} =~ s/^\%*(.*?)\%*$/$1/ if defined $c->stash->{search_user};
$c->stash->{search_e164} =~ s/^\%*(.*?)\%*$/$1/ if defined $c->stash->{search_e164};
$c->stash->{search_uuid} =~ s/^\%*(.*?)\%*$/$1/ if defined $c->stash->{search_uuid};
unless(keys %filter) {
$c->session->{messages}{toperr} = 'Web.MissingSearchString';
return;
}
my $searchstring = $c->request->params->{search_string};
my $offset = $c->request->params->{offset} || 0;
$offset = 0 if $offset !~ /^\d+$/;
my $subscriber_list;
return unless $c->model('Provisioning')->call_prov( $c, 'billing', 'search_subscribers',
{ filter => { username => '%'.$searchstring.'%',
{ filter => { %filter,
limit => $limit,
offset => $limit * $offset,
},
@ -53,7 +106,6 @@ sub search : Local {
\$subscriber_list
);
$c->stash->{search_string} = $searchstring;
$c->stash->{searched} = 1;
if(ref $$subscriber_list{subscribers} eq 'ARRAY' and @{$$subscriber_list{subscribers}}) {
$c->stash->{subscriber_list} = $$subscriber_list{subscribers};

@ -258,3 +258,32 @@ h3 {
#contentplace .pagination li.nextpage a:after {
content: "";
}
/* colorful table rows */
#contentplace .tr_alt {
background-color: #ccffcc;
}
#contentplace .orders,
#contentplace .contracts,
#contentplace .order_payments
{
width: 100%;
border-spacing: 0px;
}
#contentplace .table_name {
font-weight: bold;
white-space: nowrap;
text-align: center;
}
/* align search labels and text fields */
#contentplace .search_subscriber .search_label {
float: left;
min-width: 100px;
margin-top: 3px;
}
#contentplace .search_subscriber input {
margin: 3px 0;
}

@ -1,7 +1,22 @@
<h3>Search Subscribers</h3>
<h3>Search subscribers</h3>
<div class="p1">
<form action="/subscriber/search" method="post">
<input type="text" id="search_subscriber" name="search_string" value="[% search_string %]" />
<form action="/subscriber/search" method="post" class="search_subscriber">
<label class="search_label" for="search_by_username">Username:</label>
<input type="text" id="search_by_username" name="search_user" value="[% search_user %]" />
<input type="checkbox" id="exact_user" name="exact_user" [% IF exact_user %]checked="checked"[% END %] />
<label for="exact_user">exact match</label><br />
<label class="search_label" for="search_by_e164">E.164 number:</label>
<input type="text" id="search_by_e164" name="search_e164" value="[% search_e164 %]" />
<input type="checkbox" id="exact_e164" name="exact_e164" [% IF exact_e164 %]checked="checked"[% END %] />
<label for="exact_e164">exact match</label><br />
<label class="search_label" for="search_by_uuid">UUID:</label>
<input type="text" id="search_by_uuid" name="search_uuid" value="[% search_uuid %]" />
<input type="checkbox" id="exact_uuid" name="exact_uuid" [% IF exact_uuid %]checked="checked"[% END %]/>
<label for="exact_uuid">exact match</label><br />
<input type="submit" value="Search &#187;" class="but" />
</form>
</div>
@ -41,7 +56,7 @@
<li class="disablepage">&#171; prev</li>
[% ELSE %]
<li class="nextpage">
<a href="/subscriber/search?search_string=[% search_string %]&amp;offset=[% offset - 1 %]">&#171; prev</a>
<a href="/subscriber/search?use_session=1&amp;offset=[% offset - 1 %]">&#171; prev</a>
</li>
[% END %]
[% FOREACH pagine = pagination %]
@ -53,8 +68,7 @@
...
[% ELSE %]
<li>
<a href="/subscriber/search?search_string=[% search_string
%]&amp;offset=[% pagine.offset %]">[% pagine.offset + 1 %]</a>
<a href="/subscriber/search?use_session=1&amp;offset=[% pagine.offset %]">[% pagine.offset + 1 %]</a>
</li>
[% END %]
[% END %]
@ -64,7 +78,7 @@
</li>
[% ELSE %]
<li class="nextpage">
<a href="/subscriber/search?search_string=[% search_string %]&amp;offset=[% offset + 1 %]">next &#187;</a>
<a href="/subscriber/search?use_session=1&amp;offset=[% offset + 1 %]">next &#187;</a>
</li>
[% END %]
</ul>

Loading…
Cancel
Save