Ne pas effacer les sélections après l'erreur "Vous avez déjà voté"
https://framagit.org/framasoft/framadate/issues/194
This commit is contained in:
parent
cb03c5c054
commit
445dac2e51
@ -50,6 +50,8 @@ $resultPubliclyVisible = true;
|
|||||||
$slots = [];
|
$slots = [];
|
||||||
$votes = [];
|
$votes = [];
|
||||||
$comments = [];
|
$comments = [];
|
||||||
|
$selectedNewVotes = [];
|
||||||
|
|
||||||
|
|
||||||
/* Services */
|
/* Services */
|
||||||
/*----------*/
|
/*----------*/
|
||||||
@ -180,6 +182,7 @@ if ($accessGranted) {
|
|||||||
}
|
}
|
||||||
} catch (AlreadyExistsException $aee) {
|
} catch (AlreadyExistsException $aee) {
|
||||||
$message = new Message('danger', __('Error', 'You already voted'));
|
$message = new Message('danger', __('Error', 'You already voted'));
|
||||||
|
$selectedNewVotes = $choices;
|
||||||
} catch (ConcurrentEditionException $cee) {
|
} catch (ConcurrentEditionException $cee) {
|
||||||
$message = new Message('danger', __('Error', 'Poll has been updated before you vote'));
|
$message = new Message('danger', __('Error', 'Poll has been updated before you vote'));
|
||||||
} catch (ConcurrentVoteException $cve) {
|
} catch (ConcurrentVoteException $cve) {
|
||||||
@ -237,5 +240,6 @@ $smarty->assign('accessGranted', $accessGranted);
|
|||||||
$smarty->assign('resultPubliclyVisible', $resultPubliclyVisible);
|
$smarty->assign('resultPubliclyVisible', $resultPubliclyVisible);
|
||||||
$smarty->assign('editedVoteUniqueId', $editedVoteUniqueId);
|
$smarty->assign('editedVoteUniqueId', $editedVoteUniqueId);
|
||||||
$smarty->assign('ValueMax', $poll->ValueMax);
|
$smarty->assign('ValueMax', $poll->ValueMax);
|
||||||
|
$smarty->assign('selectedNewVotes', $selectedNewVotes);
|
||||||
|
|
||||||
$smarty->display('studs.tpl');
|
$smarty->display('studs.tpl');
|
||||||
|
@ -180,26 +180,34 @@
|
|||||||
<ul class="list-unstyled choice">
|
<ul class="list-unstyled choice">
|
||||||
{if $poll->ValueMax eq NULL || $best_choices['y'][$i] lt $poll->ValueMax}
|
{if $poll->ValueMax eq NULL || $best_choices['y'][$i] lt $poll->ValueMax}
|
||||||
<li class="yes">
|
<li class="yes">
|
||||||
<input type="radio" id="y-choice-{$id}" name="choices[{$id}]" value="2" />
|
<input type="radio" id="y-choice-{$id}" name="choices[{$id}]" value="2"
|
||||||
|
{(!isset($selectedNewVotes[$id]) || ("2" !== $selectedNewVotes[$id])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
<label class="btn btn-default btn-xs" for="y-choice-{$id}" title="{__('Poll results', 'Vote yes for')|html} {$slot->title|html}">
|
<label class="btn btn-default btn-xs" for="y-choice-{$id}" title="{__('Poll results', 'Vote yes for')|html} {$slot->title|html}">
|
||||||
<i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span>
|
<i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li class="ifneedbe">
|
<li class="ifneedbe">
|
||||||
<input type="radio" id="i-choice-{$id}" name="choices[{$id}]" value="1" />
|
<input type="radio" id="i-choice-{$id}" name="choices[{$id}]" value="1"
|
||||||
|
{(!isset($selectedNewVotes[$id]) || ("1" !== $selectedNewVotes[$id])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
<label class="btn btn-default btn-xs" for="i-choice-{$id}" title="{__('Poll results', 'Vote ifneedbe for')|html} {$slot->title|html}">
|
<label class="btn btn-default btn-xs" for="i-choice-{$id}" title="{__('Poll results', 'Vote ifneedbe for')|html} {$slot->title|html}">
|
||||||
(<i class="glyphicon glyphicon-ok"></i>)<span class="sr-only">{__('Generic', 'Ifneedbe')}</span>
|
(<i class="glyphicon glyphicon-ok"></i>)<span class="sr-only">{__('Generic', 'Ifneedbe')}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
{/if}
|
{/if}
|
||||||
<li class="no">
|
<li class="no">
|
||||||
<input type="radio" id="n-choice-{$id}" name="choices[{$id}]" value="0" />
|
<input type="radio" id="n-choice-{$id}" name="choices[{$id}]" value="0"
|
||||||
<label class="btn btn-default btn-xs startunchecked" for="n-choice-{$id}" title="{__('Poll results', 'Vote no for')|html} {$slot->title|html}">
|
{(!isset($selectedNewVotes[$id]) || ("0" !== $selectedNewVotes[$id])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
|
<label class="btn btn-default btn-xs {(!isset($selectedNewVotes[$id]) || ("0" !== $selectedNewVotes[$id])) ? "startunchecked" : ""}" for="n-choice-{$id}" title="{__('Poll results', 'Vote no for')|html} {$slot->title|html}">
|
||||||
<i class="glyphicon glyphicon-ban-circle"></i><span class="sr-only">{__('Generic', 'No')}</span>
|
<i class="glyphicon glyphicon-ban-circle"></i><span class="sr-only">{__('Generic', 'No')}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li class="hide">
|
<li class="hide">
|
||||||
<input type="radio" id="n-choice-{$id}" name="choices[{$id}]" value=" " checked/>
|
<input type="radio" id="n-choice-{$id}" name="choices[{$id}]" value=" "
|
||||||
|
{(isset($selectedNewVotes[$id]) || ("" !== $selectedNewVotes[$id])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
|
@ -238,40 +238,43 @@
|
|||||||
{foreach $slots as $slot}
|
{foreach $slots as $slot}
|
||||||
{foreach $slot->moments as $moment}
|
{foreach $slot->moments as $moment}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<td class="bg-info" headers="M{$headersM[$i]} D{$headersD[$i]} H{$headersH[$i]}">
|
<td class="bg-info" headers="M{$headersM[$i]} D{$headersD[$i]} H{$headersH[$i]}">
|
||||||
<ul class="list-unstyled choice">
|
<ul class="list-unstyled choice">
|
||||||
{if $poll->ValueMax eq NULL || $best_choices['y'][$i] lt $poll->ValueMax}
|
{if $poll->ValueMax eq NULL || $best_choices['y'][$i] lt $poll->ValueMax}
|
||||||
<li class="yes">
|
<li class="yes">
|
||||||
<input type="radio" id="y-choice-{$i}" name="choices[{$i}]" value="2" />
|
<input type="radio" id="y-choice-{$i}" name="choices[{$i}]" value="2"
|
||||||
|
{(!isset($selectedNewVotes[$i]) || ("2" !== $selectedNewVotes[$i])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
<label class="btn btn-default btn-xs" for="y-choice-{$i}" title="{__('Poll results', 'Vote yes for')|html} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
<label class="btn btn-default btn-xs" for="y-choice-{$i}" title="{__('Poll results', 'Vote yes for')|html} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
||||||
<i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span>
|
<i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li class="ifneedbe">
|
<li class="ifneedbe">
|
||||||
<input type="radio" id="i-choice-{$i}" name="choices[{$i}]" value="1" />
|
<input type="radio" id="i-choice-{$i}" name="choices[{$i}]" value="1"
|
||||||
|
{(!isset($selectedNewVotes[$i]) || ("1" !== $selectedNewVotes[$i])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
<label class="btn btn-default btn-xs" for="i-choice-{$i}" title="{__('Poll results', 'Vote ifneedbe for')|html} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
<label class="btn btn-default btn-xs" for="i-choice-{$i}" title="{__('Poll results', 'Vote ifneedbe for')|html} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
||||||
(<i class="glyphicon glyphicon-ok"></i>)<span class="sr-only">{__('Generic', 'Ifneedbe')}</span>
|
(<i class="glyphicon glyphicon-ok"></i>)<span class="sr-only">{__('Generic', 'Ifneedbe')}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<li class="no">
|
<li class="no">
|
||||||
<input type="radio" id="n-choice-{$i}" name="choices[{$i}]" value="0" />
|
<input type="radio" id="n-choice-{$i}" name="choices[{$i}]" value="0"
|
||||||
|
{(!isset($selectedNewVotes[$i]) || ("0" !== $selectedNewVotes[$i])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
<label class="btn btn-default btn-xs startunchecked" for="n-choice-{$i}" title="{__('Poll results', 'Vote no for')|html} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
<label class="btn btn-default btn-xs startunchecked" for="n-choice-{$i}" title="{__('Poll results', 'Vote no for')|html} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
||||||
<i class="glyphicon glyphicon-ban-circle"></i><span class="sr-only">{__('Generic', 'No')}</span>
|
<i class="glyphicon glyphicon-ban-circle"></i><span class="sr-only">{__('Generic', 'No')}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li class="hide">
|
<li class="hide">
|
||||||
<input type="radio" id="n-choice-{$i}" name="choices[{$i}]" value=" " checked/>
|
<input type="radio" id="n-choice-{$i}" name="choices[{$i}]" value=" "
|
||||||
|
{(isset($selectedNewVotes[$i]) || ("" !== $selectedNewVotes[$i])) ? "" : " checked=\"checked\""}
|
||||||
|
/>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{$i = $i+1}
|
{$i = $i+1}
|
||||||
{/foreach}
|
{/foreach}
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
Loading…
Reference in New Issue
Block a user