Tinaj1234 has uploaded a new change for review. https://gerrit.wikimedia.org/r/230383
Change subject: Improve UI for handling Newsletter permissions ...................................................................... Improve UI for handling Newsletter permissions Included a table in Special: NewsletterManage to improve the UI. Bug: T108456 Change-Id: I2e5ef9046c59692c933c31018bb4b408fda39825 --- M Newsletter.php M i18n/en.json M includes/SpecialNewsletterManage.php 3 files changed, 70 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter refs/changes/83/230383/1 diff --git a/Newsletter.php b/Newsletter.php index 56b9a6f..669bf46 100755 --- a/Newsletter.php +++ b/Newsletter.php @@ -32,6 +32,7 @@ $wgAutoloadClasses['EchoNewsletterFormatter'] = __DIR__ . '/includes/EchoNewsletterFormatter.php'; $wgAutoloadClasses['NewsletterTablePager'] = __DIR__ . '/includes/SpecialNewsletters.php'; $wgAutoloadClasses['ApiNewsletter'] = __DIR__ . '/includes/ApiNewsletter.php'; +$wgAutoloadClasses['NewsletterManageTable'] = __DIR__ . '/includes/SpecialNewsletterManage.php'; $wgSpecialPages['NewsletterCreate'] = 'SpecialNewsletterCreate'; $wgSpecialPages['NewsletterManage'] = 'SpecialNewsletterManage'; diff --git a/i18n/en.json b/i18n/en.json index d8914df..d951633 100755 --- a/i18n/en.json +++ b/i18n/en.json @@ -32,5 +32,8 @@ "newsletter-header-action": "Subscribed ?", "newsletter-header-subscriber_count": "Subscriber count", "new-publisher-confirmation": "A new publisher has just been added to your newsletter !", - "remove-publisher-confirmation": "A publisher was removed from your newsletter." + "remove-publisher-confirmation": "A publisher was removed from your newsletter.", + "newslettermanage-header-name": "Newsletter", + "newslettermanage-header-publisher": "Contributors", + "newslettermanage-header-permissions": "Permissions" } diff --git a/includes/SpecialNewsletterManage.php b/includes/SpecialNewsletterManage.php index 5e50f9b..1d3c1b7 100644 --- a/includes/SpecialNewsletterManage.php +++ b/includes/SpecialNewsletterManage.php @@ -4,6 +4,11 @@ * */ class SpecialNewsletterManage extends SpecialPage { + static $fields = array( + 'nl_name' => 'name', + 'publisher_id' => 'publisher', + //'permissions' => 'permissions', + ); function __construct() { parent::__construct( 'NewsletterManage' ); } @@ -18,6 +23,14 @@ $announceIssueForm = new HTMLForm( $announceIssueArray, $this->getContext(), 'announceissueform' ); $announceIssueForm->setSubmitCallback( array( 'SpecialNewsletterManage', 'onSubmitIssue' ) ); + $table = new NewsletterManageTable(); + if ( $table->getNumRows() > 0 ) { + $output->addHTML( + $table->getNavigationBar() . + $table->getBody() . + $table->getNavigationBar() + ); + } # Show HTML forms $announceIssueForm->show(); $output->returnToMain(); @@ -252,4 +265,56 @@ return "Required fields are empty."; } +} + +class NewsletterManageTable extends TablePager { + function getFieldNames() { + $header = null; + if ( is_null( $header ) ) { + $header = array(); + foreach ( SpecialNewsletterManage::$fields as $key => $value ) { + $header[$key]= $this->msg( "newslettermanage-header-$value" )->text(); + } + } + + return $header; + + } + + function getQueryInfo() { + $info = array( + 'tables' => array( 'nl_newsletters', 'nl_publishers' ), + 'fields' => array( + 'nl_name', + 'publisher_id' + ) + ); + + return $info; + } + + function formatValue( $field, $value ) { + static $previous; + switch( $field ) { + case 'nl_name': if( $previous === $value ){ + return null; + } else { + $previous = $value; + + return $value; + } + case 'publisher_id' : + $user = User::newFromId( $value ); + return $user->getName(); + } + } + + function getDefaultSort() { + return 'nl_name'; + } + + function isFieldSortable( $field ) { + return false; + } + } \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/230383 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2e5ef9046c59692c933c31018bb4b408fda39825 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Newsletter Gerrit-Branch: master Gerrit-Owner: Tinaj1234 <tinajohnson.1...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits