✨ feat(email): Ajoute la suppression et la restauration des emails.
This commit is contained in:
@@ -13,10 +13,37 @@ export class ConfirmModal extends HTMLAnchorElement{
|
||||
if(element.getAttribute('type') == "delete-customer") {
|
||||
this.deleteCustomer(modalConfirm,element.getAttribute('href'));
|
||||
}
|
||||
if(element.getAttribute('type') == "delete-email") {
|
||||
this.deleteEmail(modalConfirm,element.getAttribute('href'));
|
||||
}
|
||||
document.body.appendChild(modalConfirm);
|
||||
})
|
||||
}
|
||||
|
||||
deleteEmail(modalConfirm,link) {
|
||||
let message = document.createElement('h2');
|
||||
message.innerText = "Confirmer la suppression de l'email";
|
||||
modalConfirm.querySelector('.confirm-modal-content').appendChild(message);
|
||||
|
||||
let grid = document.createElement('div')
|
||||
grid.classList = "grid grid-cols-1 gap-4 md:grid-cols-2";
|
||||
modalConfirm.querySelector('.confirm-modal-content').appendChild(grid);
|
||||
|
||||
let buttonOk = document.createElement('button');
|
||||
buttonOk.classList = "bg-green-600 hover:bg-green-700 text-white px-3 py-1 rounded";
|
||||
buttonOk.innerText = "Oui";
|
||||
buttonOk.addEventListener('click',()=>{
|
||||
modalConfirm.remove()
|
||||
location.href = link;
|
||||
})
|
||||
|
||||
let buttonKo = document.createElement('button');
|
||||
buttonKo.classList = "bg-red-600 hover:bg-red-700 text-white px-3 py-1 rounded";
|
||||
buttonKo.innerText = "Non";
|
||||
buttonKo.addEventListener('click',()=>modalConfirm.remove())
|
||||
grid.appendChild(buttonOk)
|
||||
grid.appendChild(buttonKo)
|
||||
}
|
||||
deleteCustomer(modalConfirm,link) {
|
||||
let message = document.createElement('h2');
|
||||
message.innerText = "Confirmer la suppression du client";
|
||||
|
||||
@@ -278,6 +278,16 @@ class CustomerController extends AbstractController
|
||||
return $this->redirectToRoute('artemis_intranet_customer_view',['id'=>$customer->getId(),'current'=>'order','currentOrder'=>'d']);
|
||||
}
|
||||
}
|
||||
if($request->query->has('idEmailDelete')) {
|
||||
$emailDelete = $entityManager->getRepository(CustomerDnsEmail::class)->find($request->query->get('idEmailDelete'));
|
||||
$emailDelete->setIsDeleted(true);
|
||||
$entityManager->persist($emailDelete);
|
||||
$entityManager->flush();
|
||||
$loggerService->log("DELETE","Suppression de la boite mail - ".$emailDelete->getEmail());
|
||||
|
||||
$this->addFlash("success","Email supprimer");
|
||||
return $this->redirectToRoute('artemis_intranet_customer_view',['id'=>$customer->getId(),'current'=>'email','idNdd'=>$emailDelete->getDns()->getId()]);
|
||||
}
|
||||
if($request->query->has('idNddSync')) {
|
||||
$customerNdd = $customerDnsRepository->find($request->get('idNddSync'));
|
||||
if($customerNdd->getRegistar() == "ovh") {
|
||||
|
||||
@@ -18,12 +18,25 @@
|
||||
</thead>
|
||||
<tbody class="divide-y divide-gray-200 dark:divide-gray-700">
|
||||
{% for email in nddEmails %}
|
||||
<tr class="hover:bg-gray-100 dark:hover:bg-gray-700">
|
||||
<tr class="hover:bg-gray-100 dark:hover:bg-gray-700 relative">
|
||||
<td class="px-6 py-4 whitespace-nowrap font-medium text-blue-600 dark:text-blue-400"><a href="mailto:{{ email.email }}@{{ email.dns.ndd }}">{{ email.email }}@{{ email.dns.ndd }}</a></td>
|
||||
<td class="px-6 py-4 whitespace-nowrap font-medium text-blue-600 dark:text-blue-400">{{ email.storage|skFormat }}</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap font-medium text-blue-600 dark:text-blue-400">{{ email.createAt|date('d/m/Y') }}</td>
|
||||
<td class="px-6 py-4 whitespace-nowrap font-medium text-blue-600 dark:text-blue-400">
|
||||
<a is="confirm-modal" type="delete-email" data-turbo="false" href="{{ path('artemis_intranet_customer_view',{id:customer.id,current:'email',idNdd:email.dns.id,idEmailDelete:email.id}) }}" class="bg-red-600 hover:bg-red-700 text-white px-3 py-1 rounded">Supprimer</a>
|
||||
</td>
|
||||
{% if email.isDeleted %}
|
||||
<td colspan="4" class="absolute inset-0 z-20 rounded">
|
||||
<!-- fond noir semi-transparent -->
|
||||
<div class="absolute inset-0 bg-black bg-opacity-70 rounded"></div>
|
||||
<!-- contenu non transparent -->
|
||||
<div class="relative flex items-center justify-center h-full text-white text-lg font-semibold space-x-4">
|
||||
<span>Email supprimé</span>
|
||||
<a href="{{ path('artemis_intranet_customer_view',{id:customer.id,current:'email',idNdd:email.dns.id,idEmailRestore:email.id}) }}" class="bg-purple-600 hover:bg-purple-700 text-white px-3 py-1 rounded">Restaurer</a>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user