/** * Adds OrderModifier_Descriptors and deletes the irrelevant ones * stardard SS method */ function requireDefaultRecords() { parent::requireDefaultRecords(); $arrayOfModifiers = EcommerceConfig::get("Order", "modifiers"); if (!is_array($arrayOfModifiers)) { $arrayOfModifiers = array(); } if (count($arrayOfModifiers)) { foreach ($arrayOfModifiers as $className) { $orderModifier_Descriptor = OrderModifier_Descriptor::get()->Filter(array("ModifierClassName" => $className))->First(); if (!$orderModifier_Descriptor) { $modifier = singleton($className); $orderModifier_Descriptor = OrderModifier_Descriptor::create(); $orderModifier_Descriptor->ModifierClassName = $className; $orderModifier_Descriptor->Heading = $modifier->i18n_singular_name(); $orderModifier_Descriptor->write(); DB::alteration_message("Creating description for " . $className, "created"); } } } //delete the ones that are not relevant $orderModifierDescriptors = OrderModifier_Descriptor::get(); if ($orderModifierDescriptors && $orderModifierDescriptors->count()) { foreach ($orderModifierDescriptors as $orderModifierDescriptor) { if (!in_array($orderModifierDescriptor->ModifierClassName, $arrayOfModifiers)) { $orderModifierDescriptor->delete(); DB::alteration_message("Deleting description for " . $orderModifierDescriptor->ModifierClassName, "created"); } } } }