summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2002-04-22 20:47:21 +0000
committerivan <ivan>2002-04-22 20:47:21 +0000
commit6fa9f6fe4cd0b090ea1f0b6236a00241070d0bdc (patch)
treeccdba2fa7c3cf6c3891866d695f552c218bc3235
parentffe9f4473c5c9c7cb7caeaa5b39160d7b3e8d137 (diff)
- check agentnum ability to order packages in FS::cust_pkg, not signup server
- order by recur price in signup-alternate template
-rw-r--r--FS/FS/cust_pkg.pm10
-rwxr-xr-xfs_signup/FS-SignupClient/cgi/signup-alternate.html4
-rwxr-xr-xfs_signup/fs_signup_server7
3 files changed, 11 insertions, 10 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 0fc2147..b7633c1 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -139,7 +139,13 @@ sub insert {
my $error = $self->ut_number('custnum');
return $error if $error;
- return "Unknown customer ". $self->custnum unless $self->cust_main;
+ my $cust_main = $self->cust_main;
+ return "Unknown customer ". $self->custnum unless $cust_main;
+
+ my $agent = qsearchs( 'agent', { 'agentnum' => $cust_main->agentnum } );
+ my $pkgpart_href = $agent->pkgpart_hashref;
+ return "agent ". $agent->agentnum. " can't purchase pkgpart ". $self->pkgpart
+ unless $pkgpart_href->{ $self->{pkgpart} };
$self->SUPER::insert;
@@ -695,7 +701,7 @@ sub order {
=head1 VERSION
-$Id: cust_pkg.pm,v 1.18 2002-04-20 02:06:38 ivan Exp $
+$Id: cust_pkg.pm,v 1.19 2002-04-22 20:47:21 ivan Exp $
=head1 BUGS
diff --git a/fs_signup/FS-SignupClient/cgi/signup-alternate.html b/fs_signup/FS-SignupClient/cgi/signup-alternate.html
index bb013b9..490cefa 100755
--- a/fs_signup/FS-SignupClient/cgi/signup-alternate.html
+++ b/fs_signup/FS-SignupClient/cgi/signup-alternate.html
@@ -108,7 +108,9 @@ ENDOUT
my %pkgpart2payby = map { $_->{pkgpart} => $_->{payby}[0] } @{$packages};
tie my %options, 'Tie::IxHash',
'' => '(none)',
- map { $_->{pkgpart} => $_->{pkg} } @{$packages}
+ map { $_->{pkgpart} => $_->{pkg} }
+ sort { $a->{recur} <=> $b->{recur} }
+ @{$packages}
;
use HTML::Widgets::SelectLayers 0.02;
diff --git a/fs_signup/fs_signup_server b/fs_signup/fs_signup_server
index 089cfde..b823d30 100755
--- a/fs_signup/fs_signup_server
+++ b/fs_signup/fs_signup_server
@@ -147,13 +147,6 @@ while (1) {
or $error ||= "WARNING: unknown pkgpart ". $signup_data->{pkgpart};
my $svcpart = $part_pkg->svcpart unless $error;
- # this should wind up in FS::cust_pkg!
- my $agent = qsearchs( 'agent', { 'agentnum' => $agentnum } );
- #my $pkgpart_href = $agent->pkgpart_hashref;
- $error ||= "WARNING: agent $agentnum can't purchase pkgpart ".
- $signup_data->{pkgpart}
- unless $pkgpart_href->{ $signup_data->{pkgpart} };
-
my $cust_pkg = new FS::cust_pkg ( {
#later#'custnum' => $custnum,
'pkgpart' => $signup_data->{'pkgpart'},