You are here

public function Instances::removeInstance in Smart Date 3.4.x

Same name and namespace in other branches
  1. 8.2 modules/smart_date_recur/src/Controller/Instances.php \Drupal\smart_date_recur\Controller\Instances::removeInstance()
  2. 3.x modules/smart_date_recur/src/Controller/Instances.php \Drupal\smart_date_recur\Controller\Instances::removeInstance()
  3. 3.0.x modules/smart_date_recur/src/Controller/Instances.php \Drupal\smart_date_recur\Controller\Instances::removeInstance()
  4. 3.1.x modules/smart_date_recur/src/Controller/Instances.php \Drupal\smart_date_recur\Controller\Instances::removeInstance()
  5. 3.2.x modules/smart_date_recur/src/Controller/Instances.php \Drupal\smart_date_recur\Controller\Instances::removeInstance()
  6. 3.3.x modules/smart_date_recur/src/Controller/Instances.php \Drupal\smart_date_recur\Controller\Instances::removeInstance()

Removing a rule instance.

Parameters

int $index: Index of the instance to remove.

int|null $oid: SmartDateOverride override id if existing.

Throws

\Drupal\Core\Entity\EntityStorageException

File

modules/smart_date_recur/src/Controller/Instances.php, line 401

Class

Instances
Provides listings of instances (with overrides) for a specified rule.

Namespace

Drupal\smart_date_recur\Controller

Code

public function removeInstance(int $index, ?int $oid) {
  $rrule = $this->rrule
    ->id();

  // Delete existing override, if it exists.
  if ($oid) {
    $existing = SmartDateOverride::load($oid);
    $existing
      ->delete();
  }
  $override = SmartDateOverride::create([
    'rrule' => $rrule,
    'rrule_index' => $index,
  ]);
  $override
    ->save();
}