% && ! $supplemental
% && ! $cust_pkg->get('cancel')
% };
+% my $change_cond = sub { $part_pkg->freq ne '0'
+% && ! $change_from
+% && ! $supplemental
+% && ! $cust_pkg->get('cancel')
+% && $cust_pkg->change_to_pkgnum,
+% };
<& /elements/dropdown-menu.html,
id => 'cust_pkg'. $cust_pkg->pkgnum. '_menu',
#TODO: order/group these better
{ label => 'Package actions',
- content => '<FONT STYLE="text-decoration:underline"><B>Package actions</B></FONT> <IMG SRC="'.$p. 'images/arrow.down.black.png">',
+ content =>
+ '<FONT STYLE="text-decoration:underline;font-weight:bold">'.
+ 'Package actions</FONT>'.
+ ' <IMG SRC="'.$p.'images/arrow.down.black.png">',
},
{ label => 'Modify one-time charge',
acl => 'Change customer package',
condition => $reg_recur_cond,
popup => "misc/change_pkg.cgi?$plink".
- ';locationnum='. $cust_pkg->locationnum.
+ ';locationnum='. $cust_pkg->locationnum,
actionlabel => emt('Change package'),
#width => 768,
width => 960,
- height => 538,
+ height => 640,
},
{ label => 'Discount package',
- condition => sub { $part_pkg->freq ne '0'
- && ! $change_from
+ condition => sub { ! $change_from
&& ! $supplemental
&& ! $cust_pkg->get('cancel')
&& $can_discount_pkg
},
- popup => "edit/cust_pkg_discount.html?$plink".
+ popup => "edit/cust_pkg_discount.html?$plink",
actionlabel => emt('Discount package'),
width => 616,
},
';clone='. $part_pkg->pkgpart,
},
+ { label => '-',
+ content => '-',
+ },
+
{ label => 'View package events',
acl => [ 'Billing event reports',
'View customer billing events', ],
url => "search/cust_event.html?$plink",
},
+ { label => '-',
+ condition => sub { $cust_pkg->exists_cust_event },
+ content => '-',
+ },
+
{ label => 'Change quantity',
acl => 'Change customer package',
condition => sub { $part_pkg->freq ne '0'
height => 220,
},
+ { label => '-',
+ content => '-',
+ },
+
{ label => (@invoice_detail ? 'Edit' : 'Add').
' invoice details',
acl => 'Edit customer package invoice details',
' invoice details'
),
width => 768,
- },
+ },
- { label => (@comments ? 'Edit' : 'Add'). ' comments',
+ { label => (@comments ? 'Edit' : 'Add'). ' comments',
acl => 'Edit customer package comments',
popup => "edit/cust_pkg_detail.html?$plink".
';detailtype=C',
' comments'
),
width => 768,
- },
+ },
+
+ { label => '-',
+ #condition => sub { $part_pkg->freq ne '0' },
+ content => '-',
+ },
+
+ { label => 'Set start date',
+ acl => 'Change package start date',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && ! $cust_pkg->get('setup')
+ },
+ popup => "misc/change_pkg_date.html?$plink".
+ ';field=start_date',
+ actionlabel => emt('Set start of billing for'),
+ width => 510,
+ height => 310,
+ },
+
+ { label => 'Set contract end',
+ acl => 'Change package contract end date',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && ! $cust_pkg->change_to_pkgnum
+ },
+ popup => "misc/change_pkg_date.html?$plink".
+ ';field=contract_end',
+ actionlabel => emt('Set contract end for'),
+ width => 510,
+ height => 310,
+ },
+
+ { label => '-',
+ condition => sub { $part_pkg->freq ne '0' },
+ content => '-',
+ },
+
+ { label => 'Change now',
+ acl => 'Change customer package',
+ condition => $change_cond,
+ url => "misc/change_pkg_now.cgi?$pkgnum",
+ },
+
+ { label => 'Reschedule',
+ acl => 'Change customer package',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && $cust_pkg->change_to_pkgnum,
+ },
+ popup => "misc/change_pkg.html?$plink",
+ actionlabel => emt('Edit scheduled change for'),
+ url => "misc/change_pkg_now.cgi?$pkgnum",
+ width => 960,
+ height => 490,
+
+ },
+
+ { label => 'Abort change',
+ acl => 'Change customer package',
+ condition => $change_cond,
+ url => "misc/do_not_change_pkg.cgi?$pkgnum",
+ },
+
+ { label => '-',
+ acl => 'Change customer package',
+ condition => $change_cond,
+ content => '-',
+ },
+
+ { label => 'Suspend now',
+ acl => 'Suspend customer package',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && ! $cust_pkg->get('susp')
+ },
+ popup => "misc/cancel_pkg.html?method=suspend;$plink",
+ actionlabel => emt('Suspend now'),
+ color => '#FF9900',
+ width => 768,
+ height => 420,
+ },
- { label => '-',
- content => '-',
+ { label => 'Suspend later',
+ acl => 'Suspend customer package later',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && ! $cust_pkg->get('susp')
+ },
+ popup => "misc/cancel_pkg.html?method=adjourn;$plink",
+ actionlabel => emt('Suspend later'),
+ color => '#CC6600',
+ width => 768,
+ height => 445,
},
+ { label => $cust_pkg->dundate
+ ? 'Edit suspension delay'
+ : 'Delay suspend',
+
+ acl => 'Delay suspension events',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && ! $cust_pkg->get('susp')
+ },
+ popup => "misc/delay_susp_pkg.html?$plink",
+ actionlabel => emt('Delay suspend for'),
+ width => 768,
+ },
+
+ { label => 'Start billing',
+ acl => 'Unsuspend customer package',
+ condition => sub { ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && $cust_pkg->get('susp')
+ && $cust_pkg->order_date == $cust_pkg->get('susp')
+ },
+ popup => "misc/unhold_pkg.html?$plink",
+ actionlabel => emt('Start billing'),
+ color => '#00CC00',
+ width => 510,
+ height => 310,
+ },
+
+ { label => 'Unsuspend now',
+ acl => 'Unsuspend customer package',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && $cust_pkg->get('susp')
+ && $cust_pkg->order_date != $cust_pkg->get('susp')
+ },
+ 'url' => "misc/unsusp_pkg.cgi?$pkgnum",
+ },
+
+ { label => 'Unsuspend later',
+ acl => 'Unsuspend customer package',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && $cust_pkg->get('susp')
+ && $cust_pkg->order_date != $cust_pkg->get('susp')
+ },
+ popup => "misc/cancel_pkg.html?method=resume;$plink",
+ actionlabel => emt('Unsuspend later'),
+ color => '#00CC00',
+ width => 768,
+ },
+
+ { label => '-',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->get('cancel')
+ && ! $cust_pkg->get('susp')
+ },
+ content => '-',
+ },
+
+ { label => 'Cancel now',
+ acl => 'Cancel customer package immediately',
+ condition => sub {
+ ( $part_pkg->freq ne '0' || ! $cust_pkg->get('setup') )
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->change_to_pkgnum
+ && ! $cust_pkg->get('cancel')
+ },
+ popup => "misc/cancel_pkg.html?method=cancel;$plink",
+ actionlabel => emt('Cancel now'),
+ color => '#FF0000',
+ width => 768,
+ },
+
+ { label => 'Cancel later',
+ acl => 'Cancel customer package later',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $change_from
+ && ! $supplemental
+ && ! $cust_pkg->change_to_pkgnum
+ && ! $cust_pkg->get('cancel')
+ },
+ popup => "misc/cancel_pkg.html?method=expire;$plink",
+ actionlabel => emt('Cancel later'),
+ color => '#CC0000',
+ width => 768,
+ },
+
+ { label => 'Un-cancel',
+ acl => 'Un-cancel customer package',
+ condition => sub { $part_pkg->freq ne '0'
+ && ! $supplemental
+ && ! $cust_pkg->change_custnum
+ && $cust_pkg->get('cancel')
+ },
+ popup => "misc/cancel_pkg.html?method=uncancel;$plink",
+ actionlabel => emt('Un-cancel'),
+ width => 960,
+ height => 740,
+
+ },
+
+ { label => '-',
+ condition => sub {
+ ( $part_pkg->freq ne '0' || ! $cust_pkg->get('setup') )
+ && ! $change_from
+ && ! $cust_pkg->get('cancel')
+ },
+ content => '-',
+ },
+
+ { label => 'Add contact',
+ #acl => 'Add package contact',#or something like that
+ condition => sub { ! $cust_pkg->get('cancel') },
+ popup => "misc/change_pkg_contact.html?$plink",
+ actionlabel => emt('Add contact'),
+ width => 616,
+ height => 200,
+ },
+
+ { label => 'Change location',
+ acl => 'Change customer package',
+ condition => sub { ! $change_from },
+ popup => "misc/change_pkg.cgi?locationnum=-1;$plink;".
+ "address1=;address2=;city=;county=;state=$statedefault;".
+ "zip=;country=$countrydefault",
+ actionlabel => emt('Change location'),
+ width => 960,
+ height => 640,
+ },
+
+ { label => 'Edit location',
+ acl => 'Change customer package',
+ condition => sub { ! $change_from && $cust_pkg->locationnum != $cust_pkg->cust_main->ship_locationnum },
+ popup => 'edit/cust_location.cgi?locationnum='.
+ $cust_pkg->locationnum,
+ actionlabel => emt('Edit location'),
+ width => 700,
+ height => 355,
+ },
],
],