from odoo import models


class ProductProduct(models.Model):
    _inherit = "product.product"

    def action_open_label_layout(self):
        """
        If a user has direct print option and a label template, return the direct print action,
        Otherwise, return the standard Odoo print wizard.
        """
        print_wizard = super(ProductProduct, self).action_open_label_layout()
        if not self.env['ir.config_parameter'].sudo().get_param('garazd_product_label.replace_standard_wizard'):
            return print_wizard
        return self.env['print.product.label'].get_quick_report_action(
            model_name='product.product', ids=self.ids, close_window=True,
        ) if self.env.user.print_label_directly and self.env.user.print_label_template_id else print_wizard
