diff --git a/resources/views/terms/edit.blade.php b/resources/views/terms/edit.blade.php index 4df02548924..86a85dfd899 100644 --- a/resources/views/terms/edit.blade.php +++ b/resources/views/terms/edit.blade.php @@ -26,9 +26,7 @@ :initial-origin-values="{{ json_encode($originValues) }}" :initial-origin-meta="{{ json_encode($originMeta) }}" initial-site="{{ $locale }}" - :initial-is-working-copy="{{ $str::bool($hasWorkingCopy) }}" :initial-is-root="{{ $str::bool($isRoot) }}" - :revisions-enabled="{{ $str::bool($revisionsEnabled) }}" :initial-read-only="{{ $str::bool($readOnly) }}" :preloaded-assets="{{ json_encode($preloadedAssets) }}" :breadcrumbs="{{ $breadcrumbs->toJson() }}" diff --git a/src/Http/Controllers/CP/Taxonomies/TermsController.php b/src/Http/Controllers/CP/Taxonomies/TermsController.php index 5dc382080a3..056fa98a792 100644 --- a/src/Http/Controllers/CP/Taxonomies/TermsController.php +++ b/src/Http/Controllers/CP/Taxonomies/TermsController.php @@ -87,8 +87,6 @@ public function edit(Request $request, $taxonomy, $term) { $this->authorize('view', $term); - $term = $term->fromWorkingCopy(); - $blueprint = $term->blueprint(); [$values, $meta] = $this->extractFromFields($term, $blueprint); @@ -105,9 +103,6 @@ public function edit(Request $request, $taxonomy, $term) 'save' => $term->updateUrl(), 'publish' => $term->publishUrl(), 'unpublish' => $term->unpublishUrl(), - 'revisions' => $term->revisionsUrl(), - 'restore' => $term->restoreRevisionUrl(), - 'createRevision' => $term->createRevisionUrl(), 'editBlueprint' => cp_route('taxonomies.blueprints.edit', [$taxonomy, $blueprint]), ], 'values' => array_merge($values, ['id' => $term->id()]), @@ -138,9 +133,7 @@ public function edit(Request $request, $taxonomy, $term) 'livePreviewUrl' => $localized->livePreviewUrl(), ]; })->all(), - 'hasWorkingCopy' => $term->hasWorkingCopy(), 'preloadedAssets' => $this->extractAssetsFromValues($values), - 'revisionsEnabled' => $term->revisionsEnabled(), 'breadcrumbs' => $this->breadcrumbs($taxonomy), 'previewTargets' => $taxonomy->previewTargets()->all(), 'itemActions' => Action::for($term, ['taxonomy' => $taxonomy->handle(), 'view' => 'form']), @@ -166,8 +159,6 @@ public function update(Request $request, $taxonomy, $term, $site) $this->authorize('update', $term); - $term = $term->fromWorkingCopy(); - $term->term()->syncOriginal(); $fields = $term->blueprint()->fields()->addValues($request->except('id')); @@ -197,18 +188,9 @@ public function update(Request $request, $taxonomy, $term, $site) $term->slug($request->slug); - if ($term->revisionsEnabled() && $term->published()) { - $term - ->makeWorkingCopy() - ->user(User::current()) - ->save(); - } else { - if (! $term->revisionsEnabled()) { - $term->published($request->published); - } + $term->published($request->published); - $saved = $term->updateLastModified(User::current())->save(); - } + $saved = $term->updateLastModified(User::current())->save(); [$values] = $this->extractFromFields($term, $term->blueprint()); @@ -315,14 +297,7 @@ public function store(Request $request, $taxonomy, $site) ->data($values) ->slug($slug); - if ($term->revisionsEnabled()) { - $term->store([ - 'message' => $request->message, - 'user' => User::current(), - ]); - } else { - $saved = $term->updateLastModified(User::current())->save(); - } + $saved = $term->updateLastModified(User::current())->save(); return (new TermResource($term)) ->additional(['saved' => $saved]); diff --git a/src/Providers/RouteServiceProvider.php b/src/Providers/RouteServiceProvider.php index ed0899f4dec..f344c0f7d22 100644 --- a/src/Providers/RouteServiceProvider.php +++ b/src/Providers/RouteServiceProvider.php @@ -361,8 +361,6 @@ protected function bindRevisions() if ($route->hasParameter('entry')) { $content = $route->parameter('entry'); - } elseif ($route->hasParameter('term')) { - $content = $route->parameter('term'); } else { throw new NotFoundHttpException; } diff --git a/src/Stache/Stores/TaxonomiesStore.php b/src/Stache/Stores/TaxonomiesStore.php index 4978d9993b5..365f7438be9 100644 --- a/src/Stache/Stores/TaxonomiesStore.php +++ b/src/Stache/Stores/TaxonomiesStore.php @@ -43,7 +43,6 @@ public function makeItemFromFile($path, $contents) return Taxonomy::make($handle) ->title(Arr::get($data, 'title')) ->cascade(Arr::get($data, 'inject', [])) - ->revisionsEnabled(Arr::get($data, 'revisions', false)) ->searchIndex(Arr::get($data, 'search_index')) ->defaultPublishState($this->getDefaultPublishState($data)) ->sites($sites) diff --git a/src/Taxonomies/LocalizedTerm.php b/src/Taxonomies/LocalizedTerm.php index c42aa34bc4f..c4ca9b0c04f 100644 --- a/src/Taxonomies/LocalizedTerm.php +++ b/src/Taxonomies/LocalizedTerm.php @@ -31,7 +31,6 @@ use Statamic\Facades\Site; use Statamic\GraphQL\ResolvesValues; use Statamic\Http\Responses\DataResponse; -use Statamic\Revisions\Revisable; use Statamic\Routing\Routable; use Statamic\Search\Searchable; use Statamic\Statamic; @@ -39,7 +38,7 @@ class LocalizedTerm implements Arrayable, ArrayAccess, Augmentable, BulkAugmentable, ContainsQueryableValues, Localization, Protectable, ResolvesValuesContract, Responsable, SearchableContract, Term { - use ContainsSupplementalData, HasAugmentedInstance, Publishable, ResolvesValues, Revisable, Routable, Searchable, TracksLastModified, TracksQueriedColumns, TracksQueriedRelations; + use ContainsSupplementalData, HasAugmentedInstance, Publishable, ResolvesValues, Routable, Searchable, TracksLastModified, TracksQueriedColumns, TracksQueriedRelations; protected $locale; protected $term; @@ -235,41 +234,6 @@ public function entriesCount() }); } - protected function revisionKey() - { - return vsprintf('taxonomies/%s/%s/%s', [ - $this->taxonomyHandle(), - $this->locale(), - $this->slug(), - ]); - } - - protected function revisionAttributes() - { - return [ - 'id' => $this->id(), - 'slug' => $this->slug(), - 'published' => $this->published(), - 'data' => $this->data()->except(['updated_by', 'updated_at'])->all(), - ]; - } - - public function makeFromRevision($revision) - { - $entry = clone $this; - - if (! $revision) { - return $entry; - } - - $attrs = $revision->attributes(); - - return $entry - ->published($attrs['published']) - ->data($attrs['data']) - ->slug($attrs['slug']); - } - public function origin() { return $this->inDefaultLocale(); @@ -289,15 +253,10 @@ public function locale($locale = null) return $this->locale; } + /** @deprecated */ public function revisionsEnabled($enabled = null) { - if (func_num_args() === 0) { - return $this->term->revisionsEnabled(); - } - - $this->term->revisionsEnabled($enabled); - - return $this; + return func_num_args() === 0 ? false : $this; } public function editUrl() @@ -320,21 +279,6 @@ public function unpublishUrl() return $this->cpUrl('taxonomies.terms.published.destroy'); } - public function revisionsUrl() - { - return $this->cpUrl('taxonomies.terms.revisions.index'); - } - - public function createRevisionUrl() - { - return $this->cpUrl('taxonomies.terms.revisions.store'); - } - - public function restoreRevisionUrl() - { - return $this->cpUrl('taxonomies.terms.restore-revision'); - } - public function livePreviewUrl() { return $this->cpUrl('taxonomies.terms.preview.edit'); diff --git a/src/Taxonomies/Taxonomy.php b/src/Taxonomies/Taxonomy.php index ae1a078698a..597fcf79fc0 100644 --- a/src/Taxonomies/Taxonomy.php +++ b/src/Taxonomies/Taxonomy.php @@ -27,7 +27,6 @@ use Statamic\Facades\Site; use Statamic\Facades\Stache; use Statamic\Facades\URL; -use Statamic\Statamic; use Statamic\Support\Str; use Statamic\Support\Traits\FluentlyGetsAndSets; @@ -43,7 +42,6 @@ class Taxonomy implements Arrayable, ArrayAccess, AugmentableContract, Contract, protected $sites = []; protected $collection; protected $defaultPublishState = true; - protected $revisions = false; protected $searchIndex; protected $previewTargets = []; protected $template; @@ -322,20 +320,10 @@ public function sites($sites = null) ->args(func_get_args()); } + /** @deprecated */ public function revisionsEnabled($enabled = null) { - return $this - ->fluentlyGetOrSet('revisions') - ->getter(function ($enabled) { - if (! config('statamic.revisions.enabled') || ! Statamic::pro()) { - return false; - } - - return false; // TODO - - return $enabled; - }) - ->args(func_get_args()); + return func_num_args() === 0 ? false : $this; } public function url() diff --git a/src/Taxonomies/Term.php b/src/Taxonomies/Term.php index 45438958ac1..800261b1477 100644 --- a/src/Taxonomies/Term.php +++ b/src/Taxonomies/Term.php @@ -278,9 +278,10 @@ public function reference() return "term::{$this->id()}"; } + /** @deprecated */ public function revisionsEnabled() { - return $this->taxonomy()->revisionsEnabled(); + return false; } public function dataForLocale($locale, $data = null) diff --git a/tests/Routing/RouteBindingTest.php b/tests/Routing/RouteBindingTest.php index 0d1b8dbd958..c2442f54d1d 100644 --- a/tests/Routing/RouteBindingTest.php +++ b/tests/Routing/RouteBindingTest.php @@ -206,9 +206,7 @@ private function setupContent() Facades\Revision::shouldReceive('whereKey')->with('collections/blog/en/123')->andReturn(collect(['1' => $entryRevision])); Facades\Taxonomy::make('tags')->title('Product Tags')->save(); - $term = tap(Facades\Term::make()->taxonomy('tags')->inDefaultLocale()->slug('bravo')->data([]))->save(); - $termRevision = $term->inDefaultLocale()->makeRevision()->id('2'); - Facades\Revision::shouldReceive('whereKey')->with('taxonomies/tags/en/bravo')->andReturn(collect(['2' => $termRevision])); + Facades\Term::make()->taxonomy('tags')->inDefaultLocale()->slug('bravo')->data([])->save(); Facades\AssetContainer::make('files')->disk('files')->title('The Files')->save(); Storage::fake('files'); @@ -456,17 +454,6 @@ function (Collection $collection, Entry $entry, Revision $revision) { 'cp/custom/entries/blog/123/revisions/invalid', ], - 'cp term revision' => [ - 'cp/custom/terms/tags/bravo/revisions/2', - function (Taxonomy $taxonomy, Term $term, Revision $revision) { - return $taxonomy->handle() === 'tags' && $term->id() === 'tags::bravo' && $revision->id() === '2'; - }, - ], - - 'cp term missing revision' => [ - 'cp/custom/terms/tags/bravo/revisions/invalid', - ], - 'cp invalid content revision' => [ 'cp/custom/revisions/1', ], @@ -851,24 +838,6 @@ function (string $collection, string $entry, string $revision) { }, ], - 'term revision' => [ - 'custom/terms/tags/bravo/revisions/2', - function (Taxonomy $taxonomy, Term $term, Revision $revision) { - return $taxonomy->handle() === 'tags' && $term->id() === 'tags::bravo' && $revision->id() === '2'; - }, - function (string $taxonomy, string $term, string $revision) { - return $taxonomy === 'tags' && $term === 'bravo' && $revision === '2'; - }, - ], - - 'term missing revision' => [ - 'custom/terms/tags/bravo/revisions/invalid', - null, - function (string $taxonomy, string $term, string $revision) { - return $taxonomy === 'tags' && $term === 'bravo' && $revision === 'invalid'; - }, - ], - 'invalid content revision' => [ 'custom/revisions/1', null,