http://www.mediawiki.org/wiki/Special:Code/MediaWiki/99805
Revision: 99805
Author: jeroendedauw
Date: 2011-10-14 21:07:55 +0000 (Fri, 14 Oct 2011)
Log Message:
-----------
added submission success notifications
Modified Paths:
--------------
trunk/extensions/Contest/Contest.i18n.php
trunk/extensions/Contest/specials/SpecialMyContests.php
Modified: trunk/extensions/Contest/Contest.i18n.php
===================================================================
--- trunk/extensions/Contest/Contest.i18n.php 2011-10-14 21:03:49 UTC (rev
99804)
+++ trunk/extensions/Contest/Contest.i18n.php 2011-10-14 21:07:55 UTC (rev
99805)
@@ -192,6 +192,8 @@
'contest-mycontests-header-contest' => 'Contest',
'contest-mycontests-header-challenge' => 'Challenge',
'contest-mycontests-signup-success' => 'You have successfully signed up
for this contest.',
+ 'contest-mycontests-addition-success' => 'Your submission has been
added.',
+ 'contest-mycontests-updated-success' => 'Your submission has been
updated.',
'contest-mycontests-sessionfail' => 'Your submission could not be saved
due to loss of session data. Please try again.',
'contest-submission-submit' => 'Submit',
Modified: trunk/extensions/Contest/specials/SpecialMyContests.php
===================================================================
--- trunk/extensions/Contest/specials/SpecialMyContests.php 2011-10-14
21:03:49 UTC (rev 99804)
+++ trunk/extensions/Contest/specials/SpecialMyContests.php 2011-10-14
21:07:55 UTC (rev 99805)
@@ -13,6 +13,8 @@
*/
class SpecialMyContests extends SpecialContestPage {
+ protected $submissionState = null;
+
/**
* Constructor.
*
@@ -238,6 +240,12 @@
if ( $this->getRequest()->getCheck( 'new' ) ) {
$this->showSuccess( 'contest-mycontests-signup-success'
);
}
+ else if ( $this->getRequest()->getCheck( 'added' ) ) {
+ $this->showSuccess(
'contest-mycontests-addition-success' );
+ }
+ else if ( $this->getRequest()->getCheck( 'updated' ) ) {
+ $this->showSuccess(
'contest-mycontests-updated-success' );
+ }
else if ( $this->getRequest()->wasPosted()
&& !$this->getUser()->matchEditToken(
$this->getRequest()->getVal( 'wpEditToken' ) ) ) {
$this->showError( 'contest-mycontests-sessionfail' );
@@ -253,8 +261,9 @@
$form->setSubmitCallback( array( $this, 'handleSubmission' ) );
$form->setSubmitText( wfMsg( 'contest-submission-submit' ) );
- if( $form->show() ){
- $this->getOutput()->redirect( $this->getTitle(
$contestant->getContest()->getField( 'name' ) )->getLocalURL() );
+ if( $form->show() ) {
+ $query = is_null( $this->submissionState ) ? '' :
$this->submissionState;
+ $this->getOutput()->redirect( $this->getTitle(
$contestant->getContest()->getField( 'name' ) )->getLocalURL( $query ) );
}
else {
$this->getOutput()->addModules(
'contest.special.submission' );
@@ -289,7 +298,18 @@
'submission' => trim( $data['contestant-submission'] ),
) );
- return $contestant->writeToDB();
+ $success = $contestant->writeToDB();
+
+ if ( $success ) {
+ if ( trim( $data['contestant-previous-submission'] )
=== '' && trim( $data['contestant-submission'] ) !== '' ) {
+ $this->submissionState = 'added';
+ }
+ else {
+ $this->submissionState = 'updated';
+ }
+ }
+
+ return $success;
}
/**
@@ -310,6 +330,11 @@
'id' => 'contest-id',
);
+ $fields['contestant-previous-submission'] = array(
+ 'type' => 'hidden',
+ 'default' => $contestant->getField( 'submission' ),
+ );
+
$fields['contestant-submission'] = array(
'class' => 'ContestSubmissionField',
'label-message' => 'contest-submission-submission',
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs