mirror of
https://github.com/dkmstr/openuds.git
synced 2024-12-22 13:34:04 +03:00
Added tabs to a bunch of forms on administration (forms are getting too
big right now)
This commit is contained in:
parent
0e6ca4c188
commit
030078a619
@ -152,6 +152,7 @@ class ServicesPools(ModelHandler):
|
||||
'tooltip': ugettext('Image assocciated with this service'),
|
||||
'type': gui.InputField.IMAGECHOICE_TYPE,
|
||||
'order': 102,
|
||||
'tab': ugettext('Display'),
|
||||
}, {
|
||||
'name': 'servicesPoolGroup_id',
|
||||
'values': [gui.choiceImage(-1, _('Default'), DEFAULT_THUMB_BASE64)] + gui.sortedChoices([gui.choiceImage(v.uuid, v.name, v.image.thumb64) for v in ServicesPoolGroup.objects.all()]),
|
||||
@ -159,6 +160,7 @@ class ServicesPools(ModelHandler):
|
||||
'tooltip': ugettext('Pool group for this pool (for pool clasify on display)'),
|
||||
'type': gui.InputField.IMAGECHOICE_TYPE,
|
||||
'order': 103,
|
||||
'tab': ugettext('Display'),
|
||||
}, {
|
||||
'name': 'initial_srvs',
|
||||
'value': '0',
|
||||
@ -167,6 +169,7 @@ class ServicesPools(ModelHandler):
|
||||
'tooltip': ugettext('Services created initially for this service pool'),
|
||||
'type': gui.InputField.NUMERIC_TYPE,
|
||||
'order': 110,
|
||||
'tab': ugettext('Availability'),
|
||||
}, {
|
||||
'name': 'cache_l1_srvs',
|
||||
'value': '0',
|
||||
@ -175,6 +178,7 @@ class ServicesPools(ModelHandler):
|
||||
'tooltip': ugettext('Services kept in cache for improved user service assignation'),
|
||||
'type': gui.InputField.NUMERIC_TYPE,
|
||||
'order': 111,
|
||||
'tab': ugettext('Availability'),
|
||||
}, {
|
||||
'name': 'cache_l2_srvs',
|
||||
'value': '0',
|
||||
@ -183,6 +187,7 @@ class ServicesPools(ModelHandler):
|
||||
'tooltip': ugettext('Services kept in cache of level2 for improved service generation'),
|
||||
'type': gui.InputField.NUMERIC_TYPE,
|
||||
'order': 112,
|
||||
'tab': ugettext('Availability'),
|
||||
}, {
|
||||
'name': 'max_srvs',
|
||||
'value': '0',
|
||||
@ -191,6 +196,7 @@ class ServicesPools(ModelHandler):
|
||||
'tooltip': ugettext('Maximum number of service (assigned and L1 cache) that can be created for this service'),
|
||||
'type': gui.InputField.NUMERIC_TYPE,
|
||||
'order': 113,
|
||||
'tab': ugettext('Availability'),
|
||||
}, {
|
||||
'name': 'show_transports',
|
||||
'value': True,
|
||||
|
@ -54,7 +54,7 @@ import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
__updated__ = '2016-03-09'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
|
||||
# a few constants
|
||||
@ -88,7 +88,7 @@ class BaseModelHandler(Handler):
|
||||
:param gui: List of "gui" items where the field will be added
|
||||
:param field: Field to be added (dictionary)
|
||||
'''
|
||||
gui.append({
|
||||
v = {
|
||||
'name': field.get('name', ''),
|
||||
'value': '',
|
||||
'gui': {
|
||||
@ -105,7 +105,10 @@ class BaseModelHandler(Handler):
|
||||
'order': field.get('order', 0),
|
||||
'values': field.get('values', [])
|
||||
}
|
||||
})
|
||||
}
|
||||
if 'tab' in field:
|
||||
v['gui']['tab'] = field['tab']
|
||||
gui.append(v)
|
||||
return gui
|
||||
|
||||
def addDefaultFields(self, gui, flds):
|
||||
|
@ -43,13 +43,13 @@ from uds.core.ui.UserInterface import gui
|
||||
|
||||
import logging
|
||||
|
||||
__updated__ = '2015-01-21'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class IPAuth(Authenticator):
|
||||
acceptProxy = gui.CheckBoxField(label=_('Accept proxy'), order=3, tooltip=_('If checked, requests via proxy will get FORWARDED ip address (take care with this bein checked, can take internal IP addresses from internet)'))
|
||||
acceptProxy = gui.CheckBoxField(label=_('Accept proxy'), order=3, tooltip=_('If checked, requests via proxy will get FORWARDED ip address (take care with this bein checked, can take internal IP addresses from internet)'), tab=gui.ADVANCED_TAB)
|
||||
|
||||
typeName = _('IP Authenticator')
|
||||
typeType = 'IPAuth'
|
||||
|
@ -43,7 +43,7 @@ from uds.core.util.State import State
|
||||
import dns
|
||||
import logging
|
||||
|
||||
__updated__ = '2015-02-02'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -60,8 +60,8 @@ class InternalDBAuth(Authenticator):
|
||||
# This is the only internal source
|
||||
isExternalSource = False
|
||||
|
||||
differentForEachHost = gui.CheckBoxField(label=_('Different user for each host'), order=1, tooltip=_('If checked, each host will have a different user name'), defvalue="false", rdonly=True)
|
||||
reverseDns = gui.CheckBoxField(label=_('Reverse DNS'), order=2, tooltip=_('If checked, the host will be reversed dns'), defvalue="false", rdonly=True)
|
||||
differentForEachHost = gui.CheckBoxField(label=_('Different user for each host'), order=1, tooltip=_('If checked, each host will have a different user name'), defvalue="false", rdonly=True, tab=gui.ADVANCED_TAB)
|
||||
reverseDns = gui.CheckBoxField(label=_('Reverse DNS'), order=2, tooltip=_('If checked, the host will be reversed dns'), defvalue="false", rdonly=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
def initialize(self, values):
|
||||
if values is None:
|
||||
|
@ -44,7 +44,7 @@ import ldap.filter
|
||||
import re
|
||||
import logging
|
||||
|
||||
__updated__ = '2015-02-02'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -56,14 +56,15 @@ class RegexLdap(auths.Authenticator):
|
||||
host = gui.TextField(length=64, label=_('Host'), order=1, tooltip=_('Ldap Server Host'), required=True)
|
||||
port = gui.NumericField(length=5, label=_('Port'), defvalue='389', order=2, tooltip=_('Ldap port (usually 389 for non ssl and 636 for ssl)'), required=True)
|
||||
ssl = gui.CheckBoxField(label=_('Use SSL'), order=3, tooltip=_('If checked, the connection will be ssl, using port 636 instead of 389'))
|
||||
username = gui.TextField(length=64, label=_('Ldap User'), order=4, tooltip=_('Username with read privileges on the base selected'), required=True)
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=5, tooltip=_('Password of the ldap user'), required=True)
|
||||
username = gui.TextField(length=64, label=_('User'), order=4, tooltip=_('Username with read privileges on the base selected'), required=True, tab=gui.CREDENTIALS_TAB)
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=5, tooltip=_('Password of the ldap user'), required=True, tab=gui.CREDENTIALS_TAB)
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', order=6, tooltip=_('Timeout in seconds of connection to LDAP'), required=True, minValue=1)
|
||||
ldapBase = gui.TextField(length=64, label=_('Base'), order=7, tooltip=_('Common search base (used for "users" and "groups")'), required=True)
|
||||
userClass = gui.TextField(length=64, label=_('User class'), defvalue='posixAccount', order=8, tooltip=_('Class for LDAP users (normally posixAccount)'), required=True)
|
||||
userIdAttr = gui.TextField(length=64, label=_('User Id Attr'), defvalue='uid', order=9, tooltip=_('Attribute that contains the user id'), required=True)
|
||||
userNameAttr = gui.TextField(length=640, label=_('User Name Attr'), multiline=2, defvalue='uid', order=10, tooltip=_('Attributes that contains the user name (list of comma separated values)'), required=True)
|
||||
groupNameAttr = gui.TextField(length=640, label=_('Group Name Attr'), multiline=2, defvalue='cn', order=11, tooltip=_('Attribute that contains the group name'), required=True)
|
||||
|
||||
ldapBase = gui.TextField(length=64, label=_('Base'), order=7, tooltip=_('Common search base (used for "users" and "groups")'), required=True, tab=_('Ldap info'))
|
||||
userClass = gui.TextField(length=64, label=_('User class'), defvalue='posixAccount', order=8, tooltip=_('Class for LDAP users (normally posixAccount)'), required=True, tab=_('Ldap info'))
|
||||
userIdAttr = gui.TextField(length=64, label=_('User Id Attr'), defvalue='uid', order=9, tooltip=_('Attribute that contains the user id'), required=True, tab=_('Ldap info'))
|
||||
userNameAttr = gui.TextField(length=640, label=_('User Name Attr'), multiline=2, defvalue='uid', order=10, tooltip=_('Attributes that contains the user name (list of comma separated values)'), required=True, tab=_('Ldap info'))
|
||||
groupNameAttr = gui.TextField(length=640, label=_('Group Name Attr'), multiline=2, defvalue='cn', order=11, tooltip=_('Attribute that contains the group name'), required=True, tab=_('Ldap info'))
|
||||
# regex = gui.TextField(length=64, label = _('Regular Exp. for groups'), defvalue = '^(.*)', order = 12, tooltip = _('Regular Expression to extract the group name'), required = True)
|
||||
|
||||
typeName = _('Regex LDAP Authenticator')
|
||||
|
@ -45,7 +45,7 @@ import ldap
|
||||
import logging
|
||||
import six
|
||||
|
||||
__updated__ = '2015-02-02'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -57,16 +57,16 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
host = gui.TextField(length=64, label=_('Host'), order=1, tooltip=_('Ldap Server IP or Hostname'), required=True)
|
||||
port = gui.NumericField(length=5, label=_('Port'), defvalue='389', order=2, tooltip=_('Ldap port (usually 389 for non ssl and 636 for ssl)'), required=True)
|
||||
ssl = gui.CheckBoxField(label=_('Use SSL'), order=3, tooltip=_('If checked, the connection will be ssl, using port 636 instead of 389'))
|
||||
username = gui.TextField(length=64, label=_('Ldap User'), order=4, tooltip=_('Username with read privileges on the base selected'), required=True)
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=5, tooltip=_('Password of the ldap user'), required=True)
|
||||
username = gui.TextField(length=64, label=_('Ldap User'), order=4, tooltip=_('Username with read privileges on the base selected'), required=True, tab=gui.CREDENTIALS_TAB)
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=5, tooltip=_('Password of the ldap user'), required=True, tab=gui.CREDENTIALS_TAB)
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', order=6, tooltip=_('Timeout in seconds of connection to LDAP'), required=True, minValue=1)
|
||||
ldapBase = gui.TextField(length=64, label=_('Base'), order=7, tooltip=_('Common search base (used for "users" and "groups")'), required=True)
|
||||
userClass = gui.TextField(length=64, label=_('User class'), defvalue='posixAccount', order=8, tooltip=_('Class for LDAP users (normally posixAccount)'), required=True)
|
||||
userIdAttr = gui.TextField(length=64, label=_('User Id Attr'), defvalue='uid', order=9, tooltip=_('Attribute that contains the user id'), required=True)
|
||||
userNameAttr = gui.TextField(length=64, label=_('User Name Attr'), defvalue='uid', order=10, tooltip=_('Attributes that contains the user name (list of comma separated values)'), required=True)
|
||||
groupClass = gui.TextField(length=64, label=_('Group class'), defvalue='posixGroup', order=11, tooltip=_('Class for LDAP groups (normally poxisGroup)'), required=True)
|
||||
groupIdAttr = gui.TextField(length=64, label=_('Group Id Attr'), defvalue='cn', order=12, tooltip=_('Attribute that contains the group id'), required=True)
|
||||
memberAttr = gui.TextField(length=64, label=_('Group membership attr'), defvalue='memberUid', order=13, tooltip=_('Attribute of the group that contains the users belonging to it'), required=True)
|
||||
ldapBase = gui.TextField(length=64, label=_('Base'), order=7, tooltip=_('Common search base (used for "users" and "groups")'), required=True, tab=_('Ldap info'))
|
||||
userClass = gui.TextField(length=64, label=_('User class'), defvalue='posixAccount', order=8, tooltip=_('Class for LDAP users (normally posixAccount)'), required=True, tab=_('Ldap info'))
|
||||
userIdAttr = gui.TextField(length=64, label=_('User Id Attr'), defvalue='uid', order=9, tooltip=_('Attribute that contains the user id'), required=True, tab=_('Ldap info'))
|
||||
userNameAttr = gui.TextField(length=64, label=_('User Name Attr'), defvalue='uid', order=10, tooltip=_('Attributes that contains the user name (list of comma separated values)'), required=True, tab=_('Ldap info'))
|
||||
groupClass = gui.TextField(length=64, label=_('Group class'), defvalue='posixGroup', order=11, tooltip=_('Class for LDAP groups (normally poxisGroup)'), required=True, tab=_('Ldap info'))
|
||||
groupIdAttr = gui.TextField(length=64, label=_('Group Id Attr'), defvalue='cn', order=12, tooltip=_('Attribute that contains the group id'), required=True, tab=_('Ldap info'))
|
||||
memberAttr = gui.TextField(length=64, label=_('Group membership attr'), defvalue='memberUid', order=13, tooltip=_('Attribute of the group that contains the users belonging to it'), required=True, tab=_('Ldap info'))
|
||||
|
||||
typeName = _('SimpleLDAP Authenticator')
|
||||
typeType = 'SimpleLdapAuthenticator'
|
||||
|
@ -84,6 +84,9 @@ class gui(object):
|
||||
|
||||
# : String for advanced tabs
|
||||
ADVANCED_TAB = ugettext_noop('Advanced')
|
||||
PARAMETERS_TAB = ugettext_noop('Parameters')
|
||||
CREDENTIALS_TAB = ugettext_noop('Credentials')
|
||||
TUNNEL_TAB = ugettext_noop('Tunnel')
|
||||
|
||||
# : Static Callbacks simple registry
|
||||
callbacks = {}
|
||||
|
@ -45,7 +45,7 @@ from .client import oVirtClient
|
||||
|
||||
import logging
|
||||
|
||||
__updated__ = '2016-04-07'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -97,12 +97,12 @@ class Provider(ServiceProvider):
|
||||
username = gui.TextField(length=32, label=_('Username'), order=3, tooltip=_('User with valid privileges on oVirt, (use "user@domain" form)'), required=True, defvalue='admin@internal')
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=4, tooltip=_('Password of the user of oVirt'), required=True)
|
||||
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', order=90, tooltip=_('Timeout in seconds of connection to oVirt'), required=True)
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', order=90, tooltip=_('Timeout in seconds of connection to oVirt'), required=True, tab=gui.ADVANCED_TAB)
|
||||
macsRange = gui.TextField(length=36, label=_('Macs range'), defvalue='52:54:00:00:00:00-52:54:00:FF:FF:FF', order=91, rdonly=True,
|
||||
tooltip=_('Range of valid macs for UDS managed machines'), required=True)
|
||||
tooltip=_('Range of valid macs for UDS managed machines'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
# Own variables
|
||||
_api = None
|
||||
|
@ -50,7 +50,7 @@ import six
|
||||
# Python bindings for OpenNebula
|
||||
import oca
|
||||
|
||||
__updated__ = '2016-04-07'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -101,10 +101,10 @@ class Provider(ServiceProvider):
|
||||
username = gui.TextField(length=32, label=_('Username'), order=4, tooltip=_('User with valid privileges on OpenNebula'), required=True, defvalue='oneadmin')
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=5, tooltip=_('Password of the user of OpenNebula'), required=True)
|
||||
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', order=90, tooltip=_('Timeout in seconds of connection to OpenNebula'), required=True)
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', order=90, tooltip=_('Timeout in seconds of connection to OpenNebula'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
# Own variables
|
||||
_api = None
|
||||
|
@ -42,7 +42,7 @@ from uds.core.ui import gui
|
||||
import six
|
||||
import logging
|
||||
|
||||
__updated__ = '2016-03-09'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -113,19 +113,20 @@ class LiveService(Service):
|
||||
},
|
||||
tooltip=_('Service availability zones'), required=True, rdonly=True
|
||||
)
|
||||
volume = gui.ChoiceField(label=_('Volume'), order=4, tooltip=_('Base volume for service (restricted by availability zone)'), required=True)
|
||||
volume = gui.ChoiceField(label=_('Volume'), order=4, tooltip=_('Base volume for service (restricted by availability zone)'), required=True, tab=_('Machine'))
|
||||
# volumeType = gui.ChoiceField(label=_('Volume Type'), order=5, tooltip=_('Volume type for service'), required=True)
|
||||
network = gui.ChoiceField(label=_('Network'), order=6, tooltip=_('Network to attach to this service'), required=True)
|
||||
flavor = gui.ChoiceField(label=_('Flavor'), order=7, tooltip=_('Flavor for service'), required=True)
|
||||
network = gui.ChoiceField(label=_('Network'), order=6, tooltip=_('Network to attach to this service'), required=True, tab=_('Machine'))
|
||||
flavor = gui.ChoiceField(label=_('Flavor'), order=7, tooltip=_('Flavor for service'), required=True, tab=_('Machine'))
|
||||
|
||||
securityGroups = gui.MultiChoiceField(label=_('Security Groups'), order=8, tooltip=_('Service security groups'), required=True)
|
||||
securityGroups = gui.MultiChoiceField(label=_('Security Groups'), order=8, tooltip=_('Service security groups'), required=True, tab=_('Machine'))
|
||||
|
||||
baseName = gui.TextField(
|
||||
label=_('Machine Names'),
|
||||
rdonly=False,
|
||||
order=9,
|
||||
tooltip=_('Base name for clones from this machine'),
|
||||
required=True
|
||||
required=True,
|
||||
tab=_('Machine')
|
||||
)
|
||||
|
||||
lenName = gui.NumericField(
|
||||
@ -134,7 +135,8 @@ class LiveService(Service):
|
||||
defvalue=5,
|
||||
order=10,
|
||||
tooltip=_('Size of numeric part for the names of these machines (between 3 and 6)'),
|
||||
required=True
|
||||
required=True,
|
||||
tab=_('Machine')
|
||||
)
|
||||
|
||||
ov = gui.HiddenField(value=None)
|
||||
|
@ -44,7 +44,7 @@ from . import openStack
|
||||
|
||||
import logging
|
||||
|
||||
__updated__ = '2016-04-07'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -105,10 +105,10 @@ class Provider(ServiceProvider):
|
||||
username = gui.TextField(length=64, label=_('Username'), order=9, tooltip=_('User with valid privileges on OpenStack'), required=True, defvalue='admin')
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=10, tooltip=_('Password of the user of OpenStack'), required=True)
|
||||
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', minValue=1, maxValue=128, order=99, tooltip=_('Timeout in seconds of connection to OpenStack'), required=True)
|
||||
timeout = gui.NumericField(length=3, label=_('Timeout'), defvalue='10', minValue=1, maxValue=128, order=99, tooltip=_('Timeout in seconds of connection to OpenStack'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
|
||||
# tenant = gui.TextField(length=64, label=_('Project'), order=6, tooltip=_('Project (tenant) for this provider'), required=True, defvalue='')
|
||||
|
@ -48,7 +48,7 @@ import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
__updated__ = '2016-04-07'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
|
||||
CACHE_TIME_FOR_SERVER = 1800
|
||||
@ -99,13 +99,13 @@ class Provider(ServiceProvider):
|
||||
username = gui.TextField(length=32, label=_('Username'), order=2, tooltip=_('User with valid privileges on XenServer'), required=True, defvalue='root')
|
||||
password = gui.PasswordField(lenth=32, label=_('Password'), order=3, tooltip=_('Password of the user of XenServer'), required=True)
|
||||
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True)
|
||||
maxPreparingServices = gui.NumericField(length=3, label=_('Creation concurrency'), defvalue='10', minValue=1, maxValue=65536, order=50, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
maxRemovingServices = gui.NumericField(length=3, label=_('Removal concurrency'), defvalue='5', minValue=1, maxValue=65536, order=51, tooltip=_('Maximum number of concurrently removing VMs'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
macsRange = gui.TextField(length=36, label=_('Macs range'), defvalue='02:46:00:00:00:00-02:46:00:FF:FF:FF', order=90, rdonly=True,
|
||||
tooltip=_('Range of valid macs for created machines'), required=True)
|
||||
tooltip=_('Range of valid macs for created machines'), required=True, tab=gui.ADVANCED_TAB)
|
||||
verifySSL = gui.CheckBoxField(label=_('Verify Certificate'), order=91,
|
||||
tooltip=_('If selected, certificate will be checked against system valid certificate providers'), required=True)
|
||||
tooltip=_('If selected, certificate will be checked against system valid certificate providers'), required=True, tab=gui.ADVANCED_TAB)
|
||||
|
||||
# XenServer engine, right now, only permits a connection to one server and only one per instance
|
||||
# If we want to connect to more than one server, we need keep locked access to api, change api server, etc..
|
||||
|
@ -117,7 +117,7 @@
|
||||
$.each fields.tabs, (index, tab) ->
|
||||
h = gui.forms.fieldsToHtml(tab.fields, item)
|
||||
tabsContent.push "<div class=\"tab-pane fade" + active + "\" id=\"" + id + index + "\">" + h.html + "</div>"
|
||||
tabs.push "<li><a href=\"#" + id + index + "\" data-toggle=\"tab\">" + tab.title + "</a></li>"
|
||||
tabs.push "<li class='" + active + "'><a href=\"#" + id + index + "\" data-toggle=\"tab\">" + tab.title + "</a></li>"
|
||||
active = ""
|
||||
fillers = fillers.concat(h.fillers) # Fillers (callback based)
|
||||
$.extend originalValues, h.originalValues # Original values
|
||||
@ -269,16 +269,25 @@
|
||||
|
||||
# Validation
|
||||
|
||||
|
||||
firstErrorTab = null
|
||||
$form.validate
|
||||
debug: true
|
||||
ignore: ':hidden:not("select")'
|
||||
debug: false
|
||||
ignore: ':hidden:not("select"):not(".modal_field_data")'
|
||||
errorClass: "text-danger"
|
||||
validClass: "has-success"
|
||||
focusInvalid: true
|
||||
highlight: (element) ->
|
||||
$(element).closest(".form-group").addClass "has-error"
|
||||
group = $(element).closest(".form-group")
|
||||
group.addClass "has-error"
|
||||
if firstErrorTab == null && group.parent().hasClass('tab-pane')
|
||||
firstErrorTab = $("a[href='#" + group.parent().attr('id') + "']")
|
||||
firstErrorTab.tab('show')
|
||||
return
|
||||
|
||||
showErrors: (errorMap, errorList) ->
|
||||
firstErrorTab = null # Show errors is invoked before Hightlihg, that is isnoved from defaultShowErrors
|
||||
this.defaultShowErrors()
|
||||
|
||||
success: (element) ->
|
||||
$(element).closest(".form-group").removeClass "has-error"
|
||||
$(element).remove()
|
||||
|
@ -1,6 +1,6 @@
|
||||
{% extends "uds/admin/tmpl/fld/form-group.html" %}
|
||||
{% block field %}
|
||||
{% verbatim %}
|
||||
<textarea class="form-control {{ css }}" name="{{ name }}" id="{{ name }}_field" placeholder="{{ tooltip }}" {{# if readonly }} readonly{{/ if }} tabindex="{{ index }}">{{ value }}</textarea>
|
||||
<textarea class="form-control {{ css }}" rows="{{ multiline }}" name="{{ name }}" id="{{ name }}_field" placeholder="{{ tooltip }}" {{# if readonly }} readonly{{/ if }} tabindex="{{ index }}">{{ value }}</textarea>
|
||||
{% endverbatim %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
@ -59,20 +59,20 @@ class HTML5RDPTransport(Transport):
|
||||
typeName = _('HTML5 RDP Transport')
|
||||
typeType = 'HTML5RDPTransport'
|
||||
typeDescription = _('RDP Transport using HTML5 client')
|
||||
iconFile = 'rdp.png'
|
||||
iconFile = 'html5.png'
|
||||
|
||||
ownLink = True
|
||||
supportedOss = OsDetector.allOss
|
||||
protocol = protocols.RDP
|
||||
|
||||
guacamoleServer = gui.TextField(label=_('Tunnel Server'), order=1, tooltip=_('Host of the tunnel server (use http/https & port if needed) as accesible from users'), defvalue='https://', length=64, required=True)
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=2, tooltip=_('If checked, the credentials used to connect will be emtpy'))
|
||||
fixedName = gui.TextField(label=_('Username'), order=3, tooltip=_('If not empty, this username will be always used as credential'))
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=4, tooltip=_('If not empty, this password will be always used as credential'))
|
||||
withoutDomain = gui.CheckBoxField(label=_('Without Domain'), order=5, tooltip=_('If checked, the domain part will always be emptied (to connecto to xrdp for example is needed)'))
|
||||
fixedDomain = gui.TextField(label=_('Domain'), order=6, tooltip=_('If not empty, this domain will be always used as credential (used as DOMAIN\\user)'))
|
||||
enableAudio = gui.CheckBoxField(label=_('Enable Audio'), order=7, tooltip=_('If checked, the audio will be redirected to client (if client browser supports it)'))
|
||||
enablePrinting = gui.CheckBoxField(label=_('Enable Printing'), order=8, tooltip=_('If checked, the printing will be redirected to client (if client browser supports it)'))
|
||||
guacamoleServer = gui.TextField(label=_('Tunnel Server'), order=1, tooltip=_('Host of the tunnel server (use http/https & port if needed) as accesible from users'), defvalue='https://', length=64, required=True, tab=gui.TUNNEL_TAB)
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=2, tooltip=_('If checked, the credentials used to connect will be emtpy'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedName = gui.TextField(label=_('Username'), order=3, tooltip=_('If not empty, this username will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=4, tooltip=_('If not empty, this password will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
withoutDomain = gui.CheckBoxField(label=_('Without Domain'), order=5, tooltip=_('If checked, the domain part will always be emptied (to connecto to xrdp for example is needed)'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedDomain = gui.TextField(label=_('Domain'), order=6, tooltip=_('If not empty, this domain will be always used as credential (used as DOMAIN\\user)'), tab=gui.CREDENTIALS_TAB)
|
||||
enableAudio = gui.CheckBoxField(label=_('Enable Audio'), order=7, tooltip=_('If checked, the audio will be redirected to client (if client browser supports it)'), tab=gui.PARAMETERS_TAB)
|
||||
enablePrinting = gui.CheckBoxField(label=_('Enable Printing'), order=8, tooltip=_('If checked, the printing will be redirected to client (if client browser supports it)'), tab=gui.PARAMETERS_TAB)
|
||||
|
||||
def initialize(self, values):
|
||||
if values is None:
|
||||
|
BIN
server/src/uds/transports/HTML5RDP/html5.png
Normal file
BIN
server/src/uds/transports/HTML5RDP/html5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 818 B |
@ -62,9 +62,9 @@ class NXTransport(Transport):
|
||||
needsJava = True # If this transport needs java for rendering
|
||||
protocol = protocols.NX
|
||||
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=1, tooltip=_('If checked, the credentials used to connect will be emtpy'))
|
||||
fixedName = gui.TextField(label=_('Username'), order=2, tooltip=_('If not empty, this username will be always used as credential'))
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=3, tooltip=_('If not empty, this password will be always used as credential'))
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=1, tooltip=_('If checked, the credentials used to connect will be emtpy'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedName = gui.TextField(label=_('Username'), order=2, tooltip=_('If not empty, this username will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=3, tooltip=_('If not empty, this password will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
listenPort = gui.NumericField(label=_('Listening port'), length=5, order=4, tooltip=_('Listening port of NX (ssh) at client machine'), defvalue='22')
|
||||
connection = gui.ChoiceField(label=_('Connection'), order=6, tooltip=_('Connection speed for this transport (quality)'),
|
||||
values=[
|
||||
@ -73,13 +73,13 @@ class NXTransport(Transport):
|
||||
{'id': 'adsl', 'text': 'adsl'},
|
||||
{'id': 'wan', 'text': 'wan'},
|
||||
{'id': 'lan', 'text': 'lan'}
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
session = gui.ChoiceField(label=_('Session'), order=7, tooltip=_('Desktop session'),
|
||||
values=[
|
||||
{'id': 'gnome', 'text': 'gnome'},
|
||||
{'id': 'kde', 'text': 'kde'},
|
||||
{'id': 'cde', 'text': 'cde'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
cacheDisk = gui.ChoiceField(label=_('Disk Cache'), order=8, tooltip=_('Cache size en Mb stored at disk'),
|
||||
values=[
|
||||
{'id': '0', 'text': '0 Mb'},
|
||||
@ -88,7 +88,7 @@ class NXTransport(Transport):
|
||||
{'id': '128', 'text': '128 Mb'},
|
||||
{'id': '256', 'text': '256 Mb'},
|
||||
{'id': '512', 'text': '512 Mb'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
cacheMem = gui.ChoiceField(label=_('Memory Cache'), order=9, tooltip=_('Cache size en Mb kept at memory'),
|
||||
values=[
|
||||
{'id': '4', 'text': '4 Mb'},
|
||||
@ -97,7 +97,7 @@ class NXTransport(Transport):
|
||||
{'id': '32', 'text': '32 Mb'},
|
||||
{'id': '64', 'text': '64 Mb'},
|
||||
{'id': '128', 'text': '128 Mb'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
|
||||
def __init__(self, environment, values=None):
|
||||
super(NXTransport, self).__init__(environment, values)
|
||||
|
@ -66,12 +66,12 @@ class TSNXTransport(Transport):
|
||||
needsJava = True # If this transport needs java for rendering
|
||||
protocol = protocols.NX
|
||||
|
||||
tunnelServer = gui.TextField(label=_('Tunnel server'), order=1, tooltip=_('IP or Hostname of tunnel server sent to client device ("public" ip) and port. (use HOST:PORT format)'))
|
||||
tunnelCheckServer = gui.TextField(label=_('Tunnel host check'), order=2, tooltip=_('If not empty, this server will be used to check if service is running before assigning it to user. (use HOST:PORT format)'))
|
||||
tunnelServer = gui.TextField(label=_('Tunnel server'), order=1, tooltip=_('IP or Hostname of tunnel server sent to client device ("public" ip) and port. (use HOST:PORT format)'), tab=gui.TUNNEL_TAB)
|
||||
tunnelCheckServer = gui.TextField(label=_('Tunnel host check'), order=2, tooltip=_('If not empty, this server will be used to check if service is running before assigning it to user. (use HOST:PORT format)'), tab=gui.TUNNEL_TAB)
|
||||
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=3, tooltip=_('If checked, the credentials used to connect will be emtpy'))
|
||||
fixedName = gui.TextField(label=_('Username'), order=4, tooltip=_('If not empty, this username will be always used as credential'))
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=5, tooltip=_('If not empty, this password will be always used as credential'))
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=3, tooltip=_('If checked, the credentials used to connect will be emtpy'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedName = gui.TextField(label=_('Username'), order=4, tooltip=_('If not empty, this username will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=5, tooltip=_('If not empty, this password will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
listenPort = gui.NumericField(label=_('Listening port'), length=5, order=6, tooltip=_('Listening port of NX (ssh) at client machine'), defvalue='22')
|
||||
connection = gui.ChoiceField(label=_('Connection'), order=7, tooltip=_('Connection speed for this transport (quality)'),
|
||||
values=[
|
||||
@ -80,13 +80,13 @@ class TSNXTransport(Transport):
|
||||
{'id': 'adsl', 'text': 'adsl'},
|
||||
{'id': 'wan', 'text': 'wan'},
|
||||
{'id': 'lan', 'text': 'lan'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
session = gui.ChoiceField(label=_('Session'), order=8, tooltip=_('Desktop session'),
|
||||
values=[
|
||||
{'id': 'gnome', 'text': 'gnome'},
|
||||
{'id': 'kde', 'text': 'kde'},
|
||||
{'id': 'cde', 'text': 'cde'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
cacheDisk = gui.ChoiceField(label=_('Disk Cache'), order=9, tooltip=_('Cache size en Mb stored at disk'),
|
||||
values=[
|
||||
{'id': '0', 'text': '0 Mb'},
|
||||
@ -95,7 +95,7 @@ class TSNXTransport(Transport):
|
||||
{'id': '128', 'text': '128 Mb'},
|
||||
{'id': '256', 'text': '256 Mb'},
|
||||
{'id': '512', 'text': '512 Mb'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
cacheMem = gui.ChoiceField(label=_('Memory Cache'), order=10, tooltip=_('Cache size en Mb kept at memory'),
|
||||
values=[
|
||||
{'id': '4', 'text': '4 Mb'},
|
||||
@ -104,7 +104,7 @@ class TSNXTransport(Transport):
|
||||
{'id': '32', 'text': '32 Mb'},
|
||||
{'id': '64', 'text': '64 Mb'},
|
||||
{'id': '128', 'text': '128 Mb'},
|
||||
])
|
||||
], tab=gui.PARAMETERS_TAB)
|
||||
|
||||
def __init__(self, environment, values=None):
|
||||
super(TSNXTransport, self).__init__(environment, values)
|
||||
|
@ -42,7 +42,7 @@ from uds.core.util import connection
|
||||
import logging
|
||||
import os
|
||||
|
||||
__updated__ = '2016-04-07'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -58,18 +58,18 @@ class BaseRDPTransport(Transport):
|
||||
iconFile = 'rdp.png'
|
||||
protocol = protocols.RDP
|
||||
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=11, tooltip=_('If checked, the credentials used to connect will be emtpy'))
|
||||
fixedName = gui.TextField(label=_('Username'), order=12, tooltip=_('If not empty, this username will be always used as credential'))
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=13, tooltip=_('If not empty, this password will be always used as credential'))
|
||||
withoutDomain = gui.CheckBoxField(label=_('Without Domain'), order=14, tooltip=_('If checked, the domain part will always be emptied (to connecto to xrdp for example is needed)'))
|
||||
fixedDomain = gui.TextField(label=_('Domain'), order=15, tooltip=_('If not empty, this domain will be always used as credential (used as DOMAIN\\user)'))
|
||||
allowSmartcards = gui.CheckBoxField(label=_('Allow Smartcards'), order=16, tooltip=_('If checked, this transport will allow the use of smartcards'))
|
||||
allowPrinters = gui.CheckBoxField(label=_('Allow Printers'), order=17, tooltip=_('If checked, this transport will allow the use of user printers'))
|
||||
allowDrives = gui.CheckBoxField(label=_('Allow Drives'), order=18, tooltip=_('If checked, this transport will allow the use of user drives'))
|
||||
allowSerials = gui.CheckBoxField(label=_('Allow Serials'), order=19, tooltip=_('If checked, this transport will allow the use of user serial ports'))
|
||||
wallpaper = gui.CheckBoxField(label=_('Show wallpaper'), order=20, tooltip=_('If checked, the wallpaper and themes will be shown on machine (better user experience, more bandwidth)'))
|
||||
multimon = gui.CheckBoxField(label=_('Multiple monitors'), order=21, tooltip=_('If checked, all client monitors will be used for displaying (only works on windows clients)'))
|
||||
aero = gui.CheckBoxField(label=_('Allow Aero'), order=22, tooltip=_('If checked, desktop composition will be allowed'))
|
||||
useEmptyCreds = gui.CheckBoxField(label=_('Empty creds'), order=11, tooltip=_('If checked, the credentials used to connect will be emtpy'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedName = gui.TextField(label=_('Username'), order=12, tooltip=_('If not empty, this username will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedPassword = gui.PasswordField(label=_('Password'), order=13, tooltip=_('If not empty, this password will be always used as credential'), tab=gui.CREDENTIALS_TAB)
|
||||
withoutDomain = gui.CheckBoxField(label=_('Without Domain'), order=14, tooltip=_('If checked, the domain part will always be emptied (to connect to xrdp for example is needed)'), tab=gui.CREDENTIALS_TAB)
|
||||
fixedDomain = gui.TextField(label=_('Domain'), order=15, tooltip=_('If not empty, this domain will be always used as credential (used as DOMAIN\\user)'), tab=gui.CREDENTIALS_TAB)
|
||||
allowSmartcards = gui.CheckBoxField(label=_('Allow Smartcards'), order=16, tooltip=_('If checked, this transport will allow the use of smartcards'), tab=gui.PARAMETERS_TAB)
|
||||
allowPrinters = gui.CheckBoxField(label=_('Allow Printers'), order=17, tooltip=_('If checked, this transport will allow the use of user printers'), tab=gui.PARAMETERS_TAB)
|
||||
allowDrives = gui.CheckBoxField(label=_('Allow Drives'), order=18, tooltip=_('If checked, this transport will allow the use of user drives'), tab=gui.PARAMETERS_TAB)
|
||||
allowSerials = gui.CheckBoxField(label=_('Allow Serials'), order=19, tooltip=_('If checked, this transport will allow the use of user serial ports'), tab=gui.PARAMETERS_TAB)
|
||||
wallpaper = gui.CheckBoxField(label=_('Show wallpaper'), order=20, tooltip=_('If checked, the wallpaper and themes will be shown on machine (better user experience, more bandwidth)'), tab=gui.PARAMETERS_TAB)
|
||||
multimon = gui.CheckBoxField(label=_('Multiple monitors'), order=21, tooltip=_('If checked, all client monitors will be used for displaying (only works on windows clients)'), tab=gui.PARAMETERS_TAB)
|
||||
aero = gui.CheckBoxField(label=_('Allow Aero'), order=22, tooltip=_('If checked, desktop composition will be allowed'), tab=gui.PARAMETERS_TAB)
|
||||
|
||||
def isAvailableFor(self, userService, ip):
|
||||
'''
|
||||
|
@ -47,7 +47,7 @@ import logging
|
||||
import random
|
||||
import string
|
||||
|
||||
__updated__ = '2015-05-18'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -66,8 +66,8 @@ class TRDPTransport(BaseRDPTransport):
|
||||
needsJava = True # If this transport needs java for rendering
|
||||
protocol = protocols.RDP
|
||||
|
||||
tunnelServer = gui.TextField(label=_('Tunnel server'), order=1, tooltip=_('IP or Hostname of tunnel server sent to client device ("public" ip) and port. (use HOST:PORT format)'))
|
||||
tunnelCheckServer = gui.TextField(label=_('Tunnel host check'), order=2, tooltip=_('If not empty, this server will be used to check if service is running before assigning it to user. (use HOST:PORT format)'))
|
||||
tunnelServer = gui.TextField(label=_('Tunnel server'), order=1, tooltip=_('IP or Hostname of tunnel server sent to client device ("public" ip) and port. (use HOST:PORT format)'), tab=gui.TUNNEL_TAB)
|
||||
tunnelCheckServer = gui.TextField(label=_('Tunnel host check'), order=2, tooltip=_('If not empty, this server will be used to check if service is running before assigning it to user. (use HOST:PORT format)'), tab=gui.TUNNEL_TAB)
|
||||
|
||||
useEmptyCreds = BaseRDPTransport.useEmptyCreds
|
||||
fixedName = BaseRDPTransport.fixedName
|
||||
|
@ -44,7 +44,7 @@ from uds.services.OVirt.OVirtProvider import Provider as oVirtProvider
|
||||
import logging
|
||||
import os
|
||||
|
||||
__updated__ = '2015-05-13'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -64,17 +64,20 @@ class BaseSpiceTransport(Transport):
|
||||
useEmptyCreds = gui.CheckBoxField(
|
||||
order=1,
|
||||
label=_('Empty creds'),
|
||||
tooltip=_('If checked, the credentials used to connect will be emtpy')
|
||||
tooltip=_('If checked, the credentials used to connect will be emtpy'),
|
||||
tab=gui.CREDENTIALS_TAB
|
||||
)
|
||||
fixedName = gui.TextField(
|
||||
order=2,
|
||||
label=_('Username'),
|
||||
tooltip=_('If not empty, this username will be always used as credential')
|
||||
tooltip=_('If not empty, this username will be always used as credential'),
|
||||
tab=gui.CREDENTIALS_TAB
|
||||
)
|
||||
fixedPassword = gui.PasswordField(
|
||||
order=3,
|
||||
label=_('Password'),
|
||||
tooltip=_('If not empty, this password will be always used as credential')
|
||||
tooltip=_('If not empty, this password will be always used as credential'),
|
||||
tab=gui.CREDENTIALS_TAB
|
||||
)
|
||||
serverCertificate = gui.TextField(
|
||||
order=4,
|
||||
|
@ -39,7 +39,7 @@ from .RemoteViewerFile import RemoteViewerFile
|
||||
|
||||
import logging
|
||||
|
||||
__updated__ = '2015-05-11'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -53,9 +53,9 @@ class SPICETransport(BaseSpiceTransport):
|
||||
typeType = 'SPICETransport'
|
||||
typeDescription = _('SPICE Transport for direct connection (EXPERIMENTAL)')
|
||||
|
||||
useEmptyCreds = BaseSpiceTransport.useEmptyCreds
|
||||
fixedName = BaseSpiceTransport.fixedName
|
||||
fixedPassword = BaseSpiceTransport.fixedPassword
|
||||
# useEmptyCreds = BaseSpiceTransport.useEmptyCreds
|
||||
# fixedName = BaseSpiceTransport.fixedName
|
||||
# fixedPassword = BaseSpiceTransport.fixedPassword
|
||||
serverCertificate = BaseSpiceTransport.serverCertificate
|
||||
|
||||
def getUDSTransportScript(self, userService, transport, ip, os, user, password, request):
|
||||
|
@ -46,7 +46,7 @@ import logging
|
||||
import random
|
||||
import string
|
||||
|
||||
__updated__ = '2015-05-13'
|
||||
__updated__ = '2016-04-18'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -62,7 +62,7 @@ class TSPICETransport(BaseSpiceTransport):
|
||||
needsJava = True # If this transport needs java for rendering
|
||||
protocol = protocols.SPICE
|
||||
|
||||
tunnelServer = gui.TextField(label=_('Tunnel server'), order=1, tooltip=_('IP or Hostname of tunnel server sent to client device ("public" ip) and port. (use HOST:PORT format)'))
|
||||
tunnelServer = gui.TextField(label=_('Tunnel server'), order=1, tooltip=_('IP or Hostname of tunnel server sent to client device ("public" ip) and port. (use HOST:PORT format)'), tab=gui.TUNNEL_TAB)
|
||||
|
||||
serverCertificate = BaseSpiceTransport.serverCertificate
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user