Dears, How can I hide conditionally the print button in menu bar, e.g. if state == draft: then hide print button .
Note that I have user fields_view_get() to remove the print menu, it works but I need to hide print for specific quotation (only draft). I cannot access the instance of quotation from api.model.
@api.model
def fields_view_get(..):
    res = super(sale_order_cust, self).fields_view_get(
            view_id=view_id,
            view_type=view_type,
            toolbar=toolbar,
            submenu=submenu)   
        #remove print from tree view to avoid download unapproved quote
        if view_type == 'tree':
            toolbar_dic = res['toolbar']
            del toolbar_dic['print']
return res
 
                        
I think you would need to go for web/js code.
https://www.odoo.com/forum/help-1/question/view-or-hide-one-report-menu-based-on-condition-in-odoo-8-128946#answer-129476
it will help you