controle existance user avant inviation groupe (ref #107)
This commit is contained in:
parent
e341a30f7f
commit
15ff441ca7
|
@ -51,6 +51,21 @@ class MailController extends Controller
|
||||||
|
|
||||||
$destinataires=$form->get("destinataire")->getData();
|
$destinataires=$form->get("destinataire")->getData();
|
||||||
$to=explode(";",$destinataires);
|
$to=explode(";",$destinataires);
|
||||||
|
|
||||||
|
// On s'assure que les destinataires ne sont pas déjà inscrit dans le portail
|
||||||
|
$usersnotin=[];
|
||||||
|
$usersin=[];
|
||||||
|
foreach($to as $key => $mail) {
|
||||||
|
// Si le mail existe on l'enlève de la liste des utilisateurs à inviter
|
||||||
|
$user=$em->getRepository("CadolesCoreBundle:User")->findOneBy(["email"=>$mail]);
|
||||||
|
if($user) {
|
||||||
|
unset($to[$key]);
|
||||||
|
$usergroup=$em->getRepository("CadolesCoreBundle:UserGroup")->findOneBy(["user"=>$user,"group"=>$group]);
|
||||||
|
if($usergroup) array_push($usersin,$user);
|
||||||
|
else array_push($usersnotin,$user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$text=$form->get("message")->getData();
|
$text=$form->get("message")->getData();
|
||||||
$subject=$form->get("subject")->getData();
|
$subject=$form->get("subject")->getData();
|
||||||
$template="template";
|
$template="template";
|
||||||
|
@ -65,6 +80,17 @@ class MailController extends Controller
|
||||||
$message->sendEmail($template, $mail_params, $to, $from, $fromName);
|
$message->sendEmail($template, $mail_params, $to, $from, $fromName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($closed && (!empty($usersin)||!empty($usersnotin))) {
|
||||||
|
return $this->render('CadolesCoreBundle:Mail:users.html.twig',[
|
||||||
|
'useheader' => false,
|
||||||
|
'usemenu' => false,
|
||||||
|
'usesidebar' => false,
|
||||||
|
'usersin' => $usersin,
|
||||||
|
'usersnotin' => $usersnotin,
|
||||||
|
'group' => $group
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
return $this->render('CadolesCoreBundle:Mail:mail.html.twig',[
|
return $this->render('CadolesCoreBundle:Mail:mail.html.twig',[
|
||||||
'useheader' => false,
|
'useheader' => false,
|
||||||
'usemenu' => false,
|
'usemenu' => false,
|
||||||
|
@ -75,5 +101,6 @@ class MailController extends Controller
|
||||||
'form' => $form->createView()
|
'form' => $form->createView()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
{% extends '@CadolesCore/base.html.twig' %}
|
||||||
|
|
||||||
|
{% block pagewrapper %}
|
||||||
|
<a class="btn btn-default" onClick="closeModal()">Fermer</a>
|
||||||
|
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
{% if not usersnotin is empty %}
|
||||||
|
<h3>Les utilisateurs suivants existent déjà dans {{ app.session.get('appname') }}</h3>
|
||||||
|
Vous pouvez les ajouter dès maintenant à votre groupe<br>
|
||||||
|
|
||||||
|
<div class="dataTable_wrapper">
|
||||||
|
<table class="table table-striped table-bordered table-hover" id="dataTablesnotin" style="width:100%">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="70px" class="no-sort">Action</th>
|
||||||
|
<th width="70px" class="no-sort">Avatar</th>
|
||||||
|
<th width="200px">Login</th>
|
||||||
|
<th>Email</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{% for user in usersnotin %}
|
||||||
|
<tr id="user{{user.id}}">
|
||||||
|
<td><a style='cursor:pointer' onClick='addUsers({{user.id}})'><i class='fa fa-plus fa-fw'></i></a></td>
|
||||||
|
<td><img onClick='seeUser({{user.id}})' src='/{{alias}}/uploads/avatar/{{user.avatar}}' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer;'></td>
|
||||||
|
<td>{{user.username}}</td>
|
||||||
|
<td>{{user.email}}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if not usersin is empty %}
|
||||||
|
<h3>Les utilisateurs suivants déjà rattachés à votre groupe</h3>
|
||||||
|
<div class="dataTable_wrapper">
|
||||||
|
<table class="table table-striped table-bordered table-hover" id="dataTablesin" style="width:100%">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="70px" class="no-sort">Avatar</th>
|
||||||
|
<th width="200px">Login</th>
|
||||||
|
<th>Email</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{% for user in usersin %}
|
||||||
|
<tr>
|
||||||
|
<td><img onClick='seeUser({{user.id}})' src='/{{alias}}/uploads/avatar/{{user.avatar}}' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer;'></td>
|
||||||
|
<td>{{user.username}}</td>
|
||||||
|
<td>{{user.email}}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block localjavascript %}
|
||||||
|
$(document).ready(function() {
|
||||||
|
});
|
||||||
|
|
||||||
|
function addUsers(userid) {
|
||||||
|
$.ajax({
|
||||||
|
rowId: 2,
|
||||||
|
method: "POST",
|
||||||
|
url: "{{ path('cadoles_core_user_group_ajax_usergroup_add') }}",
|
||||||
|
data: "userid="+userid+"&groupid="+{{ group.id }},
|
||||||
|
success: function(data, dataType)
|
||||||
|
{
|
||||||
|
var row=$("#dataTablesnotin").DataTable().row("#user"+userid);
|
||||||
|
row.remove().draw();
|
||||||
|
},
|
||||||
|
|
||||||
|
error: function(XMLHttpRequest, textStatus, errorThrown)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeModal() {
|
||||||
|
window.parent.location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
{% endblock %}
|
Loading…
Reference in New Issue