View | Details | Raw Unified | Return to bug 24721
Collapse All | Expand All

(-)a/branches/ucs-3.2/ucs-3.2-0/virtualization/univention-virtual-machine-manager-daemon/debian/univention-virtual-machine-manager-daemon.postinst (+1 lines)
 Lines 95-100   case "$1" in Link Here 
95
		update-rc.d -f univention-virtual-machine-manager-daemon remove >/dev/null
95
		update-rc.d -f univention-virtual-machine-manager-daemon remove >/dev/null
96
	fi
96
	fi
97
97
98
	dpkg --compare-versions "$2" lt 1.0 &&
98
	invoke-rc.d univention-directory-listener restart
99
	invoke-rc.d univention-directory-listener restart
99
	;;
100
	;;
100
101
(-)a/branches/ucs-3.2/ucs-3.2-0/virtualization/univention-virtual-machine-manager-daemon/umc/js/de.po (-4 / +11 lines)
 Lines 34-40   msgid "" Link Here 
34
msgstr ""
34
msgstr ""
35
"Project-Id-Version: univention-virtual-machina-manager-daemon 1.0.103-1\n"
35
"Project-Id-Version: univention-virtual-machina-manager-daemon 1.0.103-1\n"
36
"Report-Msgid-Bugs-To: packages@univention.de\n"
36
"Report-Msgid-Bugs-To: packages@univention.de\n"
37
"POT-Creation-Date: 2013-05-29 18:21+0200\n"
37
"POT-Creation-Date: 2013-06-04 11:15+0200\n"
38
"PO-Revision-Date: 2012-08-06 11:45+0200\n"
38
"PO-Revision-Date: 2012-08-06 11:45+0200\n"
39
"Last-Translator: Philipp Hahn <hahn@univention.de>\n"
39
"Last-Translator: Philipp Hahn <hahn@univention.de>\n"
40
"Language-Team: German <de@li.org>\n"
40
"Language-Team: German <de@li.org>\n"
 Lines 447-452   msgstr "Bearbeiten" Link Here 
447
msgid "Edit drive"
447
msgid "Edit drive"
448
msgstr "Laufwerk bearbeiten"
448
msgstr "Laufwerk bearbeiten"
449
449
450
#: umc/js/uvmm.js:
451
msgid "Edit in new tab"
452
msgstr "Bearbeiten in neuem Reiter"
453
450
#: umc/js/uvmm/InterfaceWizard.js: umc/js/uvmm/InterfaceGrid.js:
454
#: umc/js/uvmm/InterfaceWizard.js: umc/js/uvmm/InterfaceGrid.js:
451
msgid "Edit network interface"
455
msgid "Edit network interface"
452
msgstr "Bearbeiten einer Netzwerkschnittstelle"
456
msgstr "Bearbeiten einer Netzwerkschnittstelle"
 Lines 751-756   msgid "Number of CPUs" Link Here 
751
msgstr "Anzahl der CPUs"
755
msgstr "Anzahl der CPUs"
752
756
753
#: umc/js/uvmm.js:
757
#: umc/js/uvmm.js:
758
msgid "Open a new tab to edit the configuration of the virtual machine"
759
msgstr ""
760
"Öffnet einen neuen Reiter, um die Konfiguration der virtuellen Maschinen "
761
"zu bearbeiten"
762
763
#: umc/js/uvmm.js:
754
msgid "Open a view to the virtual machine {label} on {nodeName}"
764
msgid "Open a view to the virtual machine {label} on {nodeName}"
755
msgstr "Öffne eine Anzeige der virtuellen Maschine {label} auf {nodeName}"
765
msgstr "Öffne eine Anzeige der virtuellen Maschine {label} auf {nodeName}"
756
766
 Lines 1438-1446   msgstr "{volumeFilename} (Speicherbereich: {pool})" Link Here 
1438
#~ "sein. Wird ein Speicherbereich ausgewählt, wird die Liste der verfügbaren "
1448
#~ "sein. Wird ein Speicherbereich ausgewählt, wird die Liste der verfügbaren "
1439
#~ "Festplatten-Images aktualisiert."
1449
#~ "Festplatten-Images aktualisiert."
1440
1450
1441
#~ msgid "Edit a network interface"
1442
#~ msgstr "Bearbeiten einer Netzwerkschnittstelle"
1443
1444
#~ msgid "Edit drive settings"
1451
#~ msgid "Edit drive settings"
1445
#~ msgstr "Bearbeiten der Laufwerkskonfiguration"
1452
#~ msgstr "Bearbeiten der Laufwerkskonfiguration"
1446
1453
(-)a/branches/ucs-3.2/ucs-3.2-0/virtualization/univention-virtual-machine-manager-daemon/umc/js/uvmm.js (-2 / +52 lines)
 Lines 34-39   define([ Link Here 
34
	"dojo/_base/array",
34
	"dojo/_base/array",
35
	"dojo/string",
35
	"dojo/string",
36
	"dojo/Deferred",
36
	"dojo/Deferred",
37
	"dojo/topic",
38
	"dojo/on",
37
	"dojox/html/entities",
39
	"dojox/html/entities",
38
	"dojox/string/sprintf",
40
	"dojox/string/sprintf",
39
	"dijit/Menu",
41
	"dijit/Menu",
 Lines 62-68   define([ Link Here 
62
	"umc/modules/uvmm/DomainWizard",
64
	"umc/modules/uvmm/DomainWizard",
63
	"umc/modules/uvmm/types",
65
	"umc/modules/uvmm/types",
64
	"umc/i18n!umc/modules/uvmm"
66
	"umc/i18n!umc/modules/uvmm"
65
], function(declare, lang, array, string, Deferred, entities, sprintf, Menu, MenuItem, ContentPane, ProgressBar, Dialog, _TextBoxMixin,
67
], function(declare, lang, array, string, Deferred, topic, on, entities, sprintf, Menu, MenuItem, ContentPane, ProgressBar, Dialog, _TextBoxMixin,
66
	tools, dialog, Module, Page, Form, ExpandingTitlePane, Grid, SearchForm, Tree, Tooltip, Text, ContainerWidget,
68
	tools, dialog, Module, Page, Form, ExpandingTitlePane, Grid, SearchForm, Tree, Tooltip, Text, ContainerWidget,
67
	CheckBox, ComboBox, TextBox, TreeModel, DomainPage, DomainWizard, types, _) {
69
	CheckBox, ComboBox, TextBox, TreeModel, DomainPage, DomainWizard, types, _) {
68
70
 Lines 90-98   define([ Link Here 
90
		_progressBar: null,
92
		_progressBar: null,
91
		_progressContainer: null,
93
		_progressContainer: null,
92
94
95
		// open this domain by default
96
		openDomain: null,
97
93
		uninitialize: function() {
98
		uninitialize: function() {
94
			this.inherited(arguments);
99
			this.inherited(arguments);
95
100
101
			if (this._progressContainer)
96
			this._progressContainer.destroyRecursive();
102
			this._progressContainer.destroyRecursive();
97
		},
103
		},
98
104
 Lines 111-116   define([ Link Here 
111
				this._finishedDeferred.resolve(this._ucr);
117
				this._finishedDeferred.resolve(this._ucr);
112
			}));
118
			}));
113
119
120
			// directly open domain
121
			if (this.openDomain) {
122
				this._domainPage = new DomainPage({
123
					isClosable: true,
124
					moduleWidget: this
125
				});
126
				this._domainPage.on('closeTab', lang.hitch(this, 'closeDomainPage'));
127
				this.addChild(this._domainPage);
128
				this.selectChild(this._domainPage);
129
				this.openDomainPage(this.openDomain);
130
				return; // do not rendet the overview page
131
			}
132
114
			// setup search page
133
			// setup search page
115
			this._searchPage = new Page({
134
			this._searchPage = new Page({
116
				headerText: 'UCS Virtual Machine Manager'
135
				headerText: 'UCS Virtual Machine Manager'
 Lines 256-262   define([ Link Here 
256
275
257
			// setup the detail page
276
			// setup the detail page
258
			this._domainPage = new DomainPage({
277
			this._domainPage = new DomainPage({
259
				onClose: lang.hitch(this, function() {
278
				onCloseTab: lang.hitch(this, function() {
260
					this.selectChild(this._searchPage);
279
					this.selectChild(this._searchPage);
261
					this.set( 'title', this.defaultTitle );
280
					this.set( 'title', this.defaultTitle );
262
				}),
281
				}),
 Lines 272-277   define([ Link Here 
272
		postCreate: function() {
291
		postCreate: function() {
273
			this.inherited(arguments);
292
			this.inherited(arguments);
274
293
294
			if (this._tree)
275
			this.own(this._tree.watch('path', lang.hitch(this, function() {
295
			this.own(this._tree.watch('path', lang.hitch(this, function() {
276
				var searchType = this._searchForm.getWidget('type').get('value');
296
				var searchType = this._searchForm.getWidget('type').get('value');
277
				if (searchType == 'domain') {
297
				if (searchType == 'domain') {
 Lines 282-287   define([ Link Here 
282
					}));
302
					}));
283
				}
303
				}
284
			})));
304
			})));
305
306
			this.on('close', lang.hitch(this, 'onCloseTab'));
285
		},
307
		},
286
308
287
		_selectInputText: function() {
309
		_selectInputText: function() {
 Lines 785-790   define([ Link Here 
785
				description: _( 'Edit the configuration of the virtual machine' ),
807
				description: _( 'Edit the configuration of the virtual machine' ),
786
				callback: lang.hitch(this, 'openDomainPage')
808
				callback: lang.hitch(this, 'openDomainPage')
787
			}, {
809
			}, {
810
				name: 'editNewTab',
811
				label: _( 'Edit in new tab' ),
812
				isStandardAction: false,
813
				isMultiAction: false,
814
				iconClass: 'umcIconEdit',
815
				description: _('Open a new tab to edit the configuration of the virtual machine'),
816
				callback: lang.hitch(this, function(ids, items) {
817
					var props = {
818
						onCloseTab: lang.hitch(this, function() {
819
							topic.publish('/umc/tabs/focus', this);
820
						}),
821
						openDomain: ids
822
					};
823
					topic.publish('/umc/modules/open', 'uvmm', '', props);
824
				})
825
			}, {
788
				name: 'start',
826
				name: 'start',
789
				label: _( 'Start' ),
827
				label: _( 'Start' ),
790
				iconClass: 'umcIconPlay',
828
				iconClass: 'umcIconPlay',
 Lines 1069-1074   define([ Link Here 
1069
			else {
1107
			else {
1070
				progress.set('value', i);
1108
				progress.set('value', i);
1071
			}
1109
			}
1110
		},
1111
1112
		closeDomainPage: function() {
1113
			// close the UVMM module
1114
			if (this._domainPage && this._domainPage.isClosable) {
1115
				topic.publish('/umc/tabs/close', this);
1116
				return;
1117
			}
1118
		},
1119
1120
		onCloseTab: function() {
1121
			// event stub
1072
		}
1122
		}
1073
	});
1123
	});
1074
});
1124
});
(-)a/branches/ucs-3.2/ucs-3.2-0/virtualization/univention-virtual-machine-manager-daemon/umc/js/uvmm/DomainPage.js (-12 / +18 lines)
 Lines 32-37   define([ Link Here 
32
	"dojo/_base/declare",
32
	"dojo/_base/declare",
33
	"dojo/_base/lang",
33
	"dojo/_base/lang",
34
	"dojo/_base/array",
34
	"dojo/_base/array",
35
	"dojo/topic",
36
	"dojo/on",
35
	"dojo/store/Memory",
37
	"dojo/store/Memory",
36
	"dojo/store/Observable",
38
	"dojo/store/Observable",
37
	"umc/tools",
39
	"umc/tools",
 Lines 56-62   define([ Link Here 
56
	"umc/modules/uvmm/DriveGrid",
58
	"umc/modules/uvmm/DriveGrid",
57
	"umc/modules/uvmm/types",
59
	"umc/modules/uvmm/types",
58
	"umc/i18n!umc/modules/uvmm"
60
	"umc/i18n!umc/modules/uvmm"
59
], function(declare, lang, array, Memory, Observable, tools, dialog, store, Page, Form, ContainerWidget, TabContainer, TitlePane, ExpandingTitlePane, StandbyMixin,
61
], function(declare, lang, array, topic, on, Memory, Observable, tools, dialog, store, Page, Form, ContainerWidget, TabContainer, TitlePane, ExpandingTitlePane, StandbyMixin,
60
	TextBox, TextArea, HiddenInput, ComboBox, MultiInput, CheckBox, PasswordBox, SnapshotGrid, InterfaceGrid, DriveGrid, types, _) {
62
	TextBox, TextArea, HiddenInput, ComboBox, MultiInput, CheckBox, PasswordBox, SnapshotGrid, InterfaceGrid, DriveGrid, types, _) {
61
63
62
	return declare("umc.modules.uvmm.DomainPage", [ TabContainer, StandbyMixin ], {
64
	return declare("umc.modules.uvmm.DomainPage", [ TabContainer, StandbyMixin ], {
 Lines 78-83   define([ Link Here 
78
		_snapshotGrid: null,
80
		_snapshotGrid: null,
79
81
80
		_domain: null,
82
		_domain: null,
83
		isClosable: false,
81
84
82
		buildRendering: function() {
85
		buildRendering: function() {
83
			this.inherited(arguments);
86
			this.inherited(arguments);
 Lines 89-97   define([ Link Here 
89
				headerText: _('General settings'),
92
				headerText: _('General settings'),
90
				title: _('General'),
93
				title: _('General'),
91
				footerButtons: [{
94
				footerButtons: [{
92
					label: _('Back to overview'),
95
					label: this.isClosable ? _('Cancel') : _('Back to overview'),
93
					name: 'cancel',
96
					name: 'cancel',
94
					callback: lang.hitch(this, 'onClose')
97
					callback: lang.hitch(this, 'onCloseTab')
95
				}, {
98
				}, {
96
					label: _('Save'),
99
					label: _('Save'),
97
					defaultButton: true,
100
					defaultButton: true,
 Lines 161-169   define([ Link Here 
161
				headerText: _('Advanced settings'),
164
				headerText: _('Advanced settings'),
162
				title: _('Advanced'),
165
				title: _('Advanced'),
163
				footerButtons: [{
166
				footerButtons: [{
164
					label: _('Back to overview'),
167
					label: this.isClosable ? _('Cancel') : _('Back to overview'),
165
					name: 'cancel',
168
					name: 'cancel',
166
					callback: lang.hitch(this, 'onClose')
169
					callback: lang.hitch(this, 'onCloseTab')
167
				}, {
170
				}, {
168
					label: _('Save'),
171
					label: _('Save'),
169
					defaultButton: true,
172
					defaultButton: true,
 Lines 294-302   define([ Link Here 
294
				headerText: _('Settings for devices'),
297
				headerText: _('Settings for devices'),
295
				title: _('Devices'),
298
				title: _('Devices'),
296
				footerButtons: [{
299
				footerButtons: [{
297
					label: _('Back to overview'),
300
					label: this.isClosable ? _('Cancel') : _('Back to overview'),
298
					name: 'cancel',
301
					name: 'cancel',
299
					callback: lang.hitch(this, 'onClose')
302
					callback: lang.hitch(this, 'onCloseTab')
300
				}, {
303
				}, {
301
					label: _('Save'),
304
					label: _('Save'),
302
					defaultButton: true,
305
					defaultButton: true,
 Lines 353-361   define([ Link Here 
353
				headerText: _('Snapshots settings'),
356
				headerText: _('Snapshots settings'),
354
				title: _('Snapshots'),
357
				title: _('Snapshots'),
355
				footerButtons: [{
358
				footerButtons: [{
356
					label: _('Back to overview'),
359
					label: this.isClosable ? _('Cancel') : _('Back to overview'),
357
					name: 'cancel',
360
					name: 'cancel',
358
					callback: lang.hitch(this, 'onClose')
361
					callback: lang.hitch(this, 'onCloseTab')
359
				}, {
362
				}, {
360
					label: _('Save'),
363
					label: _('Save'),
361
					defaultButton: true,
364
					defaultButton: true,
 Lines 420-426   define([ Link Here 
420
				nodeURI: this._domain.domainURI.split('#')[0],
423
				nodeURI: this._domain.domainURI.split('#')[0],
421
				domain: values
424
				domain: values
422
			}).then(lang.hitch(this, function() {
425
			}).then(lang.hitch(this, function() {
423
				this.onClose();
426
				this.onCloseTab();
424
				this.standby(false);
427
				this.standby(false);
425
			}), lang.hitch(this, function() {
428
			}), lang.hitch(this, function() {
426
				this.standby(false);
429
				this.standby(false);
 Lines 544-550   define([ Link Here 
544
							iwidget.set( 'disabled', domainActive );
547
							iwidget.set( 'disabled', domainActive );
545
						}
548
						}
546
					} ) );
549
					} ) );
547
					this.selectChild( this._generalPage, true);
550
					// Bug #24721: without the forced switch, the page remains empty until manually switched
551
					this.selectChild(this._devicesPage);
552
					this.selectChild(this._generalPage);
548
553
549
					// force a refresh of the grids
554
					// force a refresh of the grids
550
					this._interfaceGrid.filter();
555
					this._interfaceGrid.filter();
 Lines 557-564   define([ Link Here 
557
			}));
562
			}));
558
		},
563
		},
559
564
560
		onClose: function() {
565
		onCloseTab: function() {
561
			// event stub
566
			// event stub
567
			return true;
562
		},
568
		},
563
569
564
		onUpdateProgress: function(i, n) {
570
		onUpdateProgress: function(i, n) {

Return to bug 24721