mirror of
https://github.com/dkmstr/openuds.git
synced 2024-12-22 13:34:04 +03:00
Advancing with very basic aspects of administration/REST api
This commit is contained in:
parent
6e0511add3
commit
d68822eaf7
@ -11,7 +11,9 @@ encoding//src/server/urls.py=utf-8
|
||||
encoding//src/uds/REST/__init__.py=utf-8
|
||||
encoding//src/uds/REST/handlers.py=utf-8
|
||||
encoding//src/uds/REST/methods/authentication.py=utf-8
|
||||
encoding//src/uds/REST/methods/authenticators.py=utf-8
|
||||
encoding//src/uds/REST/methods/providers.py=utf-8
|
||||
encoding//src/uds/REST/mixins.py=utf-8
|
||||
encoding//src/uds/REST/processors.py=utf-8
|
||||
encoding//src/uds/__init__.py=utf-8
|
||||
encoding//src/uds/admin/urls.py=utf-8
|
||||
|
77
server/src/uds/REST/methods/authenticators.py
Normal file
77
server/src/uds/REST/methods/authenticators.py
Normal file
@ -0,0 +1,77 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
# Copyright (c) 2014 Virtual Cable S.L.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of Virtual Cable S.L. nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
'''
|
||||
@author: Adolfo Gómez, dkmaster at dkmon dot com
|
||||
'''
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from uds.models import Authenticator
|
||||
from uds.core import auths
|
||||
|
||||
from uds.REST import Handler, HandlerError
|
||||
from uds.REST.mixins import ModelHandlerMixin, ModelTypeHandlerMixin, ModelTableHandlerMixin
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Enclosed methods under /auth path
|
||||
|
||||
class Authenticators(ModelHandlerMixin, Handler):
|
||||
model = Authenticator
|
||||
|
||||
def item_as_dict(self, auth):
|
||||
type_ = auth.getType()
|
||||
return { 'id': auth.id,
|
||||
'name': auth.name,
|
||||
'users_count': auth.users.count(),
|
||||
'type': type_.type(),
|
||||
'comments': auth.comments,
|
||||
'type_name': type_.name(),
|
||||
}
|
||||
|
||||
|
||||
|
||||
class Types(ModelTypeHandlerMixin, Handler):
|
||||
path = 'authenticators'
|
||||
model = Authenticator
|
||||
|
||||
def enum_types(self):
|
||||
return auths.factory().providers().values()
|
||||
|
||||
class TableInfo(ModelTableHandlerMixin, Handler):
|
||||
path = 'authenticators'
|
||||
title = _('Current authenticators')
|
||||
fields = [
|
||||
{ 'name': {'title': _('Name'), 'visible': True } },
|
||||
{ 'comments': {'title': _('Comments')}},
|
||||
{ 'users_count': {'title': _('Users'), 'type': 'numeric', 'width': '5em'}}
|
||||
]
|
@ -32,48 +32,44 @@
|
||||
'''
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.utils.translation import ugettext, ugettext_lazy as _
|
||||
from uds.models import Provider
|
||||
from uds.core import services
|
||||
|
||||
from uds.REST import Handler, HandlerError
|
||||
from uds.REST.mixins import ModelHandlerMixin, ModelTypeHandlerMixin, ModelTableHandlerMixin
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Enclosed methods under /auth path
|
||||
|
||||
class Providers(Handler):
|
||||
authenticated = True # Public method
|
||||
class Providers(ModelHandlerMixin, Handler):
|
||||
model = Provider
|
||||
|
||||
def provider_item(self, provider):
|
||||
def item_as_dict(self, provider):
|
||||
type_ = provider.getType()
|
||||
return { 'id': provider.id,
|
||||
'name': provider.name,
|
||||
'services_count': provider.services.count(),
|
||||
'type': type_.type(),
|
||||
'comments': provider.comments,
|
||||
'type_name': type_.name(),
|
||||
}
|
||||
|
||||
def getProviders(self, *args, **kwargs):
|
||||
for provider in Provider.objects.filter(*args, **kwargs):
|
||||
yield self.provider_item(provider)
|
||||
|
||||
def get(self):
|
||||
logger.error('getting providers')
|
||||
return list(self.getProviders())
|
||||
|
||||
class Types(Handler):
|
||||
class Types(ModelTypeHandlerMixin, Handler):
|
||||
path = 'providers'
|
||||
model = Provider
|
||||
|
||||
def enum_types(self):
|
||||
return services.factory().providers().values()
|
||||
|
||||
class TableInfo(ModelTableHandlerMixin, Handler):
|
||||
path = 'providers'
|
||||
title = _('Current service providers')
|
||||
fields = [
|
||||
{ 'name': {'title': _('Name')} },
|
||||
{ 'comments': {'title': _('Comments')}},
|
||||
{ 'services_count': {'title': _('Services'), 'type': 'numeric', 'width': '5em'}}
|
||||
]
|
||||
|
||||
def get(self):
|
||||
res = []
|
||||
for type_ in services.factory().providers().values():
|
||||
val = { 'name' : _(type_.name()),
|
||||
'type' : type_.type(),
|
||||
'description' : _(type_.description()),
|
||||
'icon' : type_.icon().replace('\n', '') }
|
||||
res.append(val)
|
||||
return res
|
||||
|
||||
|
123
server/src/uds/REST/mixins.py
Normal file
123
server/src/uds/REST/mixins.py
Normal file
@ -0,0 +1,123 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
# Copyright (c) 2014 Virtual Cable S.L.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification,
|
||||
# are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of Virtual Cable S.L. nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
'''
|
||||
@author: Adolfo Gómez, dkmaster at dkmon dot com
|
||||
'''
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class ModelHandlerMixin(object):
|
||||
'''
|
||||
Basic Handler for a model
|
||||
Basically we will need same operations for all models, so we can
|
||||
take advantage of this fact to not repeat same code again and again...
|
||||
'''
|
||||
authenticated = True
|
||||
needs_staff = True
|
||||
|
||||
model = None
|
||||
|
||||
def item_as_dict(self, item):
|
||||
pass
|
||||
|
||||
def getItems(self, *args, **kwargs):
|
||||
for item in self.model.objects.filter(*args, **kwargs):
|
||||
yield self.item_as_dict(item)
|
||||
|
||||
def get(self):
|
||||
logger.debug('methot GET for {0}'.format(self.__class__.__name__))
|
||||
if len(self._args) == 0:
|
||||
return list(self.getItems())
|
||||
try:
|
||||
return list(self.getItems(pk=self._args[0]))[0]
|
||||
except:
|
||||
return {'error': 'not found' }
|
||||
|
||||
class ModelTypeHandlerMixin(object):
|
||||
'''
|
||||
As With models, a lot of UDS model contains info about its class.
|
||||
We take advantage of this for not repeating same code (as with ModelHandlerMixin)
|
||||
'''
|
||||
authenticated = True
|
||||
needs_staff = True
|
||||
model = None
|
||||
|
||||
def enum_types(self):
|
||||
pass
|
||||
|
||||
def type_as_dict(self, type_):
|
||||
return { 'name' : _(type_.name()),
|
||||
'type' : type_.type(),
|
||||
'description' : _(type_.description()),
|
||||
'icon' : type_.icon().replace('\n', '')
|
||||
}
|
||||
|
||||
def getTypes(self, *args, **kwargs):
|
||||
for type_ in self.enum_types():
|
||||
yield self.type_as_dict(type_)
|
||||
|
||||
def get(self):
|
||||
return list(self.getTypes())
|
||||
|
||||
class ModelTableHandlerMixin(object):
|
||||
authenticated = True
|
||||
needs_staff = True
|
||||
|
||||
# Fields should have id of the field, type and length
|
||||
# All options can be ommited
|
||||
# Sample fields:
|
||||
# fields = [
|
||||
# { 'name': {'title': _('Name')} },
|
||||
# { 'comments': {'title': _('Comments')}},
|
||||
# { 'services_count': {'title': _('Services'), 'type': 'numeric', 'width': '5em'}}
|
||||
#]
|
||||
|
||||
fields = []
|
||||
title = ''
|
||||
|
||||
def get(self):
|
||||
# Convert to unicode fields (ugettext_lazy needs to be rendered before passing it to Json
|
||||
fields = [ { 'id' : {'visible': False } } ] # Always add id column as invisible
|
||||
for f in self.fields:
|
||||
for k1, v1 in f.iteritems():
|
||||
dct = {}
|
||||
for k2, v2 in v1.iteritems():
|
||||
if type(v2) in (bool, int, long, float, unicode):
|
||||
dct[k2] = v2
|
||||
else:
|
||||
dct[k2] = unicode(v2)
|
||||
fields.append({k1: dct})
|
||||
return { 'title': unicode(self.title), 'fields': fields };
|
||||
|
Binary file not shown.
@ -32,7 +32,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -42,6 +42,31 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: REST/methods/authenticators.py:72
|
||||
msgid "Current authenticators"
|
||||
msgstr "Aktuelle Authentifikatoren"
|
||||
|
||||
#: REST/methods/authenticators.py:74 REST/methods/providers.py:71
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: REST/methods/authenticators.py:75 REST/methods/providers.py:72
|
||||
msgid "Comments"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: REST/methods/authenticators.py:76
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: REST/methods/providers.py:69
|
||||
msgid "Current service providers"
|
||||
msgstr "Aktuelle Service-Provider"
|
||||
|
||||
#: REST/methods/providers.py:73 templates/uds/index.html:51
|
||||
#: templates/uds/html5/index.html:68
|
||||
msgid "Services"
|
||||
msgstr "Dienstleistungen"
|
||||
|
||||
#: admin/views.py:53 admin/views.py:61 web/views.py:422
|
||||
msgid "Forbidden"
|
||||
msgstr "Verboten"
|
||||
@ -1041,42 +1066,38 @@ msgstr ""
|
||||
"Diese Seite enthält eine Liste der Downloads von verschiedenen Modulen "
|
||||
"bereitgestellt"
|
||||
|
||||
#: templates/uds/index.html:51 templates/uds/html5/index.html:63
|
||||
msgid "Services"
|
||||
msgstr "Dienstleistungen"
|
||||
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:101
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:106
|
||||
msgid "Java not found"
|
||||
msgstr "Java nicht gefunden"
|
||||
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:104
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:109
|
||||
msgid ""
|
||||
"Java is not available on your browser, and the selected transport needs it."
|
||||
msgstr ""
|
||||
"Java ist nicht verfügbar in Ihrem Browser, und der ausgewählte Transport "
|
||||
"muss es."
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Please, install latest version from"
|
||||
msgstr "Bitte installieren Sie neueste Version von"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Java website"
|
||||
msgstr "Java-website"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "and restart browser"
|
||||
msgstr "und Browser neu starten"
|
||||
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:121
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:126
|
||||
msgid "Ip"
|
||||
msgstr "IP"
|
||||
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:122
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:127
|
||||
msgid "Networks"
|
||||
msgstr "Netzwerke"
|
||||
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:123
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:128
|
||||
msgid "Transports"
|
||||
msgstr "Transporte"
|
||||
|
||||
@ -1140,10 +1161,6 @@ msgstr "Service-Provider"
|
||||
msgid "Authenticators"
|
||||
msgstr "Authentifikatoren"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:19
|
||||
msgid "Os Managers"
|
||||
msgstr "OS-Manager"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:20
|
||||
msgid "Connectivity"
|
||||
msgstr "Konnektivität"
|
||||
@ -1183,14 +1200,22 @@ msgstr "Zurück zur Liste"
|
||||
msgid "Available services list"
|
||||
msgstr "Liste der verfügbaren Dienste"
|
||||
|
||||
#: templates/uds/html5/index.html:78
|
||||
#: templates/uds/html5/index.html:83
|
||||
msgid "transports"
|
||||
msgstr "Transporte"
|
||||
|
||||
#: templates/uds/html5/index.html:118
|
||||
#: templates/uds/html5/index.html:123
|
||||
msgid "Administrator info panel"
|
||||
msgstr "Administrator-Info-Tafel"
|
||||
|
||||
#: templates/uds/html5/index.html:129
|
||||
msgid "User Agent"
|
||||
msgstr "User-Agent"
|
||||
|
||||
#: templates/uds/html5/index.html:130
|
||||
msgid "OS"
|
||||
msgstr "OS"
|
||||
|
||||
#: templates/uds/html5/login.html:4 templates/uds/html5/login.html.py:69
|
||||
msgid "Welcome to UDS"
|
||||
msgstr "Willkommen bei der UDS"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -26,58 +26,62 @@ msgstr "Erfolg auf\""
|
||||
msgid "Received "
|
||||
msgstr "Empfangen "
|
||||
|
||||
#: static/adm/js/gui.js:43
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: static/adm/js/gui.js:44
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: static/adm/js/gui.js:45
|
||||
msgid "Number of Services"
|
||||
msgstr "Anzahl der Dienste"
|
||||
|
||||
#: static/adm/js/gui.js:48
|
||||
#: static/adm/js/gui.js:17
|
||||
msgid "Display _MENU_ records per page"
|
||||
msgstr "_MENU_-Einträge pro Seite anzeigen"
|
||||
|
||||
#: static/adm/js/gui.js:49
|
||||
#: static/adm/js/gui.js:18
|
||||
msgid "Nothing found - sorry"
|
||||
msgstr "Nichts gefunden - sorry"
|
||||
|
||||
#: static/adm/js/gui.js:50
|
||||
msgid "Showing _START_ to _END_ of _TOTAL_ records"
|
||||
msgstr "Anzeigen auf _END_ von _TOTAL_ Datensätzen _START_"
|
||||
#: static/adm/js/gui.js:19
|
||||
msgid "Showing record _START_ to _END_ of _TOTAL_"
|
||||
msgstr "Ergebnis Rekord _START_ zu _END_ von _TOTAL_"
|
||||
|
||||
#: static/adm/js/gui.js:51
|
||||
#: static/adm/js/gui.js:20
|
||||
msgid "Showing 0 to 0 of 0 records"
|
||||
msgstr "Anzeigen 0 bis 0 von 0 Einträge"
|
||||
|
||||
#: static/adm/js/gui.js:52
|
||||
#: static/adm/js/gui.js:21
|
||||
msgid "(filtered from _MAX_ total records)"
|
||||
msgstr "(von _MAX_ Datensätze gefiltert)"
|
||||
|
||||
#: static/adm/js/gui.js:53
|
||||
#: static/adm/js/gui.js:22
|
||||
msgid "Please wait, processing"
|
||||
msgstr "Bitte warten, Verarbeitung"
|
||||
|
||||
#: static/adm/js/gui.js:54
|
||||
#: static/adm/js/gui.js:23
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: static/adm/js/gui.js:56
|
||||
#: static/adm/js/gui.js:26
|
||||
msgid "First"
|
||||
msgstr "Erste"
|
||||
|
||||
#: static/adm/js/gui.js:57
|
||||
#: static/adm/js/gui.js:27
|
||||
msgid "Last"
|
||||
msgstr "Letzter"
|
||||
|
||||
#: static/adm/js/gui.js:58
|
||||
#: static/adm/js/gui.js:28
|
||||
msgid "Next"
|
||||
msgstr "Nächste"
|
||||
|
||||
#: static/adm/js/gui.js:59
|
||||
#: static/adm/js/gui.js:29
|
||||
msgid "Previous"
|
||||
msgstr "Vorherige"
|
||||
|
||||
#: static/adm/js/gui.js:83
|
||||
msgid "Connectivity"
|
||||
msgstr "Konnektivität"
|
||||
|
||||
#: static/adm/js/gui.js:88
|
||||
msgid "Deployed services"
|
||||
msgstr "Bereitgestellten Dienste"
|
||||
|
||||
#: static/adm/js/gui.js:181
|
||||
msgid "Service Providers"
|
||||
msgstr "Service-Provider"
|
||||
|
||||
#: static/adm/js/gui.js:191
|
||||
msgid "Authenticators"
|
||||
msgstr "Authentifikatoren"
|
||||
|
Binary file not shown.
@ -31,7 +31,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: 2013-04-22 06:24+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish <kde-i18n-doc@kde.org>\n"
|
||||
@ -42,6 +42,31 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Lokalize 1.4\n"
|
||||
|
||||
#: REST/methods/authenticators.py:72
|
||||
msgid "Current authenticators"
|
||||
msgstr "Autenticadores actuales"
|
||||
|
||||
#: REST/methods/authenticators.py:74 REST/methods/providers.py:71
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: REST/methods/authenticators.py:75 REST/methods/providers.py:72
|
||||
msgid "Comments"
|
||||
msgstr "Comentarios"
|
||||
|
||||
#: REST/methods/authenticators.py:76
|
||||
msgid "Users"
|
||||
msgstr "Usuarios"
|
||||
|
||||
#: REST/methods/providers.py:69
|
||||
msgid "Current service providers"
|
||||
msgstr "Proveedores de servicio actuales"
|
||||
|
||||
#: REST/methods/providers.py:73 templates/uds/index.html:51
|
||||
#: templates/uds/html5/index.html:68
|
||||
msgid "Services"
|
||||
msgstr "Servicios"
|
||||
|
||||
#: admin/views.py:53 admin/views.py:61 web/views.py:422
|
||||
msgid "Forbidden"
|
||||
msgstr "Prohibido"
|
||||
@ -1027,42 +1052,38 @@ msgstr ""
|
||||
"Esta página contiene una lista de descargas proporcionadas por diferentes "
|
||||
"módulos"
|
||||
|
||||
#: templates/uds/index.html:51 templates/uds/html5/index.html:63
|
||||
msgid "Services"
|
||||
msgstr "Servicios"
|
||||
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:101
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:106
|
||||
msgid "Java not found"
|
||||
msgstr "Java no encontrado"
|
||||
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:104
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:109
|
||||
msgid ""
|
||||
"Java is not available on your browser, and the selected transport needs it."
|
||||
msgstr ""
|
||||
"Java no está disponible en el navegador, y el transporte seleccionado "
|
||||
"precisa de el."
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Please, install latest version from"
|
||||
msgstr "Instale la versión mas reciente desde el"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Java website"
|
||||
msgstr "Sitio Web de Java"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "and restart browser"
|
||||
msgstr "y reinicie el navegador"
|
||||
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:121
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:126
|
||||
msgid "Ip"
|
||||
msgstr "IP"
|
||||
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:122
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:127
|
||||
msgid "Networks"
|
||||
msgstr "Redes"
|
||||
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:123
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:128
|
||||
msgid "Transports"
|
||||
msgstr "Transportes"
|
||||
|
||||
@ -1126,10 +1147,6 @@ msgstr "Proveedores de servicios"
|
||||
msgid "Authenticators"
|
||||
msgstr "Autenticadores"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:19
|
||||
msgid "Os Managers"
|
||||
msgstr "Administradores de sistema operativo"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:20
|
||||
msgid "Connectivity"
|
||||
msgstr "Conectividad"
|
||||
@ -1169,14 +1186,22 @@ msgstr "Volver a la lista de servicios"
|
||||
msgid "Available services list"
|
||||
msgstr "Lista de servicios disponibles"
|
||||
|
||||
#: templates/uds/html5/index.html:78
|
||||
#: templates/uds/html5/index.html:83
|
||||
msgid "transports"
|
||||
msgstr "transportes"
|
||||
|
||||
#: templates/uds/html5/index.html:118
|
||||
#: templates/uds/html5/index.html:123
|
||||
msgid "Administrator info panel"
|
||||
msgstr "Panel de información del administrador"
|
||||
|
||||
#: templates/uds/html5/index.html:129
|
||||
msgid "User Agent"
|
||||
msgstr "Agente de usuario"
|
||||
|
||||
#: templates/uds/html5/index.html:130
|
||||
msgid "OS"
|
||||
msgstr "OS"
|
||||
|
||||
#: templates/uds/html5/login.html:4 templates/uds/html5/login.html.py:69
|
||||
msgid "Welcome to UDS"
|
||||
msgstr "¡ Bienvenido a UDS"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -26,58 +26,62 @@ msgstr "Éxito de\""
|
||||
msgid "Received "
|
||||
msgstr "Recibido "
|
||||
|
||||
#: static/adm/js/gui.js:43
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: static/adm/js/gui.js:44
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: static/adm/js/gui.js:45
|
||||
msgid "Number of Services"
|
||||
msgstr "Número de servicios"
|
||||
|
||||
#: static/adm/js/gui.js:48
|
||||
#: static/adm/js/gui.js:17
|
||||
msgid "Display _MENU_ records per page"
|
||||
msgstr "Pantalla _MENU_ registros por página"
|
||||
|
||||
#: static/adm/js/gui.js:49
|
||||
#: static/adm/js/gui.js:18
|
||||
msgid "Nothing found - sorry"
|
||||
msgstr "No encontrado - lo siento"
|
||||
|
||||
#: static/adm/js/gui.js:50
|
||||
msgid "Showing _START_ to _END_ of _TOTAL_ records"
|
||||
msgstr "Mostrando _START_ a _END_ de registros _TOTAL_"
|
||||
#: static/adm/js/gui.js:19
|
||||
msgid "Showing record _START_ to _END_ of _TOTAL_"
|
||||
msgstr "Mostrando registro _START_ a _END_ de _TOTAL_"
|
||||
|
||||
#: static/adm/js/gui.js:51
|
||||
#: static/adm/js/gui.js:20
|
||||
msgid "Showing 0 to 0 of 0 records"
|
||||
msgstr "Mostrando 0 a 0 de 0 registros"
|
||||
|
||||
#: static/adm/js/gui.js:52
|
||||
#: static/adm/js/gui.js:21
|
||||
msgid "(filtered from _MAX_ total records)"
|
||||
msgstr "(filtrado de registros total _MAX_)"
|
||||
|
||||
#: static/adm/js/gui.js:53
|
||||
#: static/adm/js/gui.js:22
|
||||
msgid "Please wait, processing"
|
||||
msgstr "Por favor espere, procesando"
|
||||
|
||||
#: static/adm/js/gui.js:54
|
||||
#: static/adm/js/gui.js:23
|
||||
msgid "Search"
|
||||
msgstr "Búsqueda de"
|
||||
|
||||
#: static/adm/js/gui.js:56
|
||||
#: static/adm/js/gui.js:26
|
||||
msgid "First"
|
||||
msgstr "Primero"
|
||||
|
||||
#: static/adm/js/gui.js:57
|
||||
#: static/adm/js/gui.js:27
|
||||
msgid "Last"
|
||||
msgstr "Duran"
|
||||
|
||||
#: static/adm/js/gui.js:58
|
||||
#: static/adm/js/gui.js:28
|
||||
msgid "Next"
|
||||
msgstr "Próxima"
|
||||
|
||||
#: static/adm/js/gui.js:59
|
||||
#: static/adm/js/gui.js:29
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: static/adm/js/gui.js:83
|
||||
msgid "Connectivity"
|
||||
msgstr "Conectividad"
|
||||
|
||||
#: static/adm/js/gui.js:88
|
||||
msgid "Deployed services"
|
||||
msgstr "Servicios desplegados"
|
||||
|
||||
#: static/adm/js/gui.js:181
|
||||
msgid "Service Providers"
|
||||
msgstr "Proveedores de servicios"
|
||||
|
||||
#: static/adm/js/gui.js:191
|
||||
msgid "Authenticators"
|
||||
msgstr "Autenticadores"
|
||||
|
Binary file not shown.
@ -32,7 +32,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -42,6 +42,31 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
|
||||
|
||||
#: REST/methods/authenticators.py:72
|
||||
msgid "Current authenticators"
|
||||
msgstr "Authentificateurs actuels"
|
||||
|
||||
#: REST/methods/authenticators.py:74 REST/methods/providers.py:71
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: REST/methods/authenticators.py:75 REST/methods/providers.py:72
|
||||
msgid "Comments"
|
||||
msgstr "Commentaires"
|
||||
|
||||
#: REST/methods/authenticators.py:76
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
|
||||
#: REST/methods/providers.py:69
|
||||
msgid "Current service providers"
|
||||
msgstr "Fournisseurs de services actuels"
|
||||
|
||||
#: REST/methods/providers.py:73 templates/uds/index.html:51
|
||||
#: templates/uds/html5/index.html:68
|
||||
msgid "Services"
|
||||
msgstr "Services"
|
||||
|
||||
#: admin/views.py:53 admin/views.py:61 web/views.py:422
|
||||
msgid "Forbidden"
|
||||
msgstr "Interdit"
|
||||
@ -1039,42 +1064,38 @@ msgstr ""
|
||||
"Cette page contient une liste de téléchargeables fournis par différents "
|
||||
"modules"
|
||||
|
||||
#: templates/uds/index.html:51 templates/uds/html5/index.html:63
|
||||
msgid "Services"
|
||||
msgstr "Services"
|
||||
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:101
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:106
|
||||
msgid "Java not found"
|
||||
msgstr "Java non trouvé"
|
||||
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:104
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:109
|
||||
msgid ""
|
||||
"Java is not available on your browser, and the selected transport needs it."
|
||||
msgstr ""
|
||||
"Java n'est pas disponible sur votre navigateur, et le transport sélectionné "
|
||||
"en a besoin."
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Please, install latest version from"
|
||||
msgstr "Veuillez installer une version plus récente de"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Java website"
|
||||
msgstr "Site Web Java"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "and restart browser"
|
||||
msgstr "Redémarrez le navigateur"
|
||||
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:121
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:126
|
||||
msgid "Ip"
|
||||
msgstr "IP"
|
||||
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:122
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:127
|
||||
msgid "Networks"
|
||||
msgstr "Réseaux"
|
||||
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:123
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:128
|
||||
msgid "Transports"
|
||||
msgstr "Transports"
|
||||
|
||||
@ -1138,10 +1159,6 @@ msgstr "Fournisseurs de services"
|
||||
msgid "Authenticators"
|
||||
msgstr "Authentificateurs"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:19
|
||||
msgid "Os Managers"
|
||||
msgstr "Gestionnaires de système d'exploitation"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:20
|
||||
msgid "Connectivity"
|
||||
msgstr "Connectivité"
|
||||
@ -1181,14 +1198,22 @@ msgstr "Retour à la liste de services"
|
||||
msgid "Available services list"
|
||||
msgstr "Liste des services disponibles"
|
||||
|
||||
#: templates/uds/html5/index.html:78
|
||||
#: templates/uds/html5/index.html:83
|
||||
msgid "transports"
|
||||
msgstr "Transports"
|
||||
|
||||
#: templates/uds/html5/index.html:118
|
||||
#: templates/uds/html5/index.html:123
|
||||
msgid "Administrator info panel"
|
||||
msgstr "Panneau info administrateur"
|
||||
|
||||
#: templates/uds/html5/index.html:129
|
||||
msgid "User Agent"
|
||||
msgstr "User Agent"
|
||||
|
||||
#: templates/uds/html5/index.html:130
|
||||
msgid "OS"
|
||||
msgstr "SYSTÈME D'EXPLOITATION"
|
||||
|
||||
#: templates/uds/html5/login.html:4 templates/uds/html5/login.html.py:69
|
||||
msgid "Welcome to UDS"
|
||||
msgstr "Bienvenue à l'UDS"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -26,58 +26,62 @@ msgstr "Succès sur\""
|
||||
msgid "Received "
|
||||
msgstr "Reçu "
|
||||
|
||||
#: static/adm/js/gui.js:43
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: static/adm/js/gui.js:44
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#: static/adm/js/gui.js:45
|
||||
msgid "Number of Services"
|
||||
msgstr "Nombre de Services"
|
||||
|
||||
#: static/adm/js/gui.js:48
|
||||
#: static/adm/js/gui.js:17
|
||||
msgid "Display _MENU_ records per page"
|
||||
msgstr "Afficher _MENU_ enregistrements par page"
|
||||
|
||||
#: static/adm/js/gui.js:49
|
||||
#: static/adm/js/gui.js:18
|
||||
msgid "Nothing found - sorry"
|
||||
msgstr "Rien trouvé - Désolé"
|
||||
|
||||
#: static/adm/js/gui.js:50
|
||||
msgid "Showing _START_ to _END_ of _TOTAL_ records"
|
||||
msgstr "Liste des _START_ de _END_ de documents _TOTAL_"
|
||||
#: static/adm/js/gui.js:19
|
||||
msgid "Showing record _START_ to _END_ of _TOTAL_"
|
||||
msgstr "Affichage des enregistrement _START_ à _END_ de _TOTAL_"
|
||||
|
||||
#: static/adm/js/gui.js:51
|
||||
#: static/adm/js/gui.js:20
|
||||
msgid "Showing 0 to 0 of 0 records"
|
||||
msgstr "Affichage de 0 à 0 sur 0 documents"
|
||||
|
||||
#: static/adm/js/gui.js:52
|
||||
#: static/adm/js/gui.js:21
|
||||
msgid "(filtered from _MAX_ total records)"
|
||||
msgstr "(filtrée de total d'enregistrements _MAX_)"
|
||||
|
||||
#: static/adm/js/gui.js:53
|
||||
#: static/adm/js/gui.js:22
|
||||
msgid "Please wait, processing"
|
||||
msgstr "Veuillez patienter, traitement"
|
||||
|
||||
#: static/adm/js/gui.js:54
|
||||
#: static/adm/js/gui.js:23
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: static/adm/js/gui.js:56
|
||||
#: static/adm/js/gui.js:26
|
||||
msgid "First"
|
||||
msgstr "Première"
|
||||
|
||||
#: static/adm/js/gui.js:57
|
||||
#: static/adm/js/gui.js:27
|
||||
msgid "Last"
|
||||
msgstr "Dernière"
|
||||
|
||||
#: static/adm/js/gui.js:58
|
||||
#: static/adm/js/gui.js:28
|
||||
msgid "Next"
|
||||
msgstr "Prochaine"
|
||||
|
||||
#: static/adm/js/gui.js:59
|
||||
#: static/adm/js/gui.js:29
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: static/adm/js/gui.js:83
|
||||
msgid "Connectivity"
|
||||
msgstr "Connectivité"
|
||||
|
||||
#: static/adm/js/gui.js:88
|
||||
msgid "Deployed services"
|
||||
msgstr "Services déployés"
|
||||
|
||||
#: static/adm/js/gui.js:181
|
||||
msgid "Service Providers"
|
||||
msgstr "Fournisseurs de services"
|
||||
|
||||
#: static/adm/js/gui.js:191
|
||||
msgid "Authenticators"
|
||||
msgstr "Authentificateurs"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -18,6 +18,31 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: REST/methods/authenticators.py:72
|
||||
msgid "Current authenticators"
|
||||
msgstr "Autenticatori correnti"
|
||||
|
||||
#: REST/methods/authenticators.py:74 REST/methods/providers.py:71
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: REST/methods/authenticators.py:75 REST/methods/providers.py:72
|
||||
msgid "Comments"
|
||||
msgstr "Commenti"
|
||||
|
||||
#: REST/methods/authenticators.py:76
|
||||
msgid "Users"
|
||||
msgstr "Utenti"
|
||||
|
||||
#: REST/methods/providers.py:69
|
||||
msgid "Current service providers"
|
||||
msgstr "Attuali fornitori di servizi"
|
||||
|
||||
#: REST/methods/providers.py:73 templates/uds/index.html:51
|
||||
#: templates/uds/html5/index.html:68
|
||||
msgid "Services"
|
||||
msgstr "Servizi"
|
||||
|
||||
#: admin/views.py:53 admin/views.py:61 web/views.py:422
|
||||
msgid "Forbidden"
|
||||
msgstr "Vietato"
|
||||
@ -1007,42 +1032,38 @@ msgid ""
|
||||
msgstr ""
|
||||
"Questa pagina contiene un elenco di scaricabili forniti da diversi moduli"
|
||||
|
||||
#: templates/uds/index.html:51 templates/uds/html5/index.html:63
|
||||
msgid "Services"
|
||||
msgstr "Servizi"
|
||||
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:101
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:106
|
||||
msgid "Java not found"
|
||||
msgstr "Java non trovato"
|
||||
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:104
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:109
|
||||
msgid ""
|
||||
"Java is not available on your browser, and the selected transport needs it."
|
||||
msgstr ""
|
||||
"Java non è disponibile sul vostro browser, e il trasporto selezionato di cui "
|
||||
"ha bisogno."
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Please, install latest version from"
|
||||
msgstr "Per favore, installare la versione più recente da"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Java website"
|
||||
msgstr "Sito Web Java"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "and restart browser"
|
||||
msgstr "e riavviare il browser"
|
||||
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:121
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:126
|
||||
msgid "Ip"
|
||||
msgstr "IP"
|
||||
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:122
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:127
|
||||
msgid "Networks"
|
||||
msgstr "Reti"
|
||||
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:123
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:128
|
||||
msgid "Transports"
|
||||
msgstr "Trasporti"
|
||||
|
||||
@ -1106,10 +1127,6 @@ msgstr "Fornitori di servizi"
|
||||
msgid "Authenticators"
|
||||
msgstr "Autenticatori"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:19
|
||||
msgid "Os Managers"
|
||||
msgstr "OS Manager"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:20
|
||||
msgid "Connectivity"
|
||||
msgstr "Connettività"
|
||||
@ -1149,14 +1166,22 @@ msgstr "Torna alla lista di servizi"
|
||||
msgid "Available services list"
|
||||
msgstr "Elenco dei servizi disponibili"
|
||||
|
||||
#: templates/uds/html5/index.html:78
|
||||
#: templates/uds/html5/index.html:83
|
||||
msgid "transports"
|
||||
msgstr "trasporti"
|
||||
|
||||
#: templates/uds/html5/index.html:118
|
||||
#: templates/uds/html5/index.html:123
|
||||
msgid "Administrator info panel"
|
||||
msgstr "Pannello info amministratore"
|
||||
|
||||
#: templates/uds/html5/index.html:129
|
||||
msgid "User Agent"
|
||||
msgstr "Agente utente"
|
||||
|
||||
#: templates/uds/html5/index.html:130
|
||||
msgid "OS"
|
||||
msgstr "OS"
|
||||
|
||||
#: templates/uds/html5/login.html:4 templates/uds/html5/login.html.py:69
|
||||
msgid "Welcome to UDS"
|
||||
msgstr "Benvenuti a UDS"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -26,58 +26,62 @@ msgstr "Successo su\""
|
||||
msgid "Received "
|
||||
msgstr "Ricevuto "
|
||||
|
||||
#: static/adm/js/gui.js:43
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: static/adm/js/gui.js:44
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: static/adm/js/gui.js:45
|
||||
msgid "Number of Services"
|
||||
msgstr "Numero dei servizi"
|
||||
|
||||
#: static/adm/js/gui.js:48
|
||||
#: static/adm/js/gui.js:17
|
||||
msgid "Display _MENU_ records per page"
|
||||
msgstr "Visualizzare _MENU_ record per pagina"
|
||||
|
||||
#: static/adm/js/gui.js:49
|
||||
#: static/adm/js/gui.js:18
|
||||
msgid "Nothing found - sorry"
|
||||
msgstr "Trovato nulla - ci dispiace"
|
||||
|
||||
#: static/adm/js/gui.js:50
|
||||
msgid "Showing _START_ to _END_ of _TOTAL_ records"
|
||||
msgstr "Mostrando _START_ a _END_ di record _TOTAL_"
|
||||
#: static/adm/js/gui.js:19
|
||||
msgid "Showing record _START_ to _END_ of _TOTAL_"
|
||||
msgstr "Risultati record _START_ per _END_ di _TOTAL_"
|
||||
|
||||
#: static/adm/js/gui.js:51
|
||||
#: static/adm/js/gui.js:20
|
||||
msgid "Showing 0 to 0 of 0 records"
|
||||
msgstr "Mostrando 0-0 di 0 record"
|
||||
|
||||
#: static/adm/js/gui.js:52
|
||||
#: static/adm/js/gui.js:21
|
||||
msgid "(filtered from _MAX_ total records)"
|
||||
msgstr "(filtrato da record totale _MAX_)"
|
||||
|
||||
#: static/adm/js/gui.js:53
|
||||
#: static/adm/js/gui.js:22
|
||||
msgid "Please wait, processing"
|
||||
msgstr "Attendere prego, elaborazione"
|
||||
|
||||
#: static/adm/js/gui.js:54
|
||||
#: static/adm/js/gui.js:23
|
||||
msgid "Search"
|
||||
msgstr "Ricerca"
|
||||
|
||||
#: static/adm/js/gui.js:56
|
||||
#: static/adm/js/gui.js:26
|
||||
msgid "First"
|
||||
msgstr "Primo"
|
||||
|
||||
#: static/adm/js/gui.js:57
|
||||
#: static/adm/js/gui.js:27
|
||||
msgid "Last"
|
||||
msgstr "Ultima"
|
||||
|
||||
#: static/adm/js/gui.js:58
|
||||
#: static/adm/js/gui.js:28
|
||||
msgid "Next"
|
||||
msgstr "Prossimo"
|
||||
|
||||
#: static/adm/js/gui.js:59
|
||||
#: static/adm/js/gui.js:29
|
||||
msgid "Previous"
|
||||
msgstr "Precedente"
|
||||
|
||||
#: static/adm/js/gui.js:83
|
||||
msgid "Connectivity"
|
||||
msgstr "Connettività"
|
||||
|
||||
#: static/adm/js/gui.js:88
|
||||
msgid "Deployed services"
|
||||
msgstr "Servizi distribuiti"
|
||||
|
||||
#: static/adm/js/gui.js:181
|
||||
msgid "Service Providers"
|
||||
msgstr "Fornitori di servizi"
|
||||
|
||||
#: static/adm/js/gui.js:191
|
||||
msgid "Authenticators"
|
||||
msgstr "Autenticatori"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -18,6 +18,31 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: REST/methods/authenticators.py:72
|
||||
msgid "Current authenticators"
|
||||
msgstr "Autenticadores atuais"
|
||||
|
||||
#: REST/methods/authenticators.py:74 REST/methods/providers.py:71
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: REST/methods/authenticators.py:75 REST/methods/providers.py:72
|
||||
msgid "Comments"
|
||||
msgstr "Comentários"
|
||||
|
||||
#: REST/methods/authenticators.py:76
|
||||
msgid "Users"
|
||||
msgstr "Usuários"
|
||||
|
||||
#: REST/methods/providers.py:69
|
||||
msgid "Current service providers"
|
||||
msgstr "Provedores de serviço atual"
|
||||
|
||||
#: REST/methods/providers.py:73 templates/uds/index.html:51
|
||||
#: templates/uds/html5/index.html:68
|
||||
msgid "Services"
|
||||
msgstr "Serviços"
|
||||
|
||||
#: admin/views.py:53 admin/views.py:61 web/views.py:422
|
||||
msgid "Forbidden"
|
||||
msgstr "Proibido"
|
||||
@ -1009,42 +1034,38 @@ msgstr ""
|
||||
"Esta página contém uma lista de downloadables fornecidos por diferentes "
|
||||
"módulos"
|
||||
|
||||
#: templates/uds/index.html:51 templates/uds/html5/index.html:63
|
||||
msgid "Services"
|
||||
msgstr "Serviços"
|
||||
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:101
|
||||
#: templates/uds/index.html:70 templates/uds/html5/index.html:106
|
||||
msgid "Java not found"
|
||||
msgstr "Java não encontrado"
|
||||
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:104
|
||||
#: templates/uds/index.html:71 templates/uds/html5/index.html:109
|
||||
msgid ""
|
||||
"Java is not available on your browser, and the selected transport needs it."
|
||||
msgstr ""
|
||||
"Java não está disponível em seu navegador, e o transporte selecionado "
|
||||
"precisa disso."
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Please, install latest version from"
|
||||
msgstr "Por favor, instale a versão mais recente do"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "Java website"
|
||||
msgstr "Site de Java"
|
||||
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:105
|
||||
#: templates/uds/index.html:72 templates/uds/html5/index.html:110
|
||||
msgid "and restart browser"
|
||||
msgstr "e reinicie o navegador"
|
||||
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:121
|
||||
#: templates/uds/index.html:78 templates/uds/html5/index.html:126
|
||||
msgid "Ip"
|
||||
msgstr "IP"
|
||||
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:122
|
||||
#: templates/uds/index.html:79 templates/uds/html5/index.html:127
|
||||
msgid "Networks"
|
||||
msgstr "Redes"
|
||||
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:123
|
||||
#: templates/uds/index.html:80 templates/uds/html5/index.html:128
|
||||
msgid "Transports"
|
||||
msgstr "Transportes"
|
||||
|
||||
@ -1108,10 +1129,6 @@ msgstr "Prestadores de serviços"
|
||||
msgid "Authenticators"
|
||||
msgstr "Autenticadores"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:19
|
||||
msgid "Os Managers"
|
||||
msgstr "Os gerentes"
|
||||
|
||||
#: templates/uds/admin/snippets/navbar.html:20
|
||||
msgid "Connectivity"
|
||||
msgstr "Conectividade"
|
||||
@ -1151,14 +1168,22 @@ msgstr "Voltar à lista de serviços"
|
||||
msgid "Available services list"
|
||||
msgstr "Lista de serviços disponíveis"
|
||||
|
||||
#: templates/uds/html5/index.html:78
|
||||
#: templates/uds/html5/index.html:83
|
||||
msgid "transports"
|
||||
msgstr "transportes"
|
||||
|
||||
#: templates/uds/html5/index.html:118
|
||||
#: templates/uds/html5/index.html:123
|
||||
msgid "Administrator info panel"
|
||||
msgstr "Painel de informações do administrador"
|
||||
|
||||
#: templates/uds/html5/index.html:129
|
||||
msgid "User Agent"
|
||||
msgstr "Agente do usuário"
|
||||
|
||||
#: templates/uds/html5/index.html:130
|
||||
msgid "OS"
|
||||
msgstr "SISTEMA OPERACIONAL"
|
||||
|
||||
#: templates/uds/html5/login.html:4 templates/uds/html5/login.html.py:69
|
||||
msgid "Welcome to UDS"
|
||||
msgstr "Bem-vindo ao UDS"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-13 19:50+0100\n"
|
||||
"POT-Creation-Date: 2013-11-14 11:59+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -26,58 +26,62 @@ msgstr "Sucesso na\""
|
||||
msgid "Received "
|
||||
msgstr "Recebido "
|
||||
|
||||
#: static/adm/js/gui.js:43
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: static/adm/js/gui.js:44
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: static/adm/js/gui.js:45
|
||||
msgid "Number of Services"
|
||||
msgstr "Número de serviços"
|
||||
|
||||
#: static/adm/js/gui.js:48
|
||||
#: static/adm/js/gui.js:17
|
||||
msgid "Display _MENU_ records per page"
|
||||
msgstr "Exibir _MENU_ de registros por página"
|
||||
|
||||
#: static/adm/js/gui.js:49
|
||||
#: static/adm/js/gui.js:18
|
||||
msgid "Nothing found - sorry"
|
||||
msgstr "Nada foi encontrado - Desculpe"
|
||||
|
||||
#: static/adm/js/gui.js:50
|
||||
msgid "Showing _START_ to _END_ of _TOTAL_ records"
|
||||
msgstr "Mostrando _START_ para _END_ de registros _TOTAL_"
|
||||
#: static/adm/js/gui.js:19
|
||||
msgid "Showing record _START_ to _END_ of _TOTAL_"
|
||||
msgstr "Mostrando registro _START_ para _END_ de _TOTAL_"
|
||||
|
||||
#: static/adm/js/gui.js:51
|
||||
#: static/adm/js/gui.js:20
|
||||
msgid "Showing 0 to 0 of 0 records"
|
||||
msgstr "Mostrando 0 a 0 de 0 registros"
|
||||
|
||||
#: static/adm/js/gui.js:52
|
||||
#: static/adm/js/gui.js:21
|
||||
msgid "(filtered from _MAX_ total records)"
|
||||
msgstr "(filtrada de registros total de _MAX_)"
|
||||
|
||||
#: static/adm/js/gui.js:53
|
||||
#: static/adm/js/gui.js:22
|
||||
msgid "Please wait, processing"
|
||||
msgstr "Aguarde, processamento"
|
||||
|
||||
#: static/adm/js/gui.js:54
|
||||
#: static/adm/js/gui.js:23
|
||||
msgid "Search"
|
||||
msgstr "Pesquisa"
|
||||
|
||||
#: static/adm/js/gui.js:56
|
||||
#: static/adm/js/gui.js:26
|
||||
msgid "First"
|
||||
msgstr "Primeiro"
|
||||
|
||||
#: static/adm/js/gui.js:57
|
||||
#: static/adm/js/gui.js:27
|
||||
msgid "Last"
|
||||
msgstr "Última"
|
||||
|
||||
#: static/adm/js/gui.js:58
|
||||
#: static/adm/js/gui.js:28
|
||||
msgid "Next"
|
||||
msgstr "Próxima"
|
||||
|
||||
#: static/adm/js/gui.js:59
|
||||
#: static/adm/js/gui.js:29
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: static/adm/js/gui.js:83
|
||||
msgid "Connectivity"
|
||||
msgstr "Conectividade"
|
||||
|
||||
#: static/adm/js/gui.js:88
|
||||
msgid "Deployed services"
|
||||
msgstr "Serviços implantados"
|
||||
|
||||
#: static/adm/js/gui.js:181
|
||||
msgid "Service Providers"
|
||||
msgstr "Prestadores de serviços"
|
||||
|
||||
#: static/adm/js/gui.js:191
|
||||
msgid "Authenticators"
|
||||
msgstr "Autenticadores"
|
||||
|
@ -34,47 +34,70 @@
|
||||
};
|
||||
|
||||
// Public attributes
|
||||
api.debug = true;
|
||||
api.debug = false;
|
||||
}(window.api = window.api || {}, jQuery));
|
||||
|
||||
|
||||
// Great part of UDS REST api provides same methods.
|
||||
// We will take advantage of this and save a lot of nonsense, prone to failure code :-)
|
||||
|
||||
// Service providers related
|
||||
api.providers = (function($){
|
||||
var pub = {};
|
||||
|
||||
pub.cached_types = undefined;
|
||||
|
||||
pub.list = function(success_fnc) {
|
||||
api.getJson('providers',success_fnc);
|
||||
}
|
||||
|
||||
pub.types = function(success_fnc) {
|
||||
// Cache types locally, will not change unless new broker version
|
||||
if( pub.cached_types ) {
|
||||
if( success_fnc ) {
|
||||
success_fnc(pub.cached_types);
|
||||
function BasicModelRest(path) {
|
||||
this.path = path;
|
||||
this.cached_types = undefined;
|
||||
this.cached_tableInfo = undefined;
|
||||
}
|
||||
|
||||
BasicModelRest.prototype = {
|
||||
get: function(options) {
|
||||
if( options == undefined ){
|
||||
options = {};
|
||||
}
|
||||
}
|
||||
var path = this.path;
|
||||
if( options.id != undefined )
|
||||
path += '/' + options.id;
|
||||
api.getJson(path, options.success);
|
||||
},
|
||||
types: function(success_fnc) {
|
||||
// Cache types locally, will not change unless new broker version
|
||||
if( this.cached_types ) {
|
||||
if( success_fnc ) {
|
||||
success_fnc(this.cached_types);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var $this = this;
|
||||
|
||||
api.getJson( this.path + '/types', function(data) {
|
||||
$this.cached_types = data;
|
||||
if( success_fnc ) {
|
||||
success_fnc($this.cached_types);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
api.getJson('providers/types', function(data){
|
||||
pub.cached_types = data;
|
||||
if( success_fnc ) {
|
||||
success_fnc(pub.cached_types);
|
||||
tableInfo: function(success_fnc) {
|
||||
// Cache types locally, will not change unless new broker version
|
||||
if( this.cached_tableInfo ) {
|
||||
if( success_fnc ) {
|
||||
success_fnc(this.cached_tableInfo);
|
||||
}
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return pub;
|
||||
}(jQuery));
|
||||
var $this = this;
|
||||
|
||||
api.getJson( this.path + '/tableinfo', function(data) {
|
||||
$this.cached_tableInfo = data;
|
||||
if( success_fnc ) {
|
||||
success_fnc($this.cached_tableInfo);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
api.providers = new BasicModelRest('providers');
|
||||
//api.services = new BasicModelRest('services');
|
||||
api.authenticators = new BasicModelRest('authenticators');
|
||||
|
||||
// Service related
|
||||
api.services = (function($){
|
||||
var pub = {};
|
||||
|
||||
pub.get = function(success_fnc) {
|
||||
return api.getJson('/rest/providers', success_fnc);
|
||||
}
|
||||
return pub;
|
||||
}(jQuery));
|
@ -12,77 +12,189 @@
|
||||
}
|
||||
}
|
||||
|
||||
gui.table = function(table_id) {
|
||||
return '<div class="well"><table class="display" id="' + table_id + '"></table></div>'
|
||||
// Several convenience "constants"
|
||||
gui.dataTablesLanguage = {
|
||||
"sLengthMenu": gettext("Display _MENU_ records per page"),
|
||||
"sZeroRecords": gettext("Nothing found - sorry"),
|
||||
"sInfo": gettext("Showing record _START_ to _END_ of _TOTAL_"),
|
||||
"sInfoEmpty": gettext("Showing 0 to 0 of 0 records"),
|
||||
"sInfoFiltered": gettext("(filtered from _MAX_ total records)"),
|
||||
"sProcessing": gettext("Please wait, processing"),
|
||||
"sSearch": gettext("Search"),
|
||||
"sInfoThousands": django.formats.THOUSAND_SEPARATOR,
|
||||
"oPaginate": {
|
||||
"sFirst": gettext("First"),
|
||||
"sLast": gettext("Last"),
|
||||
"sNext": gettext("Next"),
|
||||
"sPrevious": gettext("Previous"),
|
||||
}
|
||||
};
|
||||
|
||||
gui.table = function(title, table_id, options) {
|
||||
if( options == undefined )
|
||||
options = { 'size': 12, 'icon': 'table'};
|
||||
if( options.size == undefined )
|
||||
options.size = 12;
|
||||
if( options.icon == undefined )
|
||||
options.icon = 'table';
|
||||
|
||||
return '<div class="col-lg-' + options.size + '"><div class="panel panel-primary"><div class="panel-heading">'+
|
||||
'<h3 class="panel-title"><span class="fa fa-'+ options.icon + '"></span> ' + title + '</h3></div>'+
|
||||
'<div class="panel-body"><table class="display" id="' + table_id + '"></table></div></div></div>';
|
||||
}
|
||||
|
||||
gui.breadcrumbs = function(path) {
|
||||
var items = path.split('/');
|
||||
var active = items.pop();
|
||||
var list = '';
|
||||
$.each(items, function(index, value){
|
||||
list += '<li><a href="#">' + value + '</a></li>';
|
||||
});
|
||||
list += '<li class="active">' + active + '</li>';
|
||||
|
||||
return '<div class="row"><div class="col-lg-12"><ol class="breadcrumb">'+ list + "</ol></div></div>";
|
||||
|
||||
}
|
||||
|
||||
gui.clearWorkspace = function() {
|
||||
$('#content').empty();
|
||||
$('#page-wrapper').empty();
|
||||
};
|
||||
|
||||
|
||||
gui.appendToWorkspace = function(data) {
|
||||
$(data).appendTo('#content');
|
||||
$(data).appendTo('#page-wrapper');
|
||||
};
|
||||
|
||||
|
||||
// Links methods
|
||||
gui.dashboard = function() {
|
||||
gui.clearWorkspace();
|
||||
gui.appendToWorkspace(gui.breadcrumbs('Dasboard'));
|
||||
gui.doLog(this);
|
||||
};
|
||||
|
||||
gui.providers = function() {
|
||||
gui.osmanagers = function() {
|
||||
gui.clearWorkspace();
|
||||
gui.appendToWorkspace(gui.breadcrumbs('OS Managers'));
|
||||
|
||||
api.providers.list(function(data){
|
||||
gui.appendToWorkspace( gui.table('providers_table') );
|
||||
var arr = [];
|
||||
$.each(data, function(index, value){
|
||||
arr.push([value.name, value.type_name, value.services_count]);
|
||||
});
|
||||
$('#providers_table').dataTable( {
|
||||
"aaData": arr,
|
||||
"aoColumns": [
|
||||
{ "sTitle": gettext("Name") },
|
||||
{ "sTitle": gettext("Type") },
|
||||
{ "sTitle": gettext("Number of Services") },
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu": gettext("Display _MENU_ records per page"),
|
||||
"sZeroRecords": gettext("Nothing found - sorry"),
|
||||
"sInfo": gettext("Showing _START_ to _END_ of _TOTAL_ records"),
|
||||
"sInfoEmpty": gettext("Showing 0 to 0 of 0 records"),
|
||||
"sInfoFiltered": gettext("(filtered from _MAX_ total records)"),
|
||||
"sProcessing": gettext("Please wait, processing"),
|
||||
"sSearch": gettext("Search"),
|
||||
"sInfoThousands": django.formats.THOUSAND_SEPARATOR,
|
||||
"oPaginate": {
|
||||
"sFirst": gettext("First"),
|
||||
"sLast": gettext("Last"),
|
||||
"sNext": gettext("Next"),
|
||||
"sPrevious": gettext("Previous"),
|
||||
}
|
||||
|
||||
},
|
||||
} );
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
gui.connectivity = function() {
|
||||
gui.clearWorkspace();
|
||||
gui.appendToWorkspace(gui.breadcrumbs(gettext('Connectivity')));
|
||||
}
|
||||
|
||||
var sidebarLinks = [
|
||||
{ id: 'dashboard', exec: gui.dashboard },
|
||||
{ id: 'service_providers', exec: gui.providers },
|
||||
{ id: 'authenticators', exec: gui.dashboard },
|
||||
{ id: 'osmanagers', exec: gui.dashboard },
|
||||
{ id: 'connectivity', exec: gui.dashboard },
|
||||
{ id: 'deployed_services', exec: gui.dashboard },
|
||||
];
|
||||
gui.deployed_services = function() {
|
||||
gui.clearWorkspace();
|
||||
gui.appendToWorkspace(gui.breadcrumbs(gettext('Deployed services')));
|
||||
}
|
||||
|
||||
gui.init = function() {
|
||||
gui.setLinksEvents = function() {
|
||||
var sidebarLinks = [
|
||||
{ id: 'lnk-dashboard', exec: gui.dashboard },
|
||||
{ id: 'lnk-service_providers', exec: gui.providers.link },
|
||||
{ id: 'lnk-authenticators', exec: gui.authenticators.link },
|
||||
{ id: 'lnk-osmanagers', exec: gui.osmanagers },
|
||||
{ id: 'lnk-connectivity', exec: gui.connectivity },
|
||||
{ id: 'lnk-deployed_services', exec: gui.deployed_services },
|
||||
];
|
||||
$.each(sidebarLinks, function(index, value){
|
||||
gui.doLog('Adding ' + value.id)
|
||||
$('#'+value.id).click(value.exec);
|
||||
$('.'+value.id).unbind('click').click(value.exec);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
gui.init = function() {
|
||||
gui.setLinksEvents();
|
||||
};
|
||||
|
||||
// Public attributes
|
||||
gui.debug = true;
|
||||
}(window.gui = window.gui || {}, jQuery));
|
||||
|
||||
function GuiElement(restItem) {
|
||||
this.rest = restItem;
|
||||
this.init();
|
||||
}
|
||||
|
||||
GuiElement.prototype = {
|
||||
init: function() {
|
||||
gui.doLog('Initializing ' + this.rest.path);
|
||||
var $this = this;
|
||||
this.rest.types(function(data){
|
||||
var styles = '<style media="screen">';
|
||||
$.each(data, function(index, value){
|
||||
var className = $this.rest.path + '-' + value.type;
|
||||
gui.doLog('Creating style for ' + className )
|
||||
var style = '.' + className +
|
||||
' { display:inline-block; background: url(data:image/png;base64,' + value.icon + '); ' +
|
||||
'width: 16px; height: 16px; vertical-align: middle; } ';
|
||||
styles += style;
|
||||
});
|
||||
styles += '</style>'
|
||||
$(styles).appendTo('head');
|
||||
});
|
||||
},
|
||||
table: function(options) {
|
||||
// Empty container_id first
|
||||
gui.doLog('Composing table for ' + this.rest.path);
|
||||
var tableId = this.rest.path + '-table';
|
||||
var $this = this;
|
||||
this.rest.tableInfo(function(data){
|
||||
var title = data.title;
|
||||
var columns = [];
|
||||
$.each(data.fields,function(index, value) {
|
||||
for( var v in value ){
|
||||
var options = value[v];
|
||||
gui.doLog(options);
|
||||
var column = { mData: v };
|
||||
column.sTitle = options.title;
|
||||
if( options.type )
|
||||
column.sType = options.type;
|
||||
if( options.width )
|
||||
column.sWidth = options.width;
|
||||
if( options.visible != undefined )
|
||||
column.bVisible = options.visible;
|
||||
columns.push(column);
|
||||
}
|
||||
});
|
||||
gui.doLog(columns);
|
||||
$this.rest.get({
|
||||
success: function(data) {
|
||||
var table = gui.table(title, tableId, options);
|
||||
gui.appendToWorkspace('<div class="row">' + table + '</div>');
|
||||
$('#' + tableId).dataTable( {
|
||||
"aaData": data,
|
||||
"aoColumns": columns,
|
||||
"oLanguage": gui.dataTablesLanguage,
|
||||
} )
|
||||
}
|
||||
});
|
||||
});
|
||||
return '#' + tableId;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// Compose gui API
|
||||
|
||||
// Service providers
|
||||
gui.providers = new GuiElement(api.providers);
|
||||
gui.providers.link = function(event) {
|
||||
gui.clearWorkspace();
|
||||
gui.appendToWorkspace(gui.breadcrumbs(gettext('Service Providers')));
|
||||
|
||||
var tableId = gui.providers.table();
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
gui.authenticators = new GuiElement(api.authenticators);
|
||||
gui.authenticators.link = function(event) {
|
||||
gui.clearWorkspace();
|
||||
gui.appendToWorkspace(gui.breadcrumbs(gettext('Authenticators')));
|
||||
|
||||
gui.authenticators.table();
|
||||
|
||||
return false;
|
||||
};
|
@ -8,21 +8,9 @@
|
||||
{% block js %}
|
||||
<script>
|
||||
$(function() {
|
||||
|
||||
// Preload styles for service providers
|
||||
api.providers.types(function(data){
|
||||
var styles = '<style media="screen">';
|
||||
$.each(data, function(index, value){
|
||||
var style = '.prov-' + value.type +
|
||||
' { display:inline-block; background: url(data:image/png;base64,' + value.icon + '); ' +
|
||||
'width: 16px; height: 16px; } ';
|
||||
styles += style;
|
||||
});
|
||||
styles += '</style>'
|
||||
$(styles).appendTo('head');
|
||||
});
|
||||
|
||||
// Initialize gui
|
||||
gui.init();
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
@ -13,12 +13,12 @@
|
||||
|
||||
<!-- Side bar -->
|
||||
<ul class="nav navbar-nav side-nav">
|
||||
<li class="active"><a id="dashboard" href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li><a id="service_providers" href="#"><i class="fa fa-bar-chart-o"></i> {% trans 'Service providers' %}</a></li>
|
||||
<li><a id="authenticators" href="#"><i class="fa fa-user"></i> {% trans 'Authenticators' %}</a></li>
|
||||
<li><a id="osmanagers" href="#"><i class="fa fa-edit"></i> Os Managers</a></li>
|
||||
<li><a id="connectivity" href="#"><i class="fa fa-font"></i> {% trans 'Connectivity' %}</a></li>
|
||||
<li><a id="deployed_services" href=""><i class="fa fa-desktop"></i> {% trans 'Deployed services' %}</a></li>
|
||||
<li><a class="lnk-dashboard" href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li>
|
||||
<li><a class="lnk-service_providers" href="#"><i class="fa fa-bar-chart-o"></i> {% trans 'Service providers' %}</a></li>
|
||||
<li><a class="lnk-authenticators" href="#"><i class="fa fa-user"></i> {% trans 'Authenticators' %}</a></li>
|
||||
<li><a class="lnk-osmanagers" href="#"><i class="fa fa-edit"></i> Os Managers</a></li>
|
||||
<li><a class="lnk-connectivity" href="#"><i class="fa fa-font"></i> {% trans 'Connectivity' %}</a></li>
|
||||
<li><a class="lnk-deployed_services" href=""><i class="fa fa-desktop"></i> {% trans 'Deployed services' %}</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-caret-square-o-down"></i> Tools <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
|
@ -16,14 +16,12 @@
|
||||
<!-- Bootstrap -->
|
||||
<link href="{% get_static_prefix %}css/bootstrap.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/font-awesome.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-formhelpers.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
||||
<link href="{% get_static_prefix %}css/bootstrap-switch.css" rel="stylesheet" media="screen">
|
||||
|
||||
<link href="{% get_static_prefix %}adm/css/jquery.dataTables.css" rel="stylesheet" media="screen">
|
||||
|
||||
<link href="{% get_static_prefix %}css/tables.css" rel="stylesheet" media="screen">
|
||||
<!-- <link href="{% get_static_prefix %}css/tables.css" rel="stylesheet" media="screen"> -->
|
||||
<link href="{% get_static_prefix %}css/uds-admin.css" rel="stylesheet" media="screen">
|
||||
{% block css %}{% endblock %}
|
||||
</head>
|
||||
@ -34,21 +32,9 @@
|
||||
|
||||
{% block menu %}{% include 'uds/admin/snippets/navbar.html' %}{% endblock %}
|
||||
<!-- End of menu -->
|
||||
{% block messages %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-dismissable {{ message.tags }}">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ message }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
<!-- Content -->
|
||||
<div id="page-wrapper">
|
||||
<div id="content" class="fluid-container">
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
<!-- End of content -->
|
||||
</div>
|
||||
@ -61,23 +47,24 @@
|
||||
|
||||
<script src="{% url 'uds.web.views.jsCatalog' LANGUAGE_CODE %}"></script>
|
||||
<script src="{% get_static_prefix %}adm/js/templating.js"></script>
|
||||
|
||||
<script>
|
||||
// Initialize a few settings, needed for api to work
|
||||
(function(api, $, undefined){
|
||||
api.token = "{% auth_token %}";
|
||||
api.auth_header = "{% auth_token_header %}";
|
||||
api.base_url = "{% url 'REST' '' %}";
|
||||
|
||||
api.url_for = function(path) {
|
||||
return api.base_url + path;
|
||||
}
|
||||
|
||||
}(window.api = window.api || {}, jQuery));
|
||||
</script>
|
||||
|
||||
<script src="{% get_static_prefix %}adm/js/api.js"></script>
|
||||
<script src="{% get_static_prefix %}adm/js/gui.js"></script>
|
||||
|
||||
<script>
|
||||
// Initialize a few settings
|
||||
(function(api, $, undefined){
|
||||
api.token = "{% auth_token %}";
|
||||
api.auth_header = "{% auth_token_header %}";
|
||||
api.base_url = "{% url 'REST' '' %}";
|
||||
|
||||
api.url_for = function(path) {
|
||||
return api.base_url + path;
|
||||
}
|
||||
|
||||
}(window.api = window.api || {}, jQuery));
|
||||
</script>
|
||||
|
||||
{% block js %}{% endblock %}
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user