Ejemplo n.º 1
0
 protected function setUp()
 {
     // Products
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd1 = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, true, 0.3, null, "12345", false, true, 0.2);
     $prd1->id = ProductsService::create($prd1);
     $prd2 = new Product("REF2", "product2", 2.0, $cat->id, null, 3, $taxCat->id, true, false);
     $prd2->id = ProductsService::create($prd2);
     $this->products = array($prd1, $prd2);
     // Locations
     $locSrv = new LocationsService();
     $loc1 = new Location("Location1");
     $loc1->id = $locSrv->create($loc1);
     $loc2 = new Location("Location2");
     $loc2->id = $locSrv->create($loc2);
     $this->locations = array($loc1, $loc2);
     // Stocks
     $lvl11 = new StockLevel($prd1->id, $loc1->id, null, null, 10);
     $lvl11->id = StocksService::createLevel($lvl11);
     $lvl12 = new StockLevel($prd1->id, $loc2->id, null, 5.2, null);
     $lvl12->id = StocksService::createLevel($lvl12);
     $lvl21 = new StockLevel($prd2->id, $loc1->id, null, 7, 20);
     $lvl21->id = StocksService::createLevel($lvl21);
     $move = new StockMove(stdtimefstr("2014-01-01 00:00:00"), StockMove::REASON_IN_BUY, $loc1->id, $prd1->id, null, 3.5, 2.1);
     StocksService::addMove($move);
     $this->levels = array($lvl11, $lvl12, $lvl21);
 }
 protected function setUp()
 {
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, false);
     $this->prdId = ProductsService::create($prd);
 }
Ejemplo n.º 3
0
 static function get($id)
 {
     $pdo = PDOBuilder::getPDO();
     $stmt = $pdo->prepare("SELECT * FROM CATEGORIES WHERE ID = :id");
     if ($stmt->execute(array(':id' => $id))) {
         if ($row = $stmt->fetch()) {
             $cat = CategoriesService::buildDBCat($row);
             return $cat;
         }
     }
     return null;
 }
Ejemplo n.º 4
0
 protected function proceed()
 {
     switch ($this->action) {
         case 'get':
             $this->succeed(CategoriesService::get($this->params['id']));
             break;
         case 'getChildren':
             $this->succeed(CategoriesService::getChildren($this->params['parentId']));
             break;
         case 'getAll':
             $this->succeed(CategoriesService::getAll());
             break;
     }
 }
Ejemplo n.º 5
0
 protected function setUp()
 {
     $this->products = array();
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, true, 0.3, null, "12345", false, true, 0.2);
     $prd->id = ProductsService::create($prd);
     $this->products[] = $prd;
     $prd2 = new Product("REF2", "product2", 2.0, $cat->id, null, 3, $taxCat->id, true, false);
     $prd2->id = ProductsService::create($prd2);
     $this->products[] = $prd2;
 }
Ejemplo n.º 6
0
 protected function proceed()
 {
     switch ($this->action) {
         case 'getPrd':
             $this->result = ProductsService::getImage($this->params['id']);
             break;
         case 'getCat':
             $this->result = CategoriesService::getImage($this->params['id']);
             break;
         case 'getPM':
             $srv = new PaymentModesService();
             $this->result = $srv->getImage($this->params['id']);
             break;
         case 'getRes':
             $this->result = ResourcesService::getImage($this->params['label']);
             break;
     }
 }
Ejemplo n.º 7
0
 protected function setUp()
 {
     $this->areas = array();
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, false);
     $prd->id = ProductsService::create($prd);
     $area = new TariffArea("Area", 1);
     $area->addPrice($prd->id, 0.8);
     $srv = new TariffAreasService();
     $area->id = $srv->create($area);
     $area2 = new TariffArea("Area51", 51);
     $area2->id = $srv->create($area2);
     $this->areas[] = $area;
     $this->areas[] = $area2;
 }
Ejemplo n.º 8
0
 protected function setUp()
 {
     // Products
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd1 = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, true, 0.3, null, "12345", false, true, 0.2);
     $prd1->id = ProductsService::create($prd1);
     $prd2 = new Product("REF2", "product2", 2.0, $cat->id, null, 3, $taxCat->id, true, false);
     $prd2->id = ProductsService::create($prd2);
     $this->products = array($prd1, $prd2);
     // Locations
     $locSrv = new LocationsService();
     $loc1 = new Location("Location1");
     $loc1->id = $locSrv->create($loc1);
     $loc2 = new Location("Location2");
     $loc2->id = $locSrv->create($loc2);
     $this->locations = array($loc1, $loc2);
 }
Ejemplo n.º 9
0
 protected function setUp()
 {
     $this->products = array();
     $this->compositions = array();
     // Setup tax and categories
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $pdo = PDOBuilder::getPDO();
     $id = CompositionsService::CAT_ID;
     $catCmp = new Category(null, "Compositions", false, 1);
     $sql = "INSERT INTO CATEGORIES (ID, NAME, PARENTID, DISPORDER, IMAGE) " . "VALUES (:id, :name, :pid, :order, null)";
     $stmt = $pdo->prepare($sql);
     $stmt->bindParam(":name", $catCmp->label, \PDO::PARAM_STR);
     $stmt->bindParam(":pid", $catCmp->parentId, \PDO::PARAM_INT);
     $stmt->bindParam(":id", $id, \PDO::PARAM_INT);
     $stmt->bindParam(":order", $catCmp->dispOrder, \PDO::PARAM_INT);
     $stmt->execute();
     $cat = new Category(null, "Category", false, 2);
     $cat->id = CategoriesService::createCat($cat);
     // Set up products
     $prd = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, true, 0.3, null, "12345", false, true, 0.2);
     $prd->id = ProductsService::create($prd, null);
     $this->products[] = $prd;
     $prd2 = new Product("REF2", "product2", 2.0, $cat->id, null, 3, $taxCat->id, true, false);
     $prd2->id = ProductsService::create($prd2, null);
     $this->products[] = $prd2;
     $cmp = new Composition("CMP", "composition", 1.0, $id, 1, $taxCat->id, true, true, 0.3, null, "12345", false, true, 0.2);
     $subgrp = new Subgroup(null, "Subgroup", 1, false);
     $subgrp->addProduct(new SubgroupProduct($prd->id, null, 1));
     $subgrp->addProduct(new SubgroupProduct($prd2->id, null, 2));
     $cmp->addGroup($subgrp);
     $cmp->id = CompositionsService::create($cmp, null, null);
     $this->compositions[] = $cmp;
 }
Ejemplo n.º 10
0
 protected function setUp()
 {
     // Attribute set
     $set = new AttributeSet("set");
     $attr = new Attribute("attr", 1);
     $val = new AttributeValue("value");
     $attr->id = AttributesService::createAttribute($attr);
     $val->id = AttributesService::createValue($val, $attr->id);
     $attr->addValue($val);
     $set->addAttribute($attr);
     $set->id = AttributesService::createSet($set);
     // Product, tax and category
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $taxCat2 = new TaxCat("Tax2");
     $tax2 = new Tax(null, "Tax2", stdtimefstr("2001-01-01 00:00:00"), 0.2);
     $taxCat2->addTax($tax2);
     $taxCat2->id = TaxesService::createCat($taxCat2);
     $pdo = PDOBuilder::getPDO();
     $stmt = $pdo->prepare("INSERT INTO CATEGORIES (ID, NAME) " . "VALUES (:id, :name)");
     $stmt->execute(array(":id" => "-1", ":name" => "Refill"));
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, false, 0.5, $set->id);
     $prd->id = ProductsService::create($prd);
     $prd2 = new Product("REF2", "product2", 2.0, $cat->id, null, 1, $taxCat2->id, true, false, 0.5, null);
     $prd2->id = ProductsService::create($prd2);
     $prdRefill = new Product("REFILL", "Refill", 1.0, "-1", null, 1, $taxCat->id, true, false);
     $prdRefill->id = ProductsService::create($prdRefill);
     // Tariff area
     $srvArea = new TariffAreasService();
     $area = new TariffArea("area", 1);
     $area->addPrice($prd->id, 0.8);
     $area->id = $srvArea->create($area);
     $this->areaId = $area->id;
     // Customer
     $srvCust = new CustomersService();
     $cust = new Customer(1, "Cust", "It's me", "card", null, null, 50.0, 10.0, 5.0, stdtimefstr("2012-01-01 00:00:00"), "It's", "me", "*****@*****.**", "012345", "23456", "11111", "Address1", "Address2", "59000", "City", "Region", "France", "Note", true);
     $cust->id = $srvCust->create($cust);
     $this->custId = $cust->id;
     // Location
     $locSrv = new LocationsService();
     $loc = new Location("Location");
     $loc->id = $locSrv->create($loc);
     $this->locationId = $loc->id;
     // Cash register
     $srvCashReg = new CashRegistersService();
     $cashReg = new CashRegister("Cash", $loc->id, 1);
     $cashReg->id = $srvCashReg->create($cashReg);
     // Cash
     $srvCash = new CashesService();
     $cash = $srvCash->add($cashReg->id);
     $cash->openDate = stdtimefstr("2000-02-02 02:02:02");
     $srvCash->update($cash);
     $this->cashId = $cash->id;
     // User
     $srvUsers = new UsersService();
     $user = new User("User", null, null, "0", true, false);
     $user->id = $srvUsers->create($user);
     // Currency
     $curr = new Currency("Eur", "€", ",", ".", "#,##0.00\$", 1, true, false);
     $srvCurr = new CurrenciesService();
     $curr->id = $srvCurr->create($curr);
     // Discount profile
     $profSrv = new DiscountProfilesService();
     $prof = new DiscountProfile("Profile", 0.1);
     $prof->id = $profSrv->create($prof);
     $this->discountProfilId = $prof->id;
     // Ticket
     $tkt1 = array("date" => stdtimefstr("2012-01-01 00:00:00"), "userId" => $user->id, "customerId" => null, "type" => Ticket::TYPE_SELL, "custCount" => 3, "tariffAreaId" => null, "discountRate" => 0.0, "discountProfileId" => null, "payments" => array(array("type" => "cash", "amount" => 10, "currencyId" => $curr->id, "currencyAmount" => 12)), "lines" => array(array("dispOrder" => 1, "productId" => $prd->id, "taxId" => $tax->id, "attributes" => null, "quantity" => 1.0, "price" => 10.0, "discountRate" => 0.0)));
     $jsAttr = array("attributeSetId" => $set->id, "values" => array(array("id" => $attr->id, "value" => "value")));
     $tkt2 = array("date" => stdtimefstr("2012-01-01 00:00:00"), "userId" => $user->id, "customerId" => null, "type" => Ticket::TYPE_SELL, "custCount" => 3, "tariffAreaId" => null, "discountRate" => 0.25, "discountProfileId" => $prof->id, "payments" => array(array("type" => "cash", "amount" => 10, "currencyId" => $curr->id, "currencyAmount" => 12)), "lines" => array(array("dispOrder" => 1, "productId" => $prd->id, "taxId" => $tax->id, "attributes" => $jsAttr, "quantity" => 1.0, "price" => 10.0, "discountRate" => 0.25)));
     $this->jsTicket1 = json_encode($tkt1);
     $this->jsTicket2 = json_encode($tkt2);
 }
Ejemplo n.º 11
0
 /**
  * Get related pages for article
  *
  * @param int $articleId Article ID
  * @param int $limit limit (up to 10 - see LIMIT_MAX const)
  * @return array
  */
 public function get($articleId, $limit = 3)
 {
     wfProfileIn(__METHOD__);
     // prevent from calling this function more than one, use reset() to omit
     if (is_array($this->getData())) {
         wfProfileOut(__METHOD__);
         return $this->getData();
     }
     // get up to self::LIMIT_MAX items and cache them
     $data = WikiaDataAccess::cache(wfMemcKey(__METHOD__, $articleId, self::MCACHE_VER), WikiaResponse::CACHE_STANDARD, function () use($articleId) {
         $this->setData([]);
         $categories = $this->getCategories($articleId);
         if (count($categories) > 0) {
             // RT#80681/RT#139837: apply category blacklist
             $categories = CategoriesService::filterOutBlacklistedCategories($categories);
             $categories = $this->getCategoriesByRank($categories);
             if (count($categories) > $this->categoriesLimit) {
                 // limit the number of categories to look for
                 $categories = array_slice($categories, 0, $this->categoriesLimit);
             }
             // limit * 2 - get more pages (some can be filtered out - RT #72703)
             $pages = $this->getPagesForCategories($articleId, self::LIMIT_MAX * 2, $categories);
             $this->afterGet($pages, self::LIMIT_MAX);
         }
         return $this->getData();
     });
     // apply the limit
     $this->setData(array_slice($data, 0, $limit));
     wfProfileOut(__METHOD__);
     return $this->getData();
 }
Ejemplo n.º 12
0
 /**
  * Get list of two most linked categories current article is in
  */
 public function getMostLinkedCategories()
 {
     wfProfileIn(__METHOD__);
     global $wgOut, $wgMemc;
     // check whether current article belongs to any category
     $categoryLinks = $wgOut->getCategoryLinks();
     if (empty($categoryLinks)) {
         wfProfileOut(__METHOD__);
         return array();
     }
     // try to get cached data
     $key = $this->getKey('mostlinkedcategories');
     $categories = $wgMemc->get($key);
     if (!is_array($categories)) {
         wfProfileIn(__METHOD__ . '::miss');
         $limit = 2;
         // get list of articles categories with number of articles "linked" to them
         $dbr = wfGetDB(DB_SLAVE);
         // check querycache first
         $res = $dbr->select(array('querycache', 'categorylinks'), array('qc_title as cl_to, qc_value as cnt'), array('qc_title = cl_to', 'qc_type' => 'Mostpopularcategories', 'cl_from' => $this->pageId), __METHOD__, array('ORDER BY' => 'qc_value DESC', 'LIMIT' => $limit));
         // order and filter out blacklisted categories
         $service = new CategoriesService();
         $categories = array();
         while ($obj = $dbr->fetchObject($res)) {
             if (!$service->isCategoryBlacklisted($obj->cl_to) && !$service->isCategoryHidden($obj->cl_to)) {
                 $categories[$obj->cl_to] = $obj->cnt;
             }
         }
         $wgMemc->set($key, $categories, self::CACHE_TTL);
         wfProfileOut(__METHOD__ . '::miss');
     }
     wfProfileOut(__METHOD__);
     return $categories;
 }
Ejemplo n.º 13
0
	function testCategoriesService() {
		global $wgBiggestCategoriesBlacklist;

		// blacklist to be used by this unit test
		$wgBiggestCategoriesBlacklist = array('stub', 'foo');

		$service = new CategoriesService();

		$this->assertTrue($service->isCategoryBlacklisted('foo'));
		$this->assertTrue($service->isCategoryBlacklisted('BARFOO'));
		$this->assertTrue($service->isCategoryBlacklisted('Stubs'));
		$this->assertFalse($service->isCategoryBlacklisted('test'));
		$this->assertFalse($service->isCategoryBlacklisted('stu'));

		// test filtering helper method
		$categories = array('Characters', 'Stubs', 'Footest', 'testfoo', 'bar', 'test');

		$this->assertEquals(array('Characters', 'bar', 'test'), CategoriesService::filterOutBlacklistedCategories($categories));
	}
Ejemplo n.º 14
0
 public function testDeleteInexistent()
 {
     // TODO: is this behaviour a feature?
     $this->assertTrue(CategoriesService::deleteCat(0));
 }
Ejemplo n.º 15
0
 /**
  * get related pages for article
  * @param int $articleId Article ID
  * @param int $limit limit
  */
 public function get($articleId, $limit = 3)
 {
     global $wgContentNamespaces, $wgEnableRelatedPagesUnionSelectQueries, $wgUser;
     wfProfileIn(__METHOD__);
     $cs = new CategoriesService();
     // prevent from calling this function more than one, use reset() to omit
     if (is_array($this->getData())) {
         wfProfileOut(__METHOD__);
         return $this->getData();
     }
     $this->setData(array());
     $categories = $this->getCategories();
     if (count($categories) > 0) {
         //RT#80681/RT#139837: apply category blacklist
         $categories = CategoriesService::filterOutBlacklistedCategories($categories);
         $categories = $this->getCategoriesByRank($categories);
         if (count($categories) > $this->categoriesLimit) {
             // limit the number of categories to look for
             $categories = array_slice($categories, 0, $this->categoriesLimit);
         }
         // limit * 2 - get more pages (some can be filtered out - RT #72703)
         $pages = $this->getPagesForCategories($articleId, $limit * 2, $categories);
         $this->afterGet($pages, $limit);
     }
     wfProfileOut(__METHOD__);
     return $this->getData();
 }
Ejemplo n.º 16
0
 public function createAction()
 {
     return CategoriesService::create($this->request->getRawBody());
 }
Ejemplo n.º 17
0
     break;
 case 'provider':
     if (isset($_GET['id'])) {
         $prov = ProvidersService::get($_GET['id']);
         if ($prov !== null && $prov->hasImage !== false) {
             $img = ProvidersService::getImage($prov->id);
             break;
         }
     }
     echo file_get_contents(PT::$ABSPATH . "/templates/" . $config['template'] . "/img/default_provider.png");
     break;
 case 'category':
     if (isset($_GET['id'])) {
         $cat = CategoriesService::get($_GET['id']);
         if ($cat->hasImage !== false) {
             echo CategoriesService::getImage($cat->id);
             break;
         }
     }
     echo file_get_contents(PT::$ABSPATH . "/templates/" . $config['template'] . "/img/default_category.png");
     break;
 case 'resource':
     $res = ResourcesService::get($_GET['id']);
     if ($res->type == Resource::TYPE_IMAGE) {
         echo $res->content;
     }
     break;
 case 'barcode':
     generate_barcode("ean13", $_GET['code']);
     break;
 case 'custcard':
Ejemplo n.º 18
0
function form_input($form_id, $class, $object, $field, $type, $args = array())
{
    if (!isset($args['nolabel']) || $args['nolabel'] === false) {
        echo "<div class=\"row\">\n";
    }
    if (isset($args['nameid']) && $args['nameid'] == true) {
        $name = $field . "-" . $form_id;
    } else {
        $name = $field;
    }
    if (isset($args['array']) && $args['array'] == true) {
        $name = $name . "[]";
    }
    if ($type != "pick_multiple") {
        if (!isset($args['nolabel']) || $args['nolabel'] === false) {
            echo '<label for="' . esc_attr($form_id . '-' . $field) . '">';
            $fieldLabel = $field;
            if (substr($field, -2) == "Id") {
                $fieldLabel = substr($field, 0, -2);
            }
            echo esc_html(\i18n($class . "." . $fieldLabel));
            echo "</label>\n";
        }
    }
    $required = "";
    if (isset($args['required']) && $args['required']) {
        $required = ' required="true"';
    }
    switch ($type) {
        case 'string':
            echo '<input id="' . esc_attr($form_id . '-' . $field) . '" type="text" name="' . esc_attr($name) . '"';
            if ($object != NULL) {
                echo ' value="' . esc_attr($object->{$field}) . '"';
            }
            echo "{$required} />\n";
            break;
        case 'text':
            echo '<textarea id="' . esc_attr($form_id . '-' . $field) . '" name="' . esc_attr($name) . '">';
            if ($object != NULL) {
                echo esc_html($object->{$field});
            }
            echo '</textarea>';
            break;
        case 'numeric':
            echo '<input id="' . esc_attr($form_id . '-' . $field) . '" type="numeric" name="' . esc_attr($name) . '"';
            if ($object != NULL) {
                echo ' value="' . esc_attr($object->{$field}) . '"';
            }
            echo "{$required} />\n";
            break;
        case 'boolean':
            echo '<input id="' . esc_attr($form_id . '-' . $field) . '" type="checkbox" name="' . esc_attr($name) . '"';
            if ($object != NULL) {
                if ($object->{$field}) {
                    echo ' checked="checked"';
                }
            } else {
                if (!isset($args['default']) || $args['default'] == TRUE) {
                    echo ' checked="checked"';
                }
            }
            echo " />\n";
            break;
        case 'float':
            if (!isset($args['step'])) {
                $step = 0.01;
            } else {
                $step = $args['step'];
            }
            echo '<input id="' . esc_attr($form_id . '-' . $field) . '" type="number" step="' . esc_attr($step) . '" min="0.00" name="' . esc_attr($name) . '"';
            if ($object != NULL) {
                echo ' value="' . esc_attr($object->{$field}) . '"';
            }
            echo "{$required} />\n";
            break;
        case 'date':
            // Class dateinput will be catched to show js date picker
            echo '<input id="' . esc_attr($form_id . '-' . $field) . '" type="text" class="dateinput" name="' . esc_attr($name) . '"';
            if ($object !== null) {
                if (isset($args['dataformat'])) {
                    if ($args['dataformat'] == 'standard') {
                        $timestamp = stdtimefstr($object->{$field});
                    } else {
                        $timestamp = timefstr($args['dataformat'], $object->{$field});
                    }
                } else {
                    $timestamp = $object->{$field};
                }
                echo ' value="' . esc_attr(\i18nDate($timestamp)) . '"';
            }
            echo "{$required} />\n";
            break;
        case 'pick':
            $model = $args['model'];
            $data = $args['data'];
            if ($model !== null) {
                switch ($model) {
                    case 'Category':
                        $data = CategoriesService::getAll(false);
                        break;
                    case 'Provider':
                        $data = ProvidersService::getAll();
                        break;
                    case 'TaxCategory':
                        $data = TaxesService::getAll();
                        break;
                    case 'Tax':
                        $cats = TaxesService::getAll();
                        $data = array();
                        foreach ($cats as $cat) {
                            $data[] = $cat->getCurrentTax();
                        }
                        break;
                    case 'CustTaxCat':
                        $data = CustTaxCatsService::getAll();
                        break;
                    case 'Role':
                        $data = RolesService::getAll();
                        break;
                    case 'Attribute':
                        $data = AttributesService::getAllAttrs();
                        break;
                    case 'AttributeSet':
                        $data = AttributesService::getAll();
                        break;
                    case 'Location':
                        $locSrv = new LocationsService();
                        $data = $locSrv->getAll();
                        break;
                    case 'DiscountProfile':
                        $profSrv = new DiscountProfilesService();
                        $data = $profSrv->getAll();
                        break;
                    case 'TariffArea':
                        $areaSrv = new TariffAreasService();
                        $data = $areaSrv->getAll();
                        break;
                }
            }
            echo '<select id="' . esc_attr($form_id . '-' . $field) . '" name="' . esc_attr($name) . '">';
            if (isset($args['nullable']) && $args['nullable']) {
                echo '<option value=""></option>';
            }
            foreach ($data as $r) {
                $selected = "";
                $r_id = $r->id;
                $r_label = $r->label;
                if ($model == null) {
                    $r_id = $r['id'];
                    $r_label = $r['label'];
                }
                if ($object != NULL && ($object->{$field} == $r_id || is_object($object->{$field}) && $object->{$field}->id == $r_id)) {
                    $selected = ' selected="true"';
                }
                echo '<option value="' . esc_attr($r_id) . '"' . $selected . '>' . esc_html($r_label) . '</option>';
            }
            echo "</select>\n";
            break;
        case 'pick_multiple':
            $model = $args['model'];
            switch ($model) {
                case 'Category':
                    $data = CategoriesService::getAll();
                    break;
            }
            foreach ($data as $r) {
                $selected = "";
                if ($object != NULL && array_search($r->id, $object->{$field}) !== FALSE) {
                    $selected = ' checked="true"';
                }
                $id = $form_id . "-" . $field . "-" . $r->id;
                echo '<label for="' . esc_attr($id) . '">' . esc_html($r->label) . '</label>';
                echo '<input id="' . esc_attr($id) . '" type="checkbox" name="' . esc_attr($name) . '[]" value="' . esc_attr($r->id) . '"' . $selected . "/>\n";
            }
            break;
    }
    if (!isset($args['nolabel']) || $args['nolabel'] === false) {
        echo "</div>";
    }
}
Ejemplo n.º 19
0
 protected function setUp()
 {
     // Attribute set
     $set = new AttributeSet("set");
     $attr = new Attribute("attr", 1);
     $val = new AttributeValue("value");
     $attr->id = AttributesService::createAttribute($attr);
     $val->id = AttributesService::createValue($val, $attr->id);
     $attr->addValue($val);
     $this->attr = $attr;
     $set->addAttribute($attr);
     $set->id = AttributesService::createSet($set);
     $this->attrSet = $set;
     // Product, tax and category
     $taxCat = new TaxCat("Tax");
     $tax = new Tax(null, "Tax", stdtimefstr("2001-01-01 00:00:00"), 0.1);
     $taxCat->addTax($tax);
     $taxCat->id = TaxesService::createCat($taxCat);
     $taxCat2 = new TaxCat("Tax2");
     $tax2 = new Tax(null, "Tax2", stdtimefstr("2001-01-01 00:00:00"), 0.2);
     $taxCat2->addTax($tax2);
     $taxCat2->id = TaxesService::createCat($taxCat2);
     $this->tax = $taxCat->taxes[0];
     $this->tax2 = $taxCat2->taxes[0];
     $pdo = PDOBuilder::getPDO();
     $stmt = $pdo->prepare("INSERT INTO CATEGORIES (ID, NAME) " . "VALUES (:id, :name)");
     $stmt->execute(array(":id" => "-1", ":name" => "Refill"));
     $cat = new Category(null, "Category", false, 1);
     $cat->id = CategoriesService::createCat($cat);
     $prd = new Product("REF", "product", 1.0, $cat->id, null, 1, $taxCat->id, true, false, 0.5, $set->id);
     $prd->id = ProductsService::create($prd);
     $this->prd = $prd;
     $prd2 = new Product("REF2", "product2", 2.0, $cat->id, null, 1, $taxCat2->id, true, false, 0.5, null);
     $prd2->id = ProductsService::create($prd2);
     $prdRefill = new Product("REFILL", "Refill", 1.0, "-1", null, 1, $taxCat->id, true, false);
     $prdRefill->id = ProductsService::create($prdRefill);
     $this->prd = $prd;
     $this->prd2 = $prd2;
     $this->prdRefill = $prdRefill;
     // Tariff area
     $srvArea = new TariffAreasService();
     $area = new TariffArea("area", 1);
     $area->addPrice($this->prd->id, 0.8);
     $area->id = $srvArea->create($area);
     $this->area = $area;
     // Discount profile
     $srvProfile = new DiscountProfilesService();
     $profile = new DiscountProfile("Discount profile", 1.0);
     $profile->id = $srvProfile->create($profile);
     $this->discountProfile = $profile;
     // Customer
     $srvCust = new CustomersService();
     $cust = new Customer(1, "Cust", "It's me", "card", null, null, 50.0, 10.0, 5.0, stdtimefstr("2012-01-01 00:00:00"), "It's", "me", "*****@*****.**", "012345", "23456", "11111", "Address1", "Address2", "59000", "City", "Region", "France", "Note", true);
     $cust->id = $srvCust->create($cust);
     $this->customer = $cust;
     // Location
     $locSrv = new LocationsService();
     $loc = new Location("Location");
     $loc->id = $locSrv->create($loc);
     $this->location = $loc;
     // Cash
     $srvCashReg = new CashRegistersService();
     $cashReg = new CashRegister("CashReg", $loc->id, 1);
     $cashReg->id = $srvCashReg->create($cashReg);
     $srvCash = new CashesService();
     $cash = $srvCash->add($cashReg->id);
     $cash->openDate = stdtimefstr("2000-02-02 02:02:02");
     $srvCash->update($cash);
     $this->cash = $cash;
     // User
     $srvUsers = new UsersService();
     $user = new User("User", null, null, "0", true, false);
     $user->id = $srvUsers->create($user);
     $this->user = $user;
     // Currency
     $curr = new Currency("Eur", "€", ",", ".", "#,##0.00\$", 1, true, false);
     $srvCurr = new CurrenciesService();
     $curr->id = $srvCurr->create($curr);
     $this->currency = $curr;
 }