Documents - make subjects more consistent for outgoing PDFs
Fix bug on packing list view link to job.
This commit is contained in:
parent
915ea23de4
commit
c506af5531
|
|
@ -261,13 +261,13 @@ class DocumentsController extends AppController {
|
|||
//This is not ideal. But nothing else is either.
|
||||
$sourceDoc = $this->Document->find('first', array('conditions' => array('Document.id' => $source_document_id)));
|
||||
if($sourceDoc['Document']['type'] == 'orderAck') {
|
||||
$oa_attribues = array(
|
||||
$oa_attributes = array(
|
||||
'ship_via',
|
||||
'fob',
|
||||
'estimated_delivery'
|
||||
);
|
||||
|
||||
foreach($oa_attribues as $attr) {
|
||||
foreach($oa_attributes as $attr) {
|
||||
$this->data['Invoice'][$attr] = $sourceDoc['OrderAcknowledgement'][$attr];
|
||||
}
|
||||
}
|
||||
|
|
@ -360,19 +360,21 @@ ENDINSTRUCTIONS;
|
|||
//This is not ideal. But nothing else is either.
|
||||
$sourceDoc = $this->Document->find('first', array('conditions' => array('Document.id' => $source_document_id)));
|
||||
|
||||
$source_attribues = array(
|
||||
'ship_via',
|
||||
'fob',
|
||||
'estimated_delivery'
|
||||
);
|
||||
|
||||
|
||||
if($sourceDoc['Document']['type'] == 'orderAck') {
|
||||
foreach($oa_attribues as $attr) {
|
||||
foreach($source_attributes as $attr) {
|
||||
$this->data['PackingList'][$attr] = $sourceDoc['OrderAcknowledgement'][$attr];
|
||||
}
|
||||
}
|
||||
if($sourceDoc['Document']['type'] == 'invoice') {
|
||||
foreach($oa_attribues as $attr) {
|
||||
|
||||
$source_attributes = array(
|
||||
'ship_via',
|
||||
'fob'
|
||||
);
|
||||
|
||||
|
||||
foreach($source_attributes as $attr) {
|
||||
$this->data['PackingList'][$attr] = $sourceDoc['Invoice'][$attr];
|
||||
}
|
||||
}
|
||||
|
|
@ -762,7 +764,6 @@ ENDINSTRUCTIONS;
|
|||
$template_name = 'pdf_packinglist';
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if($document['Document']['revision'] > 0) {
|
||||
|
|
@ -813,8 +814,7 @@ ENDINSTRUCTIONS;
|
|||
$enquiry = $this->Document->Quote->Enquiry->read(null, $document['Quote']['enquiry_id']);
|
||||
$this->set('enquiry', $enquiry);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function email_format($a) {
|
||||
return "<".$a.">";
|
||||
}
|
||||
|
|
@ -823,11 +823,9 @@ ENDINSTRUCTIONS;
|
|||
// Do a bunch of queries to build a subject line for PO emails.
|
||||
function po_email_subject($document) {
|
||||
$id = $document['id'];
|
||||
|
||||
$subject = 'CMC Technologies Purchase Order: '.$document['title'];
|
||||
|
||||
$q = <<<EOT
|
||||
SELECT jobs.id, title FROM jobs
|
||||
SELECT jobs.id, title FROM jobs
|
||||
JOIN jobs_purchase_orders as jpo ON (jpo.purchase_order_id = $id AND jpo.job_id = jobs.id)
|
||||
|
||||
EOT;
|
||||
|
|
@ -879,11 +877,34 @@ EOT;
|
|||
return $subject;
|
||||
}
|
||||
|
||||
$subject = 'CMC Technologies Order Acknowledgement: '.$titles[0]['e']['enquiry_title'].' '.$titles[0]['j']['job_title'];
|
||||
$subject = 'Order Acknowledgement: '.$titles[0]['e']['enquiry_title'].' '.$titles[0]['j']['job_title'];
|
||||
return $subject;
|
||||
}
|
||||
|
||||
|
||||
function invoice_email_subject($document) {
|
||||
$id = $document['Document']['id'];
|
||||
//print_r($document);
|
||||
$q = <<<EOT
|
||||
SELECT i.title as invoice_title, j.title as job_title, e.title as enquiry_title
|
||||
FROM invoices i
|
||||
JOIN enquiries e ON i.enquiry_id = e.id
|
||||
JOIN jobs j on i.job_id = j.id
|
||||
WHERE i.document_id = $id;
|
||||
EOT;
|
||||
$titles = $this->Document->query($q);
|
||||
|
||||
if(count($titles) < 1) {
|
||||
// This probably shouldn't happen, but who knows.
|
||||
$subject = 'Invoice';
|
||||
return $subject;
|
||||
}
|
||||
|
||||
$subject = 'Invoice: '.$titles[0]['i']['invoice_title'].' '.$titles[0]['e']['enquiry_title'].' '.$titles[0]['j']['job_title'];
|
||||
return $subject;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Email the PDF(document + attachments) for this Document to a Recipient (Customer or Principle).
|
||||
*
|
||||
|
|
@ -896,7 +917,7 @@ EOT;
|
|||
$this->Email->smtpOptions = Configure::read('smtp_settings');
|
||||
$this->Email->delivery = 'smtp';
|
||||
|
||||
$document = $this->Document->read(null,$id);
|
||||
$document = $this->Document->read(null,$id);
|
||||
|
||||
if(empty($document['Document']['pdf_filename'])) {
|
||||
$this->Session->setFlash(__('Error. Please generate the PDF before attempting to email it', true));
|
||||
|
|
@ -911,13 +932,13 @@ EOT;
|
|||
$attachment_files[] = $attachment['Attachment']['file'];
|
||||
}
|
||||
$this->Email->attachments = $attachment_files;
|
||||
|
||||
|
||||
}
|
||||
$enquiry = $this->Document->getEnquiry($document);
|
||||
|
||||
$this->Email->to = $this->email_format($enquiry['Contact']['email']);
|
||||
|
||||
|
||||
|
||||
|
||||
$this->Email->cc = array($this->email_format($enquiry['User']['email']));
|
||||
$this->Email->bcc = array($this->email_format('carpis@cmctechnologies.com.au'));
|
||||
|
|
@ -929,20 +950,19 @@ EOT;
|
|||
|
||||
$template = $docType.'_email';
|
||||
$subject = $enquiry['Enquiry']['title'].' ';
|
||||
|
||||
|
||||
|
||||
switch($docType) {
|
||||
case 'quote':
|
||||
$subject .= " Quotation";
|
||||
$subject = "Quotation: ".$enquiry['Enquiry']['title'];
|
||||
break;
|
||||
case 'invoice':
|
||||
$subject .= " Invoice";
|
||||
$subject = $this->invoice_email_subject($document);
|
||||
$this->set('invoice', $this->Document->Invoice->find('first', array('conditions'=>array('Invoice.id'=>$document['Invoice']['id']))));
|
||||
$this->set('job', $this->Document->Invoice->Job->find('first', array('conditions'=>array('Job.id'=>$document['Invoice']['job_id']))));
|
||||
break;
|
||||
case 'purchaseOrder':
|
||||
$subject .= " Purchase Order";
|
||||
|
||||
|
||||
|
||||
$subject .= "Purchase Order";
|
||||
$primary_contact = $this->Document->User->find('first', array('conditions'=>array('User.principle_id' => $document['PurchaseOrder']['principle_id'],'User.primary_contact' => 1)));
|
||||
if(empty($primary_contact)) {
|
||||
|
||||
|
|
@ -962,7 +982,7 @@ EOT;
|
|||
$this->set('job', $this->Document->OrderAcknowledgement->Job->find('first', array('conditions'=>array('Job.id'=>$document['OrderAcknowledgement']['job_id']))));
|
||||
if ($document['OrderAcknowledgement']['signature_required']) {
|
||||
$template = 'orderAck_email_signature_required';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<h2>Packing List: <?=$document['PackingList']['title']?> for <?=$html->link($enquiry['Customer']['name'], '/customers/view/'.$enquiry['Customer']['id']);?></h2>
|
||||
<h2>Job: <?=$html->link($packing_list['Job']['title'], array('controller'=>'jobs', 'action'=>'view', $invoice['Job']['id']));?></h2>
|
||||
<h2>Job: <?=$html->link($packing_list['Job']['title'], array('controller'=>'jobs', 'action'=>'view', $packing_list['Job']['id']));?></h2>
|
||||
|
||||
<div id="flashMessage" class="message">
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue