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.
|
//This is not ideal. But nothing else is either.
|
||||||
$sourceDoc = $this->Document->find('first', array('conditions' => array('Document.id' => $source_document_id)));
|
$sourceDoc = $this->Document->find('first', array('conditions' => array('Document.id' => $source_document_id)));
|
||||||
if($sourceDoc['Document']['type'] == 'orderAck') {
|
if($sourceDoc['Document']['type'] == 'orderAck') {
|
||||||
$oa_attribues = array(
|
$oa_attributes = array(
|
||||||
'ship_via',
|
'ship_via',
|
||||||
'fob',
|
'fob',
|
||||||
'estimated_delivery'
|
'estimated_delivery'
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach($oa_attribues as $attr) {
|
foreach($oa_attributes as $attr) {
|
||||||
$this->data['Invoice'][$attr] = $sourceDoc['OrderAcknowledgement'][$attr];
|
$this->data['Invoice'][$attr] = $sourceDoc['OrderAcknowledgement'][$attr];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -360,19 +360,21 @@ ENDINSTRUCTIONS;
|
||||||
//This is not ideal. But nothing else is either.
|
//This is not ideal. But nothing else is either.
|
||||||
$sourceDoc = $this->Document->find('first', array('conditions' => array('Document.id' => $source_document_id)));
|
$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') {
|
if($sourceDoc['Document']['type'] == 'orderAck') {
|
||||||
foreach($oa_attribues as $attr) {
|
foreach($source_attributes as $attr) {
|
||||||
$this->data['PackingList'][$attr] = $sourceDoc['OrderAcknowledgement'][$attr];
|
$this->data['PackingList'][$attr] = $sourceDoc['OrderAcknowledgement'][$attr];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($sourceDoc['Document']['type'] == 'invoice') {
|
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];
|
$this->data['PackingList'][$attr] = $sourceDoc['Invoice'][$attr];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -762,7 +764,6 @@ ENDINSTRUCTIONS;
|
||||||
$template_name = 'pdf_packinglist';
|
$template_name = 'pdf_packinglist';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($document['Document']['revision'] > 0) {
|
if($document['Document']['revision'] > 0) {
|
||||||
|
|
@ -814,7 +815,6 @@ ENDINSTRUCTIONS;
|
||||||
$this->set('enquiry', $enquiry);
|
$this->set('enquiry', $enquiry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function email_format($a) {
|
function email_format($a) {
|
||||||
return "<".$a.">";
|
return "<".$a.">";
|
||||||
}
|
}
|
||||||
|
|
@ -823,9 +823,7 @@ ENDINSTRUCTIONS;
|
||||||
// Do a bunch of queries to build a subject line for PO emails.
|
// Do a bunch of queries to build a subject line for PO emails.
|
||||||
function po_email_subject($document) {
|
function po_email_subject($document) {
|
||||||
$id = $document['id'];
|
$id = $document['id'];
|
||||||
|
|
||||||
$subject = 'CMC Technologies Purchase Order: '.$document['title'];
|
$subject = 'CMC Technologies Purchase Order: '.$document['title'];
|
||||||
|
|
||||||
$q = <<<EOT
|
$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)
|
JOIN jobs_purchase_orders as jpo ON (jpo.purchase_order_id = $id AND jpo.job_id = jobs.id)
|
||||||
|
|
@ -879,10 +877,33 @@ EOT;
|
||||||
return $subject;
|
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;
|
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).
|
* Email the PDF(document + attachments) for this Document to a Recipient (Customer or Principle).
|
||||||
|
|
@ -930,19 +951,18 @@ EOT;
|
||||||
$template = $docType.'_email';
|
$template = $docType.'_email';
|
||||||
$subject = $enquiry['Enquiry']['title'].' ';
|
$subject = $enquiry['Enquiry']['title'].' ';
|
||||||
|
|
||||||
|
|
||||||
switch($docType) {
|
switch($docType) {
|
||||||
case 'quote':
|
case 'quote':
|
||||||
$subject .= " Quotation";
|
$subject = "Quotation: ".$enquiry['Enquiry']['title'];
|
||||||
break;
|
break;
|
||||||
case 'invoice':
|
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('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;
|
break;
|
||||||
case 'purchaseOrder':
|
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)));
|
$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)) {
|
if(empty($primary_contact)) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<h2>Packing List: <?=$document['PackingList']['title']?> for <?=$html->link($enquiry['Customer']['name'], '/customers/view/'.$enquiry['Customer']['id']);?></h2>
|
<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 id="flashMessage" class="message">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue