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

101 lines
4.2 KiB

#-*- coding: utf-8 -*-
# Copyright 2012-2013 Calculate Ltd. 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, time, os
from calculate.lib.datavars import VariableError,DataVarsError,DataVars
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
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=_("Logout"))]},
#
# настроить пользовательский сеанс
#
{
# идентификатор метода
'method_name':"desktop",
# категория метода
'category':__('Desktop'),
# заголовок метода
'title':__("Configure User"),
# иконка для графической консоли
'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(_("Configure user"),
normal=('ur_login',),
expert=('cl_desktop_force_setup_set','cl_verbose_set',
'cl_templates_locate'),
next_label=_("Configure"))]},
]