Fixes category collapsing
authorMatthias Schmidt <gravatronics@live.com>
Mon, 17 Sep 2012 07:56:16 +0000 (09:56 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Mon, 17 Sep 2012 07:56:16 +0000 (09:56 +0200)
wcfsetup/install/files/acp/js/WCF.ACP.js
wcfsetup/install/files/lib/data/category/CategoryAction.class.php

index be267ab3252b7b4ad564473bfecd2df7d1226c96..f6e0fd326803719d4f30d71fbbf319f4d884bc1b 100644 (file)
@@ -868,9 +868,7 @@ WCF.ACP.Category.Collapsible = WCF.Collapsible.SimpleRemote.extend({
        /**
         * @see WCF.Collapsible.Remote.init()
         */
-       init: function(className, objectTypeID) {
-               this._objectTypeID = objectTypeID;
-               
+       init: function(className) {
                var sortButton = $('.formSubmit > button[data-type="submit"]');
                if (sortButton) {
                        sortButton.click($.proxy(this._sort, this));
@@ -879,13 +877,6 @@ WCF.ACP.Category.Collapsible = WCF.Collapsible.SimpleRemote.extend({
                this._super(className);
        },
 
-       /**
-        * @see WCF.Collapsible.Remote._getAdditionalParameters()
-        */
-       _getAdditionalParameters: function(containerID) {
-               return {objectTypeID : this._objectTypeID};
-       },
-       
        /**
         * @see WCF.Collapsible.Remote._getButtonContainer()
         */
index d20bab41a7e1d16f9a8bc3c34ee14cd0b601ab27..0d2c5833fdcb560700b0b1a88ff72797925ee664 100644 (file)
@@ -3,6 +3,7 @@ namespace wcf\data\category;
 use wcf\data\AbstractDatabaseObjectAction;
 use wcf\system\category\CategoryHandler;
 use wcf\system\exception\PermissionDeniedException;
+use wcf\system\exception\SystemException;
 use wcf\system\exception\ValidateActionException;
 use wcf\system\user\collapsible\content\UserCollapsibleContentHandler;
 use wcf\system\WCF;
@@ -53,7 +54,12 @@ class CategoryAction extends AbstractDatabaseObjectAction {
         * Toggles the collapse status of categories.
         */
        public function toggleContainer() {
-               $objectTypeID = UserCollapsibleContentHandler::getInstance()->getObjectTypeID($this->objects[0]->getCategoryType()->getCollapsibleObjectTypeName());
+               $collapsibleObjectTypeName = $this->objects[0]->getCategoryType()->getObjectTypeName('com.woltlab.wcf.collapsibleContent');
+               if ($collapsibleObjectTypeName === null) {
+                       throw new SystemException("Categories of this type don't support collapsing");
+               }
+               
+               $objectTypeID = UserCollapsibleContentHandler::getInstance()->getObjectTypeID($collapsibleObjectTypeName);
                $collapsedCategories = UserCollapsibleContentHandler::getInstance()->getCollapsedContent($objectTypeID);
                
                $categoryID = $this->objects[0]->categoryID;