Example #1
0
     $prod->upc($upc);
     $prod->store_id(1);
     $prod->load();
     // make sure another rule isn't overwritten with a generic one
     if ($prod->price_rule_id() == 0) {
         $prod->price_rule_id(1);
     }
     $prod->save();
 } else {
     $prod = new ProductsModel($sql);
     $prod->upc($upc);
     $prod->store_id(1);
     $prod->load();
     $ruleID = 0;
     // remove the rule but save its ID
     if ($prod->price_rule_id() != 0) {
         $ruleID = $prod->price_rule_id();
         $prod->price_rule_id(0);
     }
     $prod->save();
     // make sure no other item is using the same
     // rule before deleting it
     if ($ruleID > 1) {
         $prod->reset();
         $prod->price_rule_id($ruleID);
         if (count($prod->find()) == 0) {
             // no products are using this rule
             $rule = new PriceRulesModel($sql);
             $rule->priceRuleID($ruleID);
             $rule->delete();
         }
Example #2
0
     $ruleProd = new ProductsModel($dbc);
     $prod = new ProductsModel($dbc);
     $prod->upc($upc);
     foreach ($prod->find('store_id') as $p) {
         $ruleID = 0;
         // remove the rule but save its ID
         if ($p->price_rule_id() != 0) {
             $ruleID = $p->price_rule_id();
             $p->price_rule_id(0);
         }
         $p->save();
         // make sure no other item is using the same
         // rule before deleting it
         if ($ruleID > 1) {
             $ruleProd->reset();
             $ruleProd->price_rule_id($ruleID);
             if (count($ruleProd->find()) == 0) {
                 // no products are using this rule
                 $rule = new PriceRulesModel($dbc);
                 $rule->priceRuleID($ruleID);
                 $rule->delete();
             }
         }
     }
     break;
 case 'newPrice':
     $vid = FormLib::get_form_value('vendorID');
     $bid = FormLib::get_form_value('batchID');
     $sid = FormLib::get_form_value('queueID', 0);
     if ($sid == 99) {
         $sid = 0;
Example #3
0
 public function saveFormData($upc)
 {
     $db = $this->db();
     $new_rule = FormLib::get('price-rule-id', 0);
     $old_rule = FormLib::get('current-price-rule-id', 0);
     if ($new_rule != $old_rule) {
         $prod = new ProductsModel($db);
         $prod->upc(BarcodeLib::padUPC($upc));
         $prod->store_id(1);
         $rule = new PriceRulesModel($db);
         switch ($new_rule) {
             case 0:
                 // no custom rule
             // no custom rule
             case 1:
                 // generic variable pricing
                 /**
                   Update the product with the generic rule ID
                   If it was previously set to a custom rule,
                   that custom rule can be deleted
                 */
                 $prod->price_rule_id($new_rule);
                 if ($old_rule > 1) {
                     $rule->priceRuleID($old_rule);
                     $rule->delete();
                 }
                 break;
             default:
                 // custom rule
                 /**
                   If the product is already using a custom rule,
                   just update that rule record. Otherwise create
                   a new one.
                 */
                 $rule->reviewDate(FormLib::get('rule-review-date'));
                 $rule->details(FormLib::get('rule-details'));
                 $rule->priceRuleTypeID(FormLib::get('price-rule-type'));
                 if ($old_rule > 1) {
                     $rule->priceRuleID($old_rule);
                     $prod->price_rule_id($old_rule);
                     // just in case
                 } else {
                     $new_rule_id = $rule->save();
                     $prod->price_rule_id($new_rule_id);
                 }
         }
         $prod->save();
     }
     return true;
 }