diff --git a/www/manager6/Makefile b/www/manager6/Makefile index 63e48f7d0..c87b6fdc6 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -125,7 +125,6 @@ JSSRC= \ node/ServiceView.js \ node/Tasks.js \ node/Subscription.js \ - node/APT.js \ node/Config.js \ window/Migrate.js \ window/BulkAction.js \ diff --git a/www/manager6/node/APT.js b/www/manager6/node/APT.js deleted file mode 100644 index 41f6d59f5..000000000 --- a/www/manager6/node/APT.js +++ /dev/null @@ -1,210 +0,0 @@ -Ext.define('PVE.node.APT', { - extend: 'Ext.grid.GridPanel', - - alias: ['widget.pveNodeAPT'], - - onlineHelp: 'sysadmin_package_repositories', - - initComponent : function() { - var me = this; - - var nodename = me.pveSelNode.data.node; - if (!nodename) { - throw "no node name specified"; - } - - var store = Ext.create('Ext.data.Store', { - model: 'apt-pkglist', - groupField: 'Origin', - proxy: { - type: 'pve', - url: "/api2/json/nodes/" + nodename + "/apt/update" - }, - sorters: [ - { - property : 'Package', - direction: 'ASC' - } - ] - }); - - var groupingFeature = Ext.create('Ext.grid.feature.Grouping', { - groupHeaderTpl: '{[ "Origin: " + values.name ]} ({rows.length} Item{[values.rows.length > 1 ? "s" : ""]})', - enableGroupingMenu: false - }); - - var rowBodyFeature = Ext.create('Ext.grid.feature.RowBody', { - getAdditionalData: function (data, rowIndex, record, orig) { - var headerCt = this.view.headerCt; - var colspan = headerCt.getColumnCount(); - // Usually you would style the my-body-class in CSS file - return { - rowBody: '
' + Ext.String.htmlEncode(data.Description) + '
', - rowBodyColspan: colspan - }; - } - }); - - var reload = function() { - store.load(); - }; - - me.loadCount = 1; // avoid duplicate load mask - PVE.Utils.monStoreErrors(me, store); - - var apt_command = function(cmd){ - PVE.Utils.API2Request({ - url: "/nodes/" + nodename + "/apt/" + cmd, - method: 'POST', - failure: function(response, opts) { - Ext.Msg.alert(gettext('Error'), response.htmlStatus); - }, - success: function(response, opts) { - var upid = response.result.data; - - var win = Ext.create('PVE.window.TaskViewer', { - upid: upid - }); - win.show(); - me.mon(win, 'close', reload); - } - }); - }; - - var sm = Ext.create('Ext.selection.RowModel', {}); - - var update_btn = new Ext.Button({ - text: gettext('Refresh'), - handler: function(){ - PVE.Utils.checked_command(function() { apt_command('update'); }); - } - }); - - var upgrade_btn = Ext.create('PVE.button.ConsoleButton', { - disabled: !(PVE.UserName && PVE.UserName === 'root@pam'), - text: gettext('Upgrade'), - consoleType: 'upgrade', - nodename: nodename - }); - - var show_changelog = function(rec) { - if (!rec || !rec.data || !(rec.data.ChangeLogUrl && rec.data.Package)) { - return; - } - - var view = Ext.createWidget('component', { - autoScroll: true, - style: { - 'background-color': 'white', - 'white-space': 'pre', - 'font-family': 'monospace', - padding: '5px' - } - }); - - var win = Ext.create('Ext.window.Window', { - title: gettext('Changelog') + ": " + rec.data.Package, - width: 800, - height: 400, - layout: 'fit', - modal: true, - items: [ view ] - }); - - PVE.Utils.API2Request({ - waitMsgTarget: me, - url: "/nodes/" + nodename + "/apt/changelog", - params: { - name: rec.data.Package, - version: rec.data.Version - }, - method: 'GET', - failure: function(response, opts) { - win.close(); - Ext.Msg.alert(gettext('Error'), response.htmlStatus); - }, - success: function(response, opts) { - win.show(); - view.update(Ext.htmlEncode(response.result.data)); - } - }); - - }; - - var changelog_btn = new PVE.button.Button({ - text: gettext('Changelog'), - selModel: sm, - disabled: true, - enableFn: function(rec) { - if (!rec || !rec.data || !(rec.data.ChangeLogUrl && rec.data.Package)) { - return false; - } - return true; - }, - handler: function(b, e, rec) { - show_changelog(rec); - } - }); - - Ext.apply(me, { - store: store, - stateful: true, - stateId: 'grid-update', - selModel: sm, - viewConfig: { - stripeRows: false, - emptyText: '
' + gettext('No updates available.') + '
' - }, - tbar: [ update_btn, upgrade_btn, changelog_btn ], - features: [ groupingFeature, rowBodyFeature ], - columns: [ - { - header: gettext('Package'), - width: 200, - sortable: true, - dataIndex: 'Package' - }, - { - text: gettext('Version'), - columns: [ - { - header: gettext('current'), - width: 100, - sortable: false, - dataIndex: 'OldVersion' - }, - { - header: gettext('new'), - width: 100, - sortable: false, - dataIndex: 'Version' - } - ] - }, - { - header: gettext('Description'), - sortable: false, - dataIndex: 'Title', - flex: 1 - } - ], - listeners: { - activate: reload, - itemdblclick: function(v, rec) { - show_changelog(rec); - } - } - }); - - me.callParent(); - } -}, function() { - - Ext.define('apt-pkglist', { - extend: 'Ext.data.Model', - fields: [ 'Package', 'Title', 'Description', 'Section', 'Arch', - 'Priority', 'Version', 'OldVersion', 'ChangeLogUrl', 'Origin' ], - idProperty: 'Package' - }); - -}); diff --git a/www/manager6/node/Config.js b/www/manager6/node/Config.js index 32d5721bb..4bd3519f4 100644 --- a/www/manager6/node/Config.js +++ b/www/manager6/node/Config.js @@ -205,7 +205,14 @@ Ext.define('PVE.node.Config', { disabled: !caps.nodes['Sys.Console'], // do we want to link to system updates instead? itemId: 'apt', - xtype: 'pveNodeAPT', + xtype: 'proxmoxNodeAPT', + upgradeBtn: { + xtype: 'pveConsoleButton', + disabled: PVE.UserName !== 'root@pam', + text: gettext('Upgrade'), + consoleType: 'upgrade', + nodename: nodename + }, nodename: nodename }); }