Modification des variables relatives à 'Nouveau sujet'

Je tente de modifier le comportement de createTopicDisabled dans tag-show.js. Je n’arrive pas à réussir à le surcharger comme je l’ai vu ici.


J’ai essayé d’utiliser api.modifyClass() et api.modifyClassStatic() de cette manière :

api.modifyClass("controller:tag-show", {
    @discourseComputed(
        "canCreateTopic",
        "category",
        "canCreateTopicOnCategory",
        "tag",
        "canCreateTopicOnTag")
    createTopicDisabled(
        canCreateTopic,
        category,
        canCreateTopicOnCategory,
        tag,
        canCreateTopicOnTag)
    {
        return false;
    }
})

Et ceci :

api.modifyClass("controller:tag-show", {
    createTopicDisabled: function() { return false; }
)

Ainsi que diverses autres variantes.


J’ai également essayé de récupérer le contrôleur par défaut et de le réouvrir, ce qui a bien fonctionné pour surcharger les actions.

const TagShowController = require('discourse/controllers/tag-show').default;
TagShowController.reopen({
    createTopicDisabled: function() {
        return false;
    }
})

Jusqu’à présent, rien de tout cela n’a réellement fonctionné. Toute aide serait grandement appréciée.

1 « J'aime »