Subpanel custom buttons as SugarWidgets

In bad SugarCrm I’ve used a lot of my custom buttons in subpanels, not at top, but in row, as extension from SugarWidgetField.

Now they disappeared. Why? Because of some modifications in ListView.php. Namely, about line 500 in ListView.php is checked name of the button, and this name must be only edit_button, close_button or remove_button.

I’ve changed code like this:

($list_field['name'] === 'edit_button' && $field_acl['EditView']) 
                                || ($list_field['name'] === 'close_button' && $field_acl['EditView']) 
                                || ($list_field['name'] === 'remove_button' && $field_acl['Delete'])
                                || (strpos($list_field['name'], 'qi') !== false) 

and set the name of my custom button like this:

'calculate_prices_qi_button' =>
            'vname' => 'LBL_CALCULATE_PRICES',
            'widget_class' => 'SubPaneCalculatePricesQButton',
            'module' => 'qiquo_Quotes',
            'width' => '8%',
            'default' => true,

And now everything is OK.

Maybe somebody find it usefull?

I experienced the same problem and when looking for a clean solution, I found

It’s really easy and useful. Best of all, this is completely upgrade-safe.