From 6352c999f48c1897d743d5f8c54f876c9fd910db Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Thu, 29 Mar 2012 12:24:03 +0200 Subject: [PATCH 01/15] Update Sunstone and SelfService translations Added new Italian translation to Sunstone Upgrade translation files with new strings. Need completion for final release. --- install.sh | 6 + .../occi/lib/ui/public/locale/en_US/en_US.js | 2 + .../occi/lib/ui/public/locale/es_ES/es_ES.js | 2 + src/sunstone/public/js/plugins/config-tab.js | 1 + src/sunstone/public/locale/en_US/en_US.js | 103 +++- src/sunstone/public/locale/it_IT/it_IT.js | 574 ++++++++++++++++++ .../public/locale/it_IT/it_datatable.txt | 17 + src/sunstone/public/locale/ru/ru.js | 128 +++- 8 files changed, 790 insertions(+), 43 deletions(-) create mode 100644 src/sunstone/public/locale/it_IT/it_IT.js create mode 100644 src/sunstone/public/locale/it_IT/it_datatable.txt diff --git a/install.sh b/install.sh index 55726b6566..5e5039cdc3 100755 --- a/install.sh +++ b/install.sh @@ -260,6 +260,7 @@ SUNSTONE_DIRS="$SUNSTONE_LOCATION/models \ $SUNSTONE_LOCATION/public/locale \ $SUNSTONE_LOCATION/public/locale/en_US \ $SUNSTONE_LOCATION/public/locale/ru \ + $SUNSTONE_LOCATION/public/locale/it_IT \ $SUNSTONE_LOCATION/public/vendor \ $SUNSTONE_LOCATION/public/vendor/jQueryLayout \ $SUNSTONE_LOCATION/public/vendor/dataTables \ @@ -470,6 +471,7 @@ INSTALL_SUNSTONE_FILES=( SUNSTONE_PUBLIC_IMAGES_FILES:$SUNSTONE_LOCATION/public/images SUNSTONE_PUBLIC_LOCALE_EN_US:$SUNSTONE_LOCATION/public/locale/en_US SUNSTONE_PUBLIC_LOCALE_RU:$SUNSTONE_LOCATION/public/locale/ru + SUNSTONE_PUBLIC_LOCALE_IT_IT:$SUNSTONE_LOCATION/public/locale/it_IT ) INSTALL_SUNSTONE_ETC_FILES=( @@ -1276,6 +1278,10 @@ SUNSTONE_PUBLIC_LOCALE_RU=" src/sunstone/public/locale/ru/ru.js \ src/sunstone/public/locale/ru/ru_datatable.txt" +SUNSTONE_PUBLIC_LOCALE_IT_IT=" +src/sunstone/public/locale/it_IT/it_IT.js \ +src/sunstone/public/locale/it_IT/it_datatable.txt" + #----------------------------------------------------------------------------- diff --git a/src/cloud/occi/lib/ui/public/locale/en_US/en_US.js b/src/cloud/occi/lib/ui/public/locale/en_US/en_US.js index af44b104e6..c9a21c8fc9 100644 --- a/src/cloud/occi/lib/ui/public/locale/en_US/en_US.js +++ b/src/cloud/occi/lib/ui/public/locale/en_US/en_US.js @@ -59,6 +59,7 @@ locale={ "In this view you can easily manage OpenNebula Network resources. You can add or remove virtual networks.":"", "IP":"", "Language":"", + "Launch VNC session":"", "Loading":"", "Loading new language... please wait":"", "MAC":"", @@ -152,6 +153,7 @@ locale={ "Welcome to OpenNebula Self-Service":"", "You can add new storages by clicking \'new\'. Image files will be uploaded to OpenNebula and set ready to be used.":"", "You can also manage compute resources and perform actions such as stop, resume, shutdown or cancel.":"", + "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"", "You have to confirm this action.":"", "You must select a file to upload":"", "You must specify a name":"", diff --git a/src/cloud/occi/lib/ui/public/locale/es_ES/es_ES.js b/src/cloud/occi/lib/ui/public/locale/es_ES/es_ES.js index bc98663351..f44bc40ab8 100644 --- a/src/cloud/occi/lib/ui/public/locale/es_ES/es_ES.js +++ b/src/cloud/occi/lib/ui/public/locale/es_ES/es_ES.js @@ -59,6 +59,7 @@ locale={ "In this view you can easily manage OpenNebula Network resources. You can add or remove virtual networks.":"En esta vista puede gestionar fácilmente los recursos de red de OpenNebula. Puede añadir o borrar redes virtuales.", "IP":"IP", "Language":"Lenguaje", + "Launch VNC session":"Lanzar sesión VNC", "Loading":"Cargando", "Loading new language... please wait":"Cargando nuevo lenguaje... espere, por favor", "MAC":"MAC", @@ -152,6 +153,7 @@ locale={ "Welcome to OpenNebula Self-Service":"Bienvenid@ a OpenNebula Self-Service", "You can add new storages by clicking 'new'. Image files will be uploaded to OpenNebula and set ready to be used.":"Puede añadir nuevos almacenamientos haciendo click en 'new'. Los ficheros de imagen pueden ser subidos a OpenNebula y preparados para ser usado.", "You can also manage compute resources and perform actions such as stop, resume, shutdown or cancel.":"También puede administrar las máquinas virtuales y realizar acciones como detener, reanudar, apagar o cancelar.", + "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"Puede utilizar el comodín %i. Durante la creación de varias máquinas virtuales, %i será reemplazado por un número distinto en cada una de ellas, empezando por 0", "You have to confirm this action.":"Necesita confirmar esta acción", "You must select a file to upload":"Debe seleccionar un fichero para subir", "You must specify a name":"Debe especificar un nombre", diff --git a/src/sunstone/public/js/plugins/config-tab.js b/src/sunstone/public/js/plugins/config-tab.js index 7b2ec99427..f0c90d5df6 100644 --- a/src/sunstone/public/js/plugins/config-tab.js +++ b/src/sunstone/public/js/plugins/config-tab.js @@ -30,6 +30,7 @@ var config_tab_content = \ \ \ diff --git a/src/sunstone/public/locale/en_US/en_US.js b/src/sunstone/public/locale/en_US/en_US.js index 91db79fee5..cececf59b5 100644 --- a/src/sunstone/public/locale/en_US/en_US.js +++ b/src/sunstone/public/locale/en_US/en_US.js @@ -2,8 +2,9 @@ lang="en_US" datatable_lang="" locale={ + "802.1Q":"", "Accept (default)":"", - "Acl":"", + "ACL":"", "ACL Rules":"", "ACLs":"", "ACL String preview":"", @@ -32,6 +33,7 @@ locale={ "Arguments for the booting kernel":"", "Authentication":"", "Authentication driver":"", + "Base path":"", "Block":"", "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"", "Boot":"", @@ -53,9 +55,14 @@ locale={ "Change group":"", "Change owner":"", "Change password":"", + "Change password successful":"", "Changing language":"", "Clone":"", "Clone this image":"", + "Cluster":"", + "Cluster information":"", + "Cluster name missing!":"", + "Clusters":"", "Community":"", "Configuration":"", "Confirmation of action":"", @@ -69,9 +76,25 @@ locale={ "Create":"", "Create ACL":"", "Create an empty datablock":"", + "Create cluster":"", + "Create Datastore":"", "Create group":"", "Create host":"", "Create Image":"", + "Create new":"", + "Create new ACL":"", + "Create new Cluster":"", + "Create new datastore":"", + "Create new Datastore":"", + "Create new Group":"", + "Create new host":"", + "Create new Host":"", + "Create new Image":"", + "Create new User":"", + "Create new Virtual Machine":"", + "Create new virtual network":"", + "Create new Virtual Network":"", + "Create new VM Template":"", "Create user":"", "Create Virtual Machine":"", "Create Virtual Network":"", @@ -80,6 +103,9 @@ locale={ "Current inputs":"", "Current leases":"", "Current NICs":"", + "Current number of datastores in this cluster":"", + "Current number of hosts in this cluster":"", + "Current number of virtual networks in this cluster":"", "Current variables":"", "Custom attribute name and value must be filled in":"", "Custom attributes":"", @@ -88,8 +114,17 @@ locale={ "Dashboard":"", "Data":"", "Datablock":"", + "Datastore":"", + "Datastore information":"", + "Datastore manager":"", + "Datastores":"", + "Datastore template":"", + "Datastore Template":"", + "Datastore updated correctly":"", "Default":"", "Default (current image type)":"", + "Default (dummy)":"", + "Defaults to template name when emtpy":"", "Define a subnet by IP range":"", "Delete":"", "Delete host":"", @@ -115,16 +150,19 @@ locale={ "Driver default":"", "Drivers":"", "Drop":"", + "DS Mad":"", "Dummy":"", "EC2":"", "Enable":"", "English":"", "Error":"", + "Etables":"", "failed":"", "fd":"", "Features":"", "Fields marked with":"", "File":"", + "Filesystem":"", "Filesystem type":"", "Filesystem type for the fs images":"", "Fill in a new password":"", @@ -143,6 +181,7 @@ locale={ "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"", "hd":"", "Historical monitoring information":"", + "History information":"", "hold":"", "Hold":"", "Hold lease":"", @@ -166,22 +205,28 @@ locale={ "IDE":"", "Image":"", "Image information":"", + "Image location":"", "Image name":"", "Images":"", - "Images (total/public)":"", "Image template":"", + "Image updated correctly":"", "IM MAD":"", "Info":"", "information":"", "Information":"", "Information Manager":"", + "Infrastructure":"", + "Infrastructure resources":"", "Initrd":"", "Inputs":"", "Instantiate":"", "IP":"", "IP End":"", + "IPs":"", "IP Start":"", "IP to listen on":"", + "iSCSI":"", + "Italian":"", "Kernel":"", "Kernel commands":"", "Keyboard configuration locale to use in the VNC display":"", @@ -201,6 +246,12 @@ locale={ "Make non persistent":"", "Make persistent":"", "Manage":"", + "Manage cluster datastores":"", + "Manage cluster hosts":"", + "Manage cluster virtual networks":"", + "Manage unclustered datastores":"", + "Manage unclustered hosts":"", + "Manage unclustered virtual networks":"", "Manual":"", "Max Mem":"", "Memory":"", @@ -229,21 +280,25 @@ locale={ "Network is unreachable: is OpenNebula running?":"", "Network mask":"", "Network Mask":"", + "Network mode":"", "Network reception":"", "Network transmission":"", "Network type":"", - "New":"", "+ New":"", "+ New Group":"", "New password":"", "No":"", + "No datastores in this cluster":"", "No disk id or image name specified":"", "No disks defined":"", + "No hosts in this cluster":"", "No leases to show":"", "None":"", + "No virtual networks in this cluster":"", "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"", "OK":"", "Open VNC Session":"", + "Open vSwitch":"", "Optional, please select":"", "OS":"", "OS and Boot options":"", @@ -258,7 +313,6 @@ locale={ "Path to the initrd image":"", "Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"", "Path to the OS kernel to boot the image":"", - "Path vs. source":"", "Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"", "Permissions":"", "Permits access to the VM only through the specified ports in the TCP protocol":"", @@ -269,6 +323,7 @@ locale={ "Physical device":"", "Placement":"", "Please choose":"", + "Please, choose and modify the datastore you want to update":"", "Please, choose and modify the image you want to update":"", "Please, choose and modify the template you want to update":"", "Please, choose and modify the virtual machine you want to update":"", @@ -276,9 +331,9 @@ locale={ "Please choose path if you have a file-based image. Choose source otherwise or create an empty datablock disk.":"", "Please choose the new type of authentication for the selected users":"", "Please provide a lease IP":"", - "Please provide a network address":"", "Please provide a resource ID for the resource(s) in this rule":"", "Please select":"", + "Please select a datastore for this image":"", "Please select at least one resource":"", "Please specify to who this ACL applies":"", "Port":"", @@ -288,17 +343,18 @@ locale={ "Predefined":"", "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"", "Previous action":"", + "Prolog time":"", "Provide a path":"", "Provide a source":"", "PS2":"", "Public":"", - "Publish":"", "Quickstart":"", "Ranged network":"", "Rank":"", "Raw":"", "Raw data to be passed directly to the hypervisor":"", "Read only":"", + "Reason":"", "Reboot":"", "Refresh list":"", "Register time":"", @@ -328,19 +384,26 @@ locale={ "Script":"", "SCSI":"", "SDL":"", + "Secure websockets connection":"", + "Select a datastore":"", "Select a network":"", "Select an image":"", "Select a template":"", "Select a VM":"", "Select boot method":"", + "Select cluster":"", "Select disk":"", "Select template":"", + "Select the datastore for this image":"", + "Select the destination cluster:":"", "Select the new group":"", "Select the new owner":"", + "Sequence":"", "Server (Cipher)":"", "Server (x509)":"", "Setup Networks":"", "Shared":"", + "shared,ssh,iscsi,dummy":"", "Shutdown":"", "Sign out":"", "Size":"", @@ -357,14 +420,22 @@ locale={ "Start time":"", "Start Time":"", "State":"", + "State change time":"", "Status":"", "Stop":"", + "style":"", "Submitted":"", + "Summary of infrastructure resources":"", "Summary of resources":"", + "Summary of system resources":"", + "Summary of virtual resources":"", "Sunstone UI Configuration":"", "Support":"", "Suspend":"", "Swap":"", + "System":"", + "System Resources":"", + "System resources management is only accesible to users of the oneadmin group. It comprises the operations regarding OpenNebula groups, users and ACLs.":"", "Tablet":"", "Target":"", "Tcp black ports":"", @@ -374,10 +445,13 @@ locale={ "Template information":"", "Templates":"", "Template updated correctly":"", + "The Infrastructure menu allows management of Hosts, Datastores, Virtual Networks. Users in the oneadmin group can manage clusters as well.":"", "There are mandatory fields missing in the capacity section":"", "There are mandatory fields missing in the OS Boot options section":"", "There are mandatory parameters missing":"", "There are mandatory parameters missing in this section":"", + "There are missing network parameters":"", + "The Virtual Resources menu allows management of Virtual Machine Templates, Instances and Images.":"", "This field sets which attribute will be used to sort the suitable hosts for this VM. Basically, it defines which hosts are more suitable than others":"", "This rule applies to":"", "This will cancel selected VMs":"", @@ -395,12 +469,15 @@ locale={ "This will resume selected stopped or suspended VMs":"", "This will send a reboot action to running VMs":"", "This will suspend selected machines":"", + "TM Mad":"", "TM MAD":"", "total":"", "Total Leases":"", + "Total time":"", "Total VM count":"", "Total VM CPU":"", "Total VM Memory":"", + "Transfer manager":"", "Transfer Manager":"", "Type":"", "Type of disk device to emulate.":"", @@ -411,15 +488,18 @@ locale={ "Udp firewall mode":"", "Udp white ports":"", "Unauthorized":"", - "Unpublish":"", "Update":"", "Update a template":"", + "Update Datastore properties":"", "Update image properties":"", "Update network properties":"", "Update properties":"", "Update template":"", "Update template properties":"", "Update VM properties":"", + "Upload":"", + "Upload file":"", + "Uploading...":"", "USB":"", "Use":"", "Used by VM":"", @@ -450,8 +530,10 @@ locale={ "Virtual Network information":"", "Virtual Network name missing!":"", "Virtual Networks":"", - "Virtual Networks (total/public)":"", "Virtual Network template (attributes)":"", + "Virtual Resources":"", + "VLAN":"", + "VLAN ID":"", "VM information":"", "VM Instance":"", "VM Instances":"", @@ -464,13 +546,12 @@ locale={ "VM template":"", "VM Template":"", "VM Templates":"", - "VM Templates (total/public)":"", + "VMware":"", "VNC":"", "VNC Access":"", "VNC connection":"", "VNC Disabled":"", "VNC Session":"", - "VNET ID":"", "VN MAD":"", "Welcome":"", "Wizard":"", @@ -485,6 +566,8 @@ locale={ "Xen templates must specify a boot method":"", "yes":"", "Yes":"", + "You can find further information on the following links:":"", + "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"", "You have not selected a template":"", "You have to confirm this action.":"", "You need to select something.":"", diff --git a/src/sunstone/public/locale/it_IT/it_IT.js b/src/sunstone/public/locale/it_IT/it_IT.js new file mode 100644 index 0000000000..69a9f0c8c7 --- /dev/null +++ b/src/sunstone/public/locale/it_IT/it_IT.js @@ -0,0 +1,574 @@ +//Translated by Carlo Daffara, Calogero Lo Leggio +lang="it_IT" +datatable_lang="it_datatable.txt" +locale={ + "802.1Q":"", + "Accept (default)":"Accetta (default)", + "ACL":"", + "ACL Rules":"Regole ACL", + "ACLs":"ACL", + "ACL String preview":"Anteprima stringa ACL", + "ACPI":"ACPI", + "Add":"Aggiungi", + "Add context variables":"Aggiungi variabili di contesto", + "Add custom variables":"Aggiungi variabili custom", + "Add disk/image":"Aggiungi disco/immagine", + "Add disks/images":"Aggiungi dischi/immagini", + "Add Graphics":"Aggiungi grafica", + "Add Hypervisor raw options":"Aggiungi configurazioni dirette hypervisor", + "Add inputs":"Aggiungi periferica input", + "Add lease":"Aggiungi lease", + "Add network":"Aggiungi rete", + "Add placement options":"Aggiungi opzioni di posizionamento", + "Admin":"Admin", + "Administrate":"Amministra", + "Advanced mode":"Modalità avanzata", + "Affected resources":"Risorse interessate", + "All":"Tutto", + "Allowed operations":"Operazioni consentite", + "Amount of RAM required for the VM, in Megabytes.":"Memoria richiesta per la VM, in Megabyte.", + "Applies to":"Si applica a", + "Architecture":"Architettura", + "are mandatory":"sono obbligatori", + "Arguments for the booting kernel":"Argomenti per l'avvio del kernel", + "Authentication":"Autenticazione", + "Authentication driver":"Driver di Autenticazione", + "Base path":"", + "Block":"Blocco", + "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"Espressione booleana che esclude il provisioning degli host dalla lista di macchine adatte a eseguire questa VM", + "Boot":"Boot", + "Boot device type":"Tipo di device di boot", + "Bootloader":"Bootloader", + "Boot method":"Metodo di boot", + "Boot/OS options":"Opzioni Boot/OS", + "Bridge":"Bridge", + "Bus":"Bus", + "Cancel":"Cancella", + "Cannot contact server: is it running and reachable?":"Non posso contattare il server, è in esecuzione e raggiungibile?", + "Canvas not supported.":"Canvas non supportato", + "Capacity":"Capacità", + "Capacity options":"Opzioni di capacità", + "cdrom":"cdrom", + "CD-ROM":"CD-ROM", + "Change":"Cambia", + "Change authentication":"Cambia autenticazione", + "Change group":"Cambia gruppo", + "Change owner":"Cambia proprietario", + "Change password":"Cambia password", + "Change password successful":"", + "Changing language":"Cambiamento linguaggio", + "Clone":"Clona", + "Clone this image":"Clona questa immagine", + "Cluster":"", + "Cluster information":"", + "Cluster name missing!":"", + "Clusters":"", + "Community":"Comunità", + "Configuration":"Configurazione", + "Confirmation of action":"Conferma azione", + "Context":"Contesto", + "Context variable name and value must be filled in":"Nome variabile di contesto e valure da inserire", + "Core":"Core", + "CPU":"CPU", + "CPU architecture to virtualization":"Architettura CPU da virtualizzare", + "CPU Monitoring information":"Informazioni monitoraggio CPU", + "CPU Use":"Utilizzo CPU", + "Create":"Crea", + "Create ACL":"Crea ACL", + "Create an empty datablock":"Crea un datablock vuoto", + "Create cluster":"", + "Create Datastore":"", + "Create group":"Crea gruppo", + "Create host":"Crea nodo", + "Create Image":"Crea immagine", + "Create new":"", + "Create new ACL":"", + "Create new Cluster":"", + "Create new datastore":"", + "Create new Datastore":"", + "Create new Group":"", + "Create new host":"", + "Create new Host":"", + "Create new Image":"", + "Create new User":"", + "Create new Virtual Machine":"", + "Create new virtual network":"", + "Create new Virtual Network":"", + "Create new VM Template":"", + "Create user":"Crea utente", + "Create Virtual Machine":"Crea macchina virtuale (VM)", + "Create Virtual Network":"Crea rete virtuale", + "Create VM Template":"Crea template VM", + "Current disks":"Disco attuale", + "Current inputs":"Input attuali", + "Current leases":"Lease attuali", + "Current NICs":"Schede di rete attuali", + "Current number of datastores in this cluster":"", + "Current number of hosts in this cluster":"", + "Current number of virtual networks in this cluster":"", + "Current variables":"Variabili attuali", + "Custom attribute name and value must be filled in":"Nome attributo custom e valure da inserire", + "Custom attributes":"Attributi custom", + "Custom variable name and value must be filled in":"Nome variabile custom e valore da inserire", + "Custom variables":"Variabili custom", + "Dashboard":"Dashboard", + "Data":"Data", + "Datablock":"Datablock", + "Datastore":"", + "Datastore information":"", + "Datastore manager":"", + "Datastores":"", + "Datastore template":"", + "Datastore Template":"", + "Datastore updated correctly":"", + "Default":"Default", + "Default (current image type)":"Default (tipo di immagine attuale)", + "Default (dummy)":"", + "Defaults to template name when emtpy":"", + "Define a subnet by IP range":"Definisci una subnet tramite un range IP", + "Delete":"Cancella", + "Delete host":"Cancella nodo", + "Deploy":"Deploy", + "Deploy ID":"Deploy ID", + "Deploy # VMs":"Deploy # VMs", + "Description":"Descrizione", + "Device prefix":"Prefisso dispositivo", + "Device to be mounted as root":"Dispositivo da montare come root", + "Device to map image disk. If set, it will overwrite the default device mapping":"Dispositivo da mappare per l'immagine del disco. Se configurato, sovrascrive la configurazione di default della mappatura dei dispositivi", + "Disable":"Disabilita", + "disabled":"disabilitato", + "Disallow access to the VM through the specified ports in the TCP protocol":"Nega accesso alla VM attraverso la porta TCP specificata", + "Disallow access to the VM through the specified ports in the UDP protocol":"Nega accesso alla VM attraverso la porta UDP speciicata", + "Disk":"Disco", + "Disk file location path or URL":"Percorso o URL del file del disco", + "disk id":"ID disco", + "Disks":"Dischi", + "Disk type":"Tipo disco", + "Documentation":"Documentazione", + "Do you want to proceed?":"Vuoi proseguire?", + "Driver":"Driver", + "Driver default":"Driver default", + "Drivers":"Drivers", + "Drop":"Drop", + "DS Mad":"", + "Dummy":"Dummy", + "EC2":"EC2", + "Enable":"Abilita", + "English":"Inglese", + "Error":"Errore", + "Etables":"", + "failed":"fallito", + "fd":"fd", + "Features":"Funzionalità", + "Fields marked with":"Campi marcati con", + "File":"File", + "Filesystem":"", + "Filesystem type":"Tipo di filesystem", + "Filesystem type for the fs images":"Tipo di filesystem per queste immagini fs", + "Fill in a new password":"Indica una nuova password", + "Fixed network":"Rete fissa", + "Floppy":"Floppy", + "Fold / Unfold all sections":"Espandi/contrai tutte le sezioni", + "Format":"Format", + "FS":"FS", + "FS type":"Tipo FS", + "Graphics":"Grafica", + "Graphics type":"Tipo grafica", + "Group":"Gruppo", + "Group ":"Grupoi", + "Group name":"Nome del gruppo", + "Groups":"Gruppi", + "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"Hardware per l'emulazione dell'interfaccia di rete. In Xen type attribute del vif.", + "hd":"hd", + "Historical monitoring information":"Storico delle informazioni di monitoraggio", + "History information":"", + "hold":"trattieni", + "Hold":"Trattieni", + "Hold lease":"Trattieni lease", + "Host":"Nodo", + "Host information":"Informazioni nodo", + "Hostname":"Hostname", + "Host name missing!":"Nome del nodo mancante!", + "Host parameters":"Parametri nodo", + "Hosts":"Nodi", + "Hosts CPU":"CPU nodi", + "Host shares":"Share nodi", + "Hosts memory":"Memoria nodi", + "Hosts (total/active)":"Nodi (totali/attivi)", + "Host template":"Template nodo", + "Human readable description of the image for other users.":"Descrizione immagine per altri utenti", + "HW address associated with the network interface":"Indirizzo hardware associato alla interfaccia di rete", + "Icmp":"ICMP", + "ICMP policy":"Policy ICMP", + "id":"id", + "ID":"ID", + "IDE":"IDE", + "Image":"Immagine", + "Image information":"Informazioni immagine", + "Image location":"", + "Image name":"Nome immagine", + "Images":"Immagini", + "Image template":"Template immagine", + "Image updated correctly":"", + "IM MAD":"IM MAD", + "Info":"Info", + "information":"Informazioni", + "Information":"Informazioni", + "Information Manager":"Information manager", + "Infrastructure":"", + "Infrastructure resources":"", + "Initrd":"Initrd", + "Inputs":"Ingressi", + "Instantiate":"Istanza", + "IP":"IP", + "IP End":"IP fine", + "IPs":"", + "IP Start":"IP inizio", + "IP to listen on":"IP su cui restare in ascolto", + "iSCSI":"", + "Italian":"", + "Kernel":"Kernel", + "Kernel commands":"Comandi kernel", + "Keyboard configuration locale to use in the VNC display":"Configurazione del layout della tastiera per il display VNC", + "Keymap":"Keymap", + "KVM":"KVM", + "Language":"Linguaggio", + "LCM State":"Stato LCM", + "Lease IP":"Lease IP", + "Lease MAC (opt):":"Lease MAC (opzionale)", + "Lease management":"Gestione Lease", + "Leases information":"Informazioni Lease", + "Listen IP":"IP di ascolto", + "Live migrate":"Live migrate", + "Loading":"Caricamento", + "Loading new language... please wait":"Caricamento nuovo linguaggio... attendere", + "MAC":"MAC", + "Make non persistent":"Rendi non persistente", + "Make persistent":"Rendi persistente", + "Manage":"Gestisci", + "Manage cluster datastores":"", + "Manage cluster hosts":"", + "Manage cluster virtual networks":"", + "Manage unclustered datastores":"", + "Manage unclustered hosts":"", + "Manage unclustered virtual networks":"", + "Manual":"Manuale", + "Max Mem":"Max Mem", + "Memory":"Memoria", + "Memory monitoring information":"Informazioni monitoraggio memoria", + "Memory use":"Utilizzo memoria", + "Migrate":"Migra", + "Model":"Modello", + "Monitoring information":"Informazioni di monitoraggio", + "Mount image as read-only":"Monta immagine in sola lettura", + "Mouse":"Mouse", + "Name":"Nome", + "Name for the context variable":"Nome per la variabile di contesto", + "Name for the custom variable":"Nome per la variabile custom", + "Name for the tun device created for the VM":"Nome per il dispositivo tun creato per la VM", + "Name of a shell script to be executed after creating the tun device for the VM":"Nome dello script da eseguire dopo la creazione del dispositivo tun per la VM", + "Name of the bridge the network device is going to be attached to":"Nome del bridge a cui si sta collegando l'interfaccia di rete", + "Name of the image to use":"Nome immagine da usare", + "Name of the network to attach this device":"Nome della rete a cui collegare questo dispositivo", + "Name that the Image will get. Every image must have a unique name.":"Nome assegnato a immagine. Ogni immagine deve avere un nome univoco.", + "Name that the VM will get for description purposes. If NAME is not supplied a name generated by one will be in the form of one-<VID>.":"Nome ottenuto dalla descrizione della VM. Se il nome non viene assegnato, viene generato un nome nella forma one-<VID>.", + "Net_RX":"Net_RX", + "Net_TX":"Net_TX", + "network":"rete", + "Network":"Rete", + "Network Address":"Indirizzo di rete", + "Network is unreachable: is OpenNebula running?":"Rete non raggiungibile. Opennebula attivo?", + "Network mask":"maschera di rete", + "Network Mask":"Maschera di rete", + "Network mode":"", + "Network reception":"Ricezione rete", + "Network transmission":"Trasmissione rete", + "Network type":"Tipo di rete", + "+ New":"+ Nuovo", + "+ New Group":"+ Nuovo gruppo", + "New password":"Nuova password", + "No":"No", + "No datastores in this cluster":"", + "No disk id or image name specified":"ID disco o nome immagine non specificato", + "No disks defined":"Disco non definito", + "No hosts in this cluster":"", + "No leases to show":"Nessun lease da mostrare", + "None":"Nessuno", + "No virtual networks in this cluster":"", + "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"Numero delle CPU virtuali (opzionale). Questo valore è opzionale, se non configurato verrà usato la configurazione predefinita dell'hypervisor, di norma una CPU virtuale.", + "OK":"OK", + "Open VNC Session":"Sessione VNC aperta", + "Open vSwitch":"", + "Optional, please select":"Opzionale, selezionate", + "OS":"OS", + "OS and Boot options":"Opzioni OS e boot", + "Other":"Altro", + "Owned by group":"Posseduto dal gruppo", + "Owner":"Proprietario", + "PAE":"PAE", + "Password":"Password", + "Password for the VNC server":"Password per il server VNC", + "Path":"Percorso", + "Path to the bootloader executable":"Percorso per eseguibile bootloader", + "Path to the initrd image":"Percorso immagine initrd", + "Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"Percorso del file originale da copiare nel repository immagini. Se non specificato per il tipo DATABLOCK, crea una immagine vuota.", + "Path to the OS kernel to boot the image":"Percorso per il kernel dell'OS per avviare immagine", + "Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"Percentuale CPU diviso 100 richiesta per la VM. Mezzo processore viene ad esempio indicato con 0.5.", + "Permissions":"Permessi", + "Permits access to the VM only through the specified ports in the TCP protocol":"Permette accesso alla VM solo tramite le porte TCP specificate", + "Permits access to the VM only through the specified ports in the UDP protocol":"Permette accesso alla VM solo tramite le porte UDP specificate", + "Persistence of the image":"Persistenza immagine", + "Persistent":"Persistente", + "Physical address extension mode allows 32-bit guests to address more than 4 GB of memory":"Il modo PAE consente ai guest 32-bit di utilizzare più di 4GB di memoria", + "Physical device":"Device fisico", + "Placement":"Posizionamento", + "Please choose":"Selezionare", + "Please, choose and modify the datastore you want to update":"", + "Please, choose and modify the image you want to update":"Scegliere quale immagine modificare", + "Please, choose and modify the template you want to update":"Scegliere quale template modificare", + "Please, choose and modify the virtual machine you want to update":"Scegliere quale VM modificare", + "Please, choose and modify the virtual network you want to update":"Scegliere quale rete virtuale modificare", + "Please choose path if you have a file-based image. Choose source otherwise or create an empty datablock disk.":"Scegliere il percorso del file se disponete di una immagine/file. Altrimenti scegliere Sorgente o creare un datablock vuoto.", + "Please choose the new type of authentication for the selected users":"Scegli il tipo di autenticazione da usare per gli utenti selezionati", + "Please provide a lease IP":"Indicate un IP lease", + "Please provide a resource ID for the resource(s) in this rule":"Indicate un resource ID per le risorse in questa regola", + "Please select":"Selezionare", + "Please select a datastore for this image":"", + "Please select at least one resource":"Selezionare almeno una risorsa", + "Please specify to who this ACL applies":"Indicare a chi si appplica questa ACL", + "Port":"Port", + "Port blacklist":"Port blacklist", + "Port for the VNC server":"Port per il server VNC", + "Port whitelist":"Port whitelist", + "Predefined":"Predefinito", + "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"Prefisso del dispositivo emulato da montare. Ad esempio, “hd“ o “sd“. Se omesso, viene utilizzato il valore di default.", + "Previous action":"Azione precedente", + "Prolog time":"", + "Provide a path":"Indicare un percorso", + "Provide a source":"Indicare una sorgente", + "PS2":"PS2", + "Public":"Pubblico", + "Quickstart":"Quickstart", + "Ranged network":"Ranged network", + "Rank":"Rank", + "Raw":"Raw", + "Raw data to be passed directly to the hypervisor":"Dati raw passati direttamente all'hypervisor", + "Read only":"Sola lettura", + "Reason":"", + "Reboot":"Reboot", + "Refresh list":"Aggiorna lista", + "Register time":"Register time", + "Registration time":"Registration time", + "release":"rilascia", + "Release":"Rilascia", + "Remove selected":"Rimuovi il selezionato", + "Request an specific IP from the Network":"Richiedi un IP specifico dalla Rete", + "Requirements":"Requisiti", + "Reset":"Reset", + "Resource ID":"ID risorsa", + "Resource ID / Owned by":"ID risorsa/proprietà di", + "Resource subset":"Sottoinsieme risorsa", + "Restart":"Restart", + "Resubmit":"Resubmit", + "Resume":"Resume", + "Retrieving":"Retrieving", + "Root":"Root", + "running":"in esecuzione", + "Running VMs":"VM in esecuzione", + "Running #VMS":"#VM in esecuzione", + "Russian":"Russo", + "Save":"Salva", + "Save as":"Salva come", + "Saveas for VM with ID":"Salva come per VM con ID", + "Save this image after shutting down the VM":"Salva questa immagine dopo aver spento la VM", + "Script":"Script", + "SCSI":"SCSI", + "SDL":"SDL", + "Secure websockets connection":"", + "Select a datastore":"", + "Select a network":"Seleziona una rete", + "Select an image":"Seleziona una immagine", + "Select a template":"Seleziona un template", + "Select a VM":"Seleziona una VM", + "Select boot method":"Seleziona il metodo di boot", + "Select cluster":"", + "Select disk":"Seleziona disco", + "Select template":"Seleziona template", + "Select the datastore for this image":"", + "Select the destination cluster:":"", + "Select the new group":"Seleziona il nuovo gruppo", + "Select the new owner":"Seleziona il nuovo proprietario", + "Sequence":"", + "Server (Cipher)":"Server (cifratura)", + "Server (x509)":"Server (x509)", + "Setup Networks":"Configurazione reti", + "Shared":"Condiviso", + "shared,ssh,iscsi,dummy":"", + "Shutdown":"Shutdown", + "Sign out":"Logout", + "Size":"Dimensione", + "Size in MB":"Dimensione in MB", + "Size (Mb)":"Dimensione (MB)", + "Size of the datablock in MB.":"Dimensione del datablock in MB", + "Skipping VM ":"Skipping VM", + "Source":"Sorgente", + "Source to be used in the DISK attribute. Useful for not file-based images.":"Sorgente per attributo DISK. Utilizzato per immagini non basate su file.", + "Specific ID":"ID specifico", + "Specific image mapping driver. KVM: raw, qcow2. XEN: tap:aio, file:":"Image mapping driver specifico. KVM:raw, qcow2. XEN: tap:aio, file:", + "Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported":"Image mapping driver specifico. KVM:raw, qcow2. XEN: tap:aio, file:. VMware non supportato.", + "SSH":"SSH", + "Start time":"Istante di avvio", + "Start Time":"Istante di avvio", + "State":"Stato", + "State change time":"", + "Status":"Status", + "Stop":"Stop", + "style":"", + "Submitted":"Inviato", + "Summary of infrastructure resources":"", + "Summary of resources":"Sommario risorse", + "Summary of system resources":"", + "Summary of virtual resources":"", + "Sunstone UI Configuration":"Configurazione UI Sunstone", + "Support":"Supporto", + "Suspend":"Suspend", + "Swap":"Swap", + "System":"", + "System Resources":"", + "System resources management is only accesible to users of the oneadmin group. It comprises the operations regarding OpenNebula groups, users and ACLs.":"", + "Tablet":"Tablet", + "Target":"Target", + "Tcp black ports":"Porte TCP in blacklist", + "Tcp firewall mode":"Modo firewall TCP", + "Tcp white ports":"Porte TCP in whitelist", + "Template":"Template", + "Template information":"Informazioni template", + "Templates":"Template", + "Template updated correctly":"Template modificato correttamente.", + "The Infrastructure menu allows management of Hosts, Datastores, Virtual Networks. Users in the oneadmin group can manage clusters as well.":"", + "There are mandatory fields missing in the capacity section":"Ci sono dei campi mancanti nella sezione capacità", + "There are mandatory fields missing in the OS Boot options section":"Ci sono dei campi mancanti nella sezione boot OS", + "There are mandatory parameters missing":"Ci sono dei campi obbligatori non compilati", + "There are mandatory parameters missing in this section":"Ci sono dei campi obbligatori non compilati in questa sezione", + "There are missing network parameters":"", + "The Virtual Resources menu allows management of Virtual Machine Templates, Instances and Images.":"", + "This field sets which attribute will be used to sort the suitable hosts for this VM. Basically, it defines which hosts are more suitable than others":"Questo campo indica quale attributo utilizzare per il posizionamento delle VM", + "This rule applies to":"Questa regola si applica a", + "This will cancel selected VMs":"Questo cancellerà le VM selezionate", + "This will change the main group of the selected users. Select the new group":"Questo cambierà il gruppo principale degli utenti selezionati. Scegli il nuovo gruppo", + "This will change the password for the selected users":"Questo cambierà la password degli utenti selezionati", + "This will delete the selected VMs from the database":"Questo cancellerà le VM selezionate dal database", + "This will deploy the selected VMs on the chosen host":"Questo effettuerà il deploy delle VM sul nodo selezionato", + "This will hold selected pending VMs from being deployed":"Questo tratterrà le VM impedendo il deploy", + "This will initiate the shutdown process in the selected VMs":"Questo inizierà lo shutdown dei processi nelle VM selezionate", + "This will live-migrate the selected VMs to the chosen host":"Questo effettuerà la live migration delle VM selezionate nel nodo scelto", + "This will migrate the selected VMs to the chosen host":"Questo effettuerà la migrazione delle VM selezionate nel nodo scelto", + "This will redeploy selected VMs (in UNKNOWN or BOOT state)":"Questo effettuerà il redeploy delle VM selezionate in stato UNKNOWN o BOOT", + "This will release held machines":"Questo rilascerà le macchine trattenute", + "This will resubmits VMs to PENDING state":"Questo effettuerà il resubmit delle VM in stato PENDING", + "This will resume selected stopped or suspended VMs":"Questo effettuerà il resume delle VM ferme o in sospensione", + "This will send a reboot action to running VMs":"Questo effettuerà il reboot delle VM in esecuzione", + "This will suspend selected machines":"Questo effettuerà il suspend delle macchine selezionate", + "TM Mad":"", + "TM MAD":"TM MAD", + "total":"totale", + "Total Leases":"Totale lease", + "Total time":"", + "Total VM count":"Numero VM totale", + "Total VM CPU":"VM CPU totali", + "Total VM Memory":"Memoria VM totale", + "Transfer manager":"", + "Transfer Manager":"Transfer manager", + "Type":"Tipo", + "Type of disk device to emulate.":"Tipo del dispositivo disco da emulare", + "Type of disk device to emulate: ide, scsi":"Tipo del dispositivo disco da emulare: ide, scsi", + "Type of file system to be built. This can be any value understood by mkfs unix command.":"Tipo di filesystem da creare. Può essere qualsiasi valore riconosciuto dal comando unix mkfs.", + "Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"Tipo di immagine, indicato in dettaglio nella sezione sottostante. Default: OS", + "Udp black ports":"Porte UDP in blacklist", + "Udp firewall mode":"Modo firewall UDP", + "Udp white ports":"Porte UDP in whitelist", + "Unauthorized":"Non autorizzato", + "Update":"Modifica", + "Update a template":"Modifica un template", + "Update Datastore properties":"", + "Update image properties":"Modifica proprietà immagine", + "Update network properties":"Modifica proprietà di rete", + "Update properties":"Modifica proprietà", + "Update template":"Modifica template", + "Update template properties":"Modifica proprietà template", + "Update VM properties":"Modifica proprietà VM", + "Upload":"", + "Upload file":"", + "Uploading...":"", + "USB":"USB", + "Use":"Usa", + "Used by VM":"Usato dalla VM", + "Used CPU":"CPU utilizzata", + "Used CPU (allocated)":"CPU utilizzata (allocata)", + "Used CPU (real)":"CPU utilizzata (reale)", + "Used Mem (allocated)":"Memoria utilizzata (allocata)", + "Used Memory":"Memoria utilizzata", + "Used Mem (real)":"Memoria utilizzata (reale)", + "Useful for power management, for example, normally required for graceful shutdown to work":"Utile per il power management - ad esempio necessario per lo shutdown", + "User":"Utente", + "User information":"Informazioni utente", + "Username":"Nome utente", + "User name and password must be filled in":"Nome utente e password devono essere indicate", + "Users":"Utenti", + "User template":"Template utente", + "Value":"Valore", + "Value of the context variable":"Valore della variabile di contesto", + "Value of the custom variable":"Valore della variabile custom", + "VCPU":"VCPU", + "Virtio":"Virtio", + "Virtio (KVM)":"Virtio (KVM)", + "Virtualization Manager":"Virtualization Manager", + "Virtual Machine information":"Informazioni sulla macchina virtuale", + "Virtual Machines":"Macchine virtuali", + "Virtual Network":"Rete virtuale", + "Virtual network information":"Informazioni sulla rete virtuale", + "Virtual Network information":"Informazioni sulla rete virtuale", + "Virtual Network name missing!":"Nome della rete virtuale mancante!", + "Virtual Networks":"Reti Virtuali", + "Virtual Network template (attributes)":"Template rete virtuale (attributi)", + "Virtual Resources":"", + "VLAN":"", + "VLAN ID":"", + "VM information":"Informazioni VM", + "VM Instance":"Istanza VM", + "VM Instances":"Istanze VM", + "VM log":"log VM", + "VM MAD":"VM MAD", + "VM Name":"Nome VM", + "VM Network stats":"Statistiche di rete VM", + "#VMS":"#VMS", + "VM Save As":"Salva la VM come", + "VM template":"template VM", + "VM Template":"Template VM", + "VM Templates":"Templates VM", + "VMware":"", + "VNC":"VNC", + "VNC Access":"Accesso VNC", + "VNC connection":"Connessione VNC", + "VNC Disabled":"VNC disabilitato", + "VNC Session":"Sessione VNC", + "VN MAD":"VM MAD", + "Welcome":"Benvenuto", + "Wizard":"Wizard", + "Wizard KVM":"Wizard KVM", + "Wizard VMware":"Wizard VMware", + "Wizard XEN":"Wizard XEN", + "Write the image template here":"Scrivi il template immagine qui", + "Write the Virtual Machine template here":"Scrivi il template della macchina virtuale qui", + "Write the Virtual Network template here":"Scrivi il template della rete virtuale qui", + "x509":"x509", + "XEN":"XEN", + "Xen templates must specify a boot method":"I template Xen devono specificare un metodo di boot", + "yes":"si", + "Yes":"Si", + "You can find further information on the following links:":"", + "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"", + "You have not selected a template":"Non hai selezionato un template.", + "You have to confirm this action.":"Devi confermare questa azione.", + "You need to select something.":"Devi selezionare qualcosa.", +}; diff --git a/src/sunstone/public/locale/it_IT/it_datatable.txt b/src/sunstone/public/locale/it_IT/it_datatable.txt new file mode 100644 index 0000000000..2ef7e50156 --- /dev/null +++ b/src/sunstone/public/locale/it_IT/it_datatable.txt @@ -0,0 +1,17 @@ +{ + "sProcessing": "Caricamento...", + "sLengthMenu": "Visualizza _MENU_ elementi", + "sZeroRecords": "La ricerca non ha portato alcun risultato.", + "sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi", + "sInfoEmpty": "Vista da 0 a 0 di 0 elementi", + "sInfoFiltered": "(filtrati da _MAX_ elementi totali)", + "sInfoPostFix": "", + "sSearch": "Cerca:", + "sUrl": "", + "oPaginate": { + "sFirst": "Inizio", + "sPrevious": "Precedente", + "sNext": "Successivo", + "sLast": "Fine" + } +} diff --git a/src/sunstone/public/locale/ru/ru.js b/src/sunstone/public/locale/ru/ru.js index 5707fcb166..ba719428a4 100644 --- a/src/sunstone/public/locale/ru/ru.js +++ b/src/sunstone/public/locale/ru/ru.js @@ -3,8 +3,9 @@ lang="ru" datatable_lang="ru_datatable.txt" locale={ + "802.1Q":"", "Accept (default)":"Принять (по умолчанию)", - "Acl":"Правило контроля доступа", + "ACL":"", "ACL Rules":"Правила контроля доступа", "ACLs":"Списки контроля", "ACL String preview":"Строка, задающая правило", @@ -33,6 +34,7 @@ locale={ "Arguments for the booting kernel":"Параметры для загрузки ядра", "Authentication":"Способ аутентификации", "Authentication driver":"Драйвер аутентификации", + "Base path":"", "Block":"Block", "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"Логическое выражение, исключающее элементы из списка узлов, подходящих для запуска данной ВМ", "Boot":"Загрузка", @@ -54,9 +56,14 @@ locale={ "Change group":"Сменить группу", "Change owner":"Сменить владельца", "Change password":"Сменить пароль", + "Change password successful":"", "Changing language":"Смена языка интерфейса", "Clone":"Клонировать", "Clone this image":"Клонировать образ", + "Cluster":"", + "Cluster information":"", + "Cluster name missing!":"", + "Clusters":"", "Community":"Сообщество OpenNebula", "Configuration":"Интерфейс", "Confirmation of action":"Смена значения", @@ -70,9 +77,25 @@ locale={ "Create":"Создать", "Create ACL":"Создать правило контроля", "Create an empty datablock":"Создать пустой блок данных", + "Create cluster":"", + "Create Datastore":"", "Create group":"Создать группу", "Create host":"Укажите параметры нового узла", "Create Image":"Укажите параметры нового образа", + "Create new":"", + "Create new ACL":"", + "Create new Cluster":"", + "Create new datastore":"", + "Create new Datastore":"", + "Create new Group":"", + "Create new host":"", + "Create new Host":"", + "Create new Image":"", + "Create new User":"", + "Create new Virtual Machine":"", + "Create new virtual network":"", + "Create new Virtual Network":"", + "Create new VM Template":"", "Create user":"Укажите данные для нового пользователя", "Create Virtual Machine":"Укажите параметры виртуальной машины", "Create Virtual Network":"Укажите параметры виртуальной сети", @@ -81,6 +104,9 @@ locale={ "Current inputs":"Используемые устройства ввода", "Current leases":"Адреса виртуальной сети", "Current NICs":"Используемые контроллеры сетевого интерфейса", + "Current number of datastores in this cluster":"", + "Current number of hosts in this cluster":"", + "Current number of virtual networks in this cluster":"", "Current variables":"Используемые переменные", "Custom attribute name and value must be filled in":"Поля названия и значения пользовательского атрибута обязательны к заполнению", "Custom attributes":"Пользовательские атрибуты", @@ -89,9 +115,17 @@ locale={ "Dashboard":"Инф. панель", "Data":"Данные", "Datablock":"Блок данных", + "Datastore":"", + "Datastore information":"", + "Datastore manager":"", + "Datastores":"", + "Datastore template":"", + "Datastore Template":"", + "Datastore updated correctly":"", "Default":"По умолчанию", "Default (current image type)":"По умолчанию (текущий тип образа)", "Default (dummy)":"По умолчанию (заглушка)", + "Defaults to template name when emtpy":"", "Define a subnet by IP range":"Указать диапазон адресов", "Delete":"Удалить", "Delete host":"Удалить узел", @@ -117,16 +151,19 @@ locale={ "Driver default":"Драйвер по умолчанию", "Drivers":"Драйверы", "Drop":"Сбросить", + "DS Mad":"", "Dummy":"Заглушка", "EC2":"EC2", "Enable":"Включить", "English":"English (EN)", "Error":"Ошибка", + "Etables":"", "failed":"дефектных", "fd":"fd", "Features":"Особенности", "Fields marked with":"Поля, отмеченные символом ", "File":"Файл", + "Filesystem":"", "Filesystem type":"Тип файловой системы", "Filesystem type for the fs images":"Тип файловой системы для образов ФС", "Fill in a new password":"Введите новый пароль", @@ -141,11 +178,11 @@ locale={ "Group":"Группа", "Group ":"гр. ", "Group name":"Название группы", - "Group permissions":"Права для группы", "Groups":"Группы", "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"Аппаратное устройствое, которое будет отвечать за эмуляцию сетевого интерфейса. Для Xen это атрибут «vif».", "hd":"hd", "Historical monitoring information":"Мониторинг состояния", + "History information":"", "hold":"запретить", "Hold":"Запретить размещение", "Hold lease":"Запретить выдачу адреса", @@ -168,24 +205,29 @@ locale={ "ID":"№", "IDE":"IDE", "Image":"Образ", - "Image cannot be public and persistent":"Образ не может быть открытым и постоянным одновременно", "Image information":"Информация об образе", + "Image location":"", "Image name":"Название образа", "Images":"Образы ВМ", - "Images (total/public)":"Образы (всего/из них открытых)", "Image template":"Шаблон образа", + "Image updated correctly":"", "IM MAD":"Модуль средства мониторинга", "Info":"Информация", "information":" ", "Information":"Информация", "Information Manager":"Средство мониторинга", + "Infrastructure":"", + "Infrastructure resources":"", "Initrd":"initrd", "Inputs":"Устройства ввода", "Instantiate":"Создать экземпляр ВМ", "IP":"IP-адрес", "IP End":"до", + "IPs":"", "IP Start":"от", "IP to listen on":"IP-адрес для прослушивания", + "iSCSI":"", + "Italian":"", "Kernel":"Ядро", "Kernel commands":"Команды ядра", "Keyboard configuration locale to use in the VNC display":"Раскладка клавиатуры, используемая при работе с VNC-дисплеем", @@ -200,10 +242,17 @@ locale={ "Listen IP":"Прослушивание IP-адреса", "Live migrate":"Перенести запущенную ВМ", "Loading":"Идет загрузка", + "Loading new language... please wait":"Выполняется загрузка языковых файлов...", "MAC":"MAC-адрес", "Make non persistent":"Сделать непостоянным", "Make persistent":"Сделать постоянным", "Manage":"Управление", + "Manage cluster datastores":"", + "Manage cluster hosts":"", + "Manage cluster virtual networks":"", + "Manage unclustered datastores":"", + "Manage unclustered hosts":"", + "Manage unclustered virtual networks":"", "Manual":"Вручную", "Max Mem":"Доступно ОЗУ", "Memory":"Память", @@ -232,29 +281,31 @@ locale={ "Network is unreachable: is OpenNebula running?":"Сеть недоступна. Проверьте, запущена ли OpenNebula.", "Network mask":"Маска подсети", "Network Mask":"Маска подсети", + "Network mode":"", "Network reception":"Сеть: принято", "Network transmission":"Сеть: отправлено", "Network type":"Тип сети", - "New":"Создать новый ресурс", "+ New":"Создать", "+ New Group":"Создать группу", "New password":"Новый пароль", "No":"Нет", + "No datastores in this cluster":"", "No disk id or image name specified":"Внимание! Следует указать № диска или имя образа.", "No disks defined":"Дисков не обнаружено", + "No hosts in this cluster":"", "No leases to show":"Список пуст", "None":"Никакой", + "No virtual networks in this cluster":"", "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"Количество виртуальных процессоров. Это значение опционально, используется поведение гипервизора по умолчанию - один виртуальный ЦП.", "OK":"OK", "Open VNC Session":"Открыть VNC-сессию", + "Open vSwitch":"", "Optional, please select":"Опционально, пожалуйста выберите", "OS":"ОС", "OS and Boot options":"Опции загрузки и ОС", "Other":"Все остальные", - "Other permissions":"Права для всех остальных", "Owned by group":"Принадлежит группе", "Owner":"Владелец", - "Owner permissions":"Права владельца", "PAE":"PAE", "Password":"Пароль", "Password for the VNC server":"Пароль для VNC сервера", @@ -263,7 +314,6 @@ locale={ "Path to the initrd image":"Путь к образу initrd", "Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"Путь к исходному файлу, который будет скопирован в хранилище образов. Если путь не указан для типа образа БЛОК ДАННЫХ, то будет создан пустой образ.", "Path to the OS kernel to boot the image":"Путь к ядру ОС для загрузки образа", - "Path vs. source":"Путь к файлу образа или источник", "Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"Процент процессорного времени ЦП, предоставляемого ВМ, разделенный на 100. Например, для выделения половины процессорного времени следует указать 0.5.", "Permissions":"Права", "Permits access to the VM only through the specified ports in the TCP protocol":"Разрешить доступ к ВМ только через указанные порты протокола TCP", @@ -274,6 +324,7 @@ locale={ "Physical device":"Устройство", "Placement":"Размещение", "Please choose":"Пожалуйста выберите", + "Please, choose and modify the datastore you want to update":"", "Please, choose and modify the image you want to update":"Выберите образ и внесите необходимые изменения в его параметры", "Please, choose and modify the template you want to update":"Выберите шаблон ВМ и внесите необходимые изменения в его параметры", "Please, choose and modify the virtual machine you want to update":"Выберите ВМ и внесите необходимые изменения в его параметры", @@ -281,9 +332,9 @@ locale={ "Please choose path if you have a file-based image. Choose source otherwise or create an empty datablock disk.":"«Путь к эталонному файлу образа» — образ создается путем копирования эталонного файла образа в хранилище образов. «Источник» — в данное поле следует указывать местоположение образа (в качестве образа будет использован ресурс, непосредственно указанный в поле «Источник», а не копия этого ресурса).", "Please choose the new type of authentication for the selected users":"Укажите новый способ аутентификации для выбранных пользователей", "Please provide a lease IP":"Необходимо указать IP-адрес", - "Please provide a network address":"Укажите адрес сети", "Please provide a resource ID for the resource(s) in this rule":"Необходимо указать № ресурса(ов) для данного правила)", "Please select":"выберите", + "Please select a datastore for this image":"", "Please select at least one resource":"Необходимо выбрать по меньшей мере один ресурс", "Please specify to who this ACL applies":"Необходимо указать, к кому применять данный список контроля", "Port":"Порт", @@ -293,18 +344,18 @@ locale={ "Predefined":"По умолчанию", "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"Префикс эмулируемого устройства, на которое будет смонтирован образ. Например, «hd» и «sd». Если не указать префикс, его значение будет считано из конфигурационного файла oned.conf (значение по умолчанию — «hd»).", "Previous action":"Предыдущее действие", + "Prolog time":"", "Provide a path":"Указать путь к эталонному файлу образа", "Provide a source":"Указать источник для образа", "PS2":"PS/2", "Public":"Public", - "Public scope of the image":"Область видимости образа", - "Publish":"Сделать открытым", "Quickstart":"Типовые операции", "Ranged network":"Диапазон адресов", "Rank":"Степень", "Raw":"Исходная опция", "Raw data to be passed directly to the hypervisor":"Исходные данные, передаваемые напрямую гипервизору", "Read only":"только на чтение", + "Reason":"", "Reboot":"Перезагрузить", "Refresh list":"Обновить список", "Register time":"Время регистрации", @@ -334,19 +385,26 @@ locale={ "Script":"Скрипт", "SCSI":"SCSI", "SDL":"SDL", + "Secure websockets connection":"", + "Select a datastore":"", "Select a network":"Выберите виртуальную сеть", "Select an image":"Выберите образ", "Select a template":"Выберите шаблон", "Select a VM":"Выберите вирт. машину", "Select boot method":"Выберите метод загрузки", + "Select cluster":"", "Select disk":"Выберите диск", "Select template":"Шаблон", + "Select the datastore for this image":"", + "Select the destination cluster:":"", "Select the new group":"Выберите новую группу", "Select the new owner":"Выберите нового владельца", + "Sequence":"", "Server (Cipher)":"Server (Cipher)", "Server (x509)":"Server (x509)", "Setup Networks":"Настройка сетей", "Shared":"Общий каталог", + "shared,ssh,iscsi,dummy":"", "Shutdown":"Выключить", "Sign out":"Выйти из сервиса", "Size":"Размер", @@ -363,14 +421,22 @@ locale={ "Start time":"Время запуска", "Start Time":"Время запуска", "State":"Состояние", + "State change time":"", "Status":"Статус", "Stop":"Остановить", + "style":"", "Submitted":"Выполнено", + "Summary of infrastructure resources":"", "Summary of resources":"Использование ресурсов", + "Summary of system resources":"", + "Summary of virtual resources":"", "Sunstone UI Configuration":"Конфигурация интерфейса Sunstone", "Support":"Сведения о поддержке", "Suspend":"Приостановить работу ВМ", "Swap":"Swap", + "System":"", + "System Resources":"", + "System resources management is only accesible to users of the oneadmin group. It comprises the operations regarding OpenNebula groups, users and ACLs.":"", "Tablet":"Планшетный ПК", "Target":"Цель", "Tcp black ports":"Запрещенные TCP-порты", @@ -380,11 +446,13 @@ locale={ "Template information":"Сведения о шаблоне", "Templates":"Шаблоны ВМ", "Template updated correctly":"Шаблон успешно обновлен", + "The Infrastructure menu allows management of Hosts, Datastores, Virtual Networks. Users in the oneadmin group can manage clusters as well.":"", "There are mandatory fields missing in the capacity section":"В разделе «Производительность» не заполнены некоторые обязательные поля", "There are mandatory fields missing in the OS Boot options section":"В разделе «Загрузка и тип ОС» не заполнены некоторые обязательные поля", "There are mandatory parameters missing":"Указаны не все обязательные параметры.", "There are mandatory parameters missing in this section":"В данном разделе указаны не все обязательные параметры", - "There is no more monitoring information for host":"Отсутствуют данные по мониторингу для узла", + "There are missing network parameters":"", + "The Virtual Resources menu allows management of Virtual Machine Templates, Instances and Images.":"", "This field sets which attribute will be used to sort the suitable hosts for this VM. Basically, it defines which hosts are more suitable than others":"В данном поле устанавливается значение атрибута, используемое для ранжирования узлов, пригодных для размещения ВМ. Значение атрибута определяет, какие из узлов лучше подходят для размещения ВМ.", "This rule applies to":"Область применения", "This will cancel selected VMs":"Прервать работу выбранных ВМ", @@ -402,12 +470,15 @@ locale={ "This will resume selected stopped or suspended VMs":"Возобновить работу выбранных остановленных или приостановленных ВМ", "This will send a reboot action to running VMs":"Отправить запущенным виртуальным машинам команду на перезагрузку", "This will suspend selected machines":"Приостановить выбранные ВМ", + "TM Mad":"", "TM MAD":"Модуль средства передачи", "total":"всего", "Total Leases":"Суммарное количество адресов", + "Total time":"", "Total VM count":"Количество виртуальных машин", "Total VM CPU":"Всего ЦП для ВМ", "Total VM Memory":"Всего ОЗУ для ВМ", + "Transfer manager":"", "Transfer Manager":"Средство передачи", "Type":"Тип", "Type of disk device to emulate.":"Тип эмулируемого дискового устройства", @@ -418,17 +489,18 @@ locale={ "Udp firewall mode":"Режим брандмауэра UDP", "Udp white ports":"Разрешенные UDP-порты", "Unauthorized":"Неавторизован", - "Unpublish":"Отменить статус «Открытый»", "Update":"Сохранить изменения", "Update a template":"Редактировать шаблон", + "Update Datastore properties":"", "Update image properties":"Редактировать свойства образа", - "Update image template":"Обновить шаблон образа", "Update network properties":"Обновить свойства виртуальной сети", - "Update network template":"Обновить шаблон виртуальной сети", "Update properties":"Редактировать свойства", "Update template":"Редактировать шаблон", "Update template properties":"Свойства шаблона", "Update VM properties":"Свойства ВМ", + "Upload":"", + "Upload file":"", + "Uploading...":"", "USB":"USB", "Use":"Пользование", "Used by VM":"Используется ВМ", @@ -440,9 +512,11 @@ locale={ "Used Mem (real)":"Использовано ОЗУ (реально)", "Useful for power management, for example, normally required for graceful shutdown to work":"Требуется для корректного завершения работы ВМ средствами системы виртуализации", "User":"Пользователь", + "User information":"", "Username":"Имя пользователя", "User name and password must be filled in":"Необходимо указать и имя пользователя, и пароль", "Users":"Пользователи", + "User template":"", "Value":"Значение", "Value of the context variable":"Значение контекстной переменной", "Value of the custom variable":"Значение пользовательской перменной", @@ -455,11 +529,12 @@ locale={ "Virtual Network":"Виртуальная сеть", "Virtual network information":"Информация о виртуальной сети", "Virtual Network information":"Информация о виртуальной сети", - "Virtual Network Manager":"Средство управления вирт. сетью", "Virtual Network name missing!":"Отсутствует название виртуальной сети!", "Virtual Networks":"Вирт. сети", - "Virtual Networks (total/public)":"Виртуальные сети (всего/из них открытых)", "Virtual Network template (attributes)":"Шаблон виртуальной сети (атрибуты)", + "Virtual Resources":"", + "VLAN":"", + "VLAN ID":"", "VM information":"Информация о ВМ", "VM Instance":"Экземпляр ВМ", "VM Instances":"Экземпляры ВМ", @@ -472,13 +547,12 @@ locale={ "VM template":"Шаблон ВМ", "VM Template":"Шаблон ВМ", "VM Templates":"Шаблоны ВМ", - "VM Templates (total/public)":"Шаблоны ВМ (всего/из них открытых)", + "VMware":"", "VNC":"VNC", "VNC Access":"Доступ по VNC", "VNC connection":"VNC соединение", "VNC Disabled":"VNC недоступно", "VNC Session":"VNC сессия", - "VNET ID":"VNET ID", "VN MAD":"Модуль средства управления вирт. сетью", "Welcome":"Текущий пользователь:", "Wizard":"Мастер настройки", @@ -493,21 +567,9 @@ locale={ "Xen templates must specify a boot method":"В шаблон Xen необходимо указывать метод загрузки", "yes":"да", "Yes":"Да", + "You can find further information on the following links:":"", + "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"", "You have not selected a template":"Вы не выбрали шаблон", "You have to confirm this action.":"Необходимо подтвердить данную операцию.", "You need to select something.":"Вы должны что-нибудь выбрать.", - - // ********************************* - "active":"активных", - "cpu_usage":"использование", - "error":"ошибки", - "Loading new language... please wait":"Выполняется загрузка языковых файлов...", - "max_cpu":"максимально", - "max_mem":"максимально", - "mem_usage":"использование", - "net_rx":"принято", - "net_tx":"отправлено", - "no":"нет", - "used_cpu":"использовано", - "used_mem":"использовано", }; From 4b4571d3b5757cc782876561c65cbb0434869cd6 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Thu, 29 Mar 2012 19:37:53 +0200 Subject: [PATCH 02/15] Ozones: Fix typo and missing requires for aggregated resources. --- src/ozones/Server/lib/OZones.rb | 4 +++- src/ozones/Server/lib/OZones/Zones.rb | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ozones/Server/lib/OZones.rb b/src/ozones/Server/lib/OZones.rb index ef23523154..6c6ea20e7c 100644 --- a/src/ozones/Server/lib/OZones.rb +++ b/src/ozones/Server/lib/OZones.rb @@ -27,6 +27,8 @@ require 'OZones/AggregatedVirtualNetworks' require 'OZones/AggregatedImages' require 'OZones/AggregatedUsers' require 'OZones/AggregatedTemplates' +require 'OZones/AggregatedClusters' +require 'OZones/AggregatedDatastores' require 'openssl' require 'digest/sha1' @@ -71,4 +73,4 @@ module OZones def self.str_to_json(str) return JSON.pretty_generate({:message => str}) end -end \ No newline at end of file +end diff --git a/src/ozones/Server/lib/OZones/Zones.rb b/src/ozones/Server/lib/OZones/Zones.rb index 4ec6fac7bd..95300c0d0d 100644 --- a/src/ozones/Server/lib/OZones/Zones.rb +++ b/src/ozones/Server/lib/OZones/Zones.rb @@ -219,9 +219,9 @@ module OZones when "template","vmtemplate" then OZones::AggregatedTemplates.new when "cluster" then - OZones::AggregatedCluster.new + OZones::AggregatedClusters.new when "datastore" then - OZones::AggregatedDatastore.new + OZones::AggregatedDatastores.new else error = OZones::Error.new("Error: Pool #{pool_kind} not" \ " supported for aggregated zone view") From e86a32ddc4b55313a6c4c5403550fd5900539396 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Tue, 3 Apr 2012 17:14:07 +0200 Subject: [PATCH 03/15] Bug #1195: Tentative fix. Seems to fix some weirdness regarding language changes in Sunstone which might be related to session being rebuilt on page reload. --- src/sunstone/public/js/locale.js | 8 ++++++-- src/sunstone/public/js/sunstone-util.js | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/sunstone/public/js/locale.js b/src/sunstone/public/js/locale.js index b3a43d4c0e..a029ff8d34 100644 --- a/src/sunstone/public/js/locale.js +++ b/src/sunstone/public/js/locale.js @@ -58,10 +58,14 @@ function setLang(lang_str){ id: uid, extra_param: template_str }, - error: onError + error: onError, + success: function() { + $.post('config',JSON.stringify({lang:lang_tmp}),function(){ + window.location.href = "."; + }); + }, }; OpenNebula.User.update(obj); - $.post('config',JSON.stringify({lang:lang_tmp}),function(){window.location.href = "."}); }; diff --git a/src/sunstone/public/js/sunstone-util.js b/src/sunstone/public/js/sunstone-util.js index 7877635b51..39fae61534 100644 --- a/src/sunstone/public/js/sunstone-util.js +++ b/src/sunstone/public/js/sunstone-util.js @@ -747,6 +747,9 @@ function setupTemplateUpdateDialog(){ return false; }; + //Workaround so deletion of templates is allowed. + if (!new_template) new_template=" "; + var resource = $(this).val(); Sunstone.runAction(resource+".update",id,new_template); dialog.dialog('close'); From b3b68c0fdc24f3bc1373bee8ad914d2792da6bea Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 4 Apr 2012 11:14:28 +0200 Subject: [PATCH 04/15] Ozones: do not allow creating vdc with non clustered resources --- src/ozones/Server/public/js/plugins/vdcs-tab.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ozones/Server/public/js/plugins/vdcs-tab.js b/src/ozones/Server/public/js/plugins/vdcs-tab.js index 858beb081b..29bf077e10 100644 --- a/src/ozones/Server/public/js/plugins/vdcs-tab.js +++ b/src/ozones/Server/public/js/plugins/vdcs-tab.js @@ -241,7 +241,6 @@ var vdc_actions = { call: oZones.Zone.cluster, callback: function(req, list_json){ var options=''; - options += ''; $.each(list_json,function(){ options += ''; }); @@ -440,7 +439,7 @@ function updateVDCInfo(req,vdc_json){ }; function inCluster(resCluster, selCluster){ - if (selCluster == "-")//cluster none + if (selCluster == "-")//cluster none, unused return resCluster == "-1"; else return resCluster == selCluster; }; From 73cb2add62090717c27b178aea80602e3efbdb11 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 4 Apr 2012 11:24:25 +0200 Subject: [PATCH 05/15] Bug #1198: Apply suggested to_i --- src/sunstone/sunstone-server.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sunstone/sunstone-server.rb b/src/sunstone/sunstone-server.rb index de1414a584..ccd8ff677c 100755 --- a/src/sunstone/sunstone-server.rb +++ b/src/sunstone/sunstone-server.rb @@ -292,8 +292,8 @@ get '/:resource/monitor' do nil, params[:resource], params[:monitor_resources], - :uid => session[:user_id], - :gid => session[:user_gid]) + :uid => session[:user_id].to_i, + :gid => session[:user_gid].to_i) end get '/:resource/:id/monitor' do @@ -301,8 +301,8 @@ get '/:resource/:id/monitor' do params[:id], params[:resource], params[:monitor_resources], - :uid => session[:user_id], - :gid => session[:user_gid]) + :uid => session[:user_id].to_i, + :gid => session[:user_gid].to_i) end From 195c22b1691a86dcffe2caa7317c318d2bb7c1cd Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 4 Apr 2012 16:21:47 +0200 Subject: [PATCH 06/15] Small UIs fixes Improve certain requests in Sunstone which worked but were malformed. Fix dashboard links in SelfService. Increase menu column size. Fix vm show for machines with no history (not deployed). --- src/cloud/occi/lib/ui/public/js/layout.js | 2 +- .../lib/ui/public/js/plugins/dashboard.js | 8 ++++---- .../public/js/plugins/datastores-tab.js | 4 ---- src/sunstone/public/js/plugins/images-tab.js | 5 +++-- .../public/js/plugins/templates-tab.js | 2 +- src/sunstone/public/js/plugins/users-tab.js | 4 ++-- src/sunstone/public/js/plugins/vms-tab.js | 19 ++++++++++--------- src/sunstone/public/js/plugins/vnets-tab.js | 2 +- 8 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/cloud/occi/lib/ui/public/js/layout.js b/src/cloud/occi/lib/ui/public/js/layout.js index 2fee0f93e9..62bad60e5e 100644 --- a/src/cloud/occi/lib/ui/public/js/layout.js +++ b/src/cloud/occi/lib/ui/public/js/layout.js @@ -133,7 +133,7 @@ $(document).ready(function () { applyDefaultStyles: false , center__paneSelector: ".outer-center" , west__paneSelector: ".outer-west" - , west__size: 133 + , west__size: 160 , north__size: 26 , south__size: 26 , spacing_open: 0 // ALL panes diff --git a/src/cloud/occi/lib/ui/public/js/plugins/dashboard.js b/src/cloud/occi/lib/ui/public/js/plugins/dashboard.js index 47b53d6278..960f93d49c 100644 --- a/src/cloud/occi/lib/ui/public/js/plugins/dashboard.js +++ b/src/cloud/occi/lib/ui/public/js/plugins/dashboard.js @@ -149,14 +149,14 @@ $(document).ready(function(){ }); $('.tab_link').click(function(){ - var to= $(this).attr('href'); - $('.outer-west ul li.topTab a[href="'+to+'"]').trigger("click"); + var to= $(this).attr('href').slice(1); + $('.outer-west ul li#li_'+to).trigger("click"); return false; }); $('.action_link').click(function(){ - var to= $(this).attr('href'); - $('.outer-west ul li.topTab a[href="'+to+'"]').trigger("click"); + var to= $(this).attr('href').slice(1); + $('.outer-west ul li#li_'+to).trigger("click"); var action = $(this).attr('action'); Sunstone.runAction(action); diff --git a/src/sunstone/public/js/plugins/datastores-tab.js b/src/sunstone/public/js/plugins/datastores-tab.js index adf2ac61dc..f240864740 100644 --- a/src/sunstone/public/js/plugins/datastores-tab.js +++ b/src/sunstone/public/js/plugins/datastores-tab.js @@ -331,10 +331,6 @@ function datastoreElements() { return getSelectedNodes(dataTable_datastores); } -function vmShow(req) { - Sunstone.runAction("Datastore.show",req.request.data[0]); -} - function datastoreElementArray(element_json){ var element = element_json.DATASTORE; diff --git a/src/sunstone/public/js/plugins/images-tab.js b/src/sunstone/public/js/plugins/images-tab.js index 8ba9bc5005..1c4b0e9516 100644 --- a/src/sunstone/public/js/plugins/images-tab.js +++ b/src/sunstone/public/js/plugins/images-tab.js @@ -415,7 +415,7 @@ var image_actions = { type: "single", call: OpenNebula.Image.chtype, callback: function (req) { - Sunstone.runAction("Image.show",req.request.data[0]); + Sunstone.runAction("Image.show",req.request.data[0][0]); }, elements: imageElements, error: onError, @@ -804,6 +804,7 @@ function setupCreateImageDialog(){ action: 'upload', multiple: false, params: {}, + sizeLimit: 0, showMessage: function(message){ //notifyMessage(message); }, @@ -813,7 +814,7 @@ function setupCreateImageDialog(){ file: fileName }); var pos_top = $(window).height() - 120; - var pos_left = 140; + var pos_left = 190; var pb_dialog = $('
'+ '
'+ diff --git a/src/sunstone/public/js/plugins/templates-tab.js b/src/sunstone/public/js/plugins/templates-tab.js index e56070b9c9..7bede7344b 100644 --- a/src/sunstone/public/js/plugins/templates-tab.js +++ b/src/sunstone/public/js/plugins/templates-tab.js @@ -839,7 +839,7 @@ function templateElements(){ //Runs a show action on the template with from a prev request function templateShow(req){ - Sunstone.runAction("Template.show",req.request.data[0]); + Sunstone.runAction("Template.show",req.request.data[0][0]); } // Returns an array containing the values of the template_json and ready diff --git a/src/sunstone/public/js/plugins/users-tab.js b/src/sunstone/public/js/plugins/users-tab.js index 720c8d3a70..eecb866490 100644 --- a/src/sunstone/public/js/plugins/users-tab.js +++ b/src/sunstone/public/js/plugins/users-tab.js @@ -141,7 +141,7 @@ var user_actions = { type: "multiple", call: OpenNebula.User.chgrp, callback : function(req){ - Sunstone.runAction("User.show",req.request.data[0]); + Sunstone.runAction("User.show",req.request.data[0][0]); }, elements : userElements, error: onError, @@ -152,7 +152,7 @@ var user_actions = { type: "multiple", call: OpenNebula.User.chauth, callback : function(req){ - Sunstone.runAction("User.show",req.request.data[0]); + Sunstone.runAction("User.show",req.request.data[0][0]); }, elements: userElements, error: onError, diff --git a/src/sunstone/public/js/plugins/vms-tab.js b/src/sunstone/public/js/plugins/vms-tab.js index 0743c1208c..fbdc28b3ae 100644 --- a/src/sunstone/public/js/plugins/vms-tab.js +++ b/src/sunstone/public/js/plugins/vms-tab.js @@ -598,7 +598,7 @@ var vm_info_panel = { title: tr("History information"), content: "", } -} +}; var vms_tab = { title: tr("Virtual Machines"), @@ -606,7 +606,7 @@ var vms_tab = { buttons: vm_buttons, tabClass: 'subTab', parentTab: 'vres_tab' -} +}; Sunstone.addActions(vm_actions); Sunstone.addMainTab('vms_tab',vms_tab); @@ -615,11 +615,11 @@ Sunstone.addInfoPanel('vm_info_panel',vm_info_panel); function vmElements() { return getSelectedNodes(dataTable_vMachines); -} +}; function vmShow(req) { Sunstone.runAction("VM.show",req.request.data[0]); -} +}; // Returns a human readable running time for a VM function str_start_time(vm){ @@ -740,11 +740,12 @@ function generateHistoryTable(vm){ '; var history = []; - - if ($.isArray(vm.HISTORY_RECORDS.HISTORY)) - history = vm.HISTORY_RECORDS.HISTORY; - else if (vm.HISTORY_RECORDS.HISTORY.SEQ) - history = [vm.HISTORY_RECORDS.HISTORY]; + if (vm.HISTORY_RECORDS.HISTORY){ + if ($.isArray(vm.HISTORY_RECORDS.HISTORY)) + history = vm.HISTORY_RECORDS.HISTORY; + else if (vm.HISTORY_RECORDS.HISTORY.SEQ) + history = [vm.HISTORY_RECORDS.HISTORY]; + }; var now = Math.round(new Date().getTime() / 1000); diff --git a/src/sunstone/public/js/plugins/vnets-tab.js b/src/sunstone/public/js/plugins/vnets-tab.js index f5047ebd87..4f88366054 100644 --- a/src/sunstone/public/js/plugins/vnets-tab.js +++ b/src/sunstone/public/js/plugins/vnets-tab.js @@ -473,7 +473,7 @@ function vnElements(){ } function vnShow(req){ - Sunstone.runAction("Network.show",req.request.data[0]); + Sunstone.runAction("Network.show",req.request.data[0][0]); } //returns an array with the VNET information fetched from the JSON object From f7df921e3e7559056a6bea0905a77bc5bad97a5e Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Thu, 5 Apr 2012 11:03:11 +0200 Subject: [PATCH 07/15] Enlarge VDC dialog so image fits best --- src/cloud/occi/lib/ui/public/js/plugins/compute.js | 2 +- src/sunstone/public/js/plugins/vms-tab.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cloud/occi/lib/ui/public/js/plugins/compute.js b/src/cloud/occi/lib/ui/public/js/plugins/compute.js index 99402b25a0..cedf1210e1 100644 --- a/src/cloud/occi/lib/ui/public/js/plugins/compute.js +++ b/src/cloud/occi/lib/ui/public/js/plugins/compute.js @@ -993,7 +993,7 @@ function setupVNC(){ dialog.dialog({ autoOpen:false, - width:700, + width:750, modal:true, height:500, resizable:true, diff --git a/src/sunstone/public/js/plugins/vms-tab.js b/src/sunstone/public/js/plugins/vms-tab.js index fbdc28b3ae..17da0972ea 100644 --- a/src/sunstone/public/js/plugins/vms-tab.js +++ b/src/sunstone/public/js/plugins/vms-tab.js @@ -1289,7 +1289,7 @@ function setupVNC(){ dialog.dialog({ autoOpen:false, - width:700, + width:750, modal:true, height:500, resizable:true, From 6ccc60f2ddaee0a51a6cff92abb886b11077a198 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Fri, 6 Apr 2012 11:48:22 +0200 Subject: [PATCH 08/15] Feature #1186: update italian for 3.4 release --- src/sunstone/public/locale/it_IT/it_IT.js | 186 +++++++++++----------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/src/sunstone/public/locale/it_IT/it_IT.js b/src/sunstone/public/locale/it_IT/it_IT.js index 69a9f0c8c7..e1d000d309 100644 --- a/src/sunstone/public/locale/it_IT/it_IT.js +++ b/src/sunstone/public/locale/it_IT/it_IT.js @@ -2,9 +2,9 @@ lang="it_IT" datatable_lang="it_datatable.txt" locale={ - "802.1Q":"", + "802.1Q":"802.1Q", "Accept (default)":"Accetta (default)", - "ACL":"", + "ACL":"ACL", "ACL Rules":"Regole ACL", "ACLs":"ACL", "ACL String preview":"Anteprima stringa ACL", @@ -33,7 +33,7 @@ locale={ "Arguments for the booting kernel":"Argomenti per l'avvio del kernel", "Authentication":"Autenticazione", "Authentication driver":"Driver di Autenticazione", - "Base path":"", + "Base path":"Percorso base", "Block":"Blocco", "Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"Espressione booleana che esclude il provisioning degli host dalla lista di macchine adatte a eseguire questa VM", "Boot":"Boot", @@ -55,14 +55,14 @@ locale={ "Change group":"Cambia gruppo", "Change owner":"Cambia proprietario", "Change password":"Cambia password", - "Change password successful":"", + "Change password successful":"Cambio password avvenuto con successo", "Changing language":"Cambiamento linguaggio", "Clone":"Clona", "Clone this image":"Clona questa immagine", - "Cluster":"", - "Cluster information":"", - "Cluster name missing!":"", - "Clusters":"", + "Cluster":"Cluster", + "Cluster information":"Informazioni sul cluster", + "Cluster name missing!":"Nome del cluster mancante!", + "Clusters":"Clusters", "Community":"Comunità", "Configuration":"Configurazione", "Confirmation of action":"Conferma azione", @@ -76,25 +76,25 @@ locale={ "Create":"Crea", "Create ACL":"Crea ACL", "Create an empty datablock":"Crea un datablock vuoto", - "Create cluster":"", - "Create Datastore":"", + "Create cluster":"Crea cluster", + "Create Datastore":"Crea Datastore", "Create group":"Crea gruppo", "Create host":"Crea nodo", "Create Image":"Crea immagine", - "Create new":"", - "Create new ACL":"", - "Create new Cluster":"", - "Create new datastore":"", - "Create new Datastore":"", - "Create new Group":"", - "Create new host":"", - "Create new Host":"", - "Create new Image":"", - "Create new User":"", - "Create new Virtual Machine":"", - "Create new virtual network":"", - "Create new Virtual Network":"", - "Create new VM Template":"", + "Create new":"Crea nuovo", + "Create new ACL":"Crea nuova ACL", + "Create new Cluster":"Crea nuovo cluster", + "Create new datastore":"Crea nuovo datastore", + "Create new Datastore":"Crea nuovo Datastore", + "Create new Group":"Crea nuovo Gruppo", + "Create new host":"Crea nuovo nodo", + "Create new Host":"Crea nuovo Nodo", + "Create new Image":"Crea nuova Immagine", + "Create new User":"Crea nuovo Utente", + "Create new Virtual Machine":"Crea una nuova Macchina Virtuale", + "Create new virtual network":"Crea una nuova rete virtuale", + "Create new Virtual Network":"Crea una nuova Rete Virtuale", + "Create new VM Template":"Crea un nuovo template per la macchina virtuale", "Create user":"Crea utente", "Create Virtual Machine":"Crea macchina virtuale (VM)", "Create Virtual Network":"Crea rete virtuale", @@ -103,9 +103,9 @@ locale={ "Current inputs":"Input attuali", "Current leases":"Lease attuali", "Current NICs":"Schede di rete attuali", - "Current number of datastores in this cluster":"", - "Current number of hosts in this cluster":"", - "Current number of virtual networks in this cluster":"", + "Current number of datastores in this cluster":"Numero attuale di datastore in questo cluster", + "Current number of hosts in this cluster":"Numero attuale di nodi in questo cluster", + "Current number of virtual networks in this cluster":"Numero attuale di reti virtuali in questo cluster", "Current variables":"Variabili attuali", "Custom attribute name and value must be filled in":"Nome attributo custom e valure da inserire", "Custom attributes":"Attributi custom", @@ -114,17 +114,17 @@ locale={ "Dashboard":"Dashboard", "Data":"Data", "Datablock":"Datablock", - "Datastore":"", - "Datastore information":"", - "Datastore manager":"", - "Datastores":"", - "Datastore template":"", - "Datastore Template":"", - "Datastore updated correctly":"", + "Datastore":"Datastore", + "Datastore information":"Informazioni sul Datastore", + "Datastore manager":"Gestione Datastore", + "Datastores":"Datastores", + "Datastore template":"template Datastore", + "Datastore Template":"Template Datastore", + "Datastore updated correctly":"Datastore aggiornato correttamente", "Default":"Default", "Default (current image type)":"Default (tipo di immagine attuale)", - "Default (dummy)":"", - "Defaults to template name when emtpy":"", + "Default (dummy)":"Default (dummy)", + "Defaults to template name when emtpy":"Nome di template di default se vuoto", "Define a subnet by IP range":"Definisci una subnet tramite un range IP", "Delete":"Cancella", "Delete host":"Cancella nodo", @@ -150,19 +150,19 @@ locale={ "Driver default":"Driver default", "Drivers":"Drivers", "Drop":"Drop", - "DS Mad":"", + "DS Mad":"DS Mad", "Dummy":"Dummy", "EC2":"EC2", "Enable":"Abilita", "English":"Inglese", "Error":"Errore", - "Etables":"", + "Etables":"Etables", "failed":"fallito", "fd":"fd", "Features":"Funzionalità", "Fields marked with":"Campi marcati con", "File":"File", - "Filesystem":"", + "Filesystem":"Filesystem", "Filesystem type":"Tipo di filesystem", "Filesystem type for the fs images":"Tipo di filesystem per queste immagini fs", "Fill in a new password":"Indica una nuova password", @@ -181,7 +181,7 @@ locale={ "Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"Hardware per l'emulazione dell'interfaccia di rete. In Xen type attribute del vif.", "hd":"hd", "Historical monitoring information":"Storico delle informazioni di monitoraggio", - "History information":"", + "History information":"Storico informazioni", "hold":"trattieni", "Hold":"Trattieni", "Hold lease":"Trattieni lease", @@ -205,28 +205,28 @@ locale={ "IDE":"IDE", "Image":"Immagine", "Image information":"Informazioni immagine", - "Image location":"", + "Image location":"Posizione immagine", "Image name":"Nome immagine", "Images":"Immagini", "Image template":"Template immagine", - "Image updated correctly":"", + "Image updated correctly":"Immagine caricata correttamente", "IM MAD":"IM MAD", "Info":"Info", "information":"Informazioni", "Information":"Informazioni", "Information Manager":"Information manager", - "Infrastructure":"", - "Infrastructure resources":"", + "Infrastructure":"Infrastruttura", + "Infrastructure resources":"Risorse Infrastruttura", "Initrd":"Initrd", "Inputs":"Ingressi", "Instantiate":"Istanza", "IP":"IP", "IP End":"IP fine", - "IPs":"", + "IPs":"IPs", "IP Start":"IP inizio", "IP to listen on":"IP su cui restare in ascolto", - "iSCSI":"", - "Italian":"", + "iSCSI":"iSCSI", + "Italian":"Italiano", "Kernel":"Kernel", "Kernel commands":"Comandi kernel", "Keyboard configuration locale to use in the VNC display":"Configurazione del layout della tastiera per il display VNC", @@ -246,12 +246,12 @@ locale={ "Make non persistent":"Rendi non persistente", "Make persistent":"Rendi persistente", "Manage":"Gestisci", - "Manage cluster datastores":"", - "Manage cluster hosts":"", - "Manage cluster virtual networks":"", - "Manage unclustered datastores":"", - "Manage unclustered hosts":"", - "Manage unclustered virtual networks":"", + "Manage cluster datastores":"Gestisci datastore del cluster", + "Manage cluster hosts":"Gestisci nodi del cluster", + "Manage cluster virtual networks":"Gestisci reti virtuali del cluster", + "Manage unclustered datastores":"Gestisci datastore non appartenenti a un cluster", + "Manage unclustered hosts":"Gestisci nodi non appartenenti a un cluster", + "Manage unclustered virtual networks":"Gestisci reti virtuali non appartenenti a un cluster", "Manual":"Manuale", "Max Mem":"Max Mem", "Memory":"Memoria", @@ -280,7 +280,7 @@ locale={ "Network is unreachable: is OpenNebula running?":"Rete non raggiungibile. Opennebula attivo?", "Network mask":"maschera di rete", "Network Mask":"Maschera di rete", - "Network mode":"", + "Network mode":"Modo di rete", "Network reception":"Ricezione rete", "Network transmission":"Trasmissione rete", "Network type":"Tipo di rete", @@ -288,17 +288,17 @@ locale={ "+ New Group":"+ Nuovo gruppo", "New password":"Nuova password", "No":"No", - "No datastores in this cluster":"", + "No datastores in this cluster":"Non ci sono datastore in questo cluster", "No disk id or image name specified":"ID disco o nome immagine non specificato", "No disks defined":"Disco non definito", - "No hosts in this cluster":"", + "No hosts in this cluster":"Non ci sono nodi in questo cluster", "No leases to show":"Nessun lease da mostrare", "None":"Nessuno", - "No virtual networks in this cluster":"", + "No virtual networks in this cluster":"Non ci sono reti virtuali in questo cluster", "Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"Numero delle CPU virtuali (opzionale). Questo valore è opzionale, se non configurato verrà usato la configurazione predefinita dell'hypervisor, di norma una CPU virtuale.", "OK":"OK", "Open VNC Session":"Sessione VNC aperta", - "Open vSwitch":"", + "Open vSwitch":"Open vSwitch", "Optional, please select":"Opzionale, selezionate", "OS":"OS", "OS and Boot options":"Opzioni OS e boot", @@ -323,7 +323,7 @@ locale={ "Physical device":"Device fisico", "Placement":"Posizionamento", "Please choose":"Selezionare", - "Please, choose and modify the datastore you want to update":"", + "Please, choose and modify the datastore you want to update":"Scegliere quale datastore modificare", "Please, choose and modify the image you want to update":"Scegliere quale immagine modificare", "Please, choose and modify the template you want to update":"Scegliere quale template modificare", "Please, choose and modify the virtual machine you want to update":"Scegliere quale VM modificare", @@ -333,7 +333,7 @@ locale={ "Please provide a lease IP":"Indicate un IP lease", "Please provide a resource ID for the resource(s) in this rule":"Indicate un resource ID per le risorse in questa regola", "Please select":"Selezionare", - "Please select a datastore for this image":"", + "Please select a datastore for this image":"Selezionare un datastore per questa immagine", "Please select at least one resource":"Selezionare almeno una risorsa", "Please specify to who this ACL applies":"Indicare a chi si appplica questa ACL", "Port":"Port", @@ -343,7 +343,7 @@ locale={ "Predefined":"Predefinito", "Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"Prefisso del dispositivo emulato da montare. Ad esempio, “hd“ o “sd“. Se omesso, viene utilizzato il valore di default.", "Previous action":"Azione precedente", - "Prolog time":"", + "Prolog time":"Tempo di Prolog", "Provide a path":"Indicare un percorso", "Provide a source":"Indicare una sorgente", "PS2":"PS2", @@ -354,7 +354,7 @@ locale={ "Raw":"Raw", "Raw data to be passed directly to the hypervisor":"Dati raw passati direttamente all'hypervisor", "Read only":"Sola lettura", - "Reason":"", + "Reason":"Ragione", "Reboot":"Reboot", "Refresh list":"Aggiorna lista", "Register time":"Register time", @@ -384,26 +384,26 @@ locale={ "Script":"Script", "SCSI":"SCSI", "SDL":"SDL", - "Secure websockets connection":"", - "Select a datastore":"", + "Secure websockets connection":"Connessione websocket sicura", + "Select a datastore":"Selezionare un datastore", "Select a network":"Seleziona una rete", "Select an image":"Seleziona una immagine", "Select a template":"Seleziona un template", "Select a VM":"Seleziona una VM", "Select boot method":"Seleziona il metodo di boot", - "Select cluster":"", + "Select cluster":"Selezionare un cluster", "Select disk":"Seleziona disco", "Select template":"Seleziona template", - "Select the datastore for this image":"", - "Select the destination cluster:":"", + "Select the datastore for this image":"Selezionare un datastore per questa immagine", + "Select the destination cluster:":"Selezionare il cluster di destinazione", "Select the new group":"Seleziona il nuovo gruppo", "Select the new owner":"Seleziona il nuovo proprietario", - "Sequence":"", + "Sequence":"Sequenza", "Server (Cipher)":"Server (cifratura)", "Server (x509)":"Server (x509)", "Setup Networks":"Configurazione reti", "Shared":"Condiviso", - "shared,ssh,iscsi,dummy":"", + "shared,ssh,iscsi,dummy":"condiviso,ssh,iscsi,dummy", "Shutdown":"Shutdown", "Sign out":"Logout", "Size":"Dimensione", @@ -420,22 +420,22 @@ locale={ "Start time":"Istante di avvio", "Start Time":"Istante di avvio", "State":"Stato", - "State change time":"", + "State change time":"Tempo di cambio stato", "Status":"Status", "Stop":"Stop", - "style":"", + "style":"stile", "Submitted":"Inviato", - "Summary of infrastructure resources":"", + "Summary of infrastructure resources":"Sommario delle risorse di infrastruttura", "Summary of resources":"Sommario risorse", - "Summary of system resources":"", - "Summary of virtual resources":"", + "Summary of system resources":"Sommario delle risorse di sistema", + "Summary of virtual resources":"Sommario delle risorse virtuali", "Sunstone UI Configuration":"Configurazione UI Sunstone", "Support":"Supporto", "Suspend":"Suspend", "Swap":"Swap", - "System":"", - "System Resources":"", - "System resources management is only accesible to users of the oneadmin group. It comprises the operations regarding OpenNebula groups, users and ACLs.":"", + "System":"Sistema", + "System Resources":"Risorse di sistema", + "System resources management is only accesible to users of the oneadmin group. It comprises the operations regarding OpenNebula groups, users and ACLs.":"La gestione risorse di sistema risulta accessibile solo agli utenti del gruppo oneadmin. Include le funzioni su utenti, gruppi e ACL.", "Tablet":"Tablet", "Target":"Target", "Tcp black ports":"Porte TCP in blacklist", @@ -445,13 +445,13 @@ locale={ "Template information":"Informazioni template", "Templates":"Template", "Template updated correctly":"Template modificato correttamente.", - "The Infrastructure menu allows management of Hosts, Datastores, Virtual Networks. Users in the oneadmin group can manage clusters as well.":"", + "The Infrastructure menu allows management of Hosts, Datastores, Virtual Networks. Users in the oneadmin group can manage clusters as well.":"Il menu infrastruttura consente la gestione dei nodi, datastore e reti virtuali. Gli utenti del gruppo oneadmin possono inoltre gestire i cluster.", "There are mandatory fields missing in the capacity section":"Ci sono dei campi mancanti nella sezione capacità", "There are mandatory fields missing in the OS Boot options section":"Ci sono dei campi mancanti nella sezione boot OS", "There are mandatory parameters missing":"Ci sono dei campi obbligatori non compilati", "There are mandatory parameters missing in this section":"Ci sono dei campi obbligatori non compilati in questa sezione", - "There are missing network parameters":"", - "The Virtual Resources menu allows management of Virtual Machine Templates, Instances and Images.":"", + "There are missing network parameters":"Ci sono parametri di rete mancanti", + "The Virtual Resources menu allows management of Virtual Machine Templates, Instances and Images.":"Il menu Risorse Virtuali consente la gestione dei template delle macchine virtuali, delle istanze e delle immagini.", "This field sets which attribute will be used to sort the suitable hosts for this VM. Basically, it defines which hosts are more suitable than others":"Questo campo indica quale attributo utilizzare per il posizionamento delle VM", "This rule applies to":"Questa regola si applica a", "This will cancel selected VMs":"Questo cancellerà le VM selezionate", @@ -469,15 +469,15 @@ locale={ "This will resume selected stopped or suspended VMs":"Questo effettuerà il resume delle VM ferme o in sospensione", "This will send a reboot action to running VMs":"Questo effettuerà il reboot delle VM in esecuzione", "This will suspend selected machines":"Questo effettuerà il suspend delle macchine selezionate", - "TM Mad":"", + "TM Mad":"TM Mad", "TM MAD":"TM MAD", "total":"totale", "Total Leases":"Totale lease", - "Total time":"", + "Total time":"Tempo totale", "Total VM count":"Numero VM totale", "Total VM CPU":"VM CPU totali", "Total VM Memory":"Memoria VM totale", - "Transfer manager":"", + "Transfer manager":"Transfer manager", "Transfer Manager":"Transfer manager", "Type":"Tipo", "Type of disk device to emulate.":"Tipo del dispositivo disco da emulare", @@ -490,16 +490,16 @@ locale={ "Unauthorized":"Non autorizzato", "Update":"Modifica", "Update a template":"Modifica un template", - "Update Datastore properties":"", + "Update Datastore properties":"Modifica proprietà Datastore", "Update image properties":"Modifica proprietà immagine", "Update network properties":"Modifica proprietà di rete", "Update properties":"Modifica proprietà", "Update template":"Modifica template", "Update template properties":"Modifica proprietà template", "Update VM properties":"Modifica proprietà VM", - "Upload":"", - "Upload file":"", - "Uploading...":"", + "Upload":"Carica", + "Upload file":"Carica file", + "Uploading...":"Caricamento...", "USB":"USB", "Use":"Usa", "Used by VM":"Usato dalla VM", @@ -531,9 +531,9 @@ locale={ "Virtual Network name missing!":"Nome della rete virtuale mancante!", "Virtual Networks":"Reti Virtuali", "Virtual Network template (attributes)":"Template rete virtuale (attributi)", - "Virtual Resources":"", - "VLAN":"", - "VLAN ID":"", + "Virtual Resources":"Risorse virtuali", + "VLAN":"VLAN", + "VLAN ID":"ID VLAN", "VM information":"Informazioni VM", "VM Instance":"Istanza VM", "VM Instances":"Istanze VM", @@ -546,7 +546,7 @@ locale={ "VM template":"template VM", "VM Template":"Template VM", "VM Templates":"Templates VM", - "VMware":"", + "VMware":"VMware", "VNC":"VNC", "VNC Access":"Accesso VNC", "VNC connection":"Connessione VNC", @@ -566,8 +566,8 @@ locale={ "Xen templates must specify a boot method":"I template Xen devono specificare un metodo di boot", "yes":"si", "Yes":"Si", - "You can find further information on the following links:":"", - "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"", + "You can find further information on the following links:":"Puoi trovare ulteriori informazioni ai seguenti collegamenti:", + "You can use the wildcard %i. When creating several VMs, %i will be replaced with a different number starting from 0 in each of them":"Puoi usare la wildcard %i. Quando crei più VM, %i sarà sostituito con un numero differente partendo da 0 in ognuna di esse", "You have not selected a template":"Non hai selezionato un template.", "You have to confirm this action.":"Devi confermare questa azione.", "You need to select something.":"Devi selezionare qualcosa.", From 480ea1609819c0511b2ade64fa62cbdf2864c1af Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Fri, 13 Apr 2012 15:53:42 +0200 Subject: [PATCH 09/15] Feature #938: Update tests to work with latest master and 3.4 release --- src/ozones/test/examples/pool/vdcpool0.json | 91 ++++++++++++++++--- .../test/examples/pool/vdcpool_deleted.json | 62 +++++++++++-- src/ozones/test/examples/pool/zonepool0.json | 20 ++-- .../test/examples/pool/zonepool_deleted.json | 10 +- src/ozones/test/examples/vdc/vdc0.json | 33 ++++++- src/ozones/test/examples/zone/zone0.json | 8 +- src/ozones/test/spec/VDCManagement_spec.rb | 62 ++++++++++--- src/ozones/test/spec/ZoneManagement_spec.rb | 4 +- src/ozones/test/templates/datastore.template | 3 + .../test/templates/vdc.no.zone.template | 7 +- .../test/templates/vdc.wrong.zone.template | 2 +- src/ozones/test/templates/vdcA.template | 7 +- src/ozones/test/templates/vdcB.template | 7 +- src/ozones/test/templates/vdcC.template | 7 +- src/ozones/test/templates/vnet.template | 5 + 15 files changed, 256 insertions(+), 72 deletions(-) create mode 100644 src/ozones/test/templates/datastore.template create mode 100644 src/ozones/test/templates/vnet.template diff --git a/src/ozones/test/examples/pool/vdcpool0.json b/src/ozones/test/examples/pool/vdcpool0.json index 1401a09b5b..a1bdeb5bb3 100644 --- a/src/ozones/test/examples/pool/vdcpool0.json +++ b/src/ozones/test/examples/pool/vdcpool0.json @@ -2,34 +2,95 @@ "VDC_POOL": { "VDC": [ { - "ID": 1, - "ACLS": "2,3,4,5,6,7", - "HOSTS": "1,2,3", "NAME": "vdcA", - "ZONES_ID": 1, + "VDCADMIN_ID": 2, + "ID": 1, + "RESOURCES": { + "DATASTORES": [ + 100 + ], + "HOSTS": [ + 0, + 1, + 2 + ], + "NETWORKS": [ + 0 + ], + "ACLS": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ] + }, "GROUP_ID": 100, + "ZONES_ID": 1, "VDCADMINNAME": "vdcadminA", - "VDCADMIN_ID": 2 + "CLUSTER_ID": 100 }, { - "ID": 2, - "ACLS": "2,3,4,5", - "HOSTS": "1", "NAME": "vdcB", - "ZONES_ID": 2, + "VDCADMIN_ID": 2, + "ID": 2, + "RESOURCES": { + "DATASTORES": [ + 100 + ], + "HOSTS": [ + 1 + ], + "NETWORKS": [ + 0 + ], + "ACLS": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, "GROUP_ID": 100, + "ZONES_ID": 2, "VDCADMINNAME": "vdcadminB", - "VDCADMIN_ID": 2 + "CLUSTER_ID": 100 }, { - "ID": 3, - "ACLS": "8,9,10,11", - "HOSTS": "4", "NAME": "vdcC", - "ZONES_ID": 1, + "VDCADMIN_ID": 3, + "ID": 3, + "RESOURCES": { + "DATASTORES": [ + 100 + ], + "HOSTS": [ + 3 + ], + "NETWORKS": [ + 0 + ], + "ACLS": [ + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ] + }, "GROUP_ID": 101, + "ZONES_ID": 1, "VDCADMINNAME": "vdcadminC", - "VDCADMIN_ID": 3 + "CLUSTER_ID": 100 } ] } diff --git a/src/ozones/test/examples/pool/vdcpool_deleted.json b/src/ozones/test/examples/pool/vdcpool_deleted.json index bd6fd87e84..9933c90dc9 100644 --- a/src/ozones/test/examples/pool/vdcpool_deleted.json +++ b/src/ozones/test/examples/pool/vdcpool_deleted.json @@ -2,24 +2,66 @@ "VDC_POOL": { "VDC": [ { - "ID": 1, - "ACLS": "2,3,4,5,6,7", - "HOSTS": "1,2,3", "NAME": "vdcA", - "ZONES_ID": 1, + "VDCADMIN_ID": 2, + "ID": 1, + "RESOURCES": { + "DATASTORES": [ + 100 + ], + "HOSTS": [ + 0, + 1, + 2 + ], + "NETWORKS": [ + 0 + ], + "ACLS": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ] + }, "GROUP_ID": 100, + "ZONES_ID": 1, "VDCADMINNAME": "vdcadminA", - "VDCADMIN_ID": 2 + "CLUSTER_ID": 100 }, { - "ID": 2, - "ACLS": "2,3,4,5", - "HOSTS": "1", "NAME": "vdcB", - "ZONES_ID": 2, + "VDCADMIN_ID": 2, + "ID": 2, + "RESOURCES": { + "DATASTORES": [ + 100 + ], + "HOSTS": [ + 1 + ], + "NETWORKS": [ + 0 + ], + "ACLS": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + }, "GROUP_ID": 100, + "ZONES_ID": 2, "VDCADMINNAME": "vdcadminB", - "VDCADMIN_ID": 2 + "CLUSTER_ID": 100 } ] } diff --git a/src/ozones/test/examples/pool/zonepool0.json b/src/ozones/test/examples/pool/zonepool0.json index 1eaf1751fa..55e4228586 100644 --- a/src/ozones/test/examples/pool/zonepool0.json +++ b/src/ozones/test/examples/pool/zonepool0.json @@ -2,24 +2,24 @@ "ZONE_POOL": { "ZONE": [ { - "ID": 1, - "ENDPOINT": "http://localhost:2666/RPC2", - "NUMBERVDCS": 0, - "SUNSENDPOINT": "http://localhost:9869", "NAME": "zoneA", + "SUNSENDPOINT": "http://localhost:9869", "SELFENDPOINT": null, "ONENAME": "oneadminA", - "ONEPASS": "OkqWM2aSqbM/nlrdHGv3OA==" + "ID": 1, + "ONEPASS": "OkqWM2aSqbM/nlrdHGv3OA==", + "ENDPOINT": "http://localhost:2666/RPC2", + "NUMBERVDCS": 0 }, { - "ID": 2, - "ENDPOINT": "http://localhost:2667/RPC2", - "NUMBERVDCS": 0, - "SUNSENDPOINT": null, "NAME": "zoneB", + "SUNSENDPOINT": null, "SELFENDPOINT": null, "ONENAME": "oneadminB", - "ONEPASS": "8Si8vlo2P3qn5/SNxkMkDg==" + "ID": 2, + "ONEPASS": "8Si8vlo2P3qn5/SNxkMkDg==", + "ENDPOINT": "http://localhost:2667/RPC2", + "NUMBERVDCS": 0 } ] } diff --git a/src/ozones/test/examples/pool/zonepool_deleted.json b/src/ozones/test/examples/pool/zonepool_deleted.json index 6ec991ee16..0176e04da5 100644 --- a/src/ozones/test/examples/pool/zonepool_deleted.json +++ b/src/ozones/test/examples/pool/zonepool_deleted.json @@ -2,14 +2,14 @@ "ZONE_POOL": { "ZONE": [ { - "ID": 1, - "ENDPOINT": "http://localhost:2666/RPC2", - "NUMBERVDCS": 0, - "SUNSENDPOINT": "http://localhost:9869", "NAME": "zoneA", + "SUNSENDPOINT": "http://localhost:9869", "SELFENDPOINT": null, "ONENAME": "oneadminA", - "ONEPASS": "OkqWM2aSqbM/nlrdHGv3OA==" + "ID": 1, + "ONEPASS": "OkqWM2aSqbM/nlrdHGv3OA==", + "ENDPOINT": "http://localhost:2666/RPC2", + "NUMBERVDCS": 0 } ] } diff --git a/src/ozones/test/examples/vdc/vdc0.json b/src/ozones/test/examples/vdc/vdc0.json index b716f24472..35d7a92420 100644 --- a/src/ozones/test/examples/vdc/vdc0.json +++ b/src/ozones/test/examples/vdc/vdc0.json @@ -1,12 +1,35 @@ { "VDC": { - "ID": 1, - "ACLS": "2,3,4,5,6,7", - "HOSTS": "1,2,3", "NAME": "vdcA", - "ZONES_ID": 1, + "VDCADMIN_ID": 2, + "ID": 1, + "RESOURCES": { + "DATASTORES": [ + 100 + ], + "HOSTS": [ + 0, + 1, + 2 + ], + "NETWORKS": [ + 0 + ], + "ACLS": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ] + }, "GROUP_ID": 100, + "ZONES_ID": 1, "VDCADMINNAME": "vdcadminA", - "VDCADMIN_ID": 2 + "CLUSTER_ID": 100 } } \ No newline at end of file diff --git a/src/ozones/test/examples/zone/zone0.json b/src/ozones/test/examples/zone/zone0.json index 6b8d182e36..108a250402 100644 --- a/src/ozones/test/examples/zone/zone0.json +++ b/src/ozones/test/examples/zone/zone0.json @@ -1,14 +1,14 @@ { "ZONE": { - "ID": 1, - "ENDPOINT": "http://localhost:2666/RPC2", + "NAME": "zoneA", "SUNSENDPOINT": "http://localhost:9869", "VDCS": [ ], - "NAME": "zoneA", "SELFENDPOINT": null, "ONENAME": "oneadminA", - "ONEPASS": "OkqWM2aSqbM/nlrdHGv3OA==" + "ID": 1, + "ONEPASS": "OkqWM2aSqbM/nlrdHGv3OA==", + "ENDPOINT": "http://localhost:2666/RPC2" } } \ No newline at end of file diff --git a/src/ozones/test/spec/VDCManagement_spec.rb b/src/ozones/test/spec/VDCManagement_spec.rb index 35be54b574..1d006721e3 100644 --- a/src/ozones/test/spec/VDCManagement_spec.rb +++ b/src/ozones/test/spec/VDCManagement_spec.rb @@ -28,6 +28,7 @@ $: << RUBY_LIB_LOCATION+"/cli" require 'command_parser' require 'ozones_helper/zones_helper.rb' require 'ozones_helper/vdc_helper.rb' +require 'pp' TESTS_PATH = File.dirname(__FILE__)+"/../" @@ -48,28 +49,62 @@ module OZones TESTS_PATH+"etc/one_auth_b"), "http://localhost:2667/RPC2") + clusterA = OpenNebula::Cluster.new(OpenNebula::Cluster.build_xml, + @clientA) + clusterA.allocate("clusterA") + + sleep 1 + + clusterB = OpenNebula::Cluster.new(OpenNebula::Cluster.build_xml, + @clientB) + clusterB.allocate("clusterB") + hostA=OpenNebula::Host.new(OpenNebula::Host.build_xml, @clientA) - hostA.allocate("hostA1","im_dummy","vmm_dummy","tm_dummy","dummy") - hostA.allocate("hostA2","im_dummy","vmm_dummy","tm_dummy","dummy") - hostA.allocate("hostA3","im_dummy","vmm_dummy","tm_dummy","dummy") - hostA.allocate("hostA4","im_dummy","vmm_dummy","tm_dummy","dummy") + hostA.allocate("hostA1","im_dummy","vmm_dummy","dummy",100) + hostA.allocate("hostA2","im_dummy","vmm_dummy","dummy",100) + hostA.allocate("hostA3","im_dummy","vmm_dummy","dummy",100) + hostA.allocate("hostA4","im_dummy","vmm_dummy","dummy",100) hostB=OpenNebula::Host.new(OpenNebula::Host.build_xml, @clientB) - hostB.allocate("hostB1","im_dummy","vmm_dummy","tm_dummy","dummy") - hostB.allocate("hostB2","im_dummy","vmm_dummy","tm_dummy","dummy") - hostB.allocate("hostB3","im_dummy","vmm_dummy","tm_dummy","dummy") + hostB.allocate("hostB1","im_dummy","vmm_dummy","dummy",100) + hostB.allocate("hostB2","im_dummy","vmm_dummy","dummy",100) + hostB.allocate("hostB3","im_dummy","vmm_dummy","dummy",100) + + ds_tmpl = File.new(TESTS_PATH+"templates/datastore.template").read + dsA = OpenNebula::Datastore.new(OpenNebula::Datastore.build_xml, @clientA) + dsA.allocate(ds_tmpl,100) + + sleep 1 + + dsB = OpenNebula::Datastore.new(OpenNebula::Datastore.build_xml, @clientB) + dsB.allocate(ds_tmpl,100) + + sleep 1 + + vnet_tmpl = File.new(TESTS_PATH+"templates/vnet.template").read + vnetA = OpenNebula::VirtualNetwork.new(OpenNebula::VirtualNetwork.build_xml, @clientA) + rc = vnetA.allocate(vnet_tmpl,100) + + sleep 1 + + vnetB = OpenNebula::VirtualNetwork.new(OpenNebula::VirtualNetwork.build_xml, @clientB) + rc = vnetB.allocate(vnet_tmpl,100) + end it "should be able to create a couple of zones" do rc = @zonehelper.create_resource(TESTS_PATH+"templates/zoneA.template") rc[0].should eql(0) + + sleep 1 + rc = @zonehelper.create_resource(TESTS_PATH+"templates/zoneB.template") rc[0].should eql(0) end it "should be able to create one vdc with apropiate ONE resources" do - @vdchelper.create_resource(TESTS_PATH+"templates/vdcA.template", - {:force => false})[0].should eql(0) + rc = @vdchelper.create_resource(TESTS_PATH+"templates/vdcA.template", + {:force => false}) upool = OpenNebula::UserPool.new(@clientA) upool.info @@ -96,18 +131,19 @@ module OZones apool = OpenNebula::AclPool.new(@clientA) apool.info # TODO check ACLs + end it "should be able to create a couple of VDCs" do @vdchelper.create_resource(TESTS_PATH+"templates/vdcB.template", - {:force => false})[0].should eql(0) + {:force => true})[0].should eql(0) @vdchelper.create_resource(TESTS_PATH+"templates/vdcC.template", - {:force => false})[0].should eql(0) + {:force => true})[0].should eql(0) end it "should fail when creating an existing VDC" do @vdchelper.create_resource(TESTS_PATH+"templates/vdcA.template", - {:force => false})[0].should eql(-1) + {:force => true})[0].should eql(-1) end it "should fail when creating a VDC upon a non existing zone" do @@ -140,5 +176,5 @@ module OZones rc = @vdchelper.delete_resource(7, {}) rc[0].should eql(-1) end - end + end end diff --git a/src/ozones/test/spec/ZoneManagement_spec.rb b/src/ozones/test/spec/ZoneManagement_spec.rb index e60e5caf11..8826fef7c0 100644 --- a/src/ozones/test/spec/ZoneManagement_spec.rb +++ b/src/ozones/test/spec/ZoneManagement_spec.rb @@ -42,7 +42,9 @@ module OZones rc = @helper.create_resource(TESTS_PATH+"templates/zoneA.template") rc[0].should eql(0) - @helper.create_resource(TESTS_PATH+"templates/zoneB.template") + sleep 1 + + rc = @helper.create_resource(TESTS_PATH+"templates/zoneB.template") rc[0].should eql(0) end diff --git a/src/ozones/test/templates/datastore.template b/src/ozones/test/templates/datastore.template new file mode 100644 index 0000000000..4f7c968fd1 --- /dev/null +++ b/src/ozones/test/templates/datastore.template @@ -0,0 +1,3 @@ +NAME=datastore +DS_MAD=fs +TM_MAD=dummy diff --git a/src/ozones/test/templates/vdc.no.zone.template b/src/ozones/test/templates/vdc.no.zone.template index 88a1168eb0..b6420d81f5 100644 --- a/src/ozones/test/templates/vdc.no.zone.template +++ b/src/ozones/test/templates/vdc.no.zone.template @@ -1,5 +1,8 @@ NAME=vdc VDCADMINNAME=vdcadminbogus VDCADMINPASS=vdcpassbogus -ZONEID=18 -HOSTS=1 \ No newline at end of file +ZONE_ID=18 +CLUSTER_ID=100 +HOSTS=1 +DATASTORES=100 +NETWORKS=0 diff --git a/src/ozones/test/templates/vdc.wrong.zone.template b/src/ozones/test/templates/vdc.wrong.zone.template index 8ff03fbf6a..26dae12fbe 100644 --- a/src/ozones/test/templates/vdc.wrong.zone.template +++ b/src/ozones/test/templates/vdc.wrong.zone.template @@ -1,5 +1,5 @@ NAME=vdcB VDCADMINNAME=vdcadminB VDCADMINPASS=vdcpassB -ZONEID=3 +ZONE_ID=3 HOSTS=1 \ No newline at end of file diff --git a/src/ozones/test/templates/vdcA.template b/src/ozones/test/templates/vdcA.template index a8e8a81662..10842b7f0c 100644 --- a/src/ozones/test/templates/vdcA.template +++ b/src/ozones/test/templates/vdcA.template @@ -1,5 +1,8 @@ NAME=vdcA VDCADMINNAME=vdcadminA VDCADMINPASS=vdcpassA -ZONEID=1 -HOSTS=1,2,3 \ No newline at end of file +ZONE_ID=1 +CLUSTER_ID=100 +HOSTS=0,1,2 +DATASTORES=100 +NETWORKS=0 diff --git a/src/ozones/test/templates/vdcB.template b/src/ozones/test/templates/vdcB.template index fa9276fe5b..84ce1d56b8 100644 --- a/src/ozones/test/templates/vdcB.template +++ b/src/ozones/test/templates/vdcB.template @@ -1,5 +1,8 @@ NAME=vdcB VDCADMINNAME=vdcadminB VDCADMINPASS=vdcpassB -ZONEID=2 -HOSTS=1 \ No newline at end of file +ZONE_ID=2 +CLUSTER_ID=100 +HOSTS=1 +DATASTORES=100 +NETWORKS=0 diff --git a/src/ozones/test/templates/vdcC.template b/src/ozones/test/templates/vdcC.template index 47c2b9148b..089d342563 100644 --- a/src/ozones/test/templates/vdcC.template +++ b/src/ozones/test/templates/vdcC.template @@ -1,5 +1,8 @@ NAME=vdcC VDCADMINNAME=vdcadminC VDCADMINPASS=vdcpassC -ZONEID=1 -HOSTS=4 +ZONE_ID=1 +CLUSTER_ID=100 +HOSTS=3 +DATASTORES=100 +NETWORKS=0 diff --git a/src/ozones/test/templates/vnet.template b/src/ozones/test/templates/vnet.template new file mode 100644 index 0000000000..d84b2268bc --- /dev/null +++ b/src/ozones/test/templates/vnet.template @@ -0,0 +1,5 @@ +NAME = "Blue LAN" +TYPE = FIXED +BRIDGE = vbr1 + +LEASES = [IP=130.10.0.1] From e1a63adcbb4c42c10e6c86d345e34dbfda4abd2d Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Mon, 16 Apr 2012 11:25:39 +0200 Subject: [PATCH 10/15] Sunstone: Fix vnc icon on extended information panel --- src/sunstone/public/js/plugins/vms-tab.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sunstone/public/js/plugins/vms-tab.js b/src/sunstone/public/js/plugins/vms-tab.js index 17da0972ea..4bbc2135f8 100644 --- a/src/sunstone/public/js/plugins/vms-tab.js +++ b/src/sunstone/public/js/plugins/vms-tab.js @@ -1306,7 +1306,7 @@ function setupVNC(){ Sunstone.runAction("VM.stopvnc",id); }); - $('.vnc',main_tabs_context).live("click",function(){ + $('.vnc').live("click",function(){ //Which VM is it? var id = $(this).attr('vm_id'); //Set attribute to dialog From e6e1e245efaa0bd64ae445523f7cf5d694f3ac70 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 18 Apr 2012 12:03:39 +0200 Subject: [PATCH 11/15] Sunstone: add show/hide columns plugin (colVis) to all table views. --- install.sh | 6 +- src/sunstone/public/css/application.css | 14 + src/sunstone/public/js/plugins/acls-tab.js | 13 +- .../public/js/plugins/clusters-tab.js | 8 +- .../public/js/plugins/datastores-tab.js | 17 +- src/sunstone/public/js/plugins/groups-tab.js | 1 + src/sunstone/public/js/plugins/hosts-tab.js | 22 +- src/sunstone/public/js/plugins/images-tab.js | 7 +- .../public/js/plugins/templates-tab.js | 1 + src/sunstone/public/js/plugins/users-tab.js | 15 +- src/sunstone/public/js/plugins/vms-tab.js | 7 +- src/sunstone/public/js/plugins/vnets-tab.js | 7 +- src/sunstone/public/locale/en_US/en_US.js | 2 +- .../public/locale/en_US/en_datatable.txt | 17 + .../vendor/dataTables/ColReorderWithResize.js | 1194 +++++++++++++++++ .../public/vendor/dataTables/ColVis.css | 76 ++ .../public/vendor/dataTables/ColVis.min.js | 33 + .../public/vendor/jQuery/jquery-1.7.2.min.js | 4 + src/sunstone/views/index.erb | 5 +- 19 files changed, 1426 insertions(+), 23 deletions(-) create mode 100644 src/sunstone/public/locale/en_US/en_datatable.txt create mode 100644 src/sunstone/public/vendor/dataTables/ColReorderWithResize.js create mode 100755 src/sunstone/public/vendor/dataTables/ColVis.css create mode 100644 src/sunstone/public/vendor/dataTables/ColVis.min.js create mode 100644 src/sunstone/public/vendor/jQuery/jquery-1.7.2.min.js diff --git a/install.sh b/install.sh index 10b5915d6e..b16b1194b9 100755 --- a/install.sh +++ b/install.sh @@ -1191,7 +1191,10 @@ SUNSTONE_PUBLIC_CSS_FILES="src/sunstone/public/css/application.css \ SUNSTONE_PUBLIC_VENDOR_DATATABLES="\ src/sunstone/public/vendor/dataTables/jquery.dataTables.min.js \ + src/sunstone/public/vendor/dataTables/ColVis.min.js \ + src/sunstone/public/vendor/dataTables/ColReorderWithResize.js \ src/sunstone/public/vendor/dataTables/demo_table_jui.css \ + src/sunstone/public/vendor/dataTables/ColVis.css \ src/sunstone/public/vendor/dataTables/BSD-LICENSE.txt \ src/sunstone/public/vendor/dataTables/NOTICE" @@ -1201,7 +1204,7 @@ SUNSTONE_PUBLIC_VENDOR_JGROWL="\ src/sunstone/public/vendor/jGrowl/NOTICE" SUNSTONE_PUBLIC_VENDOR_JQUERY="\ - src/sunstone/public/vendor/jQuery/jquery-1.7.1.min.js \ + src/sunstone/public/vendor/jQuery/jquery-1.7.2.min.js \ src/sunstone/public/vendor/jQuery/MIT-LICENSE.txt \ src/sunstone/public/vendor/jQuery/NOTICE" @@ -1270,6 +1273,7 @@ SUNSTONE_PUBLIC_IMAGES_FILES="src/sunstone/public/images/ajax-loader.gif \ SUNSTONE_PUBLIC_LOCALE_EN_US="\ src/sunstone/public/locale/en_US/en_US.js \ +src/sunstone/public/locale/en_US/en_datatable.txt \ " SUNSTONE_PUBLIC_LOCALE_RU=" diff --git a/src/sunstone/public/css/application.css b/src/sunstone/public/css/application.css index c4fca87454..27b97853db 100644 --- a/src/sunstone/public/css/application.css +++ b/src/sunstone/public/css/application.css @@ -587,4 +587,18 @@ ul.action_list li a:hover{ .ui-layout-resizer-open-hover, /* hover-color to 'resize' */ .ui-layout-resizer-dragging { background: #EEE; +} + +.dataTables_length { + width: auto; +} + +.ColVis { + margin: 0 10px 0 10px; + float: left; +} + +.ColVis_Button { + padding: 5px; + font-size: 1em; } \ No newline at end of file diff --git a/src/sunstone/public/js/plugins/acls-tab.js b/src/sunstone/public/js/plugins/acls-tab.js index 98045c0e7c..600fcd0fa7 100644 --- a/src/sunstone/public/js/plugins/acls-tab.js +++ b/src/sunstone/public/js/plugins/acls-tab.js @@ -31,6 +31,7 @@ var acls_tab_content = '+tr("Affected resources")+'\ '+tr("Resource ID / Owned by")+'\ '+tr("Allowed operations")+'\ + '+tr("ACL String")+'\ \ \ \ @@ -287,7 +288,8 @@ function aclElementArray(acl_json){ acl_array[0], acl_array[1], acl_array[2], - acl_array[3] + acl_array[3], + acl.STRING ] } @@ -480,12 +482,17 @@ $(document).ready(function(){ dataTable_acls = $("#datatable_acls",main_tabs_context).dataTable({ "bJQueryUI": true, "bSortClasses": false, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "sPaginationType": "full_numbers", "bAutoWidth":false, "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, { "sWidth": "60px", "aTargets": [0] }, - { "sWidth": "35px", "aTargets": [1] } + { "sWidth": "35px", "aTargets": [1] }, + { "bVisible": false, "aTargets": [6]} ], "oLanguage": (datatable_lang != "") ? { @@ -495,7 +502,7 @@ $(document).ready(function(){ dataTable_acls.fnClearTable(); addElement([ spinner, - '','','','',''],dataTable_acls); + '','','','','',''],dataTable_acls); Sunstone.runAction("Acl.list"); diff --git a/src/sunstone/public/js/plugins/clusters-tab.js b/src/sunstone/public/js/plugins/clusters-tab.js index 7cb41a21cd..f81de8033a 100644 --- a/src/sunstone/public/js/plugins/clusters-tab.js +++ b/src/sunstone/public/js/plugins/clusters-tab.js @@ -25,7 +25,7 @@ var clusters_tab_content = \ \ ' + tr("All") + '\ - ' + tr("id") + '\ + ' + tr("ID") + '\ ' + tr("Name") + '\ \ \ @@ -771,7 +771,7 @@ function setupCreateClusterDialog(){ dialog.dialog({ autoOpen: false, modal: true, - width: 500 + width: 400 }); $('button',dialog).button(); @@ -831,6 +831,10 @@ $(document).ready(function(){ dataTable_clusters = $("#datatable_clusters",main_tabs_context).dataTable({ "bJQueryUI": true, "bSortClasses": false, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "bAutoWidth":false, "sPaginationType": "full_numbers", "aoColumnDefs": [ diff --git a/src/sunstone/public/js/plugins/datastores-tab.js b/src/sunstone/public/js/plugins/datastores-tab.js index f240864740..889ce22b1a 100644 --- a/src/sunstone/public/js/plugins/datastores-tab.js +++ b/src/sunstone/public/js/plugins/datastores-tab.js @@ -30,6 +30,9 @@ var datastores_tab_content = '+tr("Group")+'\ '+tr("Name")+'\ '+tr("Cluster")+'\ + '+tr("Basepath")+'\ + '+tr("TM MAD")+'\ + '+tr("DS MAD")+'\ \ \ \ @@ -340,7 +343,10 @@ function datastoreElementArray(element_json){ element.UNAME, element.GNAME, element.NAME, - element.CLUSTER.length ? element.CLUSTER : "-" + element.CLUSTER.length ? element.CLUSTER : "-", + element.BASE_PATH, + element.TEMPLATE.TM_MAD, + element.TEMPLATE.DS_MAD ]; } @@ -658,13 +664,18 @@ $(document).ready(function(){ dataTable_datastores = $("#datatable_datastores",main_tabs_context).dataTable({ "bJQueryUI": true, "bSortClasses": false, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "sPaginationType": "full_numbers", "bAutoWidth":false, "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, { "sWidth": "60px", "aTargets": [0] }, { "sWidth": "35px", "aTargets": [1] }, - { "sWidth": "100px", "aTargets": [2,3,5] } + { "sWidth": "100px", "aTargets": [2,3,5,7,8] }, + { "bVisible": false, "aTargets": [6,7,8] } ], "oLanguage": (datatable_lang != "") ? { @@ -675,7 +686,7 @@ $(document).ready(function(){ dataTable_datastores.fnClearTable(); addElement([ spinner, - '','','','',''],dataTable_datastores); + '','','','','','','',''],dataTable_datastores); Sunstone.runAction("Datastore.list"); setupCreateDatastoreDialog(); diff --git a/src/sunstone/public/js/plugins/groups-tab.js b/src/sunstone/public/js/plugins/groups-tab.js index b1b112a309..519f84b5a3 100644 --- a/src/sunstone/public/js/plugins/groups-tab.js +++ b/src/sunstone/public/js/plugins/groups-tab.js @@ -273,6 +273,7 @@ $(document).ready(function(){ dataTable_groups = $("#datatable_groups",main_tabs_context).dataTable({ "bJQueryUI": true, "bSortClasses": false, + "sDom" : '<"H"lfrC>t<"F"ip>', "sPaginationType": "full_numbers", "bAutoWidth":false, "aoColumnDefs": [ diff --git a/src/sunstone/public/js/plugins/hosts-tab.js b/src/sunstone/public/js/plugins/hosts-tab.js index 7dd75732b5..e754fed837 100644 --- a/src/sunstone/public/js/plugins/hosts-tab.js +++ b/src/sunstone/public/js/plugins/hosts-tab.js @@ -41,13 +41,16 @@ var hosts_tab_content = \ \ ' + tr("All") + '\ - ' + tr("id") + '\ + ' + tr("ID") + '\ ' + tr("Name") + '\ ' + tr("Cluster") + '\ ' + tr("Running VMs") + '\ ' + tr("CPU Use") + '\ ' + tr("Memory use") + '\ ' + tr("Status") + '\ + ' + tr("IM MAD") + '\ + ' + tr("VM MAD") + '\ + ' + tr("Last monitored on") + '\ \ \ \ @@ -391,7 +394,11 @@ function hostElementArray(host_json){ host.HOST_SHARE.RUNNING_VMS, //rvm pb_cpu, pb_mem, - OpenNebula.Helper.resource_state("host_simple",host.STATE) ]; + OpenNebula.Helper.resource_state("host_simple",host.STATE), + host.IM_MAD, + host.VM_MAD, + pretty_time(host.LAST_MON_TIME) + ]; } //Listen to clicks on the tds of the tables and shows the info dialogs. @@ -642,14 +649,19 @@ $(document).ready(function(){ dataTable_hosts = $("#datatable_hosts",main_tabs_context).dataTable({ "bJQueryUI": true, "bSortClasses": false, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "bAutoWidth":false, "sPaginationType": "full_numbers", "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, { "sWidth": "60px", "aTargets": [0,4] }, { "sWidth": "35px", "aTargets": [1] }, - { "sWidth": "100px", "aTargets": [7,3] }, - { "sWidth": "200px", "aTargets": [5,6] } + { "sWidth": "100px", "aTargets": [7,3,8,9,10] }, + { "sWidth": "200px", "aTargets": [5,6] }, + { "bVisible": false, "aTargets": [8,9,10]} ], "oLanguage": (datatable_lang != "") ? { @@ -661,7 +673,7 @@ $(document).ready(function(){ dataTable_hosts.fnClearTable(); addElement([ spinner, - '','','','','','',''],dataTable_hosts); + '','','','','','','','','',''],dataTable_hosts); Sunstone.runAction("Host.list"); setupCreateHostDialog(); diff --git a/src/sunstone/public/js/plugins/images-tab.js b/src/sunstone/public/js/plugins/images-tab.js index a7d718dfb8..10af42bec1 100644 --- a/src/sunstone/public/js/plugins/images-tab.js +++ b/src/sunstone/public/js/plugins/images-tab.js @@ -1132,13 +1132,18 @@ $(document).ready(function(){ "bJQueryUI": true, "bSortClasses": false, "bAutoWidth":false, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "sPaginationType": "full_numbers", "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, { "sWidth": "60px", "aTargets": [0,2,3,9,10] }, { "sWidth": "35px", "aTargets": [1,6,11] }, { "sWidth": "100px", "aTargets": [5,7] }, - { "sWidth": "150px", "aTargets": [8] } + { "sWidth": "150px", "aTargets": [8] }, + { "bVisible": false, "aTargets": [6,8]} ], "oLanguage": (datatable_lang != "") ? { diff --git a/src/sunstone/public/js/plugins/templates-tab.js b/src/sunstone/public/js/plugins/templates-tab.js index 7bede7344b..6c052358e9 100644 --- a/src/sunstone/public/js/plugins/templates-tab.js +++ b/src/sunstone/public/js/plugins/templates-tab.js @@ -2149,6 +2149,7 @@ $(document).ready(function(){ "bJQueryUI": true, "bSortClasses": false, "bAutoWidth":false, + "sDom" : '<"H"lfrC>t<"F"ip>', "sPaginationType": "full_numbers", "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, diff --git a/src/sunstone/public/js/plugins/users-tab.js b/src/sunstone/public/js/plugins/users-tab.js index eecb866490..ce4306b28c 100644 --- a/src/sunstone/public/js/plugins/users-tab.js +++ b/src/sunstone/public/js/plugins/users-tab.js @@ -32,6 +32,7 @@ var users_tab_content = '+tr("Name")+'\ '+tr("Group")+'\ '+tr("Authentication driver")+'\ + '+tr("Group ID")+'\ \ \ \ @@ -329,7 +330,8 @@ function userElementArray(user_json){ user.ID, user.NAME, user.GNAME, - user.AUTH_DRIVER + user.AUTH_DRIVER, + user.GID ] }; @@ -521,12 +523,17 @@ $(document).ready(function(){ "bJQueryUI": true, "bSortClasses": false, "sPaginationType": "full_numbers", + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "bAutoWidth":false, "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, { "sWidth": "60px", "aTargets": [0] }, - { "sWidth": "35px", "aTargets": [1] }, - { "sWidth": "150px", "aTargets": [4] } + { "sWidth": "35px", "aTargets": [1,5] }, + { "sWidth": "150px", "aTargets": [4] }, + { "bVisible": false, "aTargets": [5]} ], "oLanguage": (datatable_lang != "") ? { @@ -536,7 +543,7 @@ $(document).ready(function(){ dataTable_users.fnClearTable(); addElement([ spinner, - '','','',''],dataTable_users); + '','','','',''],dataTable_users); Sunstone.runAction("User.list"); diff --git a/src/sunstone/public/js/plugins/vms-tab.js b/src/sunstone/public/js/plugins/vms-tab.js index 4bbc2135f8..8bca9fbf66 100644 --- a/src/sunstone/public/js/plugins/vms-tab.js +++ b/src/sunstone/public/js/plugins/vms-tab.js @@ -1367,6 +1367,10 @@ $(document).ready(function(){ dataTable_vMachines = $("#datatable_vmachines",main_tabs_context).dataTable({ "bJQueryUI": true, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "bSortClasses": false, "sPaginationType": "full_numbers", "bAutoWidth":false, @@ -1375,7 +1379,8 @@ $(document).ready(function(){ { "sWidth": "60px", "aTargets": [0,6,7] }, { "sWidth": "35px", "aTargets": [1,11] }, { "sWidth": "150px", "aTargets": [5,10] }, - { "sWidth": "100px", "aTargets": [2,3,9] } + { "sWidth": "100px", "aTargets": [2,3,9] }, + { "bVisible": false, "aTargets": [6,7,10]} ], "oLanguage": (datatable_lang != "") ? { diff --git a/src/sunstone/public/js/plugins/vnets-tab.js b/src/sunstone/public/js/plugins/vnets-tab.js index 4f88366054..c72256875c 100644 --- a/src/sunstone/public/js/plugins/vnets-tab.js +++ b/src/sunstone/public/js/plugins/vnets-tab.js @@ -1174,12 +1174,17 @@ $(document).ready(function(){ "bJQueryUI": true, "bSortClasses": false, "bAutoWidth":false, + "sDom" : '<"H"lfrC>t<"F"ip>', + "oColVis": { + "aiExclude": [ 0 ] + }, "sPaginationType": "full_numbers", "aoColumnDefs": [ { "bSortable": false, "aTargets": ["check"] }, { "sWidth": "60px", "aTargets": [0,6,7,8] }, { "sWidth": "35px", "aTargets": [1] }, - { "sWidth": "100px", "aTargets": [2,3,5] } + { "sWidth": "100px", "aTargets": [2,3,5] }, + { "bVisible": false, "aTargets": [7]} ], "oLanguage": (datatable_lang != "") ? { diff --git a/src/sunstone/public/locale/en_US/en_US.js b/src/sunstone/public/locale/en_US/en_US.js index cececf59b5..34ac6881d1 100644 --- a/src/sunstone/public/locale/en_US/en_US.js +++ b/src/sunstone/public/locale/en_US/en_US.js @@ -1,6 +1,6 @@ //Translated by lang="en_US" -datatable_lang="" +datatable_lang="en_datatable.txt" locale={ "802.1Q":"", "Accept (default)":"", diff --git a/src/sunstone/public/locale/en_US/en_datatable.txt b/src/sunstone/public/locale/en_US/en_datatable.txt new file mode 100644 index 0000000000..b3486ec5d9 --- /dev/null +++ b/src/sunstone/public/locale/en_US/en_datatable.txt @@ -0,0 +1,17 @@ +{ + "sProcessing": "Processing...", + "sLengthMenu": "Show _MENU_ entries", + "sZeroRecords": "No matching records found", + "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", + "sInfoEmpty": "Showing 0 to 0 of 0 entries", + "sInfoFiltered": "(filtered from _MAX_ total entries)", + "sInfoPostFix": "", + "sSearch": "Search:", + "sUrl": "", + "oPaginate": { + "sFirst": "First", + "sPrevious": "Previous", + "sNext": "Next", + "sLast": "Last" + } +} diff --git a/src/sunstone/public/vendor/dataTables/ColReorderWithResize.js b/src/sunstone/public/vendor/dataTables/ColReorderWithResize.js new file mode 100644 index 0000000000..8096aa0a5f --- /dev/null +++ b/src/sunstone/public/vendor/dataTables/ColReorderWithResize.js @@ -0,0 +1,1194 @@ +/* + * File: ColReorderWithResize.js + * Version: 1.0.5 + * CVS: $Id$ + * Description: Controls for column visiblity in DataTables + Columns resizable by user + * Author: Allan Jardine (www.sprymedia.co.uk) + * Author: Christophe Battarel (www.altairis.fr) + * Created: Wed Sep 15 18:23:29 BST 2010 + * Modified: July 2011 by Christophe Battarel - christophe.battarel@altairis.fr (columns resizable) + * Modified: February 2012 by Martin Marchetta - martin.marchetta@gmail.com + * 1. Made the "hot area" for resizing a little wider (it was a little difficult to hit the exact border of a column for resizing) + * 2. Resizing didn't work at all when using scroller (that plugin splits the table into 2 different tables: one for the header and another one for the body, so when you resized the header, the data columns didn't follow) + * 3. Fixed collateral effects of sorting feature + * 4. If sScrollX is enabled (i.e. horizontal scrolling), when resizing a column the width of the other columns is not changed, but the whole + * table is resized to give an Excel-like behavior (good suggestion by Allan) + * Modified: February 2012 by Christophe Battarel - christophe.battarel@altairis.fr (ColReorder v1.0.5 adaptation) + * Language: Javascript + * License: GPL v2 or BSD 3 point style + * Project: DataTables + * Contact: www.sprymedia.co.uk/contact + * + * Copyright 2010-2011 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd + * + */ + + +(function($, window, document) { + + +/** + * Switch the key value pairing of an index array to be value key (i.e. the old value is now the + * key). For example consider [ 2, 0, 1 ] this would be returned as [ 1, 2, 0 ]. + * @method fnInvertKeyValues + * @param array aIn Array to switch around + * @returns array + */ +function fnInvertKeyValues( aIn ) +{ + var aRet=[]; + for ( var i=0, iLen=aIn.length ; i= iCols ) + { + this.oApi._fnLog( oSettings, 1, "ColReorder 'from' index is out of bounds: "+iFrom ); + return; + } + + if ( iTo < 0 || iTo >= iCols ) + { + this.oApi._fnLog( oSettings, 1, "ColReorder 'to' index is out of bounds: "+iTo ); + return; + } + + /* + * Calculate the new column array index, so we have a mapping between the old and new + */ + var aiMapping = []; + for ( i=0, iLen=iCols ; i this.s.fixed-1 ) + { + this._fnMouseListener( i, this.s.dt.aoColumns[i].nTh ); + } + + /* Mark the original column order for later reference */ + this.s.dt.aoColumns[i]._ColReorder_iOrigCol = i; + } + + /* State saving */ + this.s.dt.oApi._fnCallbackReg( this.s.dt, 'aoStateSaveParams', function (oS, oData) { + that._fnStateSave.call( that, oData ); + }, "ColReorder_State" ); + + /* An initial column order has been specified */ + var aiOrder = null; + if ( typeof this.s.init.aiOrder != 'undefined' ) + { + aiOrder = this.s.init.aiOrder.slice(); + } + + /* State loading, overrides the column order given */ + if ( this.s.dt.oLoadedState && typeof this.s.dt.oLoadedState.ColReorder != 'undefined' && + this.s.dt.oLoadedState.ColReorder.length == this.s.dt.aoColumns.length ) + { + aiOrder = this.s.dt.oLoadedState.ColReorder; + } + + /* If we have an order to apply - do so */ + if ( aiOrder ) + { + /* We might be called during or after the DataTables initialisation. If before, then we need + * to wait until the draw is done, if after, then do what we need to do right away + */ + if ( !that.s.dt._bInitComplete ) + { + var bDone = false; + this.s.dt.aoDrawCallback.push( { + "fn": function () { + if ( !that.s.dt._bInitComplete && !bDone ) + { + bDone = true; + var resort = fnInvertKeyValues( aiOrder ); + that._fnOrderColumns.call( that, resort ); + } + }, + "sName": "ColReorder_Pre" + } ); + } + else + { + var resort = fnInvertKeyValues( aiOrder ); + that._fnOrderColumns.call( that, resort ); + } + } + }, + + + /** + * Set the column order from an array + * @method _fnOrderColumns + * @param array a An array of integers which dictate the column order that should be applied + * @returns void + * @private + */ + "_fnOrderColumns": function ( a ) + { + if ( a.length != this.s.dt.aoColumns.length ) + { + this.s.dt.oInstance.oApi._fnLog( oDTSettings, 1, "ColReorder - array reorder does not "+ + "match known number of columns. Skipping." ); + return; + } + + for ( var i=0, iLen=a.length ; i 0) + this.table_size = $($('div.dataTables_scrollHead', this.s.dt.nTableWrapper)[0].childNodes[0].childNodes[0]).width(); + } + //////////////////// + + /* are we resizing a column ? */ + if (this.dom.resize) { + var nTh = this.s.mouse.resizeElem; + var nThNext = $(nTh).next(); + var moveLength = e.pageX-this.s.mouse.startX; + if (moveLength != 0 && !scrollXEnabled) + $(nThNext).width(this.s.mouse.nextStartWidth - moveLength); + $(nTh).width(this.s.mouse.startWidth + moveLength); + + //Martin Marchetta: Resize the header too (if sScrollX is enabled) + if(scrollXEnabled && $('div.dataTables_scrollHead', this.s.dt.nTableWrapper) != undefined){ + if($('div.dataTables_scrollHead', this.s.dt.nTableWrapper).length > 0) + $($('div.dataTables_scrollHead', this.s.dt.nTableWrapper)[0].childNodes[0].childNodes[0]).width(this.table_size + moveLength); + } + + //////////////////////// + //Martin Marchetta: Fixed col resizing when the scroller is enabled. + var visibleColumnIndex; + //First determine if this plugin is being used along with the smart scroller... + if($('div.dataTables_scrollBody') != null){ + //...if so, when resizing the header, also resize the table's body (when enabling the Scroller, the table's header and + //body are split into different tables, so the column resizing doesn't work anymore) + if($('div.dataTables_scrollBody').length > 0){ + //Since some columns might have been hidden, find the correct one to resize in the table's body + var currentColumnIndex; + visibleColumnIndex = -1; + for(currentColumnIndex=-1; currentColumnIndex < this.s.dt.aoColumns.length-1 && currentColumnIndex != colResized; currentColumnIndex++){ + if(this.s.dt.aoColumns[currentColumnIndex+1].bVisible) + visibleColumnIndex++; + } + + //Get the scroller's div + tableScroller = $('div.dataTables_scrollBody', this.s.dt.nTableWrapper)[0]; + + //Get the table + scrollingTableHead = $(tableScroller)[0].childNodes[0].childNodes[0].childNodes[0]; + + //Resize the columns + if (moveLength != 0 && !scrollXEnabled){ + $($(scrollingTableHead)[0].childNodes[visibleColumnIndex+1]).width(this.s.mouse.nextStartWidth - moveLength); + } + $($(scrollingTableHead)[0].childNodes[visibleColumnIndex]).width(this.s.mouse.startWidth + moveLength); + + //Resize the table too + if(scrollXEnabled) + $($(tableScroller)[0].childNodes[0]).width(this.table_size + moveLength); + } + } + //////////////////////// + + return; + } + else if (this.s.allowReorder) { + if ( this.dom.drag === null ) + { + /* Only create the drag element if the mouse has moved a specific distance from the start + * point - this allows the user to make small mouse movements when sorting and not have a + * possibly confusing drag element showing up + */ + if ( Math.pow( + Math.pow(e.pageX - this.s.mouse.startX, 2) + + Math.pow(e.pageY - this.s.mouse.startY, 2), 0.5 ) < 5 ) + { + return; + } + this._fnCreateDragNode(); + } + + /* Position the element - we respect where in the element the click occured */ + this.dom.drag.style.left = (e.pageX - this.s.mouse.offsetX) + "px"; + this.dom.drag.style.top = (e.pageY - this.s.mouse.offsetY) + "px"; + + /* Based on the current mouse position, calculate where the insert should go */ + var bSet = false; + for ( var i=1, iLen=this.s.aoTargets.length ; i