diff --git a/Blacklight/NameFixer.php b/Blacklight/NameFixer.php index e6f280cbf..177ffde15 100755 --- a/Blacklight/NameFixer.php +++ b/Blacklight/NameFixer.php @@ -1046,6 +1046,7 @@ class NameFixer if ($taggedRelease !== null) { $taggedRelease->update($updateColumns); + $taggedRelease->untag(); $taggedRelease->retag($determinedCategory['tags']); } if (config('nntmux.elasticsearch_enabled') === true) { @@ -1069,6 +1070,7 @@ class NameFixer 'iscategorized' => 1, ] ); + $taggedRelease->untag(); $taggedRelease?->retag($determinedCategory['tags']); if (config('nntmux.elasticsearch_enabled') === true) { $this->elasticsearch->updateRelease($release->_releases_id); diff --git a/Blacklight/processing/ProcessReleases.php b/Blacklight/processing/ProcessReleases.php index c61c02d97..7da146615 100755 --- a/Blacklight/processing/ProcessReleases.php +++ b/Blacklight/processing/ProcessReleases.php @@ -244,6 +244,7 @@ class ProcessReleases Release::query()->where('id', $release->id)->update(['categories_id' => $catId['categories_id'], 'iscategorized' => 1]); try { $taggedRelease = Release::find($release->id); + $taggedRelease->untag(); $taggedRelease->retag($catId['tags']); } catch (\Throwable $e) { //Just pass this part, tag is not created for some reason, exception is thrown and blocks release creation @@ -528,6 +529,7 @@ class ProcessReleases ); try { $release = Release::find($releaseID); + $release->untag(); $release->retag($determinedCategory['tags']); } catch (\Throwable $e) { Log::debug($e->getTraceAsString()); diff --git a/Blacklight/processing/post/ProcessAdditional.php b/Blacklight/processing/post/ProcessAdditional.php index 549e1a141..90b1d420e 100755 --- a/Blacklight/processing/post/ProcessAdditional.php +++ b/Blacklight/processing/post/ProcessAdditional.php @@ -1767,6 +1767,7 @@ class ProcessAdditional // Update the search name. $release = Release::whereId($this->_release->id); $release->update(['searchname' => $newTitle, 'categories_id' => $newCat['categories_id'], 'iscategorized' => 1, 'isrenamed' => 1, 'proc_pp' => 1]); + $release->untag(); $release->retag($newCat['tags']); if (config('nntmux.elasticsearch_enabled') === true) { diff --git a/app/Models/Release.php b/app/Models/Release.php index b8ebf579c..6de3a976a 100644 --- a/app/Models/Release.php +++ b/app/Models/Release.php @@ -363,7 +363,9 @@ class Release extends Model } if (! empty($tags)) { $newTags = explode(',', $tags); - self::find($id)->retag($newTags); + $release = self::find($id); + $release->untag(); + $release->retag($newTags); } } diff --git a/misc/testing/Releases/recategorize.php b/misc/testing/Releases/recategorize.php index 364d6217a..b4605161c 100644 --- a/misc/testing/Releases/recategorize.php +++ b/misc/testing/Releases/recategorize.php @@ -94,6 +94,7 @@ function categorizeRelease($update = true, $echoOutput = false, $argv): int ]); $release = Release::find($result->id); if (! empty($release)) { + $release->untag(); $release->retag($catId['tags']); } \Blacklight\NameFixer::echoChangedReleaseName([