Merge branch 'JMarlow/framadate-Justine/Issue2' into 'develop'
J marlow/framadate justine/issue2 Closes #324 See merge request framasoft/framadate!319
This commit is contained in:
commit
964952433c
35
app/classes/Framadate/CollectMail.php
Normal file
35
app/classes/Framadate/CollectMail.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This software is governed by the CeCILL-B license. If a copy of this license
|
||||||
|
* is not distributed with this file, you can obtain one at
|
||||||
|
* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
|
||||||
|
*
|
||||||
|
* Authors of STUdS (initial project): Guilhem BORGHESI (borghesi@unistra.fr) and Raphaël DROZ
|
||||||
|
* Authors of Framadate/OpenSondage: Framasoft (https://github.com/framasoft)
|
||||||
|
*
|
||||||
|
* =============================
|
||||||
|
*
|
||||||
|
* Ce logiciel est régi par la licence CeCILL-B. Si une copie de cette licence
|
||||||
|
* ne se trouve pas avec ce fichier vous pouvez l'obtenir sur
|
||||||
|
* http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.txt
|
||||||
|
*
|
||||||
|
* Auteurs de STUdS (projet initial) : Guilhem BORGHESI (borghesi@unistra.fr) et Raphaël DROZ
|
||||||
|
* Auteurs de Framadate/OpenSondage : Framasoft (https://github.com/framasoft)
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Framadate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class CollectMail
|
||||||
|
*
|
||||||
|
* Is used to specify the poll's edition permissions.
|
||||||
|
* @TODO : wait to use the SplEnum
|
||||||
|
*
|
||||||
|
* @package Framadate
|
||||||
|
*/
|
||||||
|
class CollectMail { // extends SplEnum
|
||||||
|
const NO_COLLECT = 0;
|
||||||
|
const COLLECT = 1;
|
||||||
|
const COLLECT_REQUIRED = 2;
|
||||||
|
const COLLECT_REQUIRED_VERIFIED = 3;
|
||||||
|
}
|
@ -83,8 +83,8 @@ class Form
|
|||||||
public $results_publicly_visible;
|
public $results_publicly_visible;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, the users can leave an email address while voting in the poll
|
* Tells if voters email addresses are collected or not.
|
||||||
* @var boolean
|
* @var \Framadate\CollectMail
|
||||||
*/
|
*/
|
||||||
public $collect_users_mail;
|
public $collect_users_mail;
|
||||||
|
|
||||||
@ -93,8 +93,10 @@ class Form
|
|||||||
*/
|
*/
|
||||||
private $choices;
|
private $choices;
|
||||||
|
|
||||||
public function __construct(){
|
public function __construct()
|
||||||
|
{
|
||||||
$this->editable = Editable::EDITABLE_BY_ALL;
|
$this->editable = Editable::EDITABLE_BY_ALL;
|
||||||
|
$this->collect_users_mail = CollectMail::NO_COLLECT;
|
||||||
$this->clearChoices();
|
$this->clearChoices();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ class PollRepository extends AbstractRepository {
|
|||||||
'password_hash' => $form->password_hash,
|
'password_hash' => $form->password_hash,
|
||||||
'results_publicly_visible' => $form->results_publicly_visible ? 1 : 0,
|
'results_publicly_visible' => $form->results_publicly_visible ? 1 : 0,
|
||||||
'ValueMax' => $form->ValueMax,
|
'ValueMax' => $form->ValueMax,
|
||||||
'collect_users_mail' => $form->collect_users_mail? 1 : 0,
|
'collect_users_mail' => ($form->collect_users_mail >= 0 && $form->collect_users_mail <= 3) ? $form->collect_users_mail : 0,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,6 +115,10 @@ class InputService {
|
|||||||
return filter_var($editable, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => EDITABLE_CHOICE_REGEX]]);
|
return filter_var($editable, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => EDITABLE_CHOICE_REGEX]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function filterCollectMail($collectMail) {
|
||||||
|
return filter_var($collectMail, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => COLLECT_MAIL_CHOICE_REGEX]]);
|
||||||
|
}
|
||||||
|
|
||||||
public function filterComment($comment) {
|
public function filterComment($comment) {
|
||||||
$comment = str_replace("\r\n", "\n", $comment);
|
$comment = str_replace("\r\n", "\n", $comment);
|
||||||
return $this->returnIfNotBlank($comment);
|
return $this->returnIfNotBlank($comment);
|
||||||
|
@ -33,6 +33,7 @@ const CHOICE_REGEX = '/^[ 012]$/';
|
|||||||
const BOOLEAN_REGEX = '/^(on|off|true|false|1|0)$/i';
|
const BOOLEAN_REGEX = '/^(on|off|true|false|1|0)$/i';
|
||||||
const BOOLEAN_TRUE_REGEX = '/^(on|true|1)$/i';
|
const BOOLEAN_TRUE_REGEX = '/^(on|true|1)$/i';
|
||||||
const EDITABLE_CHOICE_REGEX = '/^[0-2]$/';
|
const EDITABLE_CHOICE_REGEX = '/^[0-2]$/';
|
||||||
|
const COLLECT_MAIL_CHOICE_REGEX = '/^[0-3]$/';
|
||||||
const BASE64_REGEX = '/^[A-Za-z0-9]+$/';
|
const BASE64_REGEX = '/^[A-Za-z0-9]+$/';
|
||||||
const MD5_REGEX = '/^[A-Fa-f0-9]{32}$/';
|
const MD5_REGEX = '/^[A-Fa-f0-9]{32}$/';
|
||||||
|
|
||||||
|
@ -58,8 +58,6 @@ if ($goToStep2) {
|
|||||||
$use_ValueMax = isset($_POST['use_ValueMax']) ? $inputService->filterBoolean($_POST['use_ValueMax']) : false;
|
$use_ValueMax = isset($_POST['use_ValueMax']) ? $inputService->filterBoolean($_POST['use_ValueMax']) : false;
|
||||||
$ValueMax = $use_ValueMax === true ? $inputService->filterValueMax($_POST['ValueMax']) : null;
|
$ValueMax = $use_ValueMax === true ? $inputService->filterValueMax($_POST['ValueMax']) : null;
|
||||||
|
|
||||||
$collect_users_mail = isset($_POST['collect_users_mail']) ? $inputService->filterBoolean($_POST['collect_users_mail']) : false;
|
|
||||||
|
|
||||||
$use_customized_url = isset($_POST['use_customized_url']) ? $inputService->filterBoolean($_POST['use_customized_url']) : false;
|
$use_customized_url = isset($_POST['use_customized_url']) ? $inputService->filterBoolean($_POST['use_customized_url']) : false;
|
||||||
$customized_url = $use_customized_url === true ? $inputService->filterId($_POST['customized_url']) : null;
|
$customized_url = $use_customized_url === true ? $inputService->filterId($_POST['customized_url']) : null;
|
||||||
$name = $inputService->filterName($_POST['name']);
|
$name = $inputService->filterName($_POST['name']);
|
||||||
@ -70,7 +68,7 @@ if ($goToStep2) {
|
|||||||
$receiveNewComments = isset($_POST['receiveNewComments']) ? $inputService->filterBoolean($_POST['receiveNewComments']) : false;
|
$receiveNewComments = isset($_POST['receiveNewComments']) ? $inputService->filterBoolean($_POST['receiveNewComments']) : false;
|
||||||
$hidden = isset($_POST['hidden']) ? $inputService->filterBoolean($_POST['hidden']) : false;
|
$hidden = isset($_POST['hidden']) ? $inputService->filterBoolean($_POST['hidden']) : false;
|
||||||
$use_password = filter_input(INPUT_POST, 'use_password', FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => BOOLEAN_REGEX]]);
|
$use_password = filter_input(INPUT_POST, 'use_password', FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => BOOLEAN_REGEX]]);
|
||||||
$collect_users_mail = isset($_POST['collect_users_mail']) ? $inputService->filterBoolean($_POST['collect_users_mail']) : false;
|
$collect_users_mail = $inputService->filterCollectMail($_POST['collect_users_mail']);
|
||||||
$use_password = filter_input(INPUT_POST, 'use_password', FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => BOOLEAN_REGEX]]);
|
$use_password = filter_input(INPUT_POST, 'use_password', FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => BOOLEAN_REGEX]]);
|
||||||
$password = isset($_POST['password']) ? $_POST['password'] : null;
|
$password = isset($_POST['password']) ? $_POST['password'] : null;
|
||||||
$password_repeat = isset($_POST['password_repeat']) ? $_POST['password_repeat'] : null;
|
$password_repeat = isset($_POST['password_repeat']) ? $_POST['password_repeat'] : null;
|
||||||
|
@ -81,8 +81,8 @@ $(document).ready(function () {
|
|||||||
/**
|
/**
|
||||||
* Hide/Show Warning collect_users_mail + editable by all
|
* Hide/Show Warning collect_users_mail + editable by all
|
||||||
*/
|
*/
|
||||||
$("#collect_users_mail").change(function(){
|
$("input[name='collect_users_mail']").change(function(){
|
||||||
if ($(this).prop("checked") && $("input[name='editable']:checked").val() == 1) {
|
if (($("input[name='collect_users_mail']:checked").val() != 0) && ($("input[name='editable']:checked").val() == 1)) {
|
||||||
$("#collect_warning").removeClass("hidden");
|
$("#collect_warning").removeClass("hidden");
|
||||||
} else {
|
} else {
|
||||||
$("#collect_warning").addClass("hidden");
|
$("#collect_warning").addClass("hidden");
|
||||||
@ -90,7 +90,7 @@ $(document).ready(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("input[name='editable']").change(function(){
|
$("input[name='editable']").change(function(){
|
||||||
if ($("#collect_users_mail").prop("checked") && $("input[name='editable']:checked").val() == 1) {
|
if ($("input[name='collect_users_mail']:checked").val() != 0 && $("input[name='editable']:checked").val() == 1) {
|
||||||
$("#collect_warning").removeClass("hidden");
|
$("#collect_warning").removeClass("hidden");
|
||||||
} else {
|
} else {
|
||||||
$("#collect_warning").addClass("hidden");
|
$("#collect_warning").addClass("hidden");
|
||||||
|
@ -309,6 +309,7 @@
|
|||||||
"Vote no for": "Vote \"no\" for",
|
"Vote no for": "Vote \"no\" for",
|
||||||
"Vote yes for": "Vote \"yes\" for",
|
"Vote yes for": "Vote \"yes\" for",
|
||||||
"Votes of the poll": "Votes",
|
"Votes of the poll": "Votes",
|
||||||
|
"Warning : anyone can access to your email address after voting": "Warning : anyone can access to your email address after voting",
|
||||||
"polled user": "polled user",
|
"polled user": "polled user",
|
||||||
"polled users": "polled users"
|
"polled users": "polled users"
|
||||||
},
|
},
|
||||||
@ -320,6 +321,7 @@
|
|||||||
"Cancel the name edit": "Cancel the name edit",
|
"Cancel the name edit": "Cancel the name edit",
|
||||||
"Cancel the rules edit": "Cancel the rules edit",
|
"Cancel the rules edit": "Cancel the rules edit",
|
||||||
"Cancel the title edit": "Cancel the title edit",
|
"Cancel the title edit": "Cancel the title edit",
|
||||||
|
"Collect of the polled users email addresses": "Collect of the polled users email addresses",
|
||||||
"Collecting the polled users emails": "Collecting the polled users email addresses",
|
"Collecting the polled users emails": "Collecting the polled users email addresses",
|
||||||
"Edit the description": "Edit the description",
|
"Edit the description": "Edit the description",
|
||||||
"Edit the email adress": "Edit the email address",
|
"Edit the email adress": "Edit the email address",
|
||||||
@ -331,6 +333,7 @@
|
|||||||
"Expiration date": "Expiry date",
|
"Expiration date": "Expiry date",
|
||||||
"Export to CSV": "Export to CSV",
|
"Export to CSV": "Export to CSV",
|
||||||
"Initiator of the poll": "Creator of the poll",
|
"Initiator of the poll": "Creator of the poll",
|
||||||
|
"No collect of the polled users email addresses": "No collect of the polled users email addresses",
|
||||||
"No password": "No password",
|
"No password": "No password",
|
||||||
"Only votes are protected": "Only votes are protected",
|
"Only votes are protected": "Only votes are protected",
|
||||||
"Password protected": "Password protected",
|
"Password protected": "Password protected",
|
||||||
@ -352,14 +355,23 @@
|
|||||||
"Save the new title": "Save the new title",
|
"Save the new title": "Save the new title",
|
||||||
"Simple editor": "Simple editor",
|
"Simple editor": "Simple editor",
|
||||||
"Title": "Title of the poll",
|
"Title": "Title of the poll",
|
||||||
|
"Voters email adresses are not collected": "Voters email adresses are not collected",
|
||||||
|
"Voters email adresses are collected": "Voters email adresses are collected",
|
||||||
|
"Voters email adresses are collected and required": "Voters email adresses are collected and required",
|
||||||
|
"Voters email adresses are collected, required and verified": "Voters email adresses are collected, required and verified",
|
||||||
"Votes and comments are locked": "Votes and comments are locked",
|
"Votes and comments are locked": "Votes and comments are locked",
|
||||||
"Votes protected by password": "Votes protected by password"
|
"Votes protected by password": "Votes protected by password",
|
||||||
},
|
},
|
||||||
"Step 1": {
|
"Step 1": {
|
||||||
"All voters can modify any vote": "All voters can modify any vote",
|
"All voters can modify any vote": "All voters can modify any vote",
|
||||||
"Collect the polled users email addresses": "Collecting the polled users' email addresses",
|
"Collect the polled users email addresses": "Collecting the polled users' email addresses",
|
||||||
"Collect users email": "Collect users' email addresses",
|
"Collect users email": "Collect users email",
|
||||||
|
"Collect voters email": "Collect voters email",
|
||||||
"Customize the URL": "Customize the URL",
|
"Customize the URL": "Customize the URL",
|
||||||
|
"Email addresses are collected but not required": "Email addresses are collected but not required",
|
||||||
|
"Email addresses are not collected": "Email addresses are not collected",
|
||||||
|
"Email addresses are required": "Email addresses are required",
|
||||||
|
"Email addresses are required and verified": "Email addresses are required and verified",
|
||||||
"Go to step 2": "Go to step 2",
|
"Go to step 2": "Go to step 2",
|
||||||
"Limit the amount of voters per option": "Limit the amount of voters per option",
|
"Limit the amount of voters per option": "Limit the amount of voters per option",
|
||||||
"More informations here:": "More informations here:",
|
"More informations here:": "More informations here:",
|
||||||
@ -384,6 +396,7 @@
|
|||||||
"ValueMax instructions": "votes per option",
|
"ValueMax instructions": "votes per option",
|
||||||
"Voters can modify their vote themselves": "Voters can modify their vote themselves",
|
"Voters can modify their vote themselves": "Voters can modify their vote themselves",
|
||||||
"Votes cannot be modified": "Votes cannot be modified",
|
"Votes cannot be modified": "Votes cannot be modified",
|
||||||
|
"Warning : anyone can access to the polled users's email addresses.": "Warning : anyone can access to the polled users's email addresses.",
|
||||||
"Warning: anyone can access the polled users email addresses since all voters can modify any vote. You should restrict permission rules.": "Warning: Anyone can see the polled users' email addresses since all voters can modify any vote. You should restrict permission rules.",
|
"Warning: anyone can access the polled users email addresses since all voters can modify any vote. You should restrict permission rules.": "Warning: Anyone can see the polled users' email addresses since all voters can modify any vote. You should restrict permission rules.",
|
||||||
"You are in the poll creation section.": "You are in the poll creation section.",
|
"You are in the poll creation section.": "You are in the poll creation section.",
|
||||||
"You can enable or disable the editor at will.": "You can enable or disable the editor at will."
|
"You can enable or disable the editor at will.": "You can enable or disable the editor at will."
|
||||||
@ -442,6 +455,7 @@
|
|||||||
"Back to the poll": "Back to the poll",
|
"Back to the poll": "Back to the poll",
|
||||||
"Choice added": "Choice added",
|
"Choice added": "Choice added",
|
||||||
"Collect the emails of the polled users for the choice": "Collect the emails of the polled users for the choice",
|
"Collect the emails of the polled users for the choice": "Collect the emails of the polled users for the choice",
|
||||||
|
"Collect the emails of the polled users for this column": "Collect the emails of the polled users for this column",
|
||||||
"Column removed": "Column deleted",
|
"Column removed": "Column deleted",
|
||||||
"Column's adding": "Adding a column",
|
"Column's adding": "Adding a column",
|
||||||
"Comment deleted": "Comment deleted",
|
"Comment deleted": "Comment deleted",
|
||||||
@ -473,12 +487,12 @@
|
|||||||
"remove a column or a line with": "remove a column or a line with"
|
"remove a column or a line with": "remove a column or a line with"
|
||||||
},
|
},
|
||||||
"display_mails": {
|
"display_mails": {
|
||||||
"No one voted 'If need be' to this option.": "No one voted \"If need be\" for this option.",
|
"People who have answered 'If need be' to this option have left those email addresses :": "People who have answered 'If need be' to this option have left those email addresses :",
|
||||||
"No one voted 'No' to this option.": "No one voted \"No\" for this option.",
|
"People who have answered 'If need be' to this option have not left any email addresses.": "People who have answered 'If need be' to this option have not left any email addresses.",
|
||||||
"No one voted 'Yes' to this option.": "No one voted \"Yes\" for this option.",
|
"People who have answered 'No' to this option have left those email addresses :": "People who have answered 'No' to this option have left those email addresses :",
|
||||||
"People who have answered 'If need be' to this option have left these email addresses:": "Email addresses of all users who voted \"If need be\" for this option:",
|
"People who have answered 'No' to this option have not left any email addresses.": "People who have answered 'No' to this option have not left any email addresses.",
|
||||||
"People who have answered 'No' to this option have left these email addresses:": "Email addresses of all users who voted \"No\" for this option:",
|
"People who have answered 'Yes' to this option have left those email addresses :": "People who have answered 'Yes' to this option have left those email addresses :",
|
||||||
"People who have answered 'Yes' to this option have left these email addresses:": "Email addresses of all users who voted \"Yes\" for this option:"
|
"People who have answered 'Yes' to this option have not left any email addresses.": "People who have answered 'Yes' to this option have not left any email addresses."
|
||||||
},
|
},
|
||||||
"studs": {
|
"studs": {
|
||||||
"Adding the vote succeeded": "Vote added",
|
"Adding the vote succeeded": "Vote added",
|
||||||
|
@ -329,17 +329,28 @@
|
|||||||
{* Collect users email *}
|
{* Collect users email *}
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="collect_mail" class="col-sm-4 control-label">
|
<label for="poll_id" class="col-sm-4 control-label">
|
||||||
{__('Step 1', 'Collect users email')}
|
{__('Step 1', 'Collect voters email')}
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<div class="checkbox">
|
<div class="radio">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" name="collect_users_mail"
|
<input type="radio" name="collect_users_mail" id="no_collect" {if $collect_users_mail==constant("Framadate\CollectMail::NO_COLLECT")}checked{/if} value="{constant("Framadate\CollectMail::NO_COLLECT")}">
|
||||||
id="collect_users_mail">
|
{__('Step 1', 'Email addresses are not collected')}
|
||||||
{__('Step 1', "Collect the polled users email addresses")}
|
|
||||||
</label>
|
</label>
|
||||||
|
<label>
|
||||||
|
<input type="radio" name="collect_users_mail" {if $collect_users_mail==constant("Framadate\CollectMail::COLLECT")}checked{/if} value="{constant("Framadate\CollectMail::COLLECT")}">
|
||||||
|
{__('Step 1', 'Email addresses are collected but not required')}
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input type="radio" name="collect_users_mail" {if $collect_users_mail==constant("Framadate\CollectMail::COLLECT_REQUIRED")}checked{/if} value="{constant("Framadate\CollectMail::COLLECT_REQUIRED")}">
|
||||||
|
{__('Step 1', 'Email addresses are required')}
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input type="radio" disabled name="collect_users_mail" {if $collect_users_mail==constant("Framadate\CollectMail::COLLECT_REQUIRED_VERIFIED")}checked{/if} value="{constant("Framadate\CollectMail::COLLECT_REQUIRED_VERIFIED")}">
|
||||||
|
{__('Step 1', 'Email addresses are required and verified')}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -233,9 +233,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="collect_users_mail">
|
<div id="collect_users_mail">
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail == constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<p><span class="glyphicon glyphicon-envelope"> </span> {__('PollInfo', 'Collecting the polled users emails')}</p>
|
{$txt=__('PollInfo', 'Voters email adresses are not collected')}
|
||||||
|
{else if $poll->collect_users_mail == constant("Framadate\CollectMail::COLLECT")}
|
||||||
|
{$txt=__('PollInfo', 'Voters email adresses are collected')}
|
||||||
|
{else if $poll->collect_users_mail == constant("Framadate\CollectMail::COLLECT_REQUIRED")}
|
||||||
|
{$txt=__('PollInfo', 'Voters email adresses are collected and required')}
|
||||||
|
{else if $poll->collect_users_mail == constant("Framadate\CollectMail::COLLECT_REQUIRED_VERIFIED")}
|
||||||
|
{$txt=__('PollInfo', 'Voters email adresses are collected, required and verified')}
|
||||||
|
{else}
|
||||||
|
{$txt='Error'}
|
||||||
{/if}
|
{/if}
|
||||||
|
<p><span class="glyphicon glyphicon-envelope"> </span> {$txt|html}</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
class="btn btn-link btn-sm remove-column" title="{__('adminstuds', 'Remove the column')} {$slot->title|html}">
|
class="btn btn-link btn-sm remove-column" title="{__('adminstuds', 'Remove the column')} {$slot->title|html}">
|
||||||
<i class="glyphicon glyphicon-remove text-danger"></i><span class="sr-only">{__('Generic', 'Remove')}</span>
|
<i class="glyphicon glyphicon-remove text-danger"></i><span class="sr-only">{__('Generic', 'Remove')}</span>
|
||||||
</a>
|
</a>
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<a href="{poll_url id=$admin_poll_id admin=true action='collect_mail' action_value=($headersDCount)}"
|
<a href="{poll_url id=$admin_poll_id admin=true action='collect_mail' action_value=($headersDCount)}"
|
||||||
class="btn btn-link btn-sm collect-mail"
|
class="btn btn-link btn-sm collect-mail"
|
||||||
title="{__('adminstuds', 'Collect the emails of the polled users for the choice')} {$slot->title|html}">
|
title="{__('adminstuds', 'Collect the emails of the polled users for the choice')} {$slot->title|html}">
|
||||||
@ -68,8 +68,8 @@
|
|||||||
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
||||||
<input type="hidden" name="edited_vote" value="{$vote->uniqId}"/>
|
<input type="hidden" name="edited_vote" value="{$vote->uniqId}"/>
|
||||||
<input type="text" id="name" name="name" value="{$vote->name|html}" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
<input type="text" id="name" name="name" value="{$vote->name|html}" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<input type="email" required id="mail" name="mail" value="{$vote->mail|html}" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
<input type="email" {if $poll->collect_users_mail != constant("Framadate\CollectMail::COLLECT")} required {/if} id="mail" name="mail" value="{$vote->mail|html}" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@ -112,13 +112,13 @@
|
|||||||
{elseif !$hidden} {* Voted line *}
|
{elseif !$hidden} {* Voted line *}
|
||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
<th class="bg-info">{$vote->name|html}
|
<th class="bg-info" {if $accessGranted && $admin && $vote->mail}title="{$vote->mail|html}"{/if}>{$vote->name|html}
|
||||||
{if $active && !$expired && $accessGranted &&
|
{if $active && !$expired && $accessGranted &&
|
||||||
(
|
(
|
||||||
$poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')
|
$poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')
|
||||||
or $admin
|
or $admin
|
||||||
or ($poll->editable == constant('Framadate\Editable::EDITABLE_BY_OWN') && $editedVoteUniqueId == $vote->uniqId)
|
or ($poll->editable == constant('Framadate\Editable::EDITABLE_BY_OWN') && $editedVoteUniqueId == $vote->uniqId)
|
||||||
) && $slots gt 4
|
) && $slots|count gt 4
|
||||||
}
|
}
|
||||||
<span class="edit-username-left">
|
<span class="edit-username-left">
|
||||||
<a href="{if $admin}{poll_url id=$poll->admin_id vote_id=$vote->uniqId admin=true}{else}{poll_url id=$poll->id vote_id=$vote->uniqId}{/if}" class="btn btn-default btn-sm" title="{__f('Poll results', 'Edit the line: %s', $vote->name)|html}">
|
<a href="{if $admin}{poll_url id=$poll->admin_id vote_id=$vote->uniqId admin=true}{else}{poll_url id=$poll->id vote_id=$vote->uniqId}{/if}" class="btn btn-default btn-sm" title="{__f('Poll results', 'Edit the line: %s', $vote->name)|html}">
|
||||||
@ -184,11 +184,11 @@
|
|||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
||||||
<input type="text" id="name" name="name" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
<input type="text" id="name" name="name" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<input type="email" required id="mail" name="mail" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
<input type="email" required id="mail" name="mail" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{if $poll->collect_users_mail && $poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT") && $poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')}
|
||||||
<div class="bg-danger">
|
<div class="bg-danger">
|
||||||
<i class="glyphicon glyphicon-alert"> </i>
|
<i class="glyphicon glyphicon-alert"> </i>
|
||||||
<label> {__('Poll results', 'Anyone will be able to access your email address after your vote')} </label>
|
<label> {__('Poll results', 'Anyone will be able to access your email address after your vote')} </label>
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
title="{__('adminstuds', 'Remove the column')} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
title="{__('adminstuds', 'Remove the column')} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
||||||
<i class="glyphicon glyphicon-remove text-danger"></i><span class="sr-only">{__('Generic', 'Remove')}</span>
|
<i class="glyphicon glyphicon-remove text-danger"></i><span class="sr-only">{__('Generic', 'Remove')}</span>
|
||||||
</a>
|
</a>
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<a href="{poll_url id=$admin_poll_id admin=true action='collect_mail' action_value=($headersDCount)}"
|
<a href="{poll_url id=$admin_poll_id admin=true action='collect_mail' action_value=($headersDCount)}"
|
||||||
class="btn btn-link btn-sm collect-mail"
|
class="btn btn-link btn-sm collect-mail"
|
||||||
title="{__('adminstuds', 'Collect the emails of the polled users for the choice')} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
title="{__('adminstuds', 'Collect the emails of the polled users for the choice')} {$slot->day|date_format:$date_format.txt_short|html} - {$moment|html}">
|
||||||
@ -112,8 +112,8 @@
|
|||||||
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
||||||
<input type="hidden" name="edited_vote" value="{$vote->uniqId}"/>
|
<input type="hidden" name="edited_vote" value="{$vote->uniqId}"/>
|
||||||
<input type="text" id="name" name="name" value="{$vote->name|html}" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
<input type="text" id="name" name="name" value="{$vote->name|html}" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<input type="email" required id="mail" name="mail" value="{$vote->mail|html}" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
<input type="email" {if $poll->collect_users_mail != constant("Framadate\CollectMail::COLLECT")} required {/if} id="mail" name="mail" value="{$vote->mail|html}" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@ -162,7 +162,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
{* Voted line *}
|
{* Voted line *}
|
||||||
<th class="bg-info">{$vote->name|html}
|
<th class="bg-info" {if $accessGranted && $admin}title="{$vote->mail|html}"{/if}>{$vote->name|html}
|
||||||
{if $active && !$expired && $accessGranted &&
|
{if $active && !$expired && $accessGranted &&
|
||||||
(
|
(
|
||||||
$poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')
|
$poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')
|
||||||
@ -239,11 +239,11 @@
|
|||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
|
||||||
<input type="text" id="name" name="name" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
<input type="text" id="name" name="name" class="form-control" title="{__('Generic', 'Your name')}" placeholder="{__('Generic', 'Your name')}" />
|
||||||
{if $poll->collect_users_mail}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT")}
|
||||||
<input type="email" required id="mail" name="mail" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
<input type="email" {if $poll->collect_users_mail != constant("Framadate\CollectMail::COLLECT")} required {/if} id="mail" name="mail" class="form-control" title="{__('Generic', 'Your email address')}" placeholder="{__('Generic', 'Your email address')}" />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{if $poll->collect_users_mail && $poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')}
|
{if $poll->collect_users_mail != constant("Framadate\CollectMail::NO_COLLECT") && $poll->editable == constant('Framadate\Editable::EDITABLE_BY_ALL')}
|
||||||
<div class="bg-danger">
|
<div class="bg-danger">
|
||||||
<i class="glyphicon glyphicon-alert"> </i>
|
<i class="glyphicon glyphicon-alert"> </i>
|
||||||
<label> {__('Poll results', 'Anyone will be able to access your email address after your vote')} </label>
|
<label> {__('Poll results', 'Anyone will be able to access your email address after your vote')} </label>
|
||||||
|
Loading…
Reference in New Issue
Block a user