+Ext.define('pve-security-groups', {
+ extend: 'Ext.data.Model',
+
+ fields: [ 'group', 'comment', 'digest' ],
+ idProperty: 'group'
+});
+
Ext.define('PVE.SecurityGroupEdit', {
- extend: 'PVE.window.Edit',
+ extend: 'Proxmox.window.Edit',
base_url: "/cluster/firewall/groups",
});
}
- var ipanel = Ext.create('PVE.panel.InputPanel', {
+ var ipanel = Ext.create('Proxmox.panel.InputPanel', {
// InputPanel does not have a 'create' property, does it need a 'isCreate'
isCreate: me.isCreate,
items: items
base_url: "/cluster/firewall/groups",
initComponent: function() {
- /*jslint confusion: true */
var me = this;
if (me.rule_panel == undefined) {
}
var store = new Ext.data.Store({
- fields: [ 'group', 'comment', 'digest' ],
+ model: 'pve-security-groups',
proxy: {
- type: 'pve',
+ type: 'proxmox',
url: '/api2/json' + me.base_url
},
- idProperty: 'group',
sorters: {
property: 'group',
order: 'DESC'
win.on('destroy', reload);
};
- me.editBtn = new PVE.button.Button({
+ me.editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
handler: run_editor
});
- me.addBtn = new PVE.button.Button({
+ me.addBtn = new Proxmox.button.Button({
text: gettext('Create'),
handler: function() {
sm.deselectAll();
}
});
- me.removeBtn = new PVE.button.Button({
- text: gettext('Remove'),
+ me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton', {
selModel: sm,
- disabled: true,
- handler: function() {
- var rec = sm.getSelection()[0];
- if (!rec || !me.base_url) {
- return;
- }
- PVE.Utils.API2Request({
- url: me.base_url + '/' + rec.data.group,
- method: 'DELETE',
- waitMsgTarget: me,
- failure: function(response, options) {
- Ext.Msg.alert(gettext('Error'), response.htmlStatus);
- },
- callback: reload
- });
+ baseurl: me.base_url + '/',
+ enableFn: function(rec) {
+ return (rec && me.base_url);
+ },
+ callback: function() {
+ reload();
}
});