From 5021f77c69613e0c17c5c6925b5b52722d080ac4 Mon Sep 17 00:00:00 2001 From: Karl Cordes Date: Fri, 20 Mar 2009 09:11:22 +1100 Subject: [PATCH] 20Mar09 Dev starting again --- controllers/contacts_controller.php | 2 ++ controllers/enquiries_controller.php | 22 +++++++++++++++++-- controllers/principle_contacts_controller.php | 4 ++-- controllers/principles_controller.php | 2 +- models/enquiry.php | 3 ++- models/enquiry_email_queue.php | 7 ++++++ models/product.php | 6 ++++- models/product_category.php | 13 +++++++++++ views/contacts/add_one.ctp | 2 +- views/enquiries/view.ctp | 2 ++ views/principles/index.ctp | 1 - views/principles/view.ctp | 1 - webroot/css/quotenik.css | 9 +++++++- 13 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 models/enquiry_email_queue.php create mode 100644 models/product_category.php diff --git a/controllers/contacts_controller.php b/controllers/contacts_controller.php index 112ad0b3..f75b2640 100755 --- a/controllers/contacts_controller.php +++ b/controllers/contacts_controller.php @@ -67,7 +67,9 @@ class ContactsController extends AppController { $this->set('increment', $increment); } function add_one($customerid) { + $contact_categories = $this->Contact->ContactCategory->find('list'); $this->set('customerid', $customerid); + $this->set('contact_categories', $contact_categories); } function remove_one($customerid) { $contacts = $this->Contact->find('all', array('conditions' => array('Contact.customer_id' => $customerid))); diff --git a/controllers/enquiries_controller.php b/controllers/enquiries_controller.php index 7f55eba9..42afad31 100755 --- a/controllers/enquiries_controller.php +++ b/controllers/enquiries_controller.php @@ -94,7 +94,7 @@ class EnquiriesController extends AppController { if ($this->Enquiry->save($this->data)) { $id = $this->Enquiry->id; if($this->data['Enquiry']['send_enquiry_email'] == 1) { - $this->__sendNewEnquiryEmail($id); + $this->__addToQueue($id); } else { $this->Session->setFlash(__('The Enquiry has been saved but the Contact has NOT been emailed, as you requested.', true)); @@ -154,6 +154,24 @@ class EnquiriesController extends AppController { } + + /* Add enquiry_id to the Email Queue */ + + function __addToQueue($id) { + $enquiry = $this->Enquiry->read(null, $id); + $this->Enquiry->EnquiryEmailQueue->create(); + $this->data['EnquiryEmailQueue']['enquiry_id'] = $enquiry['Enquiry']['id']; + if ($this->Enquiry->EnquiryEmailQueue->save($this->data)) { + $this->Session->setFlash(__('The Enquiry has been saved and the Enquiry notification email has been added to the Queue', true)); + $this->redirect(array('action'=>'view/'.$enquiry['Enquiry']['id']), null, false); + + } + else { + $this->Session->setFlash(__('The Enquiry has been saved but the notification email could not be added to the Queue.', true)); + $this->redirect(array('action'=>'view/'.$enquiry['Enquiry']['id']), null, false); + } + } + /* Generate Enquiry number and return it as a string */ function __generateEnquiryNumber($data) { @@ -256,7 +274,7 @@ class EnquiriesController extends AppController { } - + /* Moving this to the new Enquiry email sender. */ function __sendNewEnquiryEmail($id) { //Setup the SMTP Options diff --git a/controllers/principle_contacts_controller.php b/controllers/principle_contacts_controller.php index a79347b8..88d98611 100644 --- a/controllers/principle_contacts_controller.php +++ b/controllers/principle_contacts_controller.php @@ -32,9 +32,9 @@ class PrincipleContactsController extends AppController { if (!empty($this->data)) { $this->PrincipleContact->create(); if ($this->PrincipleContact->save($this->data)) { - $this->Session->setFlash(__('The PrincipleContact has been saved', true)); + $this->Session->setFlash(__('The Contact has been added to the Principle', true)); $principleid = $this->data['PrincipleContact']['principle_id']; - $this->redirect(array('controller'=>'Principles', 'action'=>'index')); + $this->redirect(array('controller'=>'Principles', 'action'=>'view/'.$principleid)); } else { $this->Session->setFlash(__('The PrincipleContact could not be saved. Please, try again.', true)); } diff --git a/controllers/principles_controller.php b/controllers/principles_controller.php index f3e47baa..5731e141 100755 --- a/controllers/principles_controller.php +++ b/controllers/principles_controller.php @@ -5,7 +5,7 @@ class PrinciplesController extends AppController { var $helpers = array('Html', 'Form'); var $paginate = array( - 'Principle' => array('order' => array('Principle.id' => 'asc')), + 'Principle' => array('limit' => 50, 'order' => array('Principle.name' => 'asc')), 'Enquiry' => array('limit' => 200, 'order' => array('Enquiry.id' => 'desc')) ); diff --git a/models/enquiry.php b/models/enquiry.php index b3ef19a5..538401b8 100755 --- a/models/enquiry.php +++ b/models/enquiry.php @@ -179,8 +179,9 @@ class Enquiry extends AppModel { 'foreignKey' => 'enquiry_id', 'dependent' => false ), - ); + var $hasOne = array('EnquiryEmailQueue'); + } ?> diff --git a/models/enquiry_email_queue.php b/models/enquiry_email_queue.php new file mode 100644 index 00000000..60a174a0 --- /dev/null +++ b/models/enquiry_email_queue.php @@ -0,0 +1,7 @@ + '', 'fields' => '', 'order' => '' - ) + ), + + 'ProductCategory' => array('className'=>'ProductCategory', + 'foreignKey' => 'product_category_id' + ) ); } diff --git a/models/product_category.php b/models/product_category.php new file mode 100644 index 00000000..abeaa323 --- /dev/null +++ b/models/product_category.php @@ -0,0 +1,13 @@ +array('className'=>'Product', + 'foreignKey'=>'product_category_id')); + + + +} + +?> diff --git a/views/contacts/add_one.ctp b/views/contacts/add_one.ctp index d744bd17..dab7dc42 100644 --- a/views/contacts/add_one.ctp +++ b/views/contacts/add_one.ctp @@ -12,7 +12,7 @@ echo $form->input("Contact.phone"); echo $form->input("Contact.mobile"); echo $form->input("Contact.fax"); - echo $form->input("Contact.contact_category_id"); + echo $form->input("Contact.contact_category_id", array('options' => $contact_categories, 'label' => 'Contact Department')); echo $form->input("Contact.notes"); echo $form->input("Contact.customer_id", array('type'=>'hidden', 'value' => $customerid)); ?> diff --git a/views/enquiries/view.ctp b/views/enquiries/view.ctp index d484da20..a5e2d849 100755 --- a/views/enquiries/view.ctp +++ b/views/enquiries/view.ctp @@ -56,7 +56,9 @@ > > + +   diff --git a/views/principles/index.ctp b/views/principles/index.ctp index 7d3b8d52..c36d88ba 100755 --- a/views/principles/index.ctp +++ b/views/principles/index.ctp @@ -42,7 +42,6 @@ foreach ($principles as $principle): link(__('View', true), array('action'=>'view', $principle['Principle']['id'])); ?> link(__('Edit', true), array('action'=>'edit', $principle['Principle']['id'])); ?> - link(__('Delete', true), array('action'=>'delete', $principle['Principle']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $principle['Principle']['id'])); ?> diff --git a/views/principles/view.ctp b/views/principles/view.ctp index dcf6ee9c..58feacb1 100755 --- a/views/principles/view.ctp +++ b/views/principles/view.ctp @@ -127,4 +127,3 @@ - diff --git a/webroot/css/quotenik.css b/webroot/css/quotenik.css index 5e0c0701..7b6fca63 100755 --- a/webroot/css/quotenik.css +++ b/webroot/css/quotenik.css @@ -795,7 +795,7 @@ div.code-coverage-results span.result-good { div.principle-emails { float: right; -background: #E5E5E5; +background: #ECF2F2; border: 1px black dashed; width: auto; text-align: left; @@ -850,6 +850,13 @@ span.principle-emails { color: #000000; padding-left: 2px; } + +span.enquiry-view-comments { + color: #000000; + font-size: 100%; + text-align: left; + line-height: 1; +} span.tip {