parameters: (self)
docstring: According to this field, the button that calls `action_show_details` will be displayed
          to work on a move from its picking form view, or not.
docstring_summary: According to this field, the button that calls `action_show_details` will be displayed
          to work on a move from its picking form view, or not.
docstring_tokens: According to this field the button that calls action_show_details will be displayed to work on a move from its picking form view or not .
function: def _compute_show_details_visible(self):
          """ According to this field, the button that calls `action_show_details` will be displayed
          to work on a move from its picking form view, or not.
          """
          has_package = self.user_has_groups('stock.group_tracking_lot')
          multi_locations_enabled = self.user_has_groups('stock.group_stock_multi_locations')
          consignment_enabled = self.user_has_groups('stock.group_tracking_owner')
  
          show_details_visible = multi_locations_enabled or has_package
  
          for move in self:
              if not move.product_id:
                  move.show_details_visible = False
              elif len(move._get_move_lines()) > 1:
                  move.show_details_visible = True
              else:
                  move.show_details_visible = (((consignment_enabled and move.picking_code != 'incoming') or
                                               show_details_visible or move.has_tracking != 'none') and
                                               move._show_details_in_draft() and
                                               move.show_operations is False)
function_tokens: def _compute_show_details_visible ( self ) : has_package = self . user_has_groups ( 'stock.group_tracking_lot' ) multi_locations_enabled = self . user_has_groups ( 'stock.group_stock_multi_locations' ) consignment_enabled = self . user_has_groups ( 'stock.group_tracking_owner' ) show_details_visible = multi_locations_enabled or has_package for move in self : if not move . product_id : move . show_details_visible = False elif len ( move . _get_move_lines ( ) ) > 1 : move . show_details_visible = True else : move . show_details_visible = ( ( ( consignment_enabled and move . picking_code != 'incoming' ) or show_details_visible or move . has_tracking != 'none' ) and move . _show_details_in_draft ( ) and move . show_operations is False )