diff --git a/config/install/system.action.media_reset_thumbnail_action.yml b/config/install/system.action.media_reset_thumbnail_action.yml new file mode 100644 index 0000000..816281d --- /dev/null +++ b/config/install/system.action.media_reset_thumbnail_action.yml @@ -0,0 +1,10 @@ +langcode: en +status: true +dependencies: + module: + - media_entity +id: media_reset_thumbnail_action +label: 'Reset media thumbnail' +type: media +plugin: media_reset_thumbnail_action +configuration: { } diff --git a/src/Plugin/Action/ResetMediaThumbnail.php b/src/Plugin/Action/ResetMediaThumbnail.php new file mode 100644 index 0000000..632260d --- /dev/null +++ b/src/Plugin/Action/ResetMediaThumbnail.php @@ -0,0 +1,38 @@ +automaticallySetThumbnail(); + // We need to change at least one value, otherwise the changed timestamp + // will not be updated. + $entity->changed = 0; + $entity->save(); + } + + /** + * {@inheritdoc} + */ + public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { + /** @var \Drupal\media_entity\MediaInterface $object */ + return $object->access('update', $account, $return_as_object); + } + +}