diff --git a/application/controllers/TagsController.php b/application/controllers/TagsController.php index ecec1f54de..18042f2819 100644 --- a/application/controllers/TagsController.php +++ b/application/controllers/TagsController.php @@ -109,11 +109,17 @@ public function renameAjaxAction() $oldTag->name = $newName; $this->_helper->viewRenderer->setNoRender(); - if ($csrf->isValid($_POST) && $oldTag->save(false)) { - $this->getResponse()->setBody($newName); - } else { - $this->getResponse()->setHttpResponseCode(500); - $this->getResponse()->setBody($error); + if ($csrf->isValid($_POST)) { + if ($oldTag->save(false)) { + $this->getResponse()->setBody($newName); + } else { + $newTag = $this->_helper->db->findOrNew($newName); + $newTagId = $newTag->id; + $this->_helper->db->mergeTags($oldTagId, $newTagId); + } + } else { + $this->getResponse()->setHttpResponseCode(500); + $this->getResponse()->setBody($error); } } }