<?php
class JobsController extends AppController {

    var $name = 'Jobs';
    var $helpers = array('Html', 'Form');

    function index() {
        $this->Job->recursive = 0;
        $this->set('jobs', $this->paginate());
    }

    function view($id = null) {
        if (!$id) {
            $this->flash(__('Invalid Job', true), array('action'=>'index'));
        }

        $job = $this->Job->read(null, $id);
        $this->set('job', $job);
        $this->set('customer', $this->Job->Enquiry->Customer->findById($job['Enquiry']['customer_id']));

         $this->pageTitle = $job['Job']['title'];

    }

    function add() {

       

        if (!empty($this->data)) {
            $this->Job->create();

            $job_offset = 6141;

            $number_of_jobs = $this->Job->findCount();
            $new_job_number = $job_offset + $number_of_jobs;

            $enquiry = $this->Job->Enquiry->findById($this->data['Job']['enquiry_id']);



           $monthYearShort = strtoupper(date("My"));

           $jobLetter = $enquiry['State']['enqform'];

           $this->data['Job']['title'] = $monthYearShort.$jobLetter."J".$new_job_number;




            if ($this->Job->save($this->data)) {
                $jobid = $this->Job->id;

                //$this->Job->Enquiry->set('status_id', 3); //Change status to 'Job Won';
                $enquiry['Enquiry']['status_id'] = 3;

                $this->Job->Enquiry->save($enquiry);


                $this->Session->setFlash(__('Job Saved', true));
                $this->redirect(array('action'=>'view', $jobid));
            } else {
                   $this->Session->setFlash(__('Please Fix the Errors Below', true));
                  $enquiry = $this->Job->Enquiry->findById($this->data['Job']['enquiry_id']);
                  $this->set(compact('enquiry'));
            }
        }
        else {
            if(isset($this->params['named']['enquiryid'])) {

                $enquiry = $this->Job->Enquiry->findById($this->params['named']['enquiryid']);
                
                $this->set(compact('enquiry'));
            }
            else {
                $this->Session->setFlash(__('Invalid Enquiry ID', true));
                $this->redirect(array('action'=>'index'));
            }
        }

        $freight_paid_options = array("CMC"=>"CMC", "Customer"=>"Customer");
        $this->set('freight_paid_options', $freight_paid_options);

        $sale_category_options = array("INDENT"=>"INDENT", "STOCK"=>"STOCK", "COMMISSION"=>"COMMISSION");
        $this->set('sale_category_options', $sale_category_options);

        $shipment_category_options = array(
            "AUSTRALIA"=>"AUSTRALIA",
            "EXPORT"=>"EXPORT",
            "DIRECT-INTL"=>"DIRECT-INTL",
            "DIRECT-AUST"=>"DIRECT-AUST",
            "NO-SHIP"=>"NO-SHIP"
        );
        $this->set('shipment_category_options', $shipment_category_options);

        }

    function edit($id = null) {
        if (!$id && empty($this->data)) {
            $this->flash(__('Invalid Job', true), array('action'=>'index'));
        }
        if (!empty($this->data)) {
            $jobid = $this->data['Job']['id'];
            if ($this->Job->save($this->data)) {
               // $this->flash(__('The Job has been saved.', true), array('action'=>'view', $jobid));

                $this->Session->setFlash(__('The Job has been saved', true));

                $this->redirect(array('action' =>'view/'.$jobid), null, false);

            } else {
            }
        }
        if (empty($this->data)) {
            $job = $this->Job->read(null, $id);
            $this->data = $job;


        }




        $freight_paid_options = array("CMC"=>"CMC", "Customer"=>"Customer");
        $this->set('freight_paid_options', $freight_paid_options);

        $sale_category_options = array("INDENT"=>"INDENT", "STOCK"=>"STOCK", "COMMISSION"=>"COMMISSION");
        $this->set('sale_category_options', $sale_category_options);

        $shipment_category_options = array(
            "AUSTRALIA"=>"AUSTRALIA",
            "EXPORT"=>"EXPORT",
            "DIRECT-INTL"=>"DIRECT-INTL",
            "DIRECT-AUST"=>"DIRECT-AUST",
            "NO-SHIP"=>"NO-SHIP"
        );
        $this->set('shipment_category_options', $shipment_category_options);




    }

    function delete($id = null) {
        if (!$id) {
            $this->flash(__('Invalid Job', true), array('action'=>'index'));
        }
        if ($this->Job->del($id)) {
            $this->flash(__('Job deleted', true), array('action'=>'index'));
        }
    }



    function __isNotEmptyDate($date) {
        if($date == "0000-00-00") {
           return true;
        }
        else {
            return false;
        }


    }
}
?>