/**
  * @param EntryDistribution $entryDistribution
  * @param DistributionProfile $distributionProfile
  * @return BatchJob
  */
 public static function submitDeleteEntryDistribution(EntryDistribution $entryDistribution, DistributionProfile $distributionProfile)
 {
     if ($distributionProfile->getStatus() != DistributionProfileStatus::ENABLED || $distributionProfile->getDeleteEnabled() == DistributionProfileActionStatus::DISABLED) {
         return null;
     }
     $validStatus = array(EntryDistributionStatus::ERROR_DELETING, EntryDistributionStatus::ERROR_UPDATING, EntryDistributionStatus::READY);
     if (!in_array($entryDistribution->getStatus(), $validStatus)) {
         KalturaLog::notice("Wrong entry distribution status [" . $entryDistribution->getStatus() . "]");
         return null;
     }
     $distributionProvider = $distributionProfile->getProvider();
     if ($distributionProvider->isDeleteEnabled()) {
         return self::addSubmitDeleteJob($entryDistribution, $distributionProfile);
     }
     if ($distributionProvider->isAvailabilityUpdateEnabled()) {
         return self::addSubmitDisableJob($entryDistribution, $distributionProfile);
     }
     if (!$distributionProvider->isScheduleUpdateEnabled() || !$distributionProvider->isUpdateEnabled()) {
         KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] provider [" . $distributionProfile->getProviderType() . "] doesn't support delete or update");
         return null;
     }
     $entryDistribution->setSunset(time());
     $entryDistribution->save();
     return self::addSubmitUpdateJob($entryDistribution, $distributionProfile);
 }
 public function getDeleteEnabled()
 {
     $provider = $this->getProvider();
     if (!$provider) {
         return DistributionProfileActionStatus::DISABLED;
     }
     $action = GenericDistributionProviderActionPeer::retrieveByProviderAndAction($provider->getId(), DistributionAction::DELETE);
     if (!$action) {
         return DistributionProfileActionStatus::DISABLED;
     }
     return parent::getDeleteEnabled();
 }