On 3/18/19 5:05 PM, Christian Ebner wrote:
> This patch relies on the corresponding patch to pve-firewall, adding the user
> defined log levels for firewall rules.
> 
> By this, the user can select a per-rule log level for self defined rules. 
> These
> are independent of the global log level, which is defined in the firewall 
> options.
> 
> Signed-off-by: Christian Ebner <c.eb...@proxmox.com>
> ---
> 
> Version 2:
>     * Introduced PVE.FirewallLogLevel to share it between FirewallOptions.js 
> and
>       FirewallRules.js
>     * Reordered elements of the array to be in order of the corresponding 
> numeric
>       value from the log_level_hash as defined in 
> pve-firewall/src/PVE/Firewall.pm
> 
>  www/manager6/grid/FirewallOptions.js | 20 +++++++++++++++-----
>  www/manager6/grid/FirewallRules.js   | 17 +++++++++++++++--
>  2 files changed, 30 insertions(+), 7 deletions(-)
> 
> diff --git a/www/manager6/grid/FirewallOptions.js 
> b/www/manager6/grid/FirewallOptions.js
> index 1d56ecc0..f2e65fbc 100644
> --- a/www/manager6/grid/FirewallOptions.js
> +++ b/www/manager6/grid/FirewallOptions.js
> @@ -53,12 +53,9 @@ Ext.define('PVE.FirewallOptions', {
>                   subject: name,
>                   fieldDefaults: { labelWidth: labelWidth || 100 },
>                   items: {
> -                     xtype: 'proxmoxKVComboBox',
> +                     xtype: 'pveFirewallLogLevels',
>                       name: name,
> -                     fieldLabel: name,
> -                     comboItems: [['nolog', 'nolog'], ['info', 'info'], 
> ['err', 'err'],
> -                            ['warning', 'warning'], ['crit', 'crit'], 
> ['alert', 'alert'],
> -                            ['emerg', 'emerg'], ['debug', 'debug']]
> +                     fieldLabel: name
>                   }
>               }
>           };
> @@ -179,3 +176,16 @@ Ext.define('PVE.FirewallOptions', {
>       me.on('deactivate', me.rstore.stopUpdate);
>      }
>  });
> +
> +
> +Ext.define('PVE.FirewallLogLevels', {
> +    extend: 'Proxmox.form.KVComboBox',
> +    alias: ['widget.pveFirewallLogLevels'],
> +
> +    name: name,
> +    fieldName: name,

huh? name as variable is not defined here, also "fieldName" should be 
"fieldLabel",
I'd guess..
Actually you could use the defaults:
>    name: 'log',
>    fieldLabel: gettext('Log level')

so that in the FirewallRulePanel it'd be enough to define the xtype, and in
FirewallOptions you overwrite both anyway.

> +    value: 'nolog',
> +    comboItems: [['nolog', 'nolog'], ['emerg', 'emerg'], ['alert', 'alert'],
> +     ['crit', 'crit'], ['err', 'err'], ['warning', 'warning'],
> +     ['notice', 'notice'], ['info', 'info'], ['debug', 'debug']]
> +});
> diff --git a/www/manager6/grid/FirewallRules.js 
> b/www/manager6/grid/FirewallRules.js
> index 85b30371..1a6b2002 100644
> --- a/www/manager6/grid/FirewallRules.js
> +++ b/www/manager6/grid/FirewallRules.js
> @@ -59,7 +59,7 @@ Ext.define('PVE.FirewallRulePanel', {
>       // hack: editable ComboGrid returns nothing when empty, so we need to 
> set ''
>       // Also, disabled text fields return nothing, so we need to set ''
>  
> -     Ext.Array.each(['source', 'dest', 'macro', 'proto', 'sport', 'dport'], 
> function(key) {
> +     Ext.Array.each(['source', 'dest', 'macro', 'proto', 'sport', 'dport', 
> 'log'], function(key) {
>           if (values[key] === undefined) {
>               values[key] = '';
>           }
> @@ -205,9 +205,14 @@ Ext.define('PVE.FirewallRulePanel', {
>               name: 'dport',
>               value: '',
>               fieldLabel: gettext('Dest. port')
> +         },
> +         {
> +             xtype: 'pveFirewallLogLevels',
> +             name: 'log',
> +             fieldLabel: gettext('Log level')
>           }
>       ];
> -     
> +
>       me.columnB = [
>           {
>               xtype: 'textfield',
> @@ -736,6 +741,14 @@ Ext.define('PVE.FirewallRules', {
>               width: 100
>           },
>           {
> +             header: gettext('Log level'),
> +             dataIndex: 'log',
> +             renderer: function(value, metaData, record) {
> +                 return render_errors('log', value, metaData, record);
> +             },
> +             width: 100
> +         },
> +         {
>               header: gettext('Comment'),
>               dataIndex: 'comment',
>               flex: 1,
> 


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to