diff --git a/templates/client.tpl b/templates/client.tpl index e9bbaec..fbf2dd1 100644 --- a/templates/client.tpl +++ b/templates/client.tpl @@ -79,7 +79,7 @@ {else} -
Ce client n'a pas de document associé.
{/if} {include file="admin/_foot.tpl"} \ No newline at end of file diff --git a/templates/client_supprimer.tpl b/templates/client_supprimer.tpl index 75dbfea..991ccf7 100644 --- a/templates/client_supprimer.tpl +++ b/templates/client_supprimer.tpl @@ -1,30 +1,15 @@ {include file="admin/_head.tpl" title="Supprimer un client — %s"|args:$plugin.nom current="plugin_%s"|args:$plugin.id js=0} {include file="%s/templates/_menu_client.tpl"|args:$plugin_root current="client_supprimer"} - -{form_errors} - {if !$deletable} - +Ce/cette client·e ne peut pas être supprimé·e car des documents lui y sont liés.
{else} -Ce/cette client·e ne peut pas être supprimé·e car des documents lui y sont liés.
+ + {include file="common/delete_form.tpl" + legend="Supprimer ce client ?" + warning="Êtes-vous sûr de vouloir supprimer le client « %s » ?"|args:$client.nom + alert="Attention, cette action est irréversible."} + {/if} {include file="admin/_foot.tpl"} \ No newline at end of file diff --git a/www/admin/client_supprimer.php b/www/admin/client_supprimer.php index a66f135..d810142 100644 --- a/www/admin/client_supprimer.php +++ b/www/admin/client_supprimer.php @@ -17,24 +17,13 @@ if (!$client) throw new UserException("Ce client n'existe pas."); } -if (f('delete')) -{ - $form->check('delete_client_'.$c->id); - - if (!$form->hasErrors()) - { - try { - $client->delete($c->id); - Utils::redirect(PLUGIN_URL . 'clients.php'); - } - catch (UserException $e) - { - $form->addError($e->getMessage()); - } - } -} +$csrf_key = 'delete_client_'.$c->id; +$form->runIf('delete', function () use ($client, $c) { + $client->delete($c->id); +}, $csrf_key, PLUGIN_URL . 'clients.php'); $tpl->assign('deletable', $client->isDeletable($id)); $tpl->assign('client', $c); +$tpl->assign(compact('csrf_key')); $tpl->display(PLUGIN_ROOT . '/templates/client_supprimer.tpl');