4 use vars qw( $opt_c $opt_p $opt_b $opt_d $opt_s $opt_t );
6 use FS::UID qw(adminsuidsetup);
7 use FS::Record qw(qsearch);
10 getopts('cp:b:d:s:t:');
12 my $user = shift or &usage;
17 $search{payby} = [ split(/\s*,\s*/, $opt_p) ] if $opt_p;
18 $search{balance} = $opt_b if $opt_b;
19 $search{balance_days} = $opt_d if $opt_d;
20 $search{svcpart} = [ split(/\s*,\s*/, $opt_s) ] if $opt_s;
21 $search{cust_status} = lc($opt_t) if $opt_t;
23 my @svc_phone = qsearch( FS::svc_phone->search(\%search) );
25 foreach my $svc_phone (@svc_phone) {
26 print $svc_phone->countrycode if $opt_c;
27 print $svc_phone->phonenum. "\n";
31 die "usage: freeside-phonenum_list [ -c ] [ -p payby,payby... ] [ -b balance [ -d balance_days ] ] [ -s svcpart,svcpart... ] username \n";
36 freeside-phonenum_list
39 freeside-phonenum_list [ -c ] [ -p payby,payby... ] [ -b balance [ -d balance_days ] ] [ -s svcpart,svcpart... ] username
43 Command-line tool to list phone numbers.
45 -c: Include country code in results
47 -p: Customer payby (CARD, BILL, etc.). Separate multiple values with commas.
49 -b: Customer balance over (or equal to) this amount
51 -d: Customer balance age over this many days
53 -s: Service definition (svcpart). Separate multiple values with commas.
55 -t: Customer status: prospect, active, ordered, inactive, suspended or cancelled
57 username: Employee username
63 L<FS::svc_phone>, L<FS::cust_main>