jenkins-bot has submitted this change and it was merged.
Change subject: Flash campaign input data back to view when there were failures
due to errors
......................................................................
Flash campaign input data back to view when there were failures due to errors
Don't make the admin re-fill the whole form due to errors in some
fields/missing data
Change-Id: I742b3e1c3512f80ea0c3b4dedf205fc0bbf716df
---
M data/templates/admin/campaign.html
M src/Controllers/Admin/Campaign.php
2 files changed, 25 insertions(+), 6 deletions(-)
Approvals:
Niharika29: Looks good to me, approved
jenkins-bot: Verified
diff --git a/data/templates/admin/campaign.html
b/data/templates/admin/campaign.html
index 19fe016..245e442 100644
--- a/data/templates/admin/campaign.html
+++ b/data/templates/admin/campaign.html
@@ -2,7 +2,7 @@
{% set errors = flash.form_errors|default([]) %}
{% if flash.form_defaults|default(false) %}
-{% set campaign = flash.form_defaults %}
+{% set ques = flash.form_defaults %}
{% endif %}
{% block javascript %}
@@ -62,17 +62,17 @@
</div>
{% for row in ques %}
- <div class="form-group {{ "questions[#{row.id}]" in errors ? 'has-error' }}">
+ <div class="form-group">
<label for="questions[{{ row.id }}]" class="col-sm-2 control-label">
{{ 'admin-campaign-question'|message( loop.index ) }}
</label>
- <div class="col-sm-10">
+ <div class="col-sm-10 {{ "qtitles[#{row.id}]" in errors ? 'has-error' }}">
<input type="text" class="form-control" name="qtitles[{{ row.id }}]"
value="{{ row.question_title }}" placeholder="Add question title here" required>
</div>
- <div class="col-sm-10 col-sm-offset-2">
+ <div class="col-sm-10 col-sm-offset-2 {{ "questions[#{row.id}]" in errors
? 'has-error' }}">
<textarea class="form-control" rows="6" name="questions[{{ row.id }}]"
placeholder="{{ 'admin-campaign-question-placeholder'|message }}">{{
row.question_body }}</textarea>
</div>
- <div class="col-sm-10 col-sm-offset-2">
+ <div class="col-sm-10 col-sm-offset-2 {{ "qfooters[#{row.id}]" in errors ?
'has-error' }}">
<input type="text" class="form-control" name="qfooters[{{ row.id }}]"
value="{{ row.question_footer }}" placeholder="Add question footer string here"
required>
</div>
</div>
diff --git a/src/Controllers/Admin/Campaign.php
b/src/Controllers/Admin/Campaign.php
index e026043..4dfcecc 100644
--- a/src/Controllers/Admin/Campaign.php
+++ b/src/Controllers/Admin/Campaign.php
@@ -169,7 +169,26 @@
} else {
$this->flash( 'error', 'Invalid submission.' );
$this->flash( 'form_errors', $this->form->getErrors() );
- // TODO: pass inputs to GET view (see Admin\User)
+
+ $id = $this->request->post( 'id' );
+ $questions = $this->form->get( 'questions' );
+ $questionTitles = $this->form->get( 'qtitles' );
+ $questionFooters = $this->form->get( 'qfooters' );
+ $quesDefaults = array();
+ if( $id == 'new' ) {
+ for ( $idx = 0; $idx < 5; $idx ++ ) {
+ $quesDefaults[$idx] = array(
+ 'id' => $idx,
+ 'question_title' =>
+ isset(
$questionTitles[$idx] ) ? $questionTitles[$idx] : '',
+ 'question_body' =>
+ isset( $questions[$idx]
) ? $questions[$idx] : '',
+ 'question_footer' =>
+ isset(
$questionFooters[$idx] ) ? $questionFooters[$idx] : '',
+ );
+ }
+ }
+ $this->flash( 'form_defaults', $quesDefaults );
}
$this->redirect( $this->urlFor( 'admin_campaign', array( 'id'
=> $id ) ) );
--
To view, visit https://gerrit.wikimedia.org/r/197313
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I742b3e1c3512f80ea0c3b4dedf205fc0bbf716df
Gerrit-PatchSet: 4
Gerrit-Project: wikimedia/iegreview
Gerrit-Branch: master
Gerrit-Owner: Niharika29 <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Niharika29 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits