diff --git a/controllers/documents_controller.php b/controllers/documents_controller.php index e369c5ca..2ae47f7b 100755 --- a/controllers/documents_controller.php +++ b/controllers/documents_controller.php @@ -123,20 +123,24 @@ class DocumentsController extends AppController { foreach($this->data['DocumentAttachment']['attachment_id'] as $i => $attachment_id) { $docID = $this->data['DocumentAttachment']['document_id']; $query = "DELETE FROM document_attachments WHERE document_id = {$docID} AND attachment_id = {$attachment_id}"; - echo $query."
"; - //$this->Document->DocumentAttachment->query($query); + $this->Document->DocumentAttachment->query($query); - $attachment['DocumentAttachment']['document_id'] = $this->data['DocumentAttachment']['document_id']; - $attachment['DocumentAttachment']['attachment_id'] = $attachment_id; - if(!$this->Document->DocumentAttachment->save($attachment)) { - echo "FAIL"; - return; - } + $attachment[$i]['DocumentAttachment']['document_id'] = $this->data['DocumentAttachment']['document_id']; + $attachment[$i]['DocumentAttachment']['attachment_id'] = $attachment_id; } - echo "SUCCESS"; + if($this->Document->DocumentAttachment->saveAll($attachment)) { + echo "SUCCESS"; + } + else { + echo "FAIL"; + } } - else { - echo "FAIL"; + } + + function removeAttachments() { + $this->layout = 'ajax'; + foreach($this->data as $attachment) { + $this->Document->DocumentAttachment->delete($attachment); } } @@ -635,8 +639,7 @@ class DocumentsController extends AppController { $this->Email->delivery = 'smtp'; $document = $this->Document->read(null,$id); - - $attachments = $this->Document->DocumentAttachment->find('all', array('DocumentAttachment.document_id' => $id)); + if(empty($document['Document']['pdf_filename'])) { $this->Session->setFlash(__('Error. Please generate the PDF before attempting to email it', true)); @@ -646,8 +649,9 @@ class DocumentsController extends AppController { $pdf_dir = Configure::read('pdf_directory'); $attachment_files = array($pdf_dir.$document['Document']['pdf_filename']); - foreach($attachments as $attachment) { - $attachment_files[] = $attachment['Attachment']['filename']; + foreach($document['DocumentAttachment'] as $document_attachment) { + $attachment = $this->Document->DocumentAttachment->Attachment->read(null, $document_attachment['attachment_id']); + $attachment_files[] = $attachment['Attachment']['file']; } $this->Email->attachments = $attachment_files; diff --git a/views/documents/get_attachments.ctp b/views/documents/get_attachments.ctp index 269cadab..715ad21a 100644 --- a/views/documents/get_attachments.ctp +++ b/views/documents/get_attachments.ctp @@ -1,10 +1,23 @@ - + + + Filename + Name + Desc + + +"; - echo $html->link($attachment['Attachment']['name'], - "/attachments/view/{$attachment['Attachment']['id']}"); - echo ""; -} - ?> + + input('DocumentAttachment.id', array('type'=>'checkbox', 'value'=> $attachment['DocumentAttachment']['id'], 'label' => false)); ?> + + link($attachment['Attachment']['filename'], '/attachments/view/'.$attachment['Attachment']['id']); ?> + + + + + + + diff --git a/views/documents/remove_attachments.ctp b/views/documents/remove_attachments.ctp new file mode 100644 index 00000000..e69de29b diff --git a/views/documents/view.ctp b/views/documents/view.ctp index 28bf3798..6a4da433 100755 --- a/views/documents/view.ctp +++ b/views/documents/view.ctp @@ -33,28 +33,37 @@ echo $form->input("DocPage.content", array('class'=>'page', 'label'=>'Page', 'be

Attachments

- + +
+
+ $attachment) { ?> - + - - + +
Filename Name Desc
- link($attachment['Attachment']['filename'], '/attachments/view/'.$attachment['Attachment']['id']); ?> + input("DocumentAttachment[{$index}].id", + array('type'=>'checkbox', + 'value'=> $attachment['DocumentAttachment']['id'], + 'label' => false, 'class'=>'documentAttachment-checkbox')); ?> + link($attachment['Attachment']['filename'], '/attachments/view/'.$attachment['Attachment']['id']); ?>
+
+
diff --git a/views/elements/add_edit_line_item.ctp b/views/elements/add_edit_line_item.ctp index 02e41515..95b2e0f8 100755 --- a/views/elements/add_edit_line_item.ctp +++ b/views/elements/add_edit_line_item.ctp @@ -1,4 +1,4 @@ -input('Product.principle_id', array('id'=>'principleAttachmentSelect', 'label'=>'Principle','empty'=>'Select Principle'));?> +input('Product.principle_id', array('id'=>'principleSelect', 'label'=>'Principle','empty'=>'Select Principle'));?>
diff --git a/webroot/css/quotenik.css b/webroot/css/quotenik.css index 6416cfa1..f0b724b3 100755 --- a/webroot/css/quotenik.css +++ b/webroot/css/quotenik.css @@ -1578,6 +1578,7 @@ div.address span { } table.lineItems { + margin-top: 0.2em; border: 1px solid; border-spacing: 0px; } @@ -1647,8 +1648,8 @@ div.warning { tr.no_items { - font-size: 2em; - padding: 0.5em; + font-size: 1.5em; + padding: 1em; } #Attachments { margin-top: 1.5em; diff --git a/webroot/js/document_attachments.js b/webroot/js/document_attachments.js index ac567008..7baf2960 100644 --- a/webroot/js/document_attachments.js +++ b/webroot/js/document_attachments.js @@ -18,24 +18,18 @@ $(function() { var attachmentInputs = $('#DocumentAttachmentAddForm').find('input'); $.post('/documents/saveAttachments', attachmentInputs, function(data) { - if(data == 'SUCCESS') { - loadAttachments(); - $(this).dialog('close'); - } - else { - alert("Attachments could not be saved") - } - + $("#addAttachmentModal").dialog( "close" ); }); + }, Cancel: function() { $( this ).dialog( "close" ); - } + } }, close: function() { loadAttachments(); - } + } }); @@ -45,6 +39,10 @@ $(function() { loadPrincipleAttachments(principleID); }); + $("#removeAttachments").click(function() { + removeAttachments(); + }); + function loadPrincipleAttachments(id) { $.get('/documents/getAttachmentsByPrinciple/'+id, function(attachments) { $('#principleAttachments').html(attachments); @@ -52,13 +50,17 @@ $(function() { } function loadAttachments() { - $.get('/documents/getAttachments/'+documentID, function(attachments) { - - + $("#attachments-table").html(attachments); }); - - + } + + function removeAttachments() { + var selectedAttachments = $(".documentAttachment-checkbox:checked"); + $.post('/documents/removeAttachments', selectedAttachments, function(data) { + loadAttachments(); + }); + } });