X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fchange_pkg.cgi;h=e3ef4b7a85ed6bffd60194ed3ebde527151f9aec;hp=5346fd9d89b75d24ab1405f37247ec8dfef22c62;hb=ff27c3f36240aee48ed50153dd5d8fe3ac3f2443;hpb=b8cfd0780aa40bb07f3215bf9cb58011f5e32a35 diff --git a/httemplate/misc/change_pkg.cgi b/httemplate/misc/change_pkg.cgi index 5346fd9d8..e3ef4b7a8 100755 --- a/httemplate/misc/change_pkg.cgi +++ b/httemplate/misc/change_pkg.cgi @@ -1,66 +1,161 @@ - -<% - -my $pkgnum; -if ( $cgi->param('error') ) { - #$custnum = $cgi->param('custnum'); - #%remove_pkg = map { $_ => 1 } $cgi->param('remove_pkg'); - $pkgnum = ($cgi->param('remove_pkg'))[0]; -} else { - my($query) = $cgi->keywords; - $query =~ /^(\d+)$/; - #$custnum = $1; - $pkgnum = $1; - #%remove_pkg = (); -} +<& /elements/header-popup.html, mt($title) &> + + +<& /elements/error.html &> + +
+ + + +<% mt('Package') |h %> +<% ntable('#cccccc') %> + + + <% mt('Current package') |h %> + + <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><% $part_pkg->pkg |h %> - <% $part_pkg->comment |h %> + + + + <& /elements/tr-select-cust-part_pkg.html, + 'pre_label' => emt('New'), + 'curr_value' => scalar($cgi->param('pkgpart')) || $cust_pkg->pkgpart, + 'classnum' => $part_pkg->classnum, + 'cust_main' => $cust_main, + &> + + <& /elements/tr-input-pkg-quantity.html, + 'curr_value' => scalar($cgi->param('quantity')) || $cust_pkg->quantity + &> + +% if ($use_contract_end) { + <& /elements/tr-input-date-field.html, { + 'name' => 'contract_end', + 'value' => ($cgi->param('contract_end') || $cust_pkg->get('contract_end')), + 'label' => 'Contract End', + } &> +% } + + +
+ +<& /elements/table-cust_pkg_usageprice.html, + 'pkgpart' => (scalar($cgi->param('pkgpart')) || $cust_pkg->pkgpart), + 'pkgnum' => ($cust_pkg->change_to_pkgnum || $pkgnum), +&> + +<% mt('Change') |h %> +<% ntable('#cccccc') %> + + + + param('delay') ? 'CHECKED' : '' %> \ + onclick="delay_changed()"> Now + param('delay') ? 'CHECKED' : '' %> \ + onclick="delay_changed()"> In the future + <& /elements/input-date-field.html, { + 'name' => 'start_date', + 'value' => ($cgi->param('start_date') || $cust_main->next_bill_date), + } &> + + + +
+ + +<% mt('Location') |h %> +<% ntable('#cccccc') %> -my $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } ) - or die "unknown pkgnum $pkgnum"; -my $custnum = $cust_pkg->custnum; + <& /elements/tr-select-cust_location.html, + 'cgi' => $cgi, + 'cust_main' => $cust_main, + &> + + +
+ + +<& /elements/standardize_locations.html, + 'form' => "OrderPkgForm", + 'with_census' => 1, + 'with_census_functions' => 1, + 'callback' => 'document.OrderPkgForm.submit()', +&> + +" + onClick = "this.disabled=true; standardize_new_location();" + <% #scalar($cgi->param('pkgpart')) ? '' : 'DISABLED' %> +> + +
+ + + +<%init> my $conf = new FS::Conf; -my $p1 = popurl(1); +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('Change customer package'); + +my $pkgnum = scalar($cgi->param('pkgnum')); +$pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum"; +$pkgnum = $1; + +my $cust_pkg = + qsearchs({ + 'table' => 'cust_pkg', + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'pkgnum' => $pkgnum }, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, + }) or die "unknown pkgnum $pkgnum"; my $cust_main = $cust_pkg->cust_main or die "can't get cust_main record for custnum ". $cust_pkg->custnum. " ( pkgnum ". cust_pkg->pkgnum. ")"; -my $agent = $cust_main->agent; -print header("Change Package", menubar( - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", - 'Main Menu' => $p, -)); +my $part_pkg = $cust_pkg->part_pkg; -print qq!Error: !, $cgi->param('error'), - "

" - if $cgi->param('error'); +my $title = "Change Package"; -my $part_pkg = $cust_pkg->part_pkg; +my $use_contract_end = $cust_pkg->get('contract_end') ? 1 : 0; -print small_custview( $cust_main, $conf->config('countrydefault') ). - qq!
!. - qq!!. - qq!!. - '
Current package: '. $part_pkg->pkg. ' - '. $part_pkg->comment. - qq!
New package: -
- - -END -%> +