Santhosh has uploaded a new change for review.

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


Change subject: (Bug 45552) Add Unproofread filter for the Proofread view
......................................................................

(Bug 45552) Add Unproofread filter for the Proofread view

* Add an 'Unproofread' filter in proofread mode alone.
* Hide this filter in translate mode.
* If there is no other filter 'Unproofread' is the filter for
  proofread
* Filter applied for this translate|!reviewer|!last-translator
* Small API tweak to get !last-translator work - it should return
  all last translations but not by current user. Passing the current
  user Id is optional.

Change-Id: Ida34f6f56f668fb1fe75146523e7a9c6f17d394c
---
M Translate.i18n.php
M api/ApiQueryMessageCollection.php
M resources/js/ext.translate.messagetable.js
M specials/SpecialTranslate.php
4 files changed, 26 insertions(+), 4 deletions(-)


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

diff --git a/Translate.i18n.php b/Translate.i18n.php
index bfe8f93..8ac1252 100644
--- a/Translate.i18n.php
+++ b/Translate.i18n.php
@@ -434,6 +434,7 @@
        'tux-tab-untranslated' => 'Untranslated',
        'tux-tab-outdated' => 'Outdated',
        'tux-tab-translated' => 'Translated',
+       'tux-tab-unproofread' => 'Unproofread',
 
        'tux-edit' => 'Edit',
        'tux-status-optional' => 'Optional',
@@ -925,6 +926,8 @@
 {{Identical|Outdated}}',
        'tux-tab-translated' => 'Tab in [[Special:Translate]] new ui to select 
which messages to show.
 {{Identical|Translated}}',
+       'tux-tab-unproofread' => 'Tab in [[Special:Translate]] new ui to select 
which messages to show.
+{{Identical|Proofread}}',
        'tux-edit' => 'Link in [[Special:Translate]] to open message editor',
        'tux-status-optional' => 'Status label in [[Special:Translate]] 
indicating that message should only be translated in special cases.
 {{Identical|Optional}}',
@@ -19039,6 +19042,7 @@
        'tux-tab-untranslated' => 'പരിഭാഷപ്പെടുത്താത്തവ',
        'tux-tab-outdated' => 'കാലഹരണപ്പെട്ടവ',
        'tux-tab-translated' => 'പരിഭാഷപ്പെടുത്തിയവ',
+       'tux-tab-unproofread' => 'സംശോധനം ചെയ്യാത്തവ',
        'tux-edit' => 'പരിഭാഷപ്പെടുത്തുക',
        'tux-status-optional' => 'ഐച്ഛികം',
        'tux-status-fuzzy' => 'കാലഹരണപ്പെട്ടവ',
diff --git a/api/ApiQueryMessageCollection.php 
b/api/ApiQueryMessageCollection.php
index 0a20fdd..a72ddad 100644
--- a/api/ApiQueryMessageCollection.php
+++ b/api/ApiQueryMessageCollection.php
@@ -64,6 +64,10 @@
                        if ( strpos( $filter, ':' ) !== false ) {
                                list( $filter, $value ) = explode( ':', 
$filter, 2 );
                        }
+
+                       if ( $filter === '!last-translator' && !$value ) {
+                               $value = $this->getUser()->getId();
+                       }
                        /* The filtering params here are swapped wrt 
MessageCollection.
                         * There (fuzzy) means do not show fuzzy, which is the 
same as !fuzzy
                         * here and fuzzy here means (fuzzy, false) there. */
diff --git a/resources/js/ext.translate.messagetable.js 
b/resources/js/ext.translate.messagetable.js
index 813aff7..518a0da 100644
--- a/resources/js/ext.translate.messagetable.js
+++ b/resources/js/ext.translate.messagetable.js
@@ -500,6 +500,8 @@
                        var messageTable = this,
                                filter = messageTable.$loader.data( 'filter' ),
                                $tuxTabUntranslated,
+                               $tuxTabTranslated,
+                               $tuxTabUnproofread,
                                $controlOwnButton,
                                $hideTranslatedButton;
 
@@ -520,28 +522,39 @@
                        messageTable.$container.empty();
 
                        $tuxTabUntranslated = $( '.tux-message-selector > 
.tux-tab-untranslated' );
+                       $tuxTabUnproofread = $( '.tux-message-selector > 
.tux-tab-unproofread' );
                        $controlOwnButton = messageTable.$actionBar.find( 
'.tux-proofread-own-translations-button' );
                        $hideTranslatedButton = messageTable.$actionBar.find( 
'.tux-editor-clear-translated' );
 
                        if ( messageTable.mode === 'proofread' || 
messageTable.mode === 'page' ) {
-                               $( '.tux-message-selector > 
.tux-tab-untranslated' ).addClass( 'hide' );
+                               $tuxTabUntranslated.addClass( 'hide' );
+                               $tuxTabUnproofread.removeClass( 'hide' );
                                // Fix the filter if it is untranslated. 
Untranslated does not make sense
                                // for proofread mode. Keep the filter if it is 
not 'untranslated'
-                               if ( filter.indexOf( '!translated' ) >= 0 )  {
+                               if ( !filter || filter.indexOf( '!translated' ) 
>= 0 )  {
                                        messageTable.messages = [];
-                                       mw.translate.changeFilter( 'translated' 
);
-                                       $( '.tux-message-selector > 
.tux-tab-translated' ).addClass( 'selected' );
+                                       // default filter for proofread mode
+                                       mw.translate.changeFilter( 
'translated|!reviewer|!last-translator' );
+                                       $tuxTabUnproofread.addClass( 'selected' 
);
                                }
                                $tuxTabUntranslated.addClass( 'hide' );
                                $controlOwnButton.removeClass( 'hide' );
                                $hideTranslatedButton.addClass( 'hide' );
                        } else {
                                $tuxTabUntranslated.removeClass( 'hide' );
+                               $tuxTabUnproofread.addClass( 'hide' );
                                $controlOwnButton.addClass( 'hide' );
 
                                if ( messageTable.$loader.data( 'filter' 
).indexOf( '!translated' ) > -1 ) {
                                        $hideTranslatedButton.removeClass( 
'hide' );
                                }
+
+                               if ( filter && filter.indexOf( 
'!last-translator' ) >= 0 )  {
+                                       messageTable.messages = [];
+                                       // default filter for translate mode
+                                       mw.translate.changeFilter( 
'!translated' );
+                                       $tuxTabUntranslated.addClass( 
'selected' );
+                               }
                        }
 
                        $.each( messageTable.messages, function ( index, 
message ) {
diff --git a/specials/SpecialTranslate.php b/specials/SpecialTranslate.php
index 853d7c9..e0eef43 100644
--- a/specials/SpecialTranslate.php
+++ b/specials/SpecialTranslate.php
@@ -389,6 +389,7 @@
                        //'Hardest',
                        'tux-tab-outdated' => 'fuzzy',
                        'tux-tab-translated' => 'translated',
+                       'tux-tab-unproofread' => 
'translated|!reviewer|!last-translator',
                );
 
                $params = $this->nondefaults;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ida34f6f56f668fb1fe75146523e7a9c6f17d394c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Santhosh <[email protected]>

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

Reply via email to