コード例 #1
0
ファイル: ItemMarginModule.php プロジェクト: phpsmith/IS4C
 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;
 }
コード例 #2
0
ファイル: batchAjax.php プロジェクト: phpsmith/IS4C
     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;
     }
     $price = FormLib::get_form_value('price', 0);
     $viP = $dbc->prepare('
コード例 #3
0
ファイル: InstallIndexPage.php プロジェクト: phpsmith/IS4C
 public function create_op_dbs($con, $op_db_name)
 {
     $ret = array();
     $models = array('AutoCouponsModel', 'BatchesModel', 'BatchListModel', 'BatchCutPasteModel', 'BatchBarcodesModel', 'BatchTypeModel', 'BatchMergeTableModel', 'ConsistentProductRulesModel', 'CoopDealsItemsModel', 'CronBackupModel', 'CustdataModel', 'CustdataBackupModel', 'CustAvailablePrefsModel', 'CustPreferencesModel', 'CustReceiptMessageModel', 'CustomerAccountSuspensionsModel', 'CustomerNotificationsModel', 'CustomReceiptModel', 'CustomReportsModel', 'DateRestrictModel', 'DepartmentsModel', 'DisableCouponModel', 'EmployeesModel', 'EquityPaymentPlansModel', 'EquityPaymentPlanAccountsModel', 'FloorSectionsModel', 'HouseCouponsModel', 'HouseCouponItemsModel', 'HouseVirtualCouponsModel', 'LikeCodesModel', 'UpcLikeModel', 'MemberCardsModel', 'MemberNotesModel', 'MemDatesModel', 'MeminfoModel', 'MemtypeModel', 'MemContactModel', 'MemContactPrefsModel', 'OriginsModel', 'OriginCountryModel', 'OriginStateProvModel', 'OriginCustomRegionModel', 'PagePermissionsModel', 'ParametersModel', 'PatronageModel', 'PriceRulesModel', 'PriceRuleTypesModel', 'ProductsModel', 'ProductBackupModel', 'ProductUserModel', 'ProductOriginsMapModel', 'ProdExtraModel', 'ProdFlagsModel', 'ProdPhysicalLocationModel', 'ProdUpdateModel', 'ProdDepartmentHistoryModel', 'ProdCostHistoryModel', 'ProdPriceHistoryModel', 'PurchaseOrderModel', 'PurchaseOrderItemsModel', 'PurchaseOrderSummaryModel', 'ReasoncodesModel', 'ScaleItemsModel', 'ServiceScalesModel', 'ServiceScaleItemMapModel', 'ShelftagsModel', 'ShelfTagQueuesModel', 'ShrinkReasonsModel', 'SpecialDeptMapModel', 'SubDeptsModel', 'SuperDeptsModel', 'SuperDeptEmailsModel', 'SuperDeptNamesModel', 'StoresModel', 'StoreBatchMapModel', 'StoreEmployeeMapModel', 'SuspensionsModel', 'SuspensionHistoryModel', 'TaxRatesModel', 'TendersModel', 'UsageStatsModel', 'VendorsModel', 'VendorContactModel', 'VendorDeliveriesModel', 'VendorItemsModel', 'VendorSpecificMarginsModel', 'VendorSRPsModel', 'VendorSKUtoPLUModel', 'VendorBreakdownsModel', 'VendorDepartmentsModel', 'UsersModel', 'UserPrivsModel', 'UserKnownPrivsModel', 'UserGroupsModel', 'UserGroupPrivsModel', 'UserSessionsModel', 'SuperMinIdViewModel', 'MasterSuperDeptsModel');
     foreach ($models as $class) {
         $obj = new $class($con);
         $ret[] = $obj->createIfNeeded($op_db_name);
     }
     $rules = new PriceRulesModel($con);
     if (count($rules->find()) == 0) {
         $rules->priceRuleID(1);
         $rules->details('Generic Variable Price');
         $rules->save();
     }
     /**
       @deprecated 22Jan14
       Somewhat deprecated. Others' code may rely on this
       so it's still created
       @update 06Nov14
       All uses are checked first for existence. Not necessary
       to create on new install.
     $ret[] = create_if_needed($con,$FANNIE_SERVER_DBMS,$op_db_name,
             'deptMargin','op');
     */
     /**
       @deprecated 22Jan14
       Only used for legacy pages
     $ret[] = create_if_needed($con,$FANNIE_SERVER_DBMS,$FANNIE_OP_DB,
             'unfi','op');
     */
     /**
       @deprecated 22Jan14
       memtype has sufficient columns now
       table kept around until confirming it can be deleted
       @update 06Nov14
       No longer needs to be created on new installs
     $ret[] = create_if_needed($con,$FANNIE_SERVER_DBMS,$FANNIE_OP_DB,
             'memdefaults','op');
     */
     /**
       @deprecated 06Nov14 andy
       origins table has name fields removing need for view
     $ret[] = create_if_needed($con,$FANNIE_SERVER_DBMS,$FANNIE_OP_DB,
             'originName','op');
     */
     /**
       @deprecated 06Nov14 andy
       Relates to old, never finished email statement/invoice function
     $ret[] = create_if_needed($con,$FANNIE_SERVER_DBMS,$FANNIE_OP_DB,
             'emailLog','op');
     */
     /**
       @deprecated 06Nov14 andy
       Relates to old, pre-BasicModel update mechanism
     $ret[] = create_if_needed($con,$FANNIE_SERVER_DBMS,$FANNIE_OP_DB,
             'UpdateLog','op');
     */
     $ret[] = dropDeprecatedStructure($con, $op_db_name, 'expingMems', true);
     $ret[] = dropDeprecatedStructure($con, $op_db_name, 'expingMems_thisMonth', true);
     return $ret;
     // create_op_dbs()
 }