<?php
class Kwc_Mail_Editable_ComponentsModel extends Kwf_Model_Data_Abstract
{
    public function __construct(array $config = array())
    {
        $data = array();
        $components = Kwf_Component_Data_Root::getInstance()
            ->getComponentsByClass(array('Kwc_Mail_Editable_Component', 'Kwc_Mail_Editable_Trl_Component'));
        foreach ($components as $c) {
            $a = Kwc_Admin::getInstance($c->componentClass);
            $data[] = array(
                'id' => $c->dbId,
                'name' => Kwf_Trl::getInstance()->trlStaticExecute($c->getComponent()->getNameForEdit()),
                'settings_controller_url' => $a->getControllerUrl(),
                'content_component_class' => $c->getChildComponent('-content')->componentClass,
            );
        }
        $this->_data = $data;
        parent::__construct($config);
    }

}

<?php
class Kwc_Mail_Editable_ComponentsModel extends Kwf_Model_Data_Abstract
{
    public function __construct(array $config = array())
    {
        $data = array();
        $components = Kwf_Component_Data_Root::getInstance()
            ->getComponentsByClass(array('Kwc_Mail_Editable_Component', 'Kwc_Mail_Editable_Trl_Component'));
        $user = Kwf_Registry::get('userModel')->getAuthedUser();
        foreach ($components as $c) {
            if (Kwf_Registry::get('acl')->getComponentAcl()->isAllowed($user, $c)) {
                $a = Kwc_Admin::getInstance($c->componentClass);
                $data[] = array(
                    'id' => $c->dbId,
                    'name' => Kwf_Trl::getInstance()->trlStaticExecute($c->getComponent()->getNameForEdit()),
                    'settings_controller_url' => $a->getControllerUrl(),
                    'content_component_class' => $c->getChildComponent('-content')->componentClass,
                );
            }
        }
        $this->_data = $data;
        parent::__construct($config);
    }

}

Add filter for mail-editable to show only allowed components
Add filter for mail-editable to show only allowed components

The listing of kwc_mail_components is done this way and not with menuconfig sameclass
because we would get a menu-button for every kwc_mail_component in a web.
