{
'key' => 'log_sent_mail',
'section' => 'notification',
- 'description' => 'Enable logging of template-generated email.',
+ 'description' => 'Enable logging of all sent email.',
'type' => 'checkbox',
},
{
'key' => 'invoice_from',
'section' => 'required',
- 'description' => 'Return address on email invoices',
+ 'description' => 'Return address on email invoices (address only, see invoice_from_name)',
'type' => 'text',
'per_agent' => 1,
+ 'validate' => sub { $_[0] =~
+ /^[^@]+\@[[:alnum:]-]+(\.[[:alnum:]-]+)+$/
+ ? '' : 'Invalid email address';
+ }
+ },
+
+ {
+ 'key' => 'invoice_from_name',
+ 'section' => 'invoicing',
+ 'description' => 'Return name on email invoices (set address in invoice_from)',
+ 'type' => 'text',
+ 'per_agent' => 1,
+ 'validate' => sub { (($_[0] =~ /[^[:alnum:][:space:]]/) && ($_[0] !~ /^\".*\"$/))
+ ? 'Invalid name. Use quotation marks around names that contain punctuation.'
+ : '' }
},
{
sub notes {
my($self,$orderby_classnum) = (shift,shift);
- my $orderby = "_DATE DESC";
- $orderby = "CLASSNUM ASC, $orderby" if $orderby_classnum;
+ my $orderby = "sticky DESC, _date DESC";
+ $orderby = "classnum ASC, $orderby" if $orderby_classnum;
qsearch( 'cust_main_note',
{ 'custnum' => $self->custnum },
'',
return unless $conf->exists($template);
- my $from = $conf->config('invoice_from', $self->agentnum)
+ my $from = $conf->config('invoice_from_name', $self->agentnum) ?
+ $conf->config('invoice_from_name', $self->agentnum) . ' <' .
+ $conf->config('invoice_from', $self->agentnum) . '>' :
+ $conf->config('invoice_from', $self->agentnum)
if $conf->exists('invoice_from', $self->agentnum);
$from = $options{from} if exists($options{from});
'msgtype' => 'receipt',
};
$error = $queue->insert(
- 'from' => $conf->config('invoice_from', $cust_main->agentnum),
+ 'from' => $conf->config('invoice_from_name', $cust_main->agentnum ) ?
+ $conf->config('invoice_from_name', $cust_main->agentnum ) . ' <' .
+ $conf->config('invoice_from', $cust_main->agentnum ) . '>' :
+ $conf->config('invoice_from', $cust_main->agentnum ),
#invoice_from??? well as good as any
'to' => \@invoicing_list,
'subject' => 'Payment receipt',
#not the most efficient, but hey, it only has to run once
- my $where = "WHERE ( otaker IS NULL OR otaker = '' OR otaker = 'ivan' ) ".
- " AND usernum IS NULL ".
- " AND 0 < ( SELECT COUNT(*) FROM cust_main ".
- " WHERE cust_main.custnum = cust_pay.custnum ) ";
+ my $where = " WHERE ( otaker IS NULL OR otaker = '' OR otaker = 'ivan' )
+ AND usernum IS NULL
+ AND EXISTS ( SELECT 1 FROM cust_main
+ WHERE cust_main.custnum = cust_pay.custnum )
+ ";
my $count_sql = "SELECT COUNT(*) FROM cust_pay $where";