parameters: (self)
return_statement: return {}
docstring: Method used by the product configurator to check if the product is configurable or not.
  
          We need to open the product configurator if the product:
          - is configurable (see has_configurable_attributes)
          - has optional products (method is extended in sale to return optional products info)
docstring_summary: Method used by the product configurator to check if the product is configurable or not.
docstring_tokens: Method used by the product configurator to check if the product is configurable or not .
function: def get_single_product_variant(self):
          """ Method used by the product configurator to check if the product is configurable or not.
  
          We need to open the product configurator if the product:
          - is configurable (see has_configurable_attributes)
          - has optional products (method is extended in sale to return optional products info)
          """
          self.ensure_one()
          if self.product_variant_count == 1 and not self.has_configurable_attributes:
              return {
                  'product_id': self.product_variant_id.id,
              }
          return {}
function_tokens: def get_single_product_variant ( self ) : self . ensure_one ( ) if self . product_variant_count == 1 and not self . has_configurable_attributes : return { 'product_id' : self . product_variant_id . id , } return { }