jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/334321 )
Change subject: BSReview: Added "delegated to" user to assessors #2833 ...................................................................... BSReview: Added "delegated to" user to assessors #2833 => Needs cherry-pick to REL1_27 * Displayed the user, the review step was delegated to in review overview * Appended the ridiculous getData() query * Fixed the know bug: "Review Overviews displays empty brackets" Change-Id: I196c08f636a1f6768785342f369df6141307ae1b --- M Review/Review.class.php M Review/includes/api/BSApiReviewOverviewStore.php M Review/resources/BS.Review/OverviewPanel.js 3 files changed, 51 insertions(+), 7 deletions(-) Approvals: Robert Vogel: Looks good to me, approved jenkins-bot: Verified diff --git a/Review/Review.class.php b/Review/Review.class.php index 8b493e2..17d3cef 100644 --- a/Review/Review.class.php +++ b/Review/Review.class.php @@ -453,7 +453,7 @@ $tbl_page = $dbr->tableName( 'page' ); $tbl_user = $dbr->tableName( 'user' ); - $sql = 'SELECT r.rev_id, r.rev_pid, p.page_title, p.page_namespace, u.user_name, u.user_real_name, u.user_id, r.rev_editable, r.rev_sequential, r.rev_abortable, rs.revs_status, u2.user_name AS owner_name, u2.user_real_name AS owner_real_name, '; + $sql = 'SELECT r.rev_id, r.rev_pid, p.page_title, p.page_namespace, u.user_name, u.user_real_name, u.user_id, r.rev_editable, r.rev_sequential, r.rev_abortable, rs.revs_status, u2.user_name AS owner_name, u2.user_real_name AS owner_real_name, rs.revs_delegate_to AS revs_delegate_to, '; switch ( $wgDBtype ) { case 'postgres' : { $sql .= " EXTRACT(EPOCH FROM TO_TIMESTAMP(r.rev_enddate, 'YYYYMMDDHH24MISS')) AS endtimestamp, TO_CHAR(TO_DATE(r.rev_startdate, 'YYYYMMDDHH24MISS'), 'DD.MM.YYYY') AS startdate, "; @@ -480,10 +480,10 @@ // if( intval($_GET['user']) ) if ( $iUserId ) { // <== getParam returns default (false) if INT is expected and param is not numeric //$sql.= 'AND (r.owner="'. $_GET['user'] .'" OR "'. $_GET['user'] .'" IN (SELECT hrs.user_id FROM hw_review_steps AS hrs WHERE hrs.review_id=r.id)) '; - $sql .= 'AND (r.rev_owner=' . $iUserId . ' OR EXISTS (SELECT 1 FROM ' . $tbl_step . ' AS hrs WHERE hrs.revs_review_id=r.rev_id AND hrs.revs_user_id = ' . $iUserId . ')) '; + $sql .= 'AND (r.rev_owner=' . $iUserId . ' OR EXISTS (SELECT 1 FROM ' . $tbl_step . ' AS hrs WHERE hrs.revs_review_id=r.rev_id AND (hrs.revs_user_id = ' . $iUserId . ' OR hrs.revs_delegate_to = ' . $iUserId . '))) '; } } else { - $sql .= 'AND (r.rev_owner=' . $wgUser->mId . ' OR EXISTS (SELECT 1 FROM ' . $tbl_step . ' AS hrs WHERE hrs.revs_review_id=r.rev_id AND hrs.revs_user_id = ' . $wgUser->mId . ')) '; + $sql .= 'AND (r.rev_owner=' . $wgUser->mId . ' OR EXISTS (SELECT 1 FROM ' . $tbl_step . ' AS hrs WHERE hrs.revs_review_id=r.rev_id AND (hrs.revs_user_id = ' . $wgUser->mId . ' OR hrs.revs_delegate_to = ' . $wgUser->mId . '))) '; } $sql .= 'ORDER BY r.rev_startdate DESC, rs.revs_sort_id'; @@ -515,17 +515,35 @@ $arrList[ $row[ 'rev_id' ] ][ 'total' ] = isset( $arrList[ $row[ 'rev_id' ] ][ 'total' ] ) ? $arrList[ $row[ 'rev_id' ] ][ 'total' ] + 1 : 1; break; } + $row[ 'revs_delegate_to_real_name' ] + = $row[ 'revs_delegate_to_name' ] + = ''; + if( !empty( $row[ 'revs_delegate_to' ] ) ) { + $oDelegateUser = User::newFromId( + (int)$row[ 'revs_delegate_to' ] + ); + if( !$oDelegateUser->isAnon() ) { + $row[ 'revs_delegate_to_name' ] = $oDelegateUser->getName(); + $row[ 'revs_delegate_to_real_name' ] + = empty( $oDelegateUser->getRealName() ) + ? $oDelegateUser->getName() + : $oDelegateUser->getRealName() + ; + } + } $arrList[ $row[ 'rev_id' ] ][ 'assessors' ][] = array( 'name' => $row[ 'user_name' ], 'real_name' => $row[ 'user_real_name' ], 'revs_status' => $row[ 'revs_status' ], - 'timestamp' => $row[ 'stepdate' ] + 'timestamp' => $row[ 'stepdate' ], + 'delegate_to' => $row[ 'revs_delegate_to' ], + 'delegate_to_real_name' => $row[ 'revs_delegate_to_real_name' ], + 'delegate_to_name' => $row[ 'revs_delegate_to_name' ], ); } - return $arrList; } diff --git a/Review/includes/api/BSApiReviewOverviewStore.php b/Review/includes/api/BSApiReviewOverviewStore.php index 68aff9f..ae922f3 100644 --- a/Review/includes/api/BSApiReviewOverviewStore.php +++ b/Review/includes/api/BSApiReviewOverviewStore.php @@ -174,6 +174,10 @@ $oAssessor->name = $arrAssessor['name']; $oAssessor->real_name = $arrAssessor['real_name']; $oAssessor->timestamp = false; + $oAssessor->delegate_to = $arrAssessor['delegate_to']; + $oAssessor->delegate_to_name = $arrAssessor['delegate_to_name']; + $oAssessor->delegate_to_real_name + = $arrAssessor['delegate_to_real_name']; $bTimestap = $arrAssessor['timestamp'] != '00.00' diff --git a/Review/resources/BS.Review/OverviewPanel.js b/Review/resources/BS.Review/OverviewPanel.js index e9f3883..56fa018 100644 --- a/Review/resources/BS.Review/OverviewPanel.js +++ b/Review/resources/BS.Review/OverviewPanel.js @@ -125,7 +125,7 @@ renderAssessors: function( value, metaData, record, rowIndex, colIndex, store ) { var ownerName = mw.config.get('bsSpecialReviewUserName', false); var table = '<table cellpadding="5">'; - var row = '<tr><td>{0}</td><td>{1} ({2})</td></tr>'; + var row = '<tr><td>{0}</td><td>{1} {2}</td><td>{3}</td></tr>'; var findActive = true; var isSequential = record.get( 'rev_sequential' ); @@ -169,6 +169,27 @@ if(ownerName && ownerName === line.name) { style = 'font-weight:bold'; } + var delegate = false; + if( line.delegate_to && line.delegate_to > 0 ) { + var delegatestyle = ''; + var delegatetitle = new mw.Title( + line.delegate_to_name, + bs.ns.NS_USER + ); + if( ownerName && ownerName === line.delegate_to_name ) { + delegatestyle = 'font-weight:bold'; + } + delegate = '=> ' + mw.html.element( + 'a', + { + 'href': delegatetitle.getUrl(), + 'style': delegatestyle, + 'data-bs-username': line.delegate_to_name, + 'data-bs-title': delegatetitle.getPrefixedText() + }, + line.delegate_to_real_name || line.delegate_to_name + ); + } table += row.format( status, @@ -182,7 +203,8 @@ }, content ), - line.timestamp || '' + line.timestamp ? "(" + line.timestamp + ")" : '', + delegate || '' ); } table += '</table>'; -- To view, visit https://gerrit.wikimedia.org/r/334321 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I196c08f636a1f6768785342f369df6141307ae1b Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions Gerrit-Branch: master Gerrit-Owner: Pwirth <wi...@hallowelt.biz> Gerrit-Reviewer: Dvogel hallowelt <daniel.vo...@hallowelt.com> Gerrit-Reviewer: Ljonka <l.verhovs...@gmail.com> Gerrit-Reviewer: Mglaser <gla...@hallowelt.biz> Gerrit-Reviewer: Robert Vogel <vo...@hallowelt.biz> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits