https://www.mediawiki.org/wiki/Special:Code/MediaWiki/111845
Revision: 111845
Author: jeroendedauw
Date: 2012-02-18 21:19:18 +0000 (Sat, 18 Feb 2012)
Log Message:
-----------
work on article table
Modified Paths:
--------------
trunk/extensions/EducationProgram/EducationProgram.i18n.php
trunk/extensions/EducationProgram/EducationProgram.php
trunk/extensions/EducationProgram/includes/EPArticle.php
trunk/extensions/EducationProgram/includes/EPArticleTable.php
trunk/extensions/EducationProgram/resources/ep.articletable.js
Modified: trunk/extensions/EducationProgram/EducationProgram.i18n.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-02-18
21:01:07 UTC (rev 111844)
+++ trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-02-18
21:19:18 UTC (rev 111845)
@@ -271,18 +271,32 @@
'epstudentpager-yes' => 'Yes',
'epstudentpager-no' => 'No',
- // Student article pager
+ // Article table
'epstudentpager-header-student' => 'Student',
'epstudentpager-header-articles' => 'Articles',
'epstudentpager-header-reviewers' => 'Reviewers',
'ep-artciles-remstudent' => 'remove from course',
- 'ep-artciles-remreviewer-self' => 'Remove myself as reviewer',
- 'ep-artciles-remreviewer' => 'remove as reviewer',
+ 'ep-artciles-remreviewer-self' => 'Remove myself as
{{GENDER:$1|reviewer}}',
+ 'ep-artciles-remreviewer' => 'remove as {{GENDER:$1|reviewer}}',
'ep-artciles-remarticle' => 'remove article',
'ep-artciles-addarticle-text' => 'Add an article:',
'ep-artciles-addarticle-button' => 'Add article',
- 'ep-artciles-becomereviewer' => 'Add myself as reviewer',
+ 'ep-artciles-becomereviewer' => 'Add myself as {{GENDER:$1|reviewer}}',
+ // ep.articletable
+ 'ep-articletable-addreviwer-title' => 'Become {{GENDER:$1|reviewer}}',
+ 'ep-articletable-addreviwer-button' => 'Become {{GENDER:$1|reviewer}}',
+ 'ep-articletable-addreviwer-cancel' => 'Cancel',
+ 'ep-articletable-addreviwer-text' => 'You are about to enlist yourself
as {{GENDER:$1|reviewer}} for article $2 worked on by $3.',
+
+ 'ep-articletable-remreviwer-title' => 'Remove $1 as
{{GENDER:$1|reviewer}}',
+ 'ep-articletable-remreviwer-title-self' => 'Remove yourself as
{{GENDER:$1|reviewer}}',
+ 'ep-articletable-remreviwer-button' => 'Remove {{GENDER:$1|reviewer}}',
+ 'ep-articletable-remreviwer-button-self' => 'Remove yourself',
+ 'ep-articletable-remreviwer-cancel' => 'Cancel',
+ 'ep-articletable-remreviwer-text-self' => 'You are about to remove
yourself as {{GENDER:$1|reviewer}} for article $2 worked on by $3.',
+ 'ep-articletable-remreviwer-text' => 'You are about to remove $4 as
{{GENDER:$1|reviewer}} for article $2 worked on by $3.',
+
// Article pager
'ep-articles-noresults' => 'There are no articles to list.',
Modified: trunk/extensions/EducationProgram/EducationProgram.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.php 2012-02-18
21:01:07 UTC (rev 111844)
+++ trunk/extensions/EducationProgram/EducationProgram.php 2012-02-18
21:19:18 UTC (rev 111845)
@@ -432,6 +432,20 @@
'jquery.ui.button',
'jquery.ui.dialog',
),
+ 'messages' => array(
+ 'ep-articletable-addreviwer-title',
+ 'ep-articletable-addreviwer-button',
+ 'ep-articletable-addreviwer-cancel',
+ 'ep-articletable-addreviwer-text',
+
+ 'ep-articletable-remreviwer-title',
+ 'ep-articletable-remreviwer-button',
+ 'ep-articletable-remreviwer-cancel',
+ 'ep-articletable-remreviwer-text',
+ 'ep-articletable-remreviwer-title-self',
+ 'ep-articletable-remreviwer-button-self',
+ 'ep-articletable-remreviwer-text-self',
+ ),
);
$wgResourceModules['ep.addorg'] = $moduleTemplate + array(
Modified: trunk/extensions/EducationProgram/includes/EPArticle.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPArticle.php 2012-02-18
21:01:07 UTC (rev 111844)
+++ trunk/extensions/EducationProgram/includes/EPArticle.php 2012-02-18
21:19:18 UTC (rev 111845)
@@ -91,9 +91,8 @@
public function canBecomeReviewer( User $user ) {
if ( !array_key_exists( $user->getId(), $this->canBecomeReviwer
) ) {
$this->canBecomeReviwer[$user->getId()] =
$this->getUser()->isAllowed( 'ep-bereviewer' )
- //&& $this->getUser()->getId() !==
$student->getField( 'user_id' )
- //&& !in_array( $this->getUser()->getId(),
$article->getField( 'reviewers' ) )
- ;
+ && $this->getUser()->getId() !== $user->getId()
+ && !in_array( $this->getUser()->getId(),
$this->getField( 'reviewers' ) );
}
return $this->canBecomeReviwer[$user->getId()];
Modified: trunk/extensions/EducationProgram/includes/EPArticleTable.php
===================================================================
--- trunk/extensions/EducationProgram/includes/EPArticleTable.php
2012-02-18 21:01:07 UTC (rev 111844)
+++ trunk/extensions/EducationProgram/includes/EPArticleTable.php
2012-02-18 21:19:18 UTC (rev 111845)
@@ -271,7 +271,7 @@
* @since 0.1
*
* @param EPArticle $article
- * @param integer $userId
+ * @param integer $userId User id of the reviewer
*
* @return string
*/
@@ -292,6 +292,10 @@
'href' => '#',
'data-user-id' => $userId,
'data-article-id' =>
$article->getId(),
+ 'data-article-name' =>
$article->getTitle()->getFullText(),
+ 'data-student-name' =>
$article->getUser()->getName(),
+ 'data-reviewer-name' =>
$user->getName(),
+ 'data-reviewer-id' =>
$user->getId(),
'class' => 'ep-rem-reviewer',
),
wfMsg( 'ep-artciles-remreviewer' )
@@ -307,6 +311,8 @@
'class' => 'ep-rem-reviewer-self',
'disabled' => 'disabled',
'data-article-id' => $article->getId(),
+ 'data-article-name' =>
$article->getField( 'name' ),
+ 'data-student-name' =>
$article->getUser()->getName(),
),
wfMsg( 'ep-artciles-remreviewer-self' )
);
@@ -380,6 +386,8 @@
'class' => 'ep-become-reviewer',
'disabled' => 'disabled',
'data-article-id' => $article->getId(),
+ 'data-article-name' =>
$article->getTitle()->getFullText(),
+ 'data-user-name' =>
$article->getUser()->getName(),
),
wfMsg( 'ep-artciles-becomereviewer' )
);
Modified: trunk/extensions/EducationProgram/resources/ep.articletable.js
===================================================================
--- trunk/extensions/EducationProgram/resources/ep.articletable.js
2012-02-18 21:01:07 UTC (rev 111844)
+++ trunk/extensions/EducationProgram/resources/ep.articletable.js
2012-02-18 21:19:18 UTC (rev 111845)
@@ -9,16 +9,39 @@
(function( $, ep ) {
function addReviewer() {
- $dialog = $( '<div>' ).html( '' ).dialog( {
- 'title': ep.msg( 'ep-articletable-addreviwer-title' ),
+ var $this = $( this );
+
+ var $form = $( '<form>' ).attr( {
+ 'method': 'post',
+ 'action': window.location
+ } ).msg(
+ 'ep-articletable-addreviwer-text',
+ mw.user.name,
+ $( '<b>' ).text( $this.attr( 'data-article-name' ) ),
+ $( '<b>' ).text( $this.attr( 'data-user-name' ) )
+ );
+
+ $form.append( $( '<input>' ).attr( {
+ 'type': 'hidden',
+ 'name': 'action',
+ 'value': 'epaddreviewer'
+ } ) );
+
+ $form.append( $( '<input>' ).attr( {
+ 'type': 'hidden',
+ 'name': 'article-id',
+ 'value': $this.attr( 'data-article-id' )
+ } ) );
+
+ var $dialog = $( '<div>' ).html( '' ).dialog( {
+ 'title': ep.msg('ep-articletable-addreviwer-title',
mw.user.name ),
'minWidth': 550,
'buttons': [
{
- 'text': ep.msg(
'ep-articletable-addreviwer-button' ),
+ 'text': ep.msg(
'ep-articletable-addreviwer-button', mw.user.name ),
'id': 'ep-addreviwer-button',
'click': function() {
- alert( 'submit' );
- // TODO
+ $form.submit();
}
},
{
@@ -30,6 +53,8 @@
}
]
} );
+
+ $dialog.append( $form );
}
function addArticle() {
@@ -45,7 +70,62 @@
}
function removeReviewer() {
- // TODO
+ var $this = $( this ),
+ isSelf = $this.attr( 'data-reviewer-name' ) === undefined,
+ selfSuffix = isSelf ? '-self' : '',
+ reviewerName = isSelf ? mw.user.name : $this.attr(
'data-reviewer-name' );
+
+ var $form = $( '<form>' ).attr( {
+ 'method': 'post',
+ 'action': window.location
+ } ).msg(
+ 'ep-articletable-remreviwer-text' + selfSuffix,
+ reviewerName,
+ $( '<b>' ).text( $this.attr( 'data-article-name' ) ),
+ $( '<b>' ).text( $this.attr( 'data-student-name' ) ),
+ $( '<b>' ).text( reviewerName )
+ );
+
+ $form.append( $( '<input>' ).attr( {
+ 'type': 'hidden',
+ 'name': 'action',
+ 'value': 'epremreviewer'
+ } ) );
+
+ $form.append( $( '<input>' ).attr( {
+ 'type': 'hidden',
+ 'name': 'article-id',
+ 'value': $this.attr( 'data-article-id' )
+ } ) );
+
+ $form.append( $( '<input>' ).attr( {
+ 'type': 'hidden',
+ 'name': 'user-id',
+ 'value': isSelf ? mw.user.id : $this.attr(
'data-reviewer-id' )
+ } ) );
+
+ var $dialog = $( '<div>' ).html( '' ).dialog( {
+ 'title': ep.msg('ep-articletable-remreviwer-title' +
selfSuffix, reviewerName ),
+ 'minWidth': 550,
+ 'buttons': [
+ {
+ 'text': ep.msg(
'ep-articletable-remreviwer-button' + selfSuffix, reviewerName ),
+ 'id': 'ep-remreviwer-button',
+ 'click': function() {
+ $form.submit();
+ }
+ },
+ {
+ 'text': ep.msg(
'ep-articletable-remreviwer-cancel' ),
+ 'id': 'ep-remreviwer-cancel',
+ 'click': function() {
+ $dialog.dialog( 'close' );
+ }
+ }
+ ]
+ } );
+
+ $dialog.append( $form );
}
$( document ).ready( function() {
@@ -54,7 +134,7 @@
$( '.ep-become-reviewer' ).click( addReviewer );
- $( '.ep-rem-reviewer-self' ).click( removeReviewer );
+ $( '.ep-rem-reviewer, .ep-rem-reviewer-self' ).click(
removeReviewer );
// TODO
} );
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs