From 54fd8464d9d4f89df278bd7556ccbb66c9bce27b Mon Sep 17 00:00:00 2001 From: m <m> Date: Wed, 4 Apr 2018 22:18:53 +0200 Subject: [PATCH] =?UTF-8?q?Ne=20pas=20effacer=20les=20s=C3=A9lections=20ap?= =?UTF-8?q?r=C3=A8s=20l'erreur=20"Vous=20avez=20d=C3=A9j=C3=A0=20vot=C3=A9?= =?UTF-8?q?"=20https://framagit.org/framasoft/framadate/issues/194?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- studs.php | 4 ++++ tpl/part/vote_table_classic.tpl | 18 +++++++++++++----- tpl/part/vote_table_date.tpl | 23 +++++++++++++---------- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/studs.php b/studs.php index f202c4a6..ee8dba9a 100644 --- a/studs.php +++ b/studs.php @@ -50,6 +50,8 @@ $resultPubliclyVisible = true; $slots = []; $votes = []; $comments = []; +$selectedNewVotes = []; + /* Services */ /*----------*/ @@ -180,6 +182,7 @@ if ($accessGranted) { } } catch (AlreadyExistsException $aee) { $message = new Message('danger', __('Error', 'You already voted')); + $selectedNewVotes = $choices; } catch (ConcurrentEditionException $cee) { $message = new Message('danger', __('Error', 'Poll has been updated before you vote')); } catch (ConcurrentVoteException $cve) { @@ -237,5 +240,6 @@ $smarty->assign('accessGranted', $accessGranted); $smarty->assign('resultPubliclyVisible', $resultPubliclyVisible); $smarty->assign('editedVoteUniqueId', $editedVoteUniqueId); $smarty->assign('ValueMax', $poll->ValueMax); +$smarty->assign('selectedNewVotes', $selectedNewVotes); $smarty->display('studs.tpl'); diff --git a/tpl/part/vote_table_classic.tpl b/tpl/part/vote_table_classic.tpl index 1b57894f..9f3193d4 100644 --- a/tpl/part/vote_table_classic.tpl +++ b/tpl/part/vote_table_classic.tpl @@ -181,26 +181,34 @@ <ul class="list-unstyled choice"> {if $poll->ValueMax eq NULL || $best_choices['y'][$i] lt $poll->ValueMax} <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}"> <i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span> </label> </li> <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}"> (<i class="glyphicon glyphicon-ok"></i>)<span class="sr-only">{__('Generic', 'Ifneedbe')}</span> </label> </li> {/if} <li class="no"> - <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}"> + <input type="radio" id="n-choice-{$id}" name="choices[{$id}]" value="0" + {(!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> </label> </li> <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> </ul> </td> diff --git a/tpl/part/vote_table_date.tpl b/tpl/part/vote_table_date.tpl index db8cdce9..87e3b8e8 100644 --- a/tpl/part/vote_table_date.tpl +++ b/tpl/part/vote_table_date.tpl @@ -239,40 +239,43 @@ {foreach $slots as $slot} {foreach $slot->moments as $moment} - - <td class="bg-info" headers="M{$headersM[$i]} D{$headersD[$i]} H{$headersH[$i]}"> <ul class="list-unstyled choice"> {if $poll->ValueMax eq NULL || $best_choices['y'][$i] lt $poll->ValueMax} <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}"> <i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span> </label> </li> <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}"> (<i class="glyphicon glyphicon-ok"></i>)<span class="sr-only">{__('Generic', 'Ifneedbe')}</span> </label> </li> - - {/if} + {/if} <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}"> <i class="glyphicon glyphicon-ban-circle"></i><span class="sr-only">{__('Generic', 'No')}</span> </label> </li> <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> </ul> </td> - - {$i = $i+1} {/foreach} {/foreach} -- GitLab