Exemplo n.º 1
0
 function ajax_callbacks($action)
 {
     global $FANNIE_OP_DB;
     switch ($action) {
         case 'vendorDisplay':
             $this->getVendorInfo(FormLib::get_form_value('vid', 0));
             break;
         case 'newVendor':
             $this->newVendor(FormLib::get_form_value('name', ''));
             break;
         case 'saveDelivery':
             $delivery = new VendorDeliveriesModel(FannieDB::get($FANNIE_OP_DB));
             $delivery->vendorID(FormLib::get('vID', 0));
             $delivery->frequency(FormLib::get('frequency', 'weekly'));
             $delivery->regular(FormLib::get('regular') ? 1 : 0);
             $delivery->sunday(FormLib::get('sunday') ? 1 : 0);
             $delivery->monday(FormLib::get('monday') ? 1 : 0);
             $delivery->tuesday(FormLib::get('tuesday') ? 1 : 0);
             $delivery->wednesday(FormLib::get('wednesday') ? 1 : 0);
             $delivery->thursday(FormLib::get('thursday') ? 1 : 0);
             $delivery->friday(FormLib::get('friday') ? 1 : 0);
             $delivery->saturday(FormLib::get('saturday') ? 1 : 0);
             $ret = array();
             if ($delivery->regular()) {
                 $delivery->autoNext();
                 $ts1 = strtotime($delivery->nextDelivery());
                 $ts2 = strtotime($delivery->nextNextDelivery());
                 if ($ts1 !== false && $ts2 !== false) {
                     $ret['next'] = date('D, M jS', $ts1);
                     $ret['nextNext'] = date('D, M jS', $ts2);
                 }
             }
             $delivery->save();
             echo json_encode($ret);
             break;
         case 'saveContactInfo':
             $id = FormLib::get_form_value('vendorID', '');
             if ($id === '') {
                 echo 'Bad request';
                 break;
             }
             $web = FormLib::get_form_value('website');
             if (!empty($web) && substr(strtolower($web), 0, 4) !== "http") {
                 $web = 'http://' . $web;
             }
             $localID = FormLib::get_form_value('local-origin-id', 0);
             /** 29Oct2014 Andy
                     Widen vendors table so additional vendorContacts
                     table can be deprecated in the future
                 */
             $dbc = FannieDB::get($FANNIE_OP_DB);
             $vModel = new VendorsModel($dbc);
             $vModel->vendorID($id);
             $vModel->phone(FormLib::get_form_value('phone'));
             $vModel->fax(FormLib::get_form_value('fax'));
             $vModel->email(FormLib::get_form_value('email'));
             $vModel->website($web);
             $vModel->notes(FormLib::get_form_value('notes'));
             $vModel->localOriginID($localID);
             $success = $vModel->save();
             $vcModel = new VendorContactModel($dbc);
             $vcModel->vendorID($id);
             $vcModel->phone(FormLib::get_form_value('phone'));
             $vcModel->fax(FormLib::get_form_value('fax'));
             $vcModel->email(FormLib::get_form_value('email'));
             $vcModel->website($web);
             $vcModel->notes(FormLib::get_form_value('notes'));
             $success = $vcModel->save();
             $ret = array('error' => 0, 'msg' => '');
             if ($success) {
                 $ret['msg'] = 'Saved vendor information';
             } else {
                 $ret['msg'] = 'Error saving vendor information';
                 $ret['error'] = 1;
             }
             echo json_encode($ret);
             break;
         case 'saveShipping':
             $id = FormLib::get('id', '');
             $ret = array('error' => 0);
             if ($id === '') {
                 $ret['error'] = 'Bad request';
             } else {
                 $dbc = FannieDB::get($FANNIE_OP_DB);
                 $vModel = new VendorsModel($dbc);
                 $vModel->vendorID($id);
                 $vModel->shippingMarkup(FormLib::get('shipping') / 100.0);
                 if (!$vModel->save()) {
                     $ret['error'] = 'Save failed!';
                 }
             }
             echo json_encode($ret);
             break;
         case 'saveDiscountRate':
             $id = FormLib::get('id', '');
             $ret = array('error' => 0);
             if ($id === '') {
                 $ret['error'] = 'Bad request';
             } else {
                 $dbc = $this->connection;
                 $dbc->setDefaultDB($this->config->OP_DB);
                 $vModel = new VendorsModel($dbc);
                 $vModel->vendorID($id);
                 $vModel->discountRate(FormLib::get('rate') / 100.0);
                 if (!$vModel->save()) {
                     $ret['error'] = 'Save failed!';
                 }
             }
             echo json_encode($ret);
             break;
         default:
             echo 'Bad request';
             break;
     }
 }