tyop;
authorivan <ivan>
Sat, 10 Jul 2004 14:31:00 +0000 (14:31 +0000)
committerivan <ivan>
Sat, 10 Jul 2004 14:31:00 +0000 (14:31 +0000)
FS/FS/ClientAPI/MyAccount.pm
FS/FS/cust_svc.pm
FS/FS/part_pkg.pm

index 58ab6c0..ceb1e65 100644 (file)
@@ -212,7 +212,41 @@ sub payment_info {
   my $session = $cache->get($p->{'session_id'})
     or return { 'error' => "Can't resume session" }; #better error message
 
-  my %return;
+  ##
+  #generic
+  ##
+
+  my $conf = new FS::Conf;
+  my %states = map { $_->state => 1 }
+                 qsearch('cust_main_county', {
+                   'country' => $conf->config('defaultcountry') || 'US'
+                 } );
+
+  use vars qw($payment_info); #cache for performance
+  $payment_info ||= {
+
+    #list all counties/states/countries
+    'cust_main_county' => 
+      [ map { $_->hashref } qsearch('cust_main_county', {}) ],
+
+    #shortcut for one-country folks
+    'states' =>
+      [ sort { $a cmp $b } keys %states ],
+
+    'card_types' => {
+      'VISA' => 'VISA card',
+      'MasterCard' => 'MasterCard',
+      'Discover' => 'Discover card',
+      'American Express' => 'American Express card',
+    },
+
+  };
+
+  ##
+  #customer-specific
+  ##
+
+  my %return = %$payment_info;
 
   my $custnum = $session->{'custnum'};
 
@@ -236,25 +270,7 @@ sub payment_info {
 
   }
 
-  #list all counties/states/countries
-  $return{'cust_main_county'} = 
-      [ map { $_->hashref } qsearch('cust_main_county', {}) ];
-
-  #shortcut for one-country folks
-  my $conf = new FS::Conf;
-  my %states = map { $_->state => 1 }
-                 qsearch('cust_main_county', {
-                   'country' => $conf->config('defaultcountry') || 'US'
-                 } );
-  $return{'states'} = [ sort { $a cmp $b } keys %states ];
-
-  $return{card_types} = {
-    'VISA' => 'VISA card',
-    'MasterCard' => 'MasterCard',
-    'Discover' => 'Discover card',
-    'American Express' => 'American Express card',
-  };
-
+  #doubleclick protection
   my $_date = time;
   $return{paybatch} = "webui-MyAccount-$_date-$$-". rand() * 2**32;
 
index 384b23a..7ee9b3f 100644 (file)
@@ -11,7 +11,7 @@ use FS::pkg_svc;
 use FS::svc_acct;
 use FS::svc_domain;
 use FS::svc_forward;
-use FS::svc_broadband
+use FS::svc_broadband;
 use FS::svc_external;
 use FS::domain_record;
 use FS::part_export;
index dcce66b..df1f02e 100644 (file)
@@ -262,7 +262,9 @@ definition (with non-zero quantity).
 
 sub pkg_svc {
   my $self = shift;
-  grep { $_->quantity } qsearch( 'pkg_svc', { 'pkgpart' => $self->pkgpart } );
+  #sort { $b->primary cmp $a->primary } 
+    grep { $_->quantity }
+      qsearch( 'pkg_svc', { 'pkgpart' => $self->pkgpart } );
 }
 
 =item svcpart [ SVCDB ]