protected function _getRoleField()
 {
     $acl = Kwf_Registry::get('acl');
     $userRole = Kwf_Registry::get('userModel')->getAuthedUserRole();
     $authedUser = Kwf_Registry::get('userModel')->getAuthedUser();
     // alle erlaubten haupt-rollen in variable
     $roles = array();
     foreach ($acl->getAllowedEditRolesByRole($userRole) as $role) {
         $roles[$role->getRoleId()] = Kwf_Trl::getInstance()->trlStaticExecute($role->getRoleName());
     }
     if (!$roles) {
         return null;
     }
     // ALLE additional roles in variable
     $addRoles = array();
     foreach ($acl->getAdditionalRoles() as $role) {
         $addRoles[$role->getParentRoleId()][$role->getRoleId()] = Kwf_Trl::getInstance()->trlStaticExecute($role->getRoleName());
     }
     // Wenns keine additionalRoles gibt, normales select verwenden
     if (!$addRoles) {
         $ret = new Kwf_Form_Field_Select('role', trlKwf('Rights'));
         $ret->setValues($roles)->setAllowBlank(false);
     } else {
         // eigene additionalRoles holen, nur die dürfen zugewiesen werden
         $allowedRoles = array_merge($authedUser->getAdditionalRoles(), $acl->getAllowedEditResourceRoleIdsByRole($userRole));
         // cards container erstellen und zu form hinzufügen
         $ret = new Kwf_Form_Container_Cards('role', trlKwf('Rights'));
         $ret->getCombobox()->setAllowBlank(false);
         foreach ($roles as $roleId => $roleName) {
             $card = $ret->add();
             $card->setTitle($roleName);
             $card->setName($roleId);
             if (isset($addRoles[$roleId])) {
                 foreach ($addRoles[$roleId] as $addRoleId => $addRoleName) {
                     if (!in_array($addRoleId, $allowedRoles)) {
                         unset($addRoles[$roleId][$addRoleId]);
                     }
                 }
                 $editor = new Kwf_Form_Field_MultiCheckboxLegacy('Kwf_User_AdditionalRoles', trlKwf('Additional rights'));
                 $editor->setColumnName('additional_role')->setValues($addRoles[$roleId])->setReferences(array('columns' => array('user_id'), 'refColumns' => array('id')));
                 $card->add($editor);
             }
         }
     }
     return $ret;
 }
 public function __construct($tableName = null, $title = null)
 {
     parent::__construct($tableName, $title);
 }