You are here

public function Shipment::delete in Ubercart 8.4

Deletes this shipment.

File

shipping/uc_fulfillment/src/Shipment.php, line 509

Class

Shipment
Defines the Shipment class.

Namespace

Drupal\uc_fulfillment

Code

public function delete() {
  \Drupal::database()
    ->update('uc_packages')
    ->fields([
    'sid' => NULL,
    'tracking_number' => NULL,
    'label_image' => NULL,
  ])
    ->condition('sid', $this->sid)
    ->execute();
  \Drupal::database()
    ->delete('uc_shipments')
    ->condition('sid', $this->sid)
    ->execute();
  foreach ($this->packages as $package) {
    if ($package
      ->getLabelImage()) {
      file_delete($package
        ->getLabelImage());
      $package
        ->setLabelImage('');
    }
  }
  \Drupal::moduleHandler()
    ->invokeAll('uc_shipment', [
    'delete',
    $this,
  ]);
  $this
    ->messenger()
    ->addMessage($this
    ->t('Shipment @id has been deleted.', [
    '@id' => $this->sid,
  ]));
}