Array ('self' => true), ); $this->permMapping = array_merge($this->permMapping, $permissions); } /** * Set's selected category to listing type * * @param kEvent $event */ function OnProcessSelected($event) { $object = $event->getObject(); $selected_ids = $this->Application->GetVar('selected_ids'); $object->SetDBField($this->Application->RecallVar('dst_field'), $selected_ids['c']); $this->RemoveRequiredFields($object); $object->Update(); $this->finalizePopup($event); } function OnPreSaveListingType($event) { $event->redirect = false; $object = $event->getObject( Array('skip_autoload' => true) ); $this->RemoveRequiredFields($object); $event->CallSubEvent('OnPreSave'); $this->Application->SetVar($event->getPrefixSpecial(true).'_id', $object->GetID()); } /** * Prepare temp tables and populate it * with items selected in the grid * * @param kEvent $event * @return void * @access protected */ protected function OnEdit(kEvent $event) { if ( $this->Application->prefixRegistred('p') ) { $this->Application->recallObject('p', null, Array ('skip_autoload' => true)); } parent::OnEdit($event); } /** * Makes shopping cart name required, when buying is enabled * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemUpdate(kEvent $event) { parent::OnBeforeItemUpdate($event); /** @var kDBItem $object */ $object = $event->getObject(); $object->setRequired('ShopCartName', $object->GetDBField('EnableBuying')); } }