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 @@