X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fview%2Fcust_main%2Fmenu.html;h=ff001bb67e818c16535ecf2fff9762535708c872;hb=0ed195595b5c7ea404c8848d9d1881ada4214489;hp=baea3ad240e30409be66877f5695d787fb259ff2;hpb=d98e4631640eaaf28b4c022efedd49b640a283c6;p=freeside.git
diff --git a/httemplate/view/cust_main/menu.html b/httemplate/view/cust_main/menu.html
index baea3ad24..ff001bb67 100644
--- a/httemplate/view/cust_main/menu.html
+++ b/httemplate/view/cust_main/menu.html
@@ -1,43 +1,39 @@
@@ -119,6 +112,9 @@ my $conf = FS::Conf->new;
my %payby = map { $_ => 1 } $conf->config('payby');
+# cached for conditions, to avoid looking it up twice
+my $invoicing_list_emailonly = $cust_main->invoicing_list_emailonly;
+
# nice declarative menu; should be a parameter to some kind of menu generator
my @menu = (
[
@@ -127,12 +123,12 @@ my @menu = (
},
{
label => 'Edit customer',
- url => 'edit/cust_main.cgi?$custnum',
+ url => "edit/cust_main.cgi?$custnum",
acl => 'Edit customer'
},
{
label => 'Edit contacts',
- url => 'edit/cust_main-contacts.html?$custnum',
+ url => "edit/cust_main-contacts.html?$custnum",
},
# separator
{
@@ -147,7 +143,7 @@ my @menu = (
},
{
label => 'Suspend',
- popup => 'misc/suspend_cust.html?custnum=$custnum',
+ popup => "misc/suspend_cust.html?custnum=$custnum",
acl => 'Suspend customer',
condition => sub { shift->unsuspended_pkgs > 0 },
actionlabel => 'Confirm Suspension',
@@ -155,14 +151,14 @@ my @menu = (
},
{
label => 'Unsuspend',
- popup => 'misc/unsuspend_cust.html?custnum=$custnum',
+ popup => "misc/unsuspend_cust.html?custnum=$custnum",
acl => 'Unsuspend customer',
condition => sub { shift->suspended_pkgs > 0 },
actionlabel => 'Confirm Unsuspension',
},
{
label => 'Cancel',
- popup => 'misc/suspend_cust.html?custnum=$custnum',
+ popup => "misc/suspend_cust.html?custnum=$custnum",
acl => 'Cancel customer',
condition => sub { shift->ncancelled_pkgs > 0 },
actionlabel => 'Confirm Cancellation',
@@ -170,7 +166,7 @@ my @menu = (
},
{
label => 'Merge',
- popup => 'misc/merge_cust.html?custnum=$custnum',
+ popup => "misc/merge_cust.html?custnum=$custnum",
acl => 'Merge customer',
actionlabel => 'Merge customer',
width => 569,
@@ -178,13 +174,13 @@ my @menu = (
},
{
label => 'Refer a new customer',
- url => 'edit/cust_main.cgi?referral_custnum=$custnum',
+ url => "edit/cust_main.cgi?referral_custnum=$custnum",
confexists => '!disable_customer_referrals',
},
# should have a separator here
{
label => 'View this customer\'s referrals',
- url => 'search/cust_main.cgi?referral_custnum=$custnum',
+ url => "search/cust_main.cgi?referral_custnum=$custnum",
confexists => '!disable_customer_referrals',
condition => sub {
FS::cust_main->count('referral_custnum = ?', shift->custnum) > 0
@@ -192,7 +188,7 @@ my @menu = (
},
{
label => 'View billing events',
- url => 'search/cust_event.html?custnum=$custnum',
+ url => "search/cust_event.html?custnum=$custnum",
acl => [ 'Billing event reports',
'View customer billing events' ],
},
@@ -201,10 +197,12 @@ my @menu = (
url => sub {
my $cust_main = shift;
my $agentnum = $cust_main->agentnum;
- 'misc/email-customers.html?table=cust_main;search_hash='.
- 'agent_virt_agentnum='.$agentnum.';custnum=$custnum';
+ 'misc/email-customers.html?table=cust_main;'.
+ 'agent_virt_agentnum='.$agentnum.";custnum=$custnum;url=".
+ uri_escape($cgi->self_url);
},
- condition => sub { shift->invoicing_list_emailonly },
+ condition => sub { $invoicing_list_emailonly },
+ acl => 'Bulk send customer notices',
},
],
[
@@ -214,7 +212,7 @@ my @menu = (
},
{
label => 'Add note',
- popup => 'edit/cust_main_note.cgi?custnum=$custnum',
+ popup => "edit/cust_main_note.cgi?custnum=$custnum",
actionlabel => 'Add note',
confexists => '!cust_main-disable_notes',
acl => 'Add customer note',
@@ -223,7 +221,7 @@ my @menu = (
},
{
label => 'Attach file',
- popup => 'edit/cust_main_attach.cgi?custnum=$custnum',
+ popup => "edit/cust_main_attach.cgi?custnum=$custnum",
actionlabel => 'Upload file',
confexists => '!disable_cust_attachment',
acl => 'Add attachment',
@@ -245,6 +243,13 @@ my @menu = (
confexists => 'ticket_system',
acl => 'View appointments',
},
+ {
+ label => 'Schedule new appointment',
+ confexists => 'ticket_system',
+ acl => 'Make appointment',
+ popup => "elements/make_appointment.html?custnum=$custnum",
+ actionlabel => 'Schedule appointment',
+ },
],
[
{
@@ -252,8 +257,8 @@ my @menu = (
show => 'quotations',
},
{
- label => 'Add quotation',
- url => 'edit/quotation.html?custnum=$custnum',
+ label => 'Create new quotation',
+ url => "edit/quotation.html?custnum=$custnum",
acl => 'Generate quotation',
},
],
@@ -264,7 +269,7 @@ my @menu = (
},
{
label => 'New qualification',
- popup => 'misc/qual.html?custnum=$custnum',
+ popup => "misc/qual.html?custnum=$custnum",
actionlabel => 'New qualification',
color => '#333399',
width => 763,
@@ -273,7 +278,7 @@ my @menu = (
},
{
label => 'Order new package',
- popup => 'misc/order_pkg.html?custnum=$custnum',
+ popup => "misc/order_pkg.html?custnum=$custnum",
actionlabel => 'Order new package',
color => '#333399',
width => 960,
@@ -292,7 +297,7 @@ my @menu = (
},
{
label => 'Move services between packages',
- popup => 'edit/bulk-cust_svc-pkgnum.html?custnum=$custnum',
+ popup => "edit/bulk-cust_svc-pkgnum.html?custnum=$custnum",
actionlabel => 'Move services',
width => 968,
height => 575,
@@ -300,26 +305,26 @@ my @menu = (
},
{
label => 'Bulk order and cancel packages',
- url => 'edit/cust_pkg.cgi?$custnum',
+ url => "edit/cust_pkg.cgi?$custnum",
acl => 'Bulk change customer packages',
},
# separator
{
label => 'Package reports',
- url => 'search/report_cust_pkg?custnum=$custnum',
+ url => "search/report_cust_pkg?custnum=$custnum",
},
{
label => 'View qualifications',
- url => 'search/qual.cgi?custnum=$custnum',
+ url => "search/qual.cgi?custnum=$custnum",
acl => 'Qualify service',
},
{
label => 'View accounts',
- url => 'search/report_svc_acct.html?custnum=$custnum',
+ url => "search/report_svc_acct.html?custnum=$custnum",
},
{
label => 'View CDRs',
- url => 'search/report_cdr.html?custnum=$custnum',
+ url => "search/report_cdr.html?custnum=$custnum",
},
],
[
@@ -330,7 +335,7 @@ my @menu = (
# manual payment entry via edit/cust_pay
{
label => 'Enter check payment',
- popup => 'edit/cust_pay.cgi?popup=1;payby=BILL;custnum=$custnum',
+ popup => "edit/cust_pay.cgi?popup=1;payby=BILL;custnum=$custnum",
actionlabel => 'Enter check payment',
width => 763,
height => 392,
@@ -339,7 +344,7 @@ my @menu = (
},
{
label => 'Enter cash payment',
- popup => 'edit/cust_pay.cgi?popup=1;payby=CASH;custnum=$custnum',
+ popup => "edit/cust_pay.cgi?popup=1;payby=CASH;custnum=$custnum",
actionlabel => 'Enter cash payment',
width => 763,
height => 392,
@@ -348,7 +353,7 @@ my @menu = (
},
{
label => 'Enter Western Union payment',
- popup => 'edit/cust_pay.cgi?popup=1;payby=WEST;custnum=$custnum',
+ popup => "edit/cust_pay.cgi?popup=1;payby=WEST;custnum=$custnum",
actionlabel => 'Enter Western Union payment',
width => 763,
height => 392,
@@ -357,7 +362,7 @@ my @menu = (
},
{
label => 'Post manual (offline/POS) credit card payment',
- popup => 'edit/cust_pay.cgi?popup=1;payby=MCRD;custnum=$custnum',
+ popup => "edit/cust_pay.cgi?popup=1;payby=MCRD;custnum=$custnum",
actionlabel => 'Enter credit card payment',
width => 763,
height => 392,
@@ -366,7 +371,7 @@ my @menu = (
},
{
label => 'Post manual (offline/POS) electronic check',
- popup => 'edit/cust_pay.cgi?popup=1;payby=MCHK;custnum=$custnum',
+ popup => "edit/cust_pay.cgi?popup=1;payby=MCHK;custnum=$custnum",
actionlabel => 'Enter credit card payment',
width => 763,
height => 392,
@@ -376,27 +381,27 @@ my @menu = (
# realtime payments via payment.cgi
{
label => 'Process credit card payment',
- url => 'misc/payment.cgi?payby=CARD;custnum=$custnum',
+ url => "misc/payment.cgi?payby=CARD;custnum=$custnum",
acl => [ 'Process payment', 'Process credit card payment', ],
condition => sub { $payby{CARD} or $payby{DCRD} },
},
{
label => 'Process electronic check payment',
- url => 'misc/payment.cgi?payby=CHEK;custnum=$custnum',
+ url => "misc/payment.cgi?payby=CHEK;custnum=$custnum",
acl => [ 'Process payment', 'Process Echeck payment', ],
condition => sub { $payby{CHEK} or $payby{DCHK} },
},
#separator?
{
label => 'Enter credit',
- popup => 'edit/cust_credit.cgi?custnum=$custnum',
+ popup => "edit/cust_credit.cgi?custnum=$custnum",
actionlabel => 'Enter credit',
width => 763,
acl => 'Post credit',
},
{
label => 'Credit line items',
- popup => 'edit/credit-cust_bill_pkg.html?custnum=$custnum',
+ popup => "edit/credit-cust_bill_pkg.html?custnum=$custnum",
actionlabel => 'Credit line items',
width => 968,
height => 575,
@@ -407,7 +412,7 @@ my @menu = (
},
{
label => 'Enter check refund',
- popup => 'edit/cust_refund.cgi?popup=1;payby=BILL;custnum=$custnum',
+ popup => "edit/cust_refund.cgi?popup=1;payby=BILL;custnum=$custnum",
actionlabel => 'Enter check refund',
width => 440,
acl => ['Post refund', 'Post check refund'],
@@ -415,7 +420,7 @@ my @menu = (
},
{
label => 'Enter cash refund',
- popup => 'edit/cust_refund.cgi?popup=1;payby=CASH;custnum=$custnum',
+ popup => "edit/cust_refund.cgi?popup=1;payby=CASH;custnum=$custnum",
actionlabel => 'Enter cash refund',
width => 392,
acl => ['Post refund', 'Post cash refund'],
@@ -423,7 +428,7 @@ my @menu = (
},
{
label => 'Enter manual (offline/POS) credit card refund',
- popup => 'edit/cust_refund.cgi?popup=1;payby=MCRD;custnum=$custnum',
+ popup => "edit/cust_refund.cgi?popup=1;payby=MCRD;custnum=$custnum",
actionlabel => 'Enter credit card refund',
width => 440,
acl => ['Post refund' ],
@@ -431,7 +436,7 @@ my @menu = (
},
{
label => 'Enter manual (offline/POS) electronic check refund',
- popup => 'edit/cust_refund.cgi?popup=1;payby=MCHK;custnum=$custnum',
+ popup => "edit/cust_refund.cgi?popup=1;payby=MCHK;custnum=$custnum",
actionlabel => 'Enter electronic check refund',
width => 440,
acl => ['Post refund' ],
@@ -439,7 +444,7 @@ my @menu = (
},
{
label => 'Add tax adjustment',
- popup => 'edit/cust_tax_adjustment.html?custnum=$custnum',
+ popup => "edit/cust_tax_adjustment.html?custnum=$custnum",
actionlabel => 'Add tax adjustment',
height => 200,
confexists => 'enable_tax_adjustments',
@@ -447,37 +452,49 @@ my @menu = (
},
# separator, definitely
{
- label => 'Download statement',
- url => 'view/cust_main_statement-pdf.cgi?$custnum',
- acl => 'List invoices',
+ label => 'Download PDF statement',
+ url => "view/cust_main_statement-pdf.cgi?$custnum",
+ acl => 'View legacy typeset statements',
condition => sub {
FS::cust_bill->count('custnum = ?', shift->custnum) > 0
},
},
{
label => 'Search invoices',
- url => 'search/report_cust_bill.html?custnum=$custnum',
+ url => "search/report_cust_bill.html?custnum=$custnum",
acl => 'List invoices',
},
{
label => 'View tax exemptions',
- url => 'search/cust_tax_exempt_pkg.cgi?custnum=$custnum',
+ url => "search/cust_tax_exempt_pkg.cgi?custnum=$custnum",
acl => 'View customer tax exemptions',
},
{
label => 'View tax adjustments',
- url => 'search/cust_tax_adjustment.html?custnum=$custnum',
+ url => "search/cust_tax_adjustment.html?custnum=$custnum",
confexists => 'enable_tax_adjustments',
acl => 'Add customer tax adjustment',
},
{
label => 'View pending payments',
- url => 'search/cust_pay_pending.html?magic=_date;statusNOT=done;custnum=$custnum',
+ url => "search/cust_pay_pending.html?magic=_date;statusNOT=done;custnum=$custnum",
acl => 'View pending payments',
condition => sub {
FS::cust_pay_pending->count('custnum = ?', shift->custnum) > 0
},
},
+ {
+ label => 'Email statement to this customer',
+ url => sub {
+ my $cust_main = shift;
+ my $agentnum = $cust_main->agentnum;
+ 'misc/email-customer-statement.html?table=cust_main;'.
+ 'agent_virt_agentnum='.$agentnum.";custnum=$custnum;url=".
+ uri_escape($cgi->self_url);
+ },
+ condition => sub { $invoicing_list_emailonly },
+ acl => 'Resend invoices',
+ },
],
[
{
@@ -540,6 +557,7 @@ foreach my $submenu (@menu) {
}
$a .= qq[>$label ];
+ $cgi->param('show', $opt{show});
} elsif ( $entry->{popup} ) {