Kunalgrover05 has uploaded a new change for review.

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

Change subject: Update translation pages on deleting translation unit
......................................................................

Update translation pages on deleting translation unit

Bug: 39415
Change-Id: I860d41e65392ae40c1183ef1598d3b408d7115de
---
M TranslateHooks.php
M tag/PageTranslationHooks.php
M tag/TranslateDeleteJob.php
3 files changed, 26 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate 
refs/changes/61/151861/1

diff --git a/TranslateHooks.php b/TranslateHooks.php
index 0f8a355..48daad6 100644
--- a/TranslateHooks.php
+++ b/TranslateHooks.php
@@ -171,6 +171,9 @@
 
                        // Update translated page when translation unit is moved
                        $wgHooks['TitleMoveComplete'][] = 
'PageTranslationHooks::onMoveTranslationUnits';
+
+                       // Update translated page when translation unit is 
deleted
+                       $wgHooks['ArticleDeleteComplete'][] = 
'PageTranslationHooks::onDeleteTranslationUnits';
                }
        }
 
diff --git a/tag/PageTranslationHooks.php b/tag/PageTranslationHooks.php
index 27df11a..946ac93 100644
--- a/tag/PageTranslationHooks.php
+++ b/tag/PageTranslationHooks.php
@@ -918,4 +918,25 @@
                        }
                }
        }
+
+       /**
+        * Hook to update source and destination translation pages on deleting 
translation units
+        * Hook: ArticleDeleteComplete
+        * @since 2014.08
+        */
+       public static function onDeleteTranslationUnits( WikiPage &$unit, User 
&$user, $reason,
+               $id, $content, $logEntry
+       ) {
+               // Do the update. In case job queue is doing the work, the 
update is not done here
+               if ( !self::$jobQueueRunning ) {
+                       $title = $unit->getTitle();
+                       $handle = new MessageHandle( $title );
+                       if ( $handle->isValid() ) {
+                               $language = $handle->getCode();
+                               $group = $handle->getGroup();
+                               $page = TranslatablePage::newFromTitle( 
$group->getTitle() );
+                               self::updateTranslationPage( $page, $language, 
$user, '', $reason );
+                       }
+               }
+       }
 }
diff --git a/tag/TranslateDeleteJob.php b/tag/TranslateDeleteJob.php
index 177721d..62582a8 100644
--- a/tag/TranslateDeleteJob.php
+++ b/tag/TranslateDeleteJob.php
@@ -47,6 +47,7 @@
                $doer = User::newFromName( $this->getPerformer() );
 
                PageTranslationHooks::$allowTargetEdit = true;
+               PageTranslationHooks::$jobQueueRunning = true;
 
                $error = '';
                $wikipage = new WikiPage( $title );
@@ -87,6 +88,7 @@
                                $page->invalidateCache();
                        }
                        $title->invalidateCache();
+                       PageTranslationHooks::$jobQueueRunning = false;
                }
 
                return true;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I860d41e65392ae40c1183ef1598d3b408d7115de
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Kunalgrover05 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to