You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-utils-3-desktop/pym/desktop/wsdl_desktop.py

104 lines
4.6 KiB

# -*- coding: utf-8 -*-
# Copyright 2012-2016 Mir Calculate. http://www.calculate-linux.org
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import sys
from calculate.lib.datavars import VariableError, DataVarsError
from calculate.core.server.func import WsdlBase
from desktop import DesktopError
from utils.cl_desktop import ClDesktopLogoutAction, ClDesktopAction
import desktop
from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate
_ = lambda x: x
setLocalTranslate('cl_desktop3', sys.modules[__name__])
__ = getLazyLocalTranslate(_)
class Wsdl(WsdlBase):
methods = [
#
# вывести пользователя из сеанса
#
{
# идентификатор метода
'method_name': "desktop_logout",
# категория метода
'category': __('Desktop'),
# заголовок метода
'title': __("User Logout"),
# иконка для графической консоли
'image': 'system-log-out',
# метод присутствует в графической консоли
'gui': True,
# консольная команда
'command': 'cl-desktop-logout',
# права для запуска метода
'rights': ['userconfigure'],
# объект содержащий модули для действия
'logic': {'Desktop': desktop.Desktop},
# описание действия
'action': ClDesktopLogoutAction,
# объект переменных
'datavars': "desktop",
'native_error': (VariableError, DataVarsError,
DesktopError),
# значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'logout'},
# описание груп (список лямбда функций)
'groups': [
lambda group: group(_("User logout"),
normal=('cl_desktop_login',),
next_label=_("Execute"))]},
#
# настроить пользовательский сеанс
#
{
# идентификатор метода
'method_name': "desktop",
# категория метода
'category': __('Desktop'),
# заголовок метода
'title': __("User Account Configuration"),
# иконка для графической консоли
'image': 'user-desktop,preferences-desktop',
# метод присутствует в графической консоли
'gui': True,
# консольная команда
'command': 'cl-desktop',
# права для запуска метода
'rights': ['userconfigure'],
# объект содержащий модули для действия
'logic': {'Desktop': desktop.Desktop},
# описание действия
'action': ClDesktopAction,
# объект переменных
'datavars': "desktop",
'native_error': (VariableError, DataVarsError,
DesktopError),
# значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'desktop',
'cl_protect_use_set!': 'off'},
# описание груп (список лямбда функций)
'groups': [
lambda group: group(_("User account configuration"),
normal=('ur_login',),
expert=('cl_desktop_force_setup_set',
'cl_verbose_set',
'cl_templates_locate'),
next_label=_("Execute"))]},
]