jenkins-bot has submitted this change and it was merged.

Change subject: Rip out non-TUX workflow state selector
......................................................................


Rip out non-TUX workflow state selector

Starting to remove pre-TUX functionality piece by piece.

To my knowledge the most common complaint about TUX was about the
search functionality. Our search features are getting better and
workflows are not changed that often so TUX can be used for that.

The old code is starting to be a maintenance burden:
* It increases payload even for TUX users which are the majority.
* It duplicates functionality and confuses people on which code is
  actually used.
* Time is wasted on code maintenance for code that is not really used.
* Translators translate unused or rarely used messages.

Change-Id: I969382bb1a87b1de1c98dc57d173120421f9ea48
---
M Resources.php
M i18n/core/en.json
M resources/css/ext.translate.special.translate.css
M resources/js/ext.translate.special.translate.js
M specials/SpecialTranslate.php
5 files changed, 1 insertion(+), 173 deletions(-)

Approvals:
  Siebrand: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Resources.php b/Resources.php
index 2cfd1d5..93246b4 100644
--- a/Resources.php
+++ b/Resources.php
@@ -435,12 +435,7 @@
                'ext.uls.mediawiki',
        ),
        'messages' => array(
-               'translate-workflow-set-do',
-               'translate-workflow-set-doing',
-               'translate-workflow-set-done',
-               'translate-workflow-set-error-alreadyset',
                'translate-documentation-language',
-               'translate-workflow-state-',
                'tpt-discouraged-language-force-header',
                'tpt-discouraged-language-force-content',
                'tpt-discouraged-language-header',
@@ -509,6 +504,7 @@
        'scripts' => 'resources/js/ext.translate.workflowselector.js',
        'messages' => array(
                'translate-workflow-set-doing',
+               'translate-workflow-state-',
                'translate-workflowstatus',
        ),
        'dependencies' => array(
diff --git a/i18n/core/en.json b/i18n/core/en.json
index d92c684..45cda36 100644
--- a/i18n/core/en.json
+++ b/i18n/core/en.json
@@ -283,10 +283,7 @@
        "action-translate-sandboxaction": "execute actions whitelisted for 
sandboxed users",
        "translate-workflow-state-": "(unset)",
        "translate-workflowstatus": "State: $1",
-       "translate-workflow-set-do": "Set",
        "translate-workflow-set-doing": "Setting...",
-       "translate-workflow-set-done": "Set!",
-       "translate-workflow-set-error-alreadyset": "The requested state is 
identical to the current state.",
        "translate-workflow-autocreated-summary": "Automatic creation of page 
for workflow state $1",
        "translate-stats-workflow": "State",
        "translate-workflowgroup-label": "Workflow states",
diff --git a/resources/css/ext.translate.special.translate.css 
b/resources/css/ext.translate.special.translate.css
index e34c872..3947da6 100644
--- a/resources/css/ext.translate.special.translate.css
+++ b/resources/css/ext.translate.special.translate.css
@@ -17,21 +17,6 @@
        white-space: nowrap;
 }
 
-/*
- * This reserves one corner with curvy lines for the message group status.
- */
-#mw-sp-translate-workflow {
-       float: right;
-       vertical-align: middle;
-       padding: 0.5em;
-       margin-left: 20px;
-       margin-right: -1em;
-       margin-top: -1em;
-       border-bottom: 2px dotted #666;
-       border-left: 1px dotted #AAA;
-       border-bottom-left-radius: 10px;
-}
-
 .tux-message-selector {
        font-size: 14px;
        margin: 0;
diff --git a/resources/js/ext.translate.special.translate.js 
b/resources/js/ext.translate.special.translate.js
index 870bd99..566f317 100644
--- a/resources/js/ext.translate.special.translate.js
+++ b/resources/js/ext.translate.special.translate.js
@@ -1,67 +1,6 @@
 ( function ( $, mw ) {
        'use strict';
 
-       /* Non-TUX Workflow selector code */
-       function prepareWorkflowSelector() {
-               var $submit, $select, submitFunction;
-
-               $submit = $( '#mw-translate-workflowset' );
-               $select = $( '#mw-sp-translate-workflow' ).find( 'select' );
-
-               $select.find( 'option[value=]' ).prop( 'disabled', true );
-
-               submitFunction = function ( event ) {
-                       var successFunction = function ( data ) {
-                               if ( data.error ) {
-                                       $submit.val( mw.msg( 
'translate-workflow-set-do' ) );
-                                       $submit.prop( 'disabled', false );
-                                       window.alert( data.error.info );
-                               } else {
-                                       $submit.val( mw.msg( 
'translate-workflow-set-done' ) );
-                                       $select.find( 'option[selected]' 
).prop( 'selected', false );
-                                       $select.find( 'option[value=' + 
event.data.newstate + ']' ).prop( 'selected', true );
-                               }
-                       };
-
-                       $submit.prop( 'disabled', true );
-                       $submit.val( mw.msg( 'translate-workflow-set-doing' ) );
-                       changeWorkflowStatus( $submit.data( 'group' ),
-                               $submit.data( 'language' ),
-                               event.data.newstate,
-                               $submit.data( 'token' )
-                       ).done( successFunction );
-               };
-
-               $select.change( function ( event ) {
-                       var current = $( this ).find( 'option[selected]' 
).val(),
-                               tobe = event.target.value;
-
-                       $submit.val( mw.msg( 'translate-workflow-set-do' ) );
-                       $submit.unbind( 'click' );
-                       if ( current !== tobe ) {
-                               $submit.css( 'visibility', 'visible' );
-                               $submit.prop( 'disabled', false );
-                               $submit.click( { newstate: tobe }, 
submitFunction );
-                       } else {
-                               $submit.prop( 'disabled', true );
-                       }
-               } );
-       }
-
-       function changeWorkflowStatus ( group, language, state, token ) {
-               var api = new mw.Api(),
-               params = {
-                       action: 'groupreview',
-                       group: group,
-                       language: language,
-                       state: state,
-                       token: token,
-                       format: 'json'
-               };
-
-               return api.post( params );
-       }
-
        mw.translate = mw.translate || {};
 
        mw.translate = $.extend( mw.translate, {
@@ -286,8 +225,6 @@
                targetLanguage = $messageList.data( 'targetlangcode' ) || // 
for tux=1
                        mw.config.get( 'wgUserLanguage' ); // for tux=0
 
-               // This is the selector for non-TUX mode
-               prepareWorkflowSelector();
                if ( $( 'body' ).hasClass( 'rtl' ) ) {
                        position = {
                                my: 'right top',
diff --git a/specials/SpecialTranslate.php b/specials/SpecialTranslate.php
index 787a669..9e00fbc 100644
--- a/specials/SpecialTranslate.php
+++ b/specials/SpecialTranslate.php
@@ -147,11 +147,6 @@
                                }
                        }
 
-                       $status = $this->getWorkflowStatus();
-                       if ( $status !== false ) {
-                               $description = $status . $description;
-                       }
-
                        $groupId = $this->group->getId();
                        // PHP is such an awesome language
                        $priorityLangs = TranslateMetadata::get( $groupId, 
'prioritylangs' );
@@ -788,88 +783,6 @@
 
        protected function tuxWorkflowSelector() {
                return Html::element( 'div', array( 'class' => 'tux-workflow 
twelve columns' ) );
-       }
-
-       protected function getWorkflowStatus() {
-               $stateConfig = 
$this->group->getMessageGroupStates()->getStates();
-               if ( !$stateConfig ) {
-                       return false;
-               }
-
-               if ( MessageGroups::isDynamic( $this->group ) ) {
-                       return false;
-               }
-
-               $dbr = wfGetDB( DB_SLAVE );
-               $current = $dbr->selectField(
-                       'translate_groupreviews',
-                       'tgr_state',
-                       array( 'tgr_group' => $this->options['group'], 
'tgr_lang' => $this->options['language'] ),
-                       __METHOD__
-               );
-
-               $options = array();
-               $stateConfig = array_merge(
-                       array( '' => array( 'right' => 'impossible-right' ) ),
-                       $stateConfig
-               );
-
-               $user = $this->getUser();
-               if ( $user->isAllowed( 'translate-groupreview' ) ) {
-                       // Add an option for every state
-                       foreach ( $stateConfig as $state => $config ) {
-                               $stateMessage = $this->msg( 
"translate-workflow-state-$state" );
-                               $stateText = $stateMessage->isBlank() ? $state 
: $stateMessage->text();
-
-                               $attributes = array(
-                                       'value' => $state,
-                               );
-
-                               if ( $state === strval( $current ) ) {
-                                       $attributes['selected'] = 'selected';
-                               }
-
-                               if ( is_array( $config ) && isset( 
$config['right'] )
-                                       && !$user->isAllowed( $config['right'] )
-                               ) {
-                                       // Grey out the forbidden option
-                                       $attributes['disabled'] = 'disabled';
-                               }
-
-                               $options[] = Html::element( 'option', 
$attributes, $stateText );
-                       }
-                       $stateIndicator = Html::rawElement( 'select',
-                               array(
-                                       'class' => 
'mw-translate-workflowselector',
-                                       'name' => 'workflow',
-                               ),
-                               implode( "\n", $options )
-                       );
-
-                       $setButtonAttributes = array(
-                               'type' => 'button',
-                               'id' => 'mw-translate-workflowset',
-                               'data-token' => ApiGroupReview::getToken( 0, '' 
),
-                               'data-group' => $this->options['group'],
-                               'data-language' => $this->options['language'],
-                               'style' => 'visibility: hidden;',
-                               'value' => 'Set',
-                       );
-                       $stateIndicator .= Html::element( 'input', 
$setButtonAttributes );
-               } elseif ( strval( $current ) !== '' ) {
-                       $stateIndicator = $current;
-               } else {
-                       $stateIndicator = $this->msg( 
'translate-workflow-state-' )->escaped();
-               }
-
-               $message = $this->msg( 'translate-workflowstatus' )->rawParams( 
$stateIndicator );
-               $box = Html::rawElement(
-                       'div',
-                       array( 'id' => 'mw-sp-translate-workflow' ),
-                       $message->escaped()
-               );
-
-               return $box;
        }
 
        /**

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I969382bb1a87b1de1c98dc57d173120421f9ea48
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Nemo bis <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to