public static function createProductCategoryByName($name, $parentCategory = null)
 {
     $productCategory = new ProductCategory();
     $productCategory->name = $name;
     $productCatalog = new ProductCatalog();
     $productCatalog->name = ProductCatalog::DEFAULT_NAME;
     $productCatalog->save();
     $productCategory->productCatalogs->add($productCatalog);
     $saved = $productCategory->save();
     if ($parentCategory != null) {
         $productCategory->productCategories->add($parentCategory);
     }
     assert('$saved');
     return $productCategory;
 }
Exemple #2
0
 public function testLoad()
 {
     $this->assertEquals(2, Group::getCount());
     $this->assertEquals(0, Role::getCount());
     $this->assertEquals(0, Account::getCount());
     $this->assertEquals(0, Contact::getCount());
     $this->assertEquals(0, Opportunity::getCount());
     $this->assertEquals(0, Meeting::getCount());
     $this->assertEquals(0, Note::getCount());
     $this->assertEquals(0, Task::getCount());
     $this->assertEquals(1, User::getCount());
     $this->assertEquals(0, ProductCatalog::getCount());
     $this->assertEquals(0, ProductCategory::getCount());
     $this->assertEquals(0, ProductTemplate::getCount());
     $this->assertEquals(0, Product::getCount());
     $messageLogger = new MessageLogger();
     DemoDataUtil::unsetLoadedModules();
     DemoDataUtil::load($messageLogger, 3);
     $this->assertEquals(8, Group::getCount());
     $this->assertEquals(3, Role::getCount());
     $this->assertEquals(3, Account::getCount());
     $this->assertEquals(16, Contact::getCount());
     $this->assertEquals(6, Opportunity::getCount());
     $this->assertEquals(18, Meeting::getCount());
     $this->assertEquals(12, Note::getCount());
     $this->assertEquals(9, Task::getCount());
     $this->assertEquals(10, User::getCount());
     $this->assertEquals(1, ProductCatalog::getCount());
     $this->assertEquals(6, ProductCategory::getCount());
     $this->assertEquals(32, ProductTemplate::getCount());
     $this->assertEquals(59, Product::getCount());
 }
 public function testCreateAndGetProductCategoryById()
 {
     $user = UserTestHelper::createBasicUser('Steven');
     $productCategory = new ProductCategory();
     $productCategory->name = "My Test Category";
     $productCatalog = new ProductCatalog();
     $productCatalog->name = ProductCatalog::DEFAULT_NAME;
     $productCatalog->save();
     $productCategory->productCatalogs->add($productCatalog);
     $this->assertTrue($productCategory->save());
     $id = $productCategory->id;
     $productCategory->forget();
     unset($productCategory);
     $productCategory = ProductCategory::getById($id);
     $this->assertEquals('My Test Category', $productCategory->name);
     $this->assertEquals(ProductCatalog::DEFAULT_NAME, $productCategory->productCatalogs[0]->name);
 }
 /**
  * @param string $name
  * @return string
  */
 public static function resolveAndGetByName($name)
 {
     assert('is_string($name)');
     assert('$name != ""');
     try {
         $catalog = self::getByName($name);
     } catch (NotFoundException $e) {
         if ($name == self::DEFAULT_NAME) {
             $catalog = new ProductCatalog();
             $catalog->name = self::DEFAULT_NAME;
             $saved = $catalog->save();
             assert('$saved');
         } else {
             throw new NotFoundException();
         }
     }
     return $catalog;
 }
 public function actionCreate()
 {
     $breadCrumbLinks = static::getDetailsAndEditBreadcrumbLinks();
     $breadCrumbLinks[] = Zurmo::t('Core', 'Create');
     $productCategory = new ProductCategory();
     $productCatalog = ProductCatalog::resolveAndGetByName(ProductCatalog::DEFAULT_NAME);
     if (!empty($productCatalog)) {
         $productCategory->productCatalogs->add($productCatalog);
     }
     $editAndDetailsView = $this->makeEditAndDetailsView($this->attemptToSaveModelFromPost($productCategory), 'Edit');
     $view = new ProductCategoriesPageView(ProductDefaultViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $editAndDetailsView, $breadCrumbLinks, 'ProductBreadCrumbView'));
     echo $view->render();
 }
 /**
  * @param DemoDataHelper $demoDataHelper
  */
 public function makeAll(&$demoDataHelper)
 {
     assert('$demoDataHelper instanceof DemoDataHelper');
     $productCategories = array();
     $productCatalog = ProductCatalog::resolveAndGetByName(ProductCatalog::DEFAULT_NAME);
     for ($i = 0; $i < 6; $i++) {
         $productCategory = new ProductCategory();
         $productCategory->productCatalogs->add($productCatalog);
         $this->populateModelData($productCategory, $i);
         $saved = $productCategory->save();
         assert('$saved');
         $productCategories[] = $productCategory->id;
     }
     $demoDataHelper->setRangeByModelName('ProductCategory', $productCategories[0], $productCategories[count($productCategories) - 1]);
 }
Exemple #7
0
 /**
  * @return array
  */
 protected static function translatedAttributeLabels($language)
 {
     return array_merge(parent::translatedAttributeLabels($language), array('productCategory' => Zurmo::t('ProductTemplatesModule', 'Parent ' . self::getModelLabelByTypeAndLanguage('Singular', $language), array(), null, $language), 'productCategories' => self::getModelLabelByTypeAndLanguage('Plural', $language), 'productCatalogs' => ProductCatalog::getModelLabelByTypeAndLanguage('Plural', $language), 'products' => Zurmo::t('ProductsModule', 'ProductsModulePluralLabel', array(), null, $language), 'productTemplates' => Zurmo::t('ProductTemplatesModule', 'ProductTemplatesModulePluralLabel', array(), null, $language)));
 }