Santhosh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/278845

Change subject: While deleting unplished translation, delete the items from 
cx_corpora
......................................................................

While deleting unplished translation, delete the items from cx_corpora

If we are not deleting them, the translation units associated with the
translaiton id will get restored if the translator decide to translate
the same source article.

Testplan:
1. Translate an article. Translate some sections. Do not publish.
2. Go back to dashboard and delete the translation
3. Start a translation for same source title and language pair
4. Translate just one section, save, resume.
5. Without this patch, you will see the sections saved in #1 also
   get restored. With this patch, you wont see the sections you
   did not translate in second attempt get restored.

Bug: T128162
Change-Id: I52095d58397d35b199fb9c0f971ffddb49a71c87
---
M api/ApiContentTranslationDelete.php
M includes/TranslationStorageManager.php
2 files changed, 27 insertions(+), 5 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ContentTranslation 
refs/changes/45/278845/1

diff --git a/api/ApiContentTranslationDelete.php 
b/api/ApiContentTranslationDelete.php
index dcbe0b2..f34d604 100644
--- a/api/ApiContentTranslationDelete.php
+++ b/api/ApiContentTranslationDelete.php
@@ -6,6 +6,12 @@
  * @copyright See AUTHORS.txt
  * @license GPL-2.0+
  */
+
+use ContentTranslation\TranslationStorageManager;
+use ContentTranslation\Translator;
+use ContentTranslation\Translation;
+use ContentTranslation\Draft;
+
 class ApiContentTranslationDelete extends ApiBase {
 
        public function execute() {
@@ -16,8 +22,8 @@
                        $this->dieUsageMsg( 'blockedtext' );
                }
 
-               $translator = new ContentTranslation\Translator( $user );
-               $translation = ContentTranslation\Translation::find(
+               $translator = new Translator( $user );
+               $translation = Translation::find(
                        $params['from'],
                        $params['to'],
                        $params['sourcetitle']
@@ -36,9 +42,10 @@
                        $translation->translation['status'] = 'published';
                        $translation->update();
                } else {
-                       ContentTranslation\Translator::removeTranslation( 
$translationId );
-                       ContentTranslation\Translation::delete( $translationId 
);
-                       ContentTranslation\Draft::delete( $translationId );
+                       Translator::removeTranslation( $translationId );
+                       Translation::delete( $translationId );
+                       Draft::delete( $translationId );
+                       TranslationStorageManager::deleteTranslationUnits( 
$translationId );
                }
                $result = array(
                        'result' => 'success'
diff --git a/includes/TranslationStorageManager.php 
b/includes/TranslationStorageManager.php
index 64e11a5..1719501 100644
--- a/includes/TranslationStorageManager.php
+++ b/includes/TranslationStorageManager.php
@@ -57,6 +57,21 @@
        }
 
        /**
+        * Delete translation units associated with the given translation 
identifier.
+        *
+        * @param int $translationId
+        */
+       public static function deleteTranslationUnits( $translationId ) {
+               $dbw = Database::getConnection( DB_MASTER );
+
+               $conditions = array(
+                       'cxc_translation_id' => $translationId,
+               );
+
+               $dbw->delete( 'cx_corpora', $conditions, __METHOD__ );
+       }
+
+       /**
         * Save the translation unit.
         * If the record exist, update it, otherwise create.
         *

-- 
To view, visit https://gerrit.wikimedia.org/r/278845
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I52095d58397d35b199fb9c0f971ffddb49a71c87
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Santhosh <santhosh.thottin...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to