openrat-cms

OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs | README

commit 398f1bbb7fdb0119e40fee65a8aa1d618e98cb04
parent 5e65b9c5ba09976be1219d766bb80718d077c73d
Author: Jan Dankert <develop@jandankert.de>
Date:   Sun,  1 Nov 2020 22:27:37 +0100

Refactoring: The active menu entrys are now controlled by the action class; The user switch function is now available as a menu entry.

Diffstat:
Mmodules/cms/action/LoginAction.class.php | 2+-
Mmodules/cms/action/UserAction.class.php | 18+++++++++++-------
Mmodules/cms/action/UserlistAction.class.php | 2+-
Mmodules/cms/model/User.class.php | 2+-
Mmodules/cms/ui/themes/default/html/views/folder/content.php | 2+-
Mmodules/cms/ui/themes/default/html/views/folder/show.php | 2+-
Mmodules/cms/ui/themes/default/html/views/grouplist/show.php | 2+-
Mmodules/cms/ui/themes/default/html/views/title/show.php | 8++++++++
Mmodules/cms/ui/themes/default/html/views/title/show.tpl.src.xml | 7+++++++
Amodules/cms/ui/themes/default/html/views/user/switch.php | 34++++++++++++++++++++++++++++++++++
Amodules/cms/ui/themes/default/html/views/user/switch.tpl.src.xml | 9+++++++++
Mmodules/cms/ui/themes/default/html/views/usergroup/show.php | 4++--
Mmodules/cms/ui/themes/default/html/views/userlist/show.php | 20+++++---------------
Mmodules/cms/ui/themes/default/html/views/userlist/show.tpl.src.xml | 16++++------------
Mmodules/cms/ui/themes/default/script/openrat.js | 17++++++++++++++---
Mmodules/cms/ui/themes/default/script/openrat.min.js | 2+-
Mmodules/cms/ui/themes/default/script/openrat/common.js | 17++++++++++++++---
Mmodules/language/Language_CN.class.php | 5++++-
Mmodules/language/Language_DE.class.php | 5++++-
Mmodules/language/Language_EN.class.php | 5++++-
Mmodules/language/Language_ES.class.php | 5++++-
Mmodules/language/Language_FR.class.php | 5++++-
Mmodules/language/Language_IT.class.php | 5++++-
Mmodules/language/Language_RU.class.php | 5++++-
Mmodules/language/Messages.class.php | 3+++
Mmodules/language/language.yml | 13+++++++++++--
Mmodules/template_engine/components/html/component_column/ColumnComponent.class.php | 1-
27 files changed, 157 insertions(+), 59 deletions(-)

diff --git a/modules/cms/action/LoginAction.class.php b/modules/cms/action/LoginAction.class.php @@ -589,7 +589,7 @@ class LoginAction extends BaseAction if ( Configuration::subset('security')->is('renew_session_login',false) ) $this->recreateSession(); - $this->addNotice('user', 0, $user->name, 'LOGIN_OK', Action::NOTICE_OK, array('name' => $user->fullname)); + $this->addNoticeFor( $user,Messages::LOGIN_OK, array('name' => $user->getName() )); $config = Session::getConfig(); $language = new \language\Language(); diff --git a/modules/cms/action/UserAction.class.php b/modules/cms/action/UserAction.class.php @@ -13,6 +13,7 @@ use cms\model\Language; use language\Messages; +use util\exception\ObjectNotFoundException; use util\exception\ValidationException; use util\Http; use security\Base2n; @@ -429,17 +430,20 @@ class UserAction extends BaseAction /** - * Wechselt zu einem ausgewählten User. - * @throws \util\exception\ObjectNotFoundException + * Switch to this user */ public function switchPost() { - // User laden... - $user = new User( $this->getRequestId() ); - $user->load(); - + $this->addNoticeFor( $this->user,Messages::USER_LOGIN ); + // Und in der Sitzung speichern. - Session::setUser( $user ); + Session::setUser( $this->user ); + } + + + + public function switchView() { + $this->setTemplateVar('username',$this->user->getName() ); } diff --git a/modules/cms/action/UserlistAction.class.php b/modules/cms/action/UserlistAction.class.php @@ -49,7 +49,7 @@ class UserlistAction extends BaseAction $list[$user->userid] = $user->getProperties(); $list[$user->userid]['id' ] = $user->userid; } - $this->setTemplateVar('el',$list); + $this->setTemplateVar('list',$list); } diff --git a/modules/cms/model/User.class.php b/modules/cms/model/User.class.php @@ -383,7 +383,7 @@ SQL */ function getName() { - if ( empty($this->fullname)) + if ( ! $this->fullname ) return $this->name; else return $this->fullname; diff --git a/modules/cms/ui/themes/default/html/views/folder/content.php b/modules/cms/ui/themes/default/html/views/folder/content.php @@ -34,7 +34,7 @@ <?php } ?> <?php foreach((array)$object as $list_key=>$list_value) { extract($list_value); ?> <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td title="<?php echo O::escapeHtml(''.@$desc.'') ?>" data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml(''.@$type.'') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable or-'.@$class.'') ?>"><?php echo O::escapeHtml('') ?> + <td title="<?php echo O::escapeHtml(''.@$desc.'') ?>" data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml(''.@$type.'') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-'.@$class.'') ?>"><?php echo O::escapeHtml('') ?> <img src="<?php echo O::escapeHtml('./modules/cms/ui/themes/default/images/icon_'.@$icon.'.png') ?>" /><?php echo O::escapeHtml('') ?> <span><?php echo O::escapeHtml(''.@$name.'') ?> </span> diff --git a/modules/cms/ui/themes/default/html/views/folder/show.php b/modules/cms/ui/themes/default/html/views/folder/show.php @@ -37,7 +37,7 @@ <?php } ?> <?php foreach((array)$object as $list_key=>$list_value) { extract($list_value); ?> <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td title="<?php echo O::escapeHtml(''.@$desc.'') ?>" data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml(''.@$type.'') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable or-'.@$class.'') ?>"><?php echo O::escapeHtml('') ?> + <td title="<?php echo O::escapeHtml(''.@$desc.'') ?>" data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml(''.@$type.'') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-'.@$class.'') ?>"><?php echo O::escapeHtml('') ?> <img src="<?php echo O::escapeHtml('./modules/cms/ui/themes/default/images/icon_'.@$icon.'.png') ?>" /><?php echo O::escapeHtml('') ?> <span><?php echo O::escapeHtml(''.@$name.'') ?> </span> diff --git a/modules/cms/ui/themes/default/html/views/grouplist/show.php b/modules/cms/ui/themes/default/html/views/grouplist/show.php @@ -13,7 +13,7 @@ </tr> <?php foreach((array)$el as $list_key=>$list_value) { extract($list_value); ?> <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('group') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> + <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('group') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> <a target="<?php echo O::escapeHtml('_self') ?>" date-name="<?php echo O::escapeHtml(''.@$name.'') ?>" name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-type="<?php echo O::escapeHtml('open') ?>" data-action="<?php echo O::escapeHtml('group') ?>" data-method="<?php echo O::escapeHtml('') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/group/'.@$id.'') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--action-group') ?>"><?php echo O::escapeHtml('') ?> </i> diff --git a/modules/cms/ui/themes/default/html/views/title/show.php b/modules/cms/ui/themes/default/html/views/title/show.php @@ -280,6 +280,14 @@ </span> </a> </div> + <div class="<?php echo O::escapeHtml('or-dropdown-entry or-act-clickable or-filtered or-on-action-folder or-on-action-element or-on-action-file or-on-action-image or-on-action-text or-on-action-pageelement') ?>"><?php echo O::escapeHtml('') ?> + <a title="<?php echo O::escapeHtml(''.@O::lang('menu_switch_desc').'') ?>" target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('dialog') ?>" data-action="<?php echo O::escapeHtml('') ?>" data-method="<?php echo O::escapeHtml('switch') ?>" data-id="<?php echo O::escapeHtml('') ?>" data-extra-dialogAction="<?php echo O::escapeHtml('') ?>" data-extra-dialogMethod="<?php echo O::escapeHtml('switch') ?>" data-extra="<?php echo O::escapeHtml('{\'dialogAction\':null,\'dialogMethod\':\'switch\'}') ?>" href="<?php echo O::escapeHtml('') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> + <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--method-switch') ?>"><?php echo O::escapeHtml('') ?> + </i> + <span class="<?php echo O::escapeHtml('or-dropdown-text') ?>"><?php echo O::escapeHtml(''.@O::lang('menu_switch').'') ?> + </span> + </a> + </div> <div class="<?php echo O::escapeHtml('or-dropdown-divide') ?>"><?php echo O::escapeHtml('') ?> </div> <div class="<?php echo O::escapeHtml('or-dropdown-entry or-act-clickable or-filtered or-on-action-page') ?>"><?php echo O::escapeHtml('') ?> diff --git a/modules/cms/ui/themes/default/html/views/title/show.tpl.src.xml b/modules/cms/ui/themes/default/html/views/title/show.tpl.src.xml @@ -282,6 +282,13 @@ <text class="dropdown-text" value="${message:menu_advanced}"/> </link> </part> + <part + class="dropdown-entry,act-clickable,filtered,on-action-folder,on-action-element,on-action-file,on-action-image,on-action-text,on-action-pageelement"> + <link type="dialog" title="${message:menu_switch_desc}" subaction="switch"> + <image method="switch"/> + <text class="dropdown-text" value="${message:menu_switch}"/> + </link> + </part> <part class="dropdown-divide"/> <part class="dropdown-entry,act-clickable,filtered,on-action-page"> <link type="dialog" title="${message:menu_changetemplate_desc}" subaction="changetemplate"> diff --git a/modules/cms/ui/themes/default/html/views/user/switch.php b/modules/cms/ui/themes/default/html/views/user/switch.php @@ -0,0 +1,33 @@ +<?php /* THIS FILE IS GENERATED from switch.tpl.src.xml - DO NOT CHANGE */ defined('APP_STARTED') || die('Forbidden'); use \template_engine\Output as O; ?> + <form name="<?php echo O::escapeHtml('') ?>" target="<?php echo O::escapeHtml('_self') ?>" data-target="<?php echo O::escapeHtml('view') ?>" action="<?php echo O::escapeHtml('./') ?>" data-method="<?php echo O::escapeHtml('switch') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-id="<?php echo O::escapeHtml(''.@$_id.'') ?>" method="<?php echo O::escapeHtml('POST') ?>" enctype="<?php echo O::escapeHtml('application/x-www-form-urlencoded') ?>" data-async="<?php echo O::escapeHtml('') ?>" data-autosave="<?php echo O::escapeHtml('') ?>" data-after-success="<?php echo O::escapeHtml('reloadAll') ?>" class="<?php echo O::escapeHtml('or-form or-user') ?>"><?php echo O::escapeHtml('') ?> + <div class="<?php echo O::escapeHtml('or-form-headline') ?>"><?php echo O::escapeHtml('') ?> + </div> + <div class="<?php echo O::escapeHtml('or-form-content') ?>"><?php echo O::escapeHtml('') ?> + <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('token') ?>" value="<?php echo O::escapeHtml(''.@$_token.'') ?>" /><?php echo O::escapeHtml('') ?> + <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('action') ?>" value="<?php echo O::escapeHtml('user') ?>" /><?php echo O::escapeHtml('') ?> + <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('subaction') ?>" value="<?php echo O::escapeHtml('switch') ?>" /><?php echo O::escapeHtml('') ?> + <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('id') ?>" value="<?php echo O::escapeHtml(''.@$_id.'') ?>" /><?php echo O::escapeHtml('') ?> + <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?> + <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml(''.@O::lang('user_switch').'') ?> + </h3> + <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?> + <span><?php echo O::escapeHtml(''.@$username.'') ?> + </span> + </div> + </section> + </div> + <div class="<?php echo O::escapeHtml('or-form-actionbar') ?>"><?php echo O::escapeHtml('') ?> + <div class="<?php echo O::escapeHtml('or-btn or-btn--secondary or-act-form-cancel') ?>"><?php echo O::escapeHtml('') ?> + <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--form-cancel') ?>"><?php echo O::escapeHtml('') ?> + </i> + <span class="<?php echo O::escapeHtml('or-form-btn-label') ?>"><?php echo O::escapeHtml(''.@O::lang('CANCEL').'') ?> + </span> + </div> + <div class="<?php echo O::escapeHtml('or-btn or-btn--primary or-act-form-save') ?>"><?php echo O::escapeHtml('') ?> + <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--form-ok') ?>"><?php echo O::escapeHtml('') ?> + </i> + <span class="<?php echo O::escapeHtml('or-form-btn-label') ?>"><?php echo O::escapeHtml(''.@O::lang('button_ok').'') ?> + </span> + </div> + </div> + </form>+ \ No newline at end of file diff --git a/modules/cms/ui/themes/default/html/views/user/switch.tpl.src.xml b/modules/cms/ui/themes/default/html/views/user/switch.tpl.src.xml @@ -0,0 +1,9 @@ +<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.openrat.de/template ../../../../../../../template_engine/components/template.xsd"> + + <form afterSuccess="reloadAll"> + <fieldset label="${message:user_switch}"> + <text value="${username}" /> + </fieldset> + </form> +</output> diff --git a/modules/cms/ui/themes/default/html/views/usergroup/show.php b/modules/cms/ui/themes/default/html/views/usergroup/show.php @@ -12,7 +12,7 @@ </td> </tr> <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('userlist') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> + <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('userlist') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> <a target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('open') ?>" data-action="<?php echo O::escapeHtml('userlist') ?>" data-method="<?php echo O::escapeHtml('') ?>" data-id="<?php echo O::escapeHtml('') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/userlist') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--action-user') ?>"><?php echo O::escapeHtml('') ?> </i> @@ -22,7 +22,7 @@ </td> </tr> <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('grouplist') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> + <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('grouplist') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> <a target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('open') ?>" data-action="<?php echo O::escapeHtml('grouplist') ?>" data-method="<?php echo O::escapeHtml('') ?>" data-id="<?php echo O::escapeHtml('') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/grouplist') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--action-group') ?>"><?php echo O::escapeHtml('') ?> </i> diff --git a/modules/cms/ui/themes/default/html/views/userlist/show.php b/modules/cms/ui/themes/default/html/views/userlist/show.php @@ -15,14 +15,10 @@ <span><?php echo O::escapeHtml('') ?> </span> </td> - <td><?php echo O::escapeHtml('') ?> - <span><?php echo O::escapeHtml(''.@O::lang('LOGIN').'') ?> - </span> - </td> </tr> - <?php foreach((array)$el as $list_key=>$list_value) { extract($list_value); ?> - <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> + <?php foreach((array)$list as $list_key=>$list_value) { extract($list_value); ?> + <tr class="<?php echo O::escapeHtml('or-data or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> + <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>"><?php echo O::escapeHtml('') ?> <a target="<?php echo O::escapeHtml('_self') ?>" date-name="<?php echo O::escapeHtml(''.@$name.'') ?>" name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-type="<?php echo O::escapeHtml('open') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-method="<?php echo O::escapeHtml('') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/user/'.@$id.'') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--action-user') ?>"><?php echo O::escapeHtml('') ?> </i> @@ -30,7 +26,7 @@ </span> </a> </td> - <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>" class="<?php echo O::escapeHtml('or-clickable') ?>"><?php echo O::escapeHtml('') ?> + <td data-name="<?php echo O::escapeHtml(''.@$name.'') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-id="<?php echo O::escapeHtml(''.@$id.'') ?>"><?php echo O::escapeHtml('') ?> <span><?php echo O::escapeHtml(''.@$fullname.'') ?> </span> <?php $if6=($isAdmin); if($if6) { ?> @@ -42,16 +38,10 @@ </span> <?php } ?> </td> - <td class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> - <a target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('post') ?>" data-action="<?php echo O::escapeHtml('user') ?>" data-method="<?php echo O::escapeHtml('switch') ?>" data-id="<?php echo O::escapeHtml(''.@$userid.'') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" data-data="<?php echo O::escapeHtml('{"action":"user","subaction":"switch","id":"'.@$userid.'","token":"'.@$_token.'","none":"0"}') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> - <span><?php echo O::escapeHtml(''.@O::lang('LOGIN').'') ?> - </span> - </a> - </td> </tr> <?php } ?> <tr class="<?php echo O::escapeHtml('or-data') ?>"><?php echo O::escapeHtml('') ?> - <td colspan="<?php echo O::escapeHtml('3') ?>" class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> + <td colspan="<?php echo O::escapeHtml('2') ?>" class="<?php echo O::escapeHtml('or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> <a target="<?php echo O::escapeHtml('_self') ?>" date-name="<?php echo O::escapeHtml(''.@O::lang('add').'') ?>" name="<?php echo O::escapeHtml(''.@O::lang('add').'') ?>" data-type="<?php echo O::escapeHtml('dialog') ?>" data-action="<?php echo O::escapeHtml('') ?>" data-method="<?php echo O::escapeHtml('add') ?>" data-id="<?php echo O::escapeHtml('') ?>" data-extra-dialogAction="<?php echo O::escapeHtml('') ?>" data-extra-dialogMethod="<?php echo O::escapeHtml('add') ?>" data-extra="<?php echo O::escapeHtml('{\'dialogAction\':null,\'dialogMethod\':\'add\'}') ?>" href="<?php echo O::escapeHtml('') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--method-add') ?>"><?php echo O::escapeHtml('') ?> </i> diff --git a/modules/cms/ui/themes/default/html/views/userlist/show.tpl.src.xml b/modules/cms/ui/themes/default/html/views/userlist/show.tpl.src.xml @@ -8,13 +8,10 @@ <column> <text value=""/> </column> - <column> - <text value="${message:LOGIN}"/> - </column> </row> - <list list="${el}" extract="true"> - <row class="data"> - <column id="${id}" name="${name}" action="user" class="act-clickable"> + <list list="${list}" extract="true"> + <row class="data,act-clickable" > + <column id="${id}" name="${name}" action="user" class=""> <link type="open" id="${id}" name="${name}" action="user"> <image action="user"/> <text value="${name}"/> @@ -28,15 +25,10 @@ <text value=")"/> </if> </column> - <column class="act-clickable"> - <link type="post" action="user" subaction="switch" id="${userid}"> - <text value="${message:LOGIN}"/> - </link> - </column> </row> </list> <row class="data"> - <column colspan="3" class="act-clickable"> + <column colspan="2" class="act-clickable"> <link type="dialog" subaction="add" name="${message:add}"> <image method="add"/> <text value="${message:add}"/> diff --git a/modules/cms/ui/themes/default/script/openrat.js b/modules/cms/ui/themes/default/script/openrat.js @@ -2767,11 +2767,22 @@ let filterMenus = function () let id = Openrat.Workbench.state.id; $('.or-act-clickable').addClass('dropdown-entry--active'); $('.or-act-clickable.or-filtered').removeClass('dropdown-entry--active').addClass('dropdown-entry--inactive'); + // Jeder Menüeintrag bekommt die Id und Parameter. + $('.or-act-clickable.or-filtered a').attr('data-id' ,id ); - $('.or-act-clickable.or-filtered.or-on-action-'+action).addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive'); + let url = Openrat.View.createUrl(action,'available',id, {},true ); + + // Die Inhalte des Zweiges laden. + let promise = $.getJSON(url); + + promise.done( function (data) { + + jQuery.each(data.output.views, function(i, method) { + $('.or-act-clickable.or-filtered > .or-link[data-method=\'' + method + '\']' ).parent() + .addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive'); + }); + }); - // Jeder Menüeintrag bekommt die Id und Parameter. - $('.or-act-clickable.or-filtered a').attr('data-id' ,id ); } diff --git a/modules/cms/ui/themes/default/script/openrat.min.js b/modules/cms/ui/themes/default/script/openrat.min.js @@ -1183,7 +1183,7 @@ else{}})};let timeoutMinutes=5;window.setInterval(ping,timeoutMinutes*60*1000)}; else if(Notification.permission==='granted'){let notification=new Notification(e)} else if(Notification.permission!=='denied'){Notification.requestPermission(function(t){if(t==='granted'){let notification=new Notification(e)}})}};this.notify=function(t,i,n,o,a,log=[],notifyTheBrowser=!1){if(notifyTheBrowser)notifyBrowser(a);let notice=$('<div class="or-notice or-notice--'+o+'"></div>');let toolbar=$('<div class="or-notice-toolbar"></div>');if(log.length)$(toolbar).append('<i class="or-notice-action--full or-image-icon or-image-icon--menu-fullscreen"></i>');$(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-notice-act-close"></i>');$(notice).append(toolbar);if(n)$(notice).append('<div class="or-notice-name or-act-clickable"><a href="'+Openrat.Navigator.createShortUrl(t,i)+'" data-type="open" data-action="'+t+'" data-id="'+i+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+t+'"></i> '+n+'</a></div>');$(notice).append('<div class="or-notice-text">'+e(a)+'</div>');if(log.length){let logLi=log.reduce((result,item)=>{result+='<li><pre>'+e(item)+'</pre></li>';return result},'');$(notice).append('<div class="or-notice-log"><ul>'+logLi+'</ul></div>')};$('#noticebar').prepend(notice);$(notice).orLinkify();$(notice).find('.or-notice-action-full').click(function(){$(notice).toggleClass('or-notice--is-full')});$(notice).find('.or-notice-act-close').click(function(){$(notice).fadeOut('fast',function(){$(notice).remove()})});let timeout=1;if(o=='ok')timeout=20;if(o=='info')timeout=60;if(o=='warning')timeout=120;if(o=='error')timeout=120;if(timeout>0)setTimeout(function(){$(notice).fadeOut('slow',function(){$(this).remove()})},timeout*1000)};this.dataChangedHandler=$.Callbacks();this.dataChangedHandler.add(function(){if(Openrat.Workbench.popupWindow)Openrat.Workbench.popupWindow.location.reload()});this.afterViewLoadedHandler=$.Callbacks();this.setApplicationTitle=function(e){if(e)$('head > title').text(e+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};var e=function(e){return String(e).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')};this.registerOpenClose=function(e){$(e).children('.or-collapsible-act-switch').click(function(){$(this).closest('.or-collapsible').toggleClass('collapsible--is-open').toggleClass('collapsible--is-closed')})};this.openNewAction=function(e,t,i){$('.or-workbench-navigation').removeClass('workbench-navigation--is-open');Openrat.Workbench.setApplicationTitle(e);Openrat.Navigator.navigateToNew({'action':t,'id':i})};this.startDialog=function(e,t,i,o,n){if(!t)t=Openrat.Workbench.state.action;if(!o)o=Openrat.Workbench.state.id;let view=new Openrat.View(t,i,o,n);view.before=function(){$('#dialog > .view').html('<div class="header"><img class="or-icon" title="" src="./themes/default/images/icon/'+i+'.png" />'+e+'</div>');$('#dialog > .view').data('id',o);$('#dialog').removeClass('dialog--is-closed').addClass('dialog--is-open');let view=this;this.escapeKeyClosingHandler=function(e){if(e.keyCode==27){view.close();$(document).off('keyup')}};$(document).keyup(this.escapeKeyClosingHandler);$('.or-dialog-filler').click(function(){view.close()})};view.close=function(){if($('.or-dialog').hasClass('or-dialog--modal'))return;$('.or-view.or-view--is-dirty').removeClass('or-view--is-dirty');$('#dialog .or-view').html('');$('#dialog').removeClass('dialog--is-open').addClass('dialog--is-closed');$(document).unbind('keyup',this.escapeKeyClosingHandler)};view.start($('.or-dialog > .or-view'))};this.registerDraggable=function(e){$(e).find('.or-draggable').draggable({helper:'clone',opacity:0.7,zIndex:2,distance:10,cursor:'move',revert:'false'})};this.registerDroppable=function(e){$(e).find('.or-droppable').droppable({accept:'.or-draggable',hoverClass:'or-droppable--hover',activeClass:'or-droppable--active',drop:function(e,t){let dropped=t.draggable;let id=dropped.data('id');let name=dropped.data('name');if(!name)name=id;$(this).find('.or-selector-link-value').val(id);$(this).find('.or-selector-link-name').val(name).attr('placeholder',name)}})}}; ;Openrat.Navigator=new function(){'use strict';this.navigateTo=function(t){Openrat.Workbench.loadNewActionState(t)};this.navigateToNew=function(t){this.navigateTo(t);window.history.pushState(t,t.name,this.createShortUrl(t.action,t.id))};this.toActualHistory=function(t){window.history.replaceState(t,t.name,this.createShortUrl(t.action,t.id))};this.createShortUrl=function(t,i){return'./#/'+t+(i?'/'+i:'')}}; -;$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');function e(){function e(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};$('div.header').dblclick(function(){e(this)})};e();window.onpopstate=function(e){Openrat.Navigator.navigateTo(e.state)};Openrat.Workbench.initialize();Openrat.Workbench.reloadAll();let registerWorkbenchGlobalEvents=function(){$('.keystroke').each(function(){let keystrokeElement=$(this);let keystroke=keystrokeElement.text();if(keystroke.length==0)return;let keyaction=function(){keystrokeElement.click()};$(document).bind('keydown',keystroke,keyaction)});$('section.toggle-open-close .on-click-open-close').click(function(){var n=$(this).closest('section');if(n.hasClass('disabled'))return;var e=n.find('div.view-loader');if(e.children().length==0)Openrat.Workbench.loadNewActionIntoElement(e)})};$('.or-act-initial-notice').each(function(){Openrat.Workbench.notify('',0,'','info',$(this).text());$(this).remove()});registerWorkbenchGlobalEvents();let closeMenu=function(){$('body').click(function(){$('.or-menu').removeClass('menu--is-open')})};closeMenu();Openrat.Workbench.afterNewActionHandler.add(function(){let url=Openrat.View.createUrl('tree','path',Openrat.Workbench.state.id,{'type':Openrat.Workbench.state.action});let loadPromise=$.get(url);loadPromise.done(function(e){$('.or-breadcrumb').empty().append(e).find('.or-act-clickable').orLinkify();$('nav .or-navtree-node').removeClass('or-navtree-node--selected');$('.or-breadcrumb a').each(function(){let action=$(this).data('action');let id=$(this).data('id');let $navControl=$('nav .or-navtree-node[data-type='+action+'][data-id='+id+'].or-navtree-node--is-closed .or-navtree-node-control');$navControl.click()})}).fail(function(e){console.warn(e);console.warn('failed to load path from '+url)}).always(function(){})})});let filterMenus=function(){let action=Openrat.Workbench.state.action;let id=Openrat.Workbench.state.id;$('.or-act-clickable').addClass('dropdown-entry--active');$('.or-act-clickable.or-filtered').removeClass('dropdown-entry--active').addClass('dropdown-entry--inactive');$('.or-act-clickable.or-filtered.or-on-action-'+action).addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive');$('.or-act-clickable.or-filtered a').attr('data-id',id)};Openrat.Workbench.afterNewActionHandler.add(function(){filterMenus()});Openrat.Workbench.afterViewLoadedHandler.add(function(e){if(Openrat.Workbench.popupWindow)$(e).find('a[data-type=\'popup\']').each(function(){Openrat.Workbench.popupWindow.location.href=$(this).attr('data-url')})});Openrat.Workbench.afterViewLoadedHandler.add(function(e){e.find('.or-act-load-nav-tree').each(function(){let type=$(this).data('type')||'root';let loadBranchUrl='./?action=tree&subaction=branch&id=0&type='+type;let $targetElement=$(this);$.get(loadBranchUrl).done(function(e){let $ul=$('<ul class="or-navtree-list" />');$ul.appendTo($targetElement.empty()).append(e);$ul.find('li').orTree({'openAction':function(e,n,t){Openrat.Workbench.openNewAction(e,n,t)}});$ul.find('.or-act-clickable').orLinkify();$ul.find('.or-navtree-node-control').first().click()})})});Openrat.Workbench.afterViewLoadedHandler.add(function(e){var n=$(e).closest('section');n.toggleClass('is-empty',$(e).is(':empty'));if(!$(e).is(':empty'))n.slideDown('fast');else n.slideUp('fast');$(e).find('.or-act-nav-open-close').click(function(){$('nav').toggleClass('workbench-navigation--is-open')});$(e).find('.or-act-nav-toggle-small').click(function(){$('nav').toggleClass('workbench-navigation--is-small')});$(e).find('.or-act-nav-small').click(function(){$('nav').addClass('workbench-navigation--is-small')});$(e).find('.or-act-nav-wide').click(function(){$('nav').removeClass('workbench-navigation--is-small')});$(e).find('.or-act-load-selector-tree').each(function(){var n=this;let id=$(this).data('init-folder-id');let type=id?'folder':'projects';let loadBranchUrl='./?action=tree&subaction=branch&id='+id+'&type='+type;let $targetElement=$(this);$.get(loadBranchUrl).done(function(n){let $ul=$('<ul class="or-navtree-list" />');$ul.appendTo($targetElement.empty()).append(n);$ul.find('li').orTree({'openAction':function(n,o,t){e.find('.or-selector-link-value').val(t);e.find('.or-selector-link-name').val(n).attr('placeholder',n)}});$ul.find('.or-act-clickable').orLinkify();$ul.find('.or-navtree-node-control').first().click()})});t(e);$(e).find('.or-input').change(function(){$(this).closest('.view').addClass('dirty')});$(e).find('.or-theme-chooser').change(function(){Openrat.Workbench.setUserStyle(this.value)});function o(e){$(e).find('.or-menu-category').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('menu--is-open')});$(e).find('.or-menu-category').mouseover(function(){$(this).parents('.or-menu').find('.or-menu-category').removeClass('menu-category--is-open');$(this).addClass('menu-category--is-open')})};function a(e){$(e).find('.or-search .or-input').orSearch({dropdown:'.or-dropdown.or-act-global-search-results',select:function(e){Openrat.Workbench.openNewAction(e.name,e.action,e.id)}})};function r(e){$(e).find('.or-selector .or-selector-link-name').orSearch({dropdown:'.or-dropdown.or-act-selector-search-results',select:function(n){$(e).find('.or-selector-link-value').val(n.id);$(e).find('.or-selector-link-name').val(n.name).attr('placeholder',n.name)},afterSelect:function(){$('.or-dropdown.or-act-selector-search-results').empty()}})};function i(e){};o(e);a(e);r(e);i(e);function t(e){Openrat.Workbench.registerDraggable(e);Openrat.Workbench.registerDroppable(e)};t(e)}); +;$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');function e(){function e(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};$('div.header').dblclick(function(){e(this)})};e();window.onpopstate=function(e){Openrat.Navigator.navigateTo(e.state)};Openrat.Workbench.initialize();Openrat.Workbench.reloadAll();let registerWorkbenchGlobalEvents=function(){$('.keystroke').each(function(){let keystrokeElement=$(this);let keystroke=keystrokeElement.text();if(keystroke.length==0)return;let keyaction=function(){keystrokeElement.click()};$(document).bind('keydown',keystroke,keyaction)});$('section.toggle-open-close .on-click-open-close').click(function(){var n=$(this).closest('section');if(n.hasClass('disabled'))return;var e=n.find('div.view-loader');if(e.children().length==0)Openrat.Workbench.loadNewActionIntoElement(e)})};$('.or-act-initial-notice').each(function(){Openrat.Workbench.notify('',0,'','info',$(this).text());$(this).remove()});registerWorkbenchGlobalEvents();let closeMenu=function(){$('body').click(function(){$('.or-menu').removeClass('menu--is-open')})};closeMenu();Openrat.Workbench.afterNewActionHandler.add(function(){let url=Openrat.View.createUrl('tree','path',Openrat.Workbench.state.id,{'type':Openrat.Workbench.state.action});let loadPromise=$.get(url);loadPromise.done(function(e){$('.or-breadcrumb').empty().append(e).find('.or-act-clickable').orLinkify();$('nav .or-navtree-node').removeClass('or-navtree-node--selected');$('.or-breadcrumb a').each(function(){let action=$(this).data('action');let id=$(this).data('id');let $navControl=$('nav .or-navtree-node[data-type='+action+'][data-id='+id+'].or-navtree-node--is-closed .or-navtree-node-control');$navControl.click()})}).fail(function(e){console.warn(e);console.warn('failed to load path from '+url)}).always(function(){})})});let filterMenus=function(){let action=Openrat.Workbench.state.action;let id=Openrat.Workbench.state.id;$('.or-act-clickable').addClass('dropdown-entry--active');$('.or-act-clickable.or-filtered').removeClass('dropdown-entry--active').addClass('dropdown-entry--inactive');$('.or-act-clickable.or-filtered a').attr('data-id',id);let url=Openrat.View.createUrl(action,'available',id,{},!0);let promise=$.getJSON(url);promise.done(function(e){jQuery.each(e.output.views,function(e,n){$('.or-act-clickable.or-filtered > .or-link[data-method=\''+n+'\']').parent().addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive')})})};Openrat.Workbench.afterNewActionHandler.add(function(){filterMenus()});Openrat.Workbench.afterViewLoadedHandler.add(function(e){if(Openrat.Workbench.popupWindow)$(e).find('a[data-type=\'popup\']').each(function(){Openrat.Workbench.popupWindow.location.href=$(this).attr('data-url')})});Openrat.Workbench.afterViewLoadedHandler.add(function(e){e.find('.or-act-load-nav-tree').each(function(){let type=$(this).data('type')||'root';let loadBranchUrl='./?action=tree&subaction=branch&id=0&type='+type;let $targetElement=$(this);$.get(loadBranchUrl).done(function(e){let $ul=$('<ul class="or-navtree-list" />');$ul.appendTo($targetElement.empty()).append(e);$ul.find('li').orTree({'openAction':function(e,n,t){Openrat.Workbench.openNewAction(e,n,t)}});$ul.find('.or-act-clickable').orLinkify();$ul.find('.or-navtree-node-control').first().click()})})});Openrat.Workbench.afterViewLoadedHandler.add(function(e){var n=$(e).closest('section');n.toggleClass('is-empty',$(e).is(':empty'));if(!$(e).is(':empty'))n.slideDown('fast');else n.slideUp('fast');$(e).find('.or-act-nav-open-close').click(function(){$('nav').toggleClass('workbench-navigation--is-open')});$(e).find('.or-act-nav-toggle-small').click(function(){$('nav').toggleClass('workbench-navigation--is-small')});$(e).find('.or-act-nav-small').click(function(){$('nav').addClass('workbench-navigation--is-small')});$(e).find('.or-act-nav-wide').click(function(){$('nav').removeClass('workbench-navigation--is-small')});$(e).find('.or-act-load-selector-tree').each(function(){var n=this;let id=$(this).data('init-folder-id');let type=id?'folder':'projects';let loadBranchUrl='./?action=tree&subaction=branch&id='+id+'&type='+type;let $targetElement=$(this);$.get(loadBranchUrl).done(function(n){let $ul=$('<ul class="or-navtree-list" />');$ul.appendTo($targetElement.empty()).append(n);$ul.find('li').orTree({'openAction':function(n,t,o){e.find('.or-selector-link-value').val(o);e.find('.or-selector-link-name').val(n).attr('placeholder',n)}});$ul.find('.or-act-clickable').orLinkify();$ul.find('.or-navtree-node-control').first().click()})});t(e);$(e).find('.or-input').change(function(){$(this).closest('.view').addClass('dirty')});$(e).find('.or-theme-chooser').change(function(){Openrat.Workbench.setUserStyle(this.value)});function o(e){$(e).find('.or-menu-category').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('menu--is-open')});$(e).find('.or-menu-category').mouseover(function(){$(this).parents('.or-menu').find('.or-menu-category').removeClass('menu-category--is-open');$(this).addClass('menu-category--is-open')})};function a(e){$(e).find('.or-search .or-input').orSearch({dropdown:'.or-dropdown.or-act-global-search-results',select:function(e){Openrat.Workbench.openNewAction(e.name,e.action,e.id)}})};function r(e){$(e).find('.or-selector .or-selector-link-name').orSearch({dropdown:'.or-dropdown.or-act-selector-search-results',select:function(n){$(e).find('.or-selector-link-value').val(n.id);$(e).find('.or-selector-link-name').val(n.name).attr('placeholder',n.name)},afterSelect:function(){$('.or-dropdown.or-act-selector-search-results').empty()}})};function i(e){};o(e);a(e);r(e);i(e);function t(e){Openrat.Workbench.registerDraggable(e);Openrat.Workbench.registerDroppable(e)};t(e)}); ;Openrat.Workbench.afterViewLoadedHandler.add(function(e){}); ;Openrat.Workbench.afterViewLoadedHandler.add(function(e){$(e).find('textarea').orAutoheight();$(e).find('textarea.or-editor.or-code-editor').each(function(){let mode=$(this).data('mode');let mimetype=$(this).data('mimetype');if(mimetype.length>0)mode=mimetype;let textareaEl=this;let editor=CodeMirror.fromTextArea(textareaEl,{lineNumbers:!0,viewportMargin:Infinity,mode:mode});editor.on('change',function(){let newValue=editor.getValue();$(textareaEl).val(newValue)});$(editor.getWrapperElement()).droppable({accept:'.or-draggable',hoverClass:'or-droppable--hover',activeClass:'or-droppable--active',drop:function(e,t){let dropped=t.draggable;let pos=editor.getCursor();editor.setSelection(pos,pos);let insertText=dropped.data('id');let toInsert=''+insertText;editor.replaceSelection(toInsert)}})});$(e).find('textarea.or-editor.or-markdown-editor').each(function(){let textarea=this;let toolbar=[{name:'bold',action:SimpleMDE.toggleBold,className:'image-icon image-icon--editor-bold',title:'Bold',},{name:'italic',action:SimpleMDE.toggleItalic,className:'image-icon image-icon--editor-italic',title:'Italic',},{name:'heading',action:SimpleMDE.toggleHeadingBigger,className:'image-icon image-icon--editor-headline',title:'Headline',},'|',{name:'quote',action:SimpleMDE.toggleBlockquote,className:'image-icon image-icon--editor-quote',title:'Quote',},{name:'code',action:SimpleMDE.toggleCodeBlock,className:'image-icon image-icon--editor-code',title:'Code',},'|',{name:'generic list',action:SimpleMDE.toggleUnorderedList,className:'image-icon image-icon--editor-unnumberedlist',title:'Unnumbered list',},{name:'numbered list',action:SimpleMDE.toggleOrderedList,className:'image-icon image-icon--editor-numberedlist',title:'Numbered list',},'|',{name:'table',action:SimpleMDE.drawTable,className:'image-icon image-icon--editor-table',title:'Table',},{name:'horizontalrule',action:SimpleMDE.drawHorizontalRule,className:'image-icon image-icon--editor-horizontalrule',title:'Horizontal rule',},'|',{name:'undo',action:SimpleMDE.undo,className:'image-icon image-icon--editor-undo',title:'Undo',},{name:'redo',action:SimpleMDE.redo,className:'image-icon image-icon--editor-redo',title:'Redo',},'|',{name:'link',action:SimpleMDE.drawLink,className:'image-icon image-icon--editor-link',title:'Link',},{name:'image',action:SimpleMDE.drawImage,className:'image-icon image-icon--editor-image',title:'Image',},'|',{name:'guide',action:'https://simplemde.com/markdown-guide',className:'image-icon image-icon--editor-help',title:'Howto markdown',},];let mde=new SimpleMDE({element:$(this)[0],toolbar:toolbar,autoDownloadFontAwesome:!1});let codemirror=mde.codemirror;$(codemirror.getWrapperElement()).droppable({accept:'.or-draggable',hoverClass:'or-droppable--hover',activeClass:'or-droppable--active',drop:function(e,t){let dropped=t.draggable;let insertText='';let id=dropped.data('id');let url='__OID__'+id+'__';if(dropped.data('type')=='image')insertText='![]('+url+')';else insertText='['+id+']('+url+')';let pos=codemirror.getCursor();codemirror.setSelection(pos,pos);codemirror.replaceSelection(insertText)}});codemirror.on('change',function(){let newValue=codemirror.getValue();$(textarea).val(newValue)})});$(e).find('textarea.or-editor.or-html-editor').each(function(){let textarea=this;$.trumbowyg.svgPath='./modules/editor/trumbowyg/ui/icons.svg';$(textarea).trumbowyg();$(textarea).closest('form').find('.trumbowyg-editor').droppable({accept:'.or-draggable',hoverClass:'or-droppable--hover',activeClass:'or-droppable--active',drop:function(e,t){let dropped=t.draggable;let id=dropped.data('id');let url='./?_='+dropped.data('type')+'-'+id+'&subaction=show&embed=1&__OID__'+id+'__='+id;let insertText='';if(dropped.data('type')=='image')insertText='<img src="'+url+'" alt="" />';else insertText='<a href="'+url+'" />'+id+'</a>';$(textarea).trumbowyg('execCmd',{cmd:'insertHTML',param:insertText,forceCss:!1,})}})})}); ;Openrat.Workbench.afterViewLoadedHandler.add(function(e){Openrat.Workbench.registerOpenClose($(e).find('.or-collapsible.or-group'))}); diff --git a/modules/cms/ui/themes/default/script/openrat/common.js b/modules/cms/ui/themes/default/script/openrat/common.js @@ -148,11 +148,22 @@ let filterMenus = function () let id = Openrat.Workbench.state.id; $('.or-act-clickable').addClass('dropdown-entry--active'); $('.or-act-clickable.or-filtered').removeClass('dropdown-entry--active').addClass('dropdown-entry--inactive'); + // Jeder Menüeintrag bekommt die Id und Parameter. + $('.or-act-clickable.or-filtered a').attr('data-id' ,id ); - $('.or-act-clickable.or-filtered.or-on-action-'+action).addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive'); + let url = Openrat.View.createUrl(action,'available',id, {},true ); + + // Die Inhalte des Zweiges laden. + let promise = $.getJSON(url); + + promise.done( function (data) { + + jQuery.each(data.output.views, function(i, method) { + $('.or-act-clickable.or-filtered > .or-link[data-method=\'' + method + '\']' ).parent() + .addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive'); + }); + }); - // Jeder Menüeintrag bekommt die Id und Parameter. - $('.or-act-clickable.or-filtered a').attr('data-id' ,id ); } diff --git a/modules/language/Language_CN.class.php b/modules/language/Language_CN.class.php @@ -606,7 +606,9 @@ Thank you.', 'MENU_ADD_DESC'=>'Add new', 'MENU_ADDEL'=>'New element', 'MENU_ADVANCED'=>'Advanced', -'MENU_ADVANCED_DESC'=>'Advanced', +'MENU_ADVANCED_DESC'=>'Edit advanced data', +'MENU_SWITCH'=>'Change to', +'MENU_SWITCH_DESC'=>'Change to', 'MENU_ADD'=>'New', 'MENU_APPLICATIONS'=>'Applications', 'MENU_APPLICATIONS_DESC'=>'Start more applications', @@ -1285,6 +1287,7 @@ Thank you.', 'USER_MAIL_SUBJECT'=>'Your Password', 'USER_MAIL_TEXT_PREFIX'=>'Your Password for logging in to OpenRat Content Management System is:', 'USER_MAIL_TEXT_SUFFIX'=>'Note this password at a secure place and remove this E-Mail. Your are able to change your password after logging in.', +'USER_SWITCH'=>'Switch to user', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Search for property', diff --git a/modules/language/Language_DE.class.php b/modules/language/Language_DE.class.php @@ -611,7 +611,9 @@ Vielen Dank.', 'MENU_ADD_DESC'=>'Neu hinzufügen', 'MENU_ADDEL'=>'Neues Element', 'MENU_ADVANCED'=>'Erweitert', -'MENU_ADVANCED_DESC'=>'Erweitert', +'MENU_ADVANCED_DESC'=>'Erweiterte Informationen bearbeiten', +'MENU_SWITCH'=>'Wechseln zu', +'MENU_SWITCH_DESC'=>'Wechseln zu', 'MENU_ADD'=>'Neu', 'MENU_APPLICATIONS'=>'Anwendungen', 'MENU_APPLICATIONS_DESC'=>'Weitere Anwendungen starten', @@ -1290,6 +1292,7 @@ Vielen Dank.', 'USER_MAIL_SUBJECT'=>'Your Password', 'USER_MAIL_TEXT_PREFIX'=>'Your Password for logging in to OpenRat Content Management System is:', 'USER_MAIL_TEXT_SUFFIX'=>'Note this password at a secure place and remove this E-Mail. Your are able to change your password after logging in.', +'USER_SWITCH'=>'Zum Benutzer wechseln', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Suche nach Eigenschaft', diff --git a/modules/language/Language_EN.class.php b/modules/language/Language_EN.class.php @@ -606,7 +606,9 @@ Thank you.', 'MENU_ADD_DESC'=>'Add new', 'MENU_ADDEL'=>'New element', 'MENU_ADVANCED'=>'Advanced', -'MENU_ADVANCED_DESC'=>'Advanced', +'MENU_ADVANCED_DESC'=>'Edit advanced data', +'MENU_SWITCH'=>'Change to', +'MENU_SWITCH_DESC'=>'Change to', 'MENU_ADD'=>'New', 'MENU_APPLICATIONS'=>'Applications', 'MENU_APPLICATIONS_DESC'=>'Start more applications', @@ -1285,6 +1287,7 @@ Thank you.', 'USER_MAIL_SUBJECT'=>'Your Password', 'USER_MAIL_TEXT_PREFIX'=>'Your Password for logging in to OpenRat Content Management System is:', 'USER_MAIL_TEXT_SUFFIX'=>'Note this password at a secure place and remove this E-Mail. Your are able to change your password after logging in.', +'USER_SWITCH'=>'Switch to user', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Search for property', diff --git a/modules/language/Language_ES.class.php b/modules/language/Language_ES.class.php @@ -607,7 +607,9 @@ Gracias.', 'MENU_ADD_DESC'=>'Add new', 'MENU_ADDEL'=>'New element', 'MENU_ADVANCED'=>'Advanced', -'MENU_ADVANCED_DESC'=>'Advanced', +'MENU_ADVANCED_DESC'=>'Edit advanced data', +'MENU_SWITCH'=>'Change to', +'MENU_SWITCH_DESC'=>'Change to', 'MENU_ADD'=>'New', 'MENU_APPLICATIONS'=>'Applications', 'MENU_APPLICATIONS_DESC'=>'Start more applications', @@ -1310,6 +1312,7 @@ MENU_INDEX_ADMINISTRATION_DESC =', 'USER_MAIL_SUBJECT'=>'tu contraseña', 'USER_MAIL_TEXT_PREFIX'=>'tu contraseña para entrar a OpenRat que es el sistema de gerencia contento:', 'USER_MAIL_TEXT_SUFFIX'=>'Observar esta contraseña en un lugar seguro y quitar este E-mail. Tu poder cambiar tu contraseña después de entrar.', +'USER_SWITCH'=>'Switch to user', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Search for property', diff --git a/modules/language/Language_FR.class.php b/modules/language/Language_FR.class.php @@ -607,7 +607,9 @@ Merci.', 'MENU_ADD_DESC'=>'Add new', 'MENU_ADDEL'=>'New element', 'MENU_ADVANCED'=>'Advanced', -'MENU_ADVANCED_DESC'=>'Advanced', +'MENU_ADVANCED_DESC'=>'Edit advanced data', +'MENU_SWITCH'=>'Change to', +'MENU_SWITCH_DESC'=>'Change to', 'MENU_ADD'=>'New', 'MENU_APPLICATIONS'=>'Applications', 'MENU_APPLICATIONS_DESC'=>'Start more applications', @@ -1286,6 +1288,7 @@ Merci.', 'USER_MAIL_SUBJECT'=>'Votre mot de passe', 'USER_MAIL_TEXT_PREFIX'=>'Votre mot de passe pour entrer au système de gestion content d\'OpenRat est :', 'USER_MAIL_TEXT_SUFFIX'=>'Noter ce mot de passe à un endroit bloqué et enlever cet E-mail. Votre pouvoir changer votre mot de passe après avoir entré.', +'USER_SWITCH'=>'Switch to user', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Search for property', diff --git a/modules/language/Language_IT.class.php b/modules/language/Language_IT.class.php @@ -607,7 +607,9 @@ Gracias.', 'MENU_ADD_DESC'=>'Add new', 'MENU_ADDEL'=>'New element', 'MENU_ADVANCED'=>'Advanced', -'MENU_ADVANCED_DESC'=>'Advanced', +'MENU_ADVANCED_DESC'=>'Edit advanced data', +'MENU_SWITCH'=>'Change to', +'MENU_SWITCH_DESC'=>'Change to', 'MENU_ADD'=>'New', 'MENU_APPLICATIONS'=>'Applications', 'MENU_APPLICATIONS_DESC'=>'Start more applications', @@ -1286,6 +1288,7 @@ Gracias.', 'USER_MAIL_SUBJECT'=>'la vostra parola d\'accesso', 'USER_MAIL_TEXT_PREFIX'=>'la vostra parola d\'accesso per entrare a OpenRat ch\'il sistema di amministrazione soddisfatto è:', 'USER_MAIL_TEXT_SUFFIX'=>'Notare questa parola d\'accesso ad un posto sicuro e rimuovere questo E-mail. Vostro potere cambiare la vostra parola d\'accesso dopo avere entrato.', +'USER_SWITCH'=>'Switch to user', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Search for property', diff --git a/modules/language/Language_RU.class.php b/modules/language/Language_RU.class.php @@ -607,7 +607,9 @@ if you do not know where this mail comes from, please ignore it.', 'MENU_ADD_DESC'=>'Add new', 'MENU_ADDEL'=>'New element', 'MENU_ADVANCED'=>'Advanced', -'MENU_ADVANCED_DESC'=>'Advanced', +'MENU_ADVANCED_DESC'=>'Edit advanced data', +'MENU_SWITCH'=>'Change to', +'MENU_SWITCH_DESC'=>'Change to', 'MENU_ADD'=>'New', 'MENU_APPLICATIONS'=>'Applications', 'MENU_APPLICATIONS_DESC'=>'Start more applications', @@ -1286,6 +1288,7 @@ if you do not know where this mail comes from, please ignore it.', 'USER_MAIL_SUBJECT'=>'Ваш', 'USER_MAIL_TEXT_PREFIX'=>'Пароль пароль для входа в OpenRat Система управления контентом имеет :', 'USER_MAIL_TEXT_SUFFIX'=>'Примечание пароль на этом безопасном месте и удалить это письмо. Ваш сможете изменить пароль после регистрации. Членства', +'USER_SWITCH'=>'Switch to user', 'CHARSET'=>'UTF-8', 'MENU_TITLE_SEARCH_CONTENT'=>'Search for value', 'MENU_TITLE_SEARCH_PROP'=>'Search for property', diff --git a/modules/language/Messages.class.php b/modules/language/Messages.class.php @@ -569,6 +569,8 @@ class Messages { const MENU_ADDEL = 'MENU_ADDEL'; const MENU_ADVANCED = 'MENU_ADVANCED'; const MENU_ADVANCED_DESC = 'MENU_ADVANCED_DESC'; + const MENU_SWITCH = 'MENU_SWITCH'; + const MENU_SWITCH_DESC = 'MENU_SWITCH_DESC'; const MENU_ADD = 'MENU_ADD'; const MENU_APPLICATIONS = 'MENU_APPLICATIONS'; const MENU_APPLICATIONS_DESC = 'MENU_APPLICATIONS_DESC'; @@ -1247,6 +1249,7 @@ class Messages { const USER_MAIL_SUBJECT = 'USER_MAIL_SUBJECT'; const USER_MAIL_TEXT_PREFIX = 'USER_MAIL_TEXT_PREFIX'; const USER_MAIL_TEXT_SUFFIX = 'USER_MAIL_TEXT_SUFFIX'; + const USER_SWITCH = 'USER_SWITCH'; const CHARSET = 'CHARSET'; const MENU_TITLE_SEARCH_CONTENT = 'MENU_TITLE_SEARCH_CONTENT'; const MENU_TITLE_SEARCH_PROP = 'MENU_TITLE_SEARCH_PROP'; diff --git a/modules/language/language.yml b/modules/language/language.yml @@ -3138,8 +3138,14 @@ MENU_ADVANCED: de: Erweitert en: Advanced MENU_ADVANCED_DESC: - de: Erweitert - en: Advanced + de: Erweiterte Informationen bearbeiten + en: Edit advanced data +MENU_SWITCH: + de: Wechseln zu + en: Change to +MENU_SWITCH_DESC: + de: Wechseln zu + en: Change to MENU_ADD: de: Neu en: New @@ -6302,6 +6308,9 @@ USER_MAIL_TEXT_SUFFIX: fr: Noter ce mot de passe à un endroit bloqué et enlever cet E-mail. Votre pouvoir changer votre mot de passe après avoir entré. it: "Notare questa parola d'accesso ad un posto sicuro e rimuovere questo E-mail. Vostro potere cambiare la vostra parola d'accesso dopo avere entrato." ru: Примечание пароль на этом безопасном месте и удалить это письмо. Ваш сможете изменить пароль после регистрации. Членства +USER_SWITCH: + en: Switch to user + de: Zum Benutzer wechseln CHARSET: en: UTF-8 MENU_TITLE_SEARCH_CONTENT: diff --git a/modules/template_engine/components/html/component_column/ColumnComponent.class.php b/modules/template_engine/components/html/component_column/ColumnComponent.class.php @@ -45,7 +45,6 @@ class ColumnComponent extends Component $column->addAttribute('data-name' ,$this->name ); $column->addAttribute('data-action',$this->action); $column->addAttribute('data-id' ,$this->id ); - $column->addStyleClass('clickable'); } if ( $this->class ) $column->addStyleClass( Component::splitByComma($this->class) );