Example #1
0
 /**
  * Define database schema for Category model
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     parent::defineSchema($className);
     $schema->registerField(new ARField("isEnabled", ARBool::instance()));
     $schema->registerField(new ARField("isAnyRecord", ARBool::instance()));
     $schema->registerField(new ARField("isAllSubconditions", ARBool::instance()));
     $schema->registerField(new ARField("isActionCondition", ARBool::instance()));
     $schema->registerField(new ARField("isFinal", ARBool::instance()));
     $schema->registerField(new ARField("isReverse", ARBool::instance()));
     $schema->registerField(new ARField("conditionClass", ARVarchar::instance(80)));
     $schema->registerField(new ARField("recordCount", ARInteger::instance()));
     $schema->registerField(new ARField("validFrom", ARDateTime::instance()));
     $schema->registerField(new ARField("validTo", ARDateTime::instance()));
     $schema->registerField(new ARField("subTotal", ARInteger::instance()));
     $schema->registerField(new ARField("count", ARInteger::instance()));
     $schema->registerField(new ARField("comparisonType", ARInteger::instance()));
     $schema->registerField(new ARField("position", ARInteger::instance()));
     $schema->registerField(new ARField("name", ARArray::instance()));
     $schema->registerField(new ARField("description", ARArray::instance()));
     $schema->registerField(new ARField("couponCode", ARVarchar::instance(100)));
     $schema->registerField(new ARField("couponLimitCount", ARInteger::instance()));
     $schema->registerField(new ARField("couponLimitType", ARInteger::instance()));
     $schema->registerField(new ARField("serializedCondition", ARText::instance()));
 }
Example #2
0
 /**
  * Define database schema used by this active record instance
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("parentTransactionID", "Transaction", "ID", "Transaction", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("orderID", "CustomerOrder", "ID", "CustomerOrder", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("currencyID", "currency", "ID", 'Currency', ARChar::instance(3)));
     $schema->registerField(new ARForeignKeyField("realCurrencyID", "realCurrency", "ID", 'Currency', ARChar::instance(3)));
     $schema->registerField(new ARForeignKeyField("userID", "user", "ID", 'User', ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("eavObjectID", "eavObject", "ID", 'EavObject', ARInteger::instance()), false);
     $schema->registerField(new ARField("amount", ARFloat::instance()));
     $schema->registerField(new ARField("realAmount", ARFloat::instance()));
     $schema->registerField(new ARField("time", ARDateTime::instance()));
     $schema->registerField(new ARField("method", ARVarchar::instance(40)));
     $schema->registerField(new ARField("gatewayTransactionID", ARVarchar::instance(40)));
     $schema->registerField(new ARField("type", ARInteger::instance()));
     $schema->registerField(new ARField("methodType", ARInteger::instance()));
     $schema->registerField(new ARField("isCompleted", ARBool::instance()));
     $schema->registerField(new ARField("isVoided", ARBool::instance()));
     $schema->registerField(new ARField("ccExpiryYear", ARInteger::instance()));
     $schema->registerField(new ARField("ccExpiryMonth", ARInteger::instance()));
     $schema->registerField(new ARField("ccLastDigits", ARVarchar::instance(40)));
     $schema->registerField(new ARField("ccType", ARVarchar::instance(40)));
     $schema->registerField(new ARField("ccName", ARVarchar::instance(100)));
     $schema->registerField(new ARField("ccCVV", ARVarchar::instance(80)));
     $schema->registerField(new ARField("comment", ARText::instance()));
     $schema->registerField(new ARField("serializedData", ARText::instance()));
 }
Example #3
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName("Role");
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance(10)));
     $schema->registerField(new ARField("name", ARText::instance(150)));
 }
Example #4
0
 /**
  * Define database schema used by this active record instance
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("orderID", "CustomerOrder", "ID", "CustomerOrder", ARInteger::instance()));
     $schema->registerField(new ARField("amount", ARFloat::instance()));
     $schema->registerField(new ARField("description", ARText::instance()));
 }
Example #5
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARField("fileName", ARText::instance()));
     $schema->registerField(new ARField("extension", ARText::instance()));
     $schema->registerField(new ARField("filePath", ARText::instance()));
     return $schema;
 }
Example #6
0
 public function process()
 {
     static $beenHere = null;
     if (!$beenHere) {
         Product::defineSchema();
         $schema = Product::getSchemaInstance('Product');
         $schema->registerField(new ArField('custom', ARText::instance()));
     }
     $beenHere = true;
 }
Example #7
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName("ProductPrice");
     $schema->registerField(new ARPrimaryForeignKeyField("productID", "Product", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARPrimaryForeignKeyField("currencyID", "Currency", "ID", null, ARChar::instance(3)));
     $schema->registerField(new ARField("price", ARFloat::instance(16)));
     $schema->registerField(new ARField("listPrice", ARFloat::instance(16)));
     $schema->registerField(new ARField("serializedRules", ARText::instance(16)));
 }
Example #8
0
 /**
  * Define database schema
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("addressID", "address", "ID", 'UserAddress', ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("orderID", "order", "ID", 'CustomerOrder', ARInteger::instance()));
     $schema->registerField(new ARField("method", ARVarchar::instance(40)));
     $schema->registerField(new ARField("paymentData", ARText::instance()));
 }
Example #9
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName("DeliveryZone");
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARField("name", ARText::instance()));
     $schema->registerField(new ARField("isEnabled", ARInteger::instance(1)));
     $schema->registerField(new ARField("isFreeShipping", ARInteger::instance(1)));
     $schema->registerField(new ARField("isRealTimeDisabled", ARInteger::instance(1)));
     $schema->registerField(new ARField("type", ARInteger::instance(1)));
 }
Example #10
0
 /**
  * Define database schema used by this active record instance
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryForeignKeyField("orderedItemID", "OrderedItem", "ID", "OrderedItem", ARInteger::instance()));
     $schema->registerField(new ARPrimaryForeignKeyField("choiceID", "ProductOptionChoice", "ID", "ProductOptionChoice", ARInteger::instance()));
     $schema->registerField(new ARField("priceDiff", ARFloat::instance()));
     $schema->registerField(new ARField("optionText", ARText::instance()));
     $schema->registerCircularReference('Choice', 'ProductOptionChoice');
     $schema->registerCircularReference('DefaultChoice', 'ProductOptionChoice');
 }
Example #11
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARField("status", ARInteger::instance()));
     $schema->registerField(new ARField("time", ARDateTime::instance()));
     $schema->registerField(new ARField("subject", ARVarchar::instance(255)));
     $schema->registerField(new ARField("text", ARText::instance()));
     $schema->registerField(new ARField("html", ARText::instance()));
 }
Example #12
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName(__CLASS__);
     $schema->registerField(new ARField("section", ARVarchar::instance(64)));
     $schema->registerField(new ARField("value", ARText::instance()));
     $schema->registerField(new ARField("locale", ARVarchar::instance(2)));
     $schema->registerField(new ARField("meta", ARText::instance()));
     $schema->registerField(new ARField("sort", ARInteger::instance()));
     // $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     // $schema->registerField(new ARField("type", ARVarchar::instance(16)));
 }
Example #13
0
 /**
  * Define database schema used by this active record instance
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("userID", "User", "ID", "User", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("orderID", "CustomerOrder", "ID", "CustomerOrder", ARInteger::instance()));
     $schema->registerField(new ARField("isRead", ARBool::instance()));
     $schema->registerField(new ARField("isAdmin", ARBool::instance()));
     $schema->registerField(new ARField("time", ARDateTime::instance()));
     $schema->registerField(new ARField("text", ARText::instance()));
 }
Example #14
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName(__CLASS__);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("storeID", "ClonedStore", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARField("type", ARInteger::instance(2)));
     $schema->registerField(new ARField("entity", ARVarchar::instance(100)));
     $schema->registerField(new ARField("field", ARVarchar::instance(100)));
     $schema->registerField(new ARField("find", ARText::instance()));
     $schema->registerField(new ARField("repl", ARText::instance()));
     $schema->registerField(new ARField("query", ARText::instance(100)));
 }
Example #15
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName("ProductOptionChoice");
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("optionID", "ProductOption", "ID", "ProductOption", ARInteger::instance()));
     $schema->registerField(new ARField("priceDiff", ARFloat::instance(4)));
     $schema->registerField(new ARField("hasImage", ARBool::instance()));
     $schema->registerField(new ARField("position", ARInteger::instance(4)));
     $schema->registerField(new ARField("name", ARArray::instance()));
     $schema->registerField(new ARField("config", ARText::instance()));
     $schema->registerCircularReference('Option', 'ProductOption');
 }
Example #16
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName(__CLASS__);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARField("isVisible", ARBool::instance()));
     $schema->registerField(new ARField("doctorName", ARVarchar::instance(255)));
     $schema->registerField(new ARField("date", ARDate::instance()));
     $schema->registerField(new ARField("time", ARTime::instance()));
     $schema->registerField(new ARField("comment", ARText::instance()));
     $schema->registerField(new ARField("eyeExamRequestID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("eyeExamRequestID", "EyeExamRequest", "ID", null, ARInteger::instance()), false);
 }
Example #17
0
 /**
  * Define database schema used by this active record instance
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("orderID", "CustomerOrder", "ID", "CustomerOrder", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("shippingServiceID", "ShippingService", "ID", "ShippingService", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("shippingAddressID", "shippingAddress", "ID", 'UserAddress', ARInteger::instance()));
     $schema->registerField(new ARField("trackingCode", ARVarchar::instance(100)));
     $schema->registerField(new ARField("dateShipped", ARDateTime::instance()));
     $schema->registerField(new ARField("amount", ARFloat::instance()));
     $schema->registerField(new ARField("taxAmount", ARFloat::instance()));
     $schema->registerField(new ARField("shippingAmount", ARFloat::instance()));
     $schema->registerField(new ARField("status", ARInteger::instance(2)));
     $schema->registerField(new ARField("shippingServiceData", ARText::instance(50)));
     //$schema->registerAutoReference('shippingAddressID');
 }
Example #18
0
 /**
  * Action for discount condition (define the actual discount)
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("conditionID", "DiscountCondition", "ID", "DiscountCondition", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("actionConditionID", "DiscountCondition", "ID", "DiscountCondition", ARInteger::instance()));
     $schema->registerField(new ARField("isEnabled", ARBool::instance()));
     $schema->registerField(new ARField("isOrderLevel", ARBool::instance()));
     $schema->registerField(new ARField("type", ARInteger::instance()));
     $schema->registerField(new ARField("position", ARInteger::instance()));
     $schema->registerField(new ARField("discountStep", ARInteger::instance()));
     $schema->registerField(new ARField("discountLimit", ARInteger::instance()));
     $schema->registerField(new ARField("amount", ARFloat::instance()));
     $schema->registerField(new ARField("actionClass", ARVarchar::instance(80)));
     $schema->registerField(new ARField("serializedData", ARText::instance()));
 }
Example #19
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName("Currency");
     $schema->registerField(new ARPrimaryKeyField("ID", ArChar::instance(3)));
     $schema->registerField(new ARField("rate", ArFloat::instance(16)));
     $schema->registerField(new ARField("lastUpdated", ArDateTime::instance()));
     $schema->registerField(new ARField("isDefault", ArBool::instance()));
     $schema->registerField(new ARField("isEnabled", ArBool::instance()));
     $schema->registerField(new ARField("position", ARInteger::instance()));
     $schema->registerField(new ARField("pricePrefix", ARText::instance(20)));
     $schema->registerField(new ARField("priceSuffix", ARText::instance(20)));
     $schema->registerField(new ARField("decimalSeparator", ARVarchar::instance(3)));
     $schema->registerField(new ARField("thousandSeparator", ARVarchar::instance(3)));
     $schema->registerField(new ARField("decimalCount", ARInteger::instance()));
     $schema->registerField(new ARField("rounding", ARText::instance()));
 }
Example #20
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField('ID', ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField('productID', 'Product', 'ID', null, ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField('userID', 'User', 'ID', null, ARInteger::instance()));
     $schema->registerField(new ARField('isEnabled', ARBool::instance()));
     $schema->registerField(new ARField('dateCreated', ARDateTime::instance()));
     $schema->registerField(new ARField('ip', ARInteger::instance()));
     $schema->registerField(new ArField('ratingSum', ARInteger::instance()));
     $schema->registerField(new ArField('ratingCount', ARInteger::instance()));
     $schema->registerField(new ArField('rating', ARFloat::instance(8)));
     $schema->registerField(new ARField('nickname', ARVarchar::instance(100)));
     $schema->registerField(new ARField('title', ARVarchar::instance(255)));
     $schema->registerField(new ARField('text', ARText::instance()));
 }
Example #21
0
 /**
  * Define database schema used by this active record instance
  *
  * @param string $className Schema name
  */
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName($className);
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("userID", "User", "ID", "User", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("shippingAddressID", "shippingAddress", "ID", 'UserAddress', ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("billingAddressID", "billingAddress", "ID", 'UserAddress', ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("currencyID", "currency", "ID", 'Currency', ARChar::instance(3)));
     $schema->registerField(new ARForeignKeyField("eavObjectID", "eavObject", "ID", 'EavObject', ARInteger::instance()), false);
     $schema->registerField(new ARField("invoiceNumber", ARVarchar::instance(40)));
     $schema->registerField(new ARField("checkoutStep", ARInteger::instance()));
     $schema->registerField(new ARField("dateCreated", ARDateTime::instance()));
     $schema->registerField(new ARField("dateCompleted", ARDateTime::instance()));
     $schema->registerField(new ARField("totalAmount", ARFloat::instance()));
     $schema->registerField(new ARField("capturedAmount", ARFloat::instance()));
     $schema->registerField(new ARField("isMultiAddress", ARBool::instance()));
     $schema->registerField(new ARField("isFinalized", ARBool::instance()));
     $schema->registerField(new ARField("isPaid", ARBool::instance()));
     $schema->registerField(new ARField("isCancelled", ARBool::instance()));
     $schema->registerField(new ARField("status", ARInteger::instance()));
     $schema->registerField(new ARField("shipping", ARText::instance()));
 }
Example #22
0
 public static function defineSchema($className = __CLASS__)
 {
     $schema = self::getSchemaInstance($className);
     $schema->setName("Product");
     $schema->registerField(new ARPrimaryKeyField("ID", ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("categoryID", "Category", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("manufacturerID", "Manufacturer", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("defaultImageID", "ProductImage", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("parentID", "Product", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("shippingClassID", "ShippingClass", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARForeignKeyField("taxClassID", "TaxClass", "ID", null, ARInteger::instance()));
     $schema->registerField(new ARField("isEnabled", ARBool::instance()));
     $schema->registerField(new ARField("sku", ARVarchar::instance(20)))->validate('required', 'IsUniqueSkuCheck');
     $schema->registerField(new ARField("name", ARArray::instance()))->validate('required');
     $schema->registerField(new ARField("shortDescription", ARArray::instance()));
     $schema->registerField(new ARField("longDescription", ARArray::instance()));
     $schema->registerField(new ARField("keywords", ARText::instance()));
     $schema->registerField(new ARField("pageTitle", ARArray::instance()));
     $schema->registerField(new ARField("dateCreated", ARDateTime::instance()));
     $schema->registerField(new ARField("dateUpdated", ARDateTime::instance()));
     $schema->registerField(new ARField("URL", ARVarchar::instance(256)));
     $schema->registerField(new ARField("isFeatured", ARBool::instance()));
     $schema->registerField(new ARField("type", ARInteger::instance(4)));
     $schema->registerField(new ArField("ratingSum", ARInteger::instance()));
     //->protect();
     $schema->registerField(new ArField("ratingCount", ARInteger::instance()));
     $schema->registerField(new ArField("rating", ARFloat::instance(8)));
     $schema->registerField(new ArField("reviewCount", ARInteger::instance()));
     $schema->registerField(new ArField("minimumQuantity", ARFloat::instance(8)));
     $schema->registerField(new ArField("shippingSurchargeAmount", ARFloat::instance(8)));
     $schema->registerField(new ArField("isSeparateShipment", ARBool::instance()));
     $schema->registerField(new ArField("isFreeShipping", ARBool::instance()));
     $schema->registerField(new ArField("isBackOrderable", ARBool::instance()));
     $schema->registerField(new ArField("isFractionalUnit", ARBool::instance()));
     $schema->registerField(new ArField("isUnlimitedStock", ARBool::instance()));
     $schema->registerField(new ArField("shippingWeight", ARFloat::instance(8)));
     $schema->registerField(new ArField("stockCount", ARFloat::instance(8)));
     $schema->registerField(new ArField("reservedCount", ARFloat::instance(8)));
     $schema->registerField(new ArField("salesRank", ARInteger::instance()));
     $schema->registerField(new ArField("childSettings", ARText::instance()));
     $schema->registerField(new ArField("fractionalStep", ARFloat::instance(8)));
     $schema->registerField(new ArField("position", ARInteger::instance()));
     $schema->registerField(new ArField("categoryIntervalCache", ARText::instance()));
     $schema->registerField(new ArField("isRecurring", ARBool::instance()));
 }
Example #23
0
 public function testTextRules()
 {
     $schema = Product::getSchemaInstance('Product');
     $schema->registerField(new ArField('custom', ARText::instance()));
     $product = Product::getNewInstance($this->categories['1.2.1']);
     $product->sku->set('testing');
     $product->custom->set('something else');
     $product->setValueByLang('name', null, 'product name');
     $product->save();
     $rule = ClonedStoreRule::getNewInstance($this->stores[0], ClonedStoreRule::TYPE_TEXT);
     $rule->field->set('Product.sku');
     $rule->find->set('sti');
     $rule->repl->set('blah');
     $rule->save();
     $rule = ClonedStoreRule::getNewInstance($this->stores[0], ClonedStoreRule::TYPE_TEXT);
     $rule->field->set('Product.name');
     $rule->find->set('ct');
     $rule->repl->set('kta');
     $rule->save();
     $rule = ClonedStoreRule::getNewInstance($this->stores[0], ClonedStoreRule::TYPE_TEXT);
     $rule->field->set('Product.custom');
     $rule->find->set('thing');
     $rule->repl->set('nothing');
     $rule->save();
     $updater = $this->getUpdater();
     $updater->syncAll();
     $row = ActiveRecord::getDataBySQL('SELECT * FROM ' . $updater->getImportDatabase() . '.Product WHERE ID=' . $product->getID());
     $row = array_shift($row);
     $this->assertEqual($row['sku'], 'teblahng');
     $this->assertEqual($row['custom'], 'somenothing else');
     $name = unserialize($row['name']);
     $this->assertEqual($name[$this->getApplication()->getDefaultLanguageCode()], 'produkta name');
 }