Beispiel #1
0
 public function edit($pID, $status = '')
 {
     if ($status == 'updated') {
         $this->set("success", t("Product Updated"));
     }
     if ($status == 'added') {
         $this->set("success", t("Product Added"));
     }
     $this->loadFormAssets();
     $this->getAssets();
     $this->set("actionType", t("Update"));
     //get the product
     $product = StoreProduct::getByID($pID);
     if (!$product) {
         $this->redirect('/dashboard/store/products/');
     }
     $optItems = $product->getProductOptionItems();
     $groups = $product->getProductOptionGroups();
     $this->set('p', $product);
     $this->set("images", $product->getProductImages());
     $this->set("groups", $groups);
     $this->set('optItems', $optItems);
     $this->set('locationPages', $product->getProductLocationPages());
     $this->set('pgroups', $product->getProductGroupIDs());
     $variations = $product->getProductVariations();
     $variationLookup = array();
     $optionArrays = array();
     $optionItemLookup = array();
     foreach ($optItems as $optItem) {
         $optionArrays[$optItem->getProductOptionGroupID()][] = $optItem->getID();
         $optionItemLookup[$optItem->getID()] = $optItem;
     }
     $groupLookup = array();
     foreach ($groups as $group) {
         $groupLookup[$group->getID()] = $group;
     }
     $this->set('groupLookup', $groupLookup);
     $optionArrays = array_values($optionArrays);
     $comboOptions = StoreProductVariation::combinations($optionArrays);
     $checkedOptions = array();
     foreach ($comboOptions as $option) {
         if (!is_array($option)) {
             $checkedOptions[] = array($option);
         } else {
             $checkedOptions[] = $option;
         }
     }
     $comboOptions = $checkedOptions;
     $this->set('comboOptions', $comboOptions);
     $this->set('optionItemLookup', $optionItemLookup);
     foreach ($variations as $variation) {
         $options = $variation->getOptions();
         $optionids = array();
         foreach ($options as $varoption) {
             $option = $varoption->getOption();
             if ($option) {
                 $optionids[] = $option->getID();
             }
         }
         sort($optionids);
         $variationLookup[implode('_', $optionids)] = $variation;
     }
     $this->set('variations', $variations);
     $this->set('variationLookup', $variationLookup);
     //populate "Groups" select box options
     $grouplist = StoreGroupList::getGroupList();
     foreach ($grouplist as $productgroup) {
         $productgroups[$productgroup->getGroupID()] = $productgroup->getGroupName();
     }
     $this->set("productgroups", $productgroups);
     $gl = new GroupList();
     $gl->setItemsPerPage(1000);
     $gl->filterByAssignable();
     $usergroups = $gl->get();
     $usergrouparray = array();
     foreach ($usergroups as $ug) {
         if ($ug->gName != 'Administrators') {
             $usergrouparray[$ug->gID] = $ug->gName;
         }
     }
     $this->set('pageTitle', t('Edit Product'));
     $this->set('usergroups', $usergrouparray);
 }