1. When item ID was 0 (new main item creation) method "kDBEventHandler::getPassedID" wasn't returning it. Though such ID was returned by "kDBEventHandler::StoreSelectedIDs", that was called later from "kDBEventHandler::getPassedID" method. 2. Foreign key value for subitem WITH SPECIAL wasn't set in kDBEventHandler::OnNew event and 2 warnings were shown. 3. Temp mode mark (<prefix_special>_mode variable) in method "kDBEventHandler::setTempWindowID" was not passed to item editing/creation window, when in both grid and item edit template special was used. 4. Fixed bug in "kDBTagProcessor::FieldVisible" resulting 2 warnings where VerifyPassword field visibility was checked. This is only virtual field, that doesn't exist in unit config and is created on the fly by kPasswordFormatter class. 5. Specials used in "events" request variable were stripped, before adding to "passed" request variable in method "kEventManager::ProcessRequest". Because of such behavior data associated with stripped specials (like temp mode mark and item's ID) were not available in "m_Link" tag used with 'pass="all"' parameter. Fixed by removing such stripping in administrative console only. 6. Prefix data passed in POST wasn't able to overwrite prefix data passed in GET in case, when special was used. This caused problems during item editing when special was used in grid and item edit template. 7. Missing "noimage.gif" image added.
1. #27493 - Admin: Add Item on Advanced View 2. OnCancel event was called on "categories/categories_edit" template instead of "OnCancelEdit" resulting no temporary table was deleted. 3. Method kApplication::ConfigValue fixed. Now if variable value is present, but it has NULL as value, then such variable is not threated as missing and duplicate queries are performed. TODO: replace all NULL values in ConfigurationValues table with default values based on variable type (0 for checkbox, empty string for text and so on) 4. Now kDBEventHandler::StoreSelectedIDs could also get IDs from new "ids" $event parameter, rather, then from request. Useful, when IDs are changed on kDBEventHandler::CheckPermission method (before actual event call). 5. Method CategoryHelper::getStructureTreeAsOptions added. Method provides ability to get all category structure as options for any dbitem field (like ParentId for categories and CategoryId for category items). 6. Method CustomFieldsEventHandler::_getHiddenFiels fixed. Now it doesn't given warning when editing category item, with no custom fields to show on general tab. 7. Fixed method kCatDBItem::MoveToCat. Now, when category item is in temp mode, then category manipulations are also made in temp tables. 8. Permission checking logic for categories and category items in temp table is changed. Now everything in temp tables for them is allowed. Permissions are checked only when Save button is pressed during main item (not subitem) editing. When user selected 5 items, but he can edit only 2 of them, then other 3 are automatically excluded from item edit form. When all of selected items are excluded, then user gets "no permission" screen. Same with "move up/down", "approve/decline" toolbar buttons. 9. Method CategoriesEventHandler::printChildren && CategoriesEventHandler::getChildren moved to CategoryHelper and now are used by new CategoryHelper::getStructureTreeAsOptions method. Some documentation added for other CategoryHelper methods. 10. Permission debugging information was not available in some of permission checking methods. That's why method kPermissionHelper::finalizePermissionCheck added. Method should be used in any place, when $event status should change to erPERM_FAIL. 11. Column filters on Category Edit -> Custom tab's grid were not working, because of incorrect grid name used (Default instead of SeparateTab). 12. Fixed title preset name in "products/products_access" template (was "pr", but should be "access"). 13. Fixed incorrect pagination prefix in some templates. 14. Formatter added for OnSale field in Products table. 15. No permission template fixed, now it doesn't break catalog. 16. sections_list template fixed to use new blocks.