From c86da31b33c57df2e2cc611bf088be70830bcd0c Mon Sep 17 00:00:00 2001 From: tbrehm Date: Sun, 21 Mar 2010 11:05:13 +0000 Subject: [PATCH] Fixed: FS#1111 - Delete an 'in use' template should be blocked --- interface/web/client/client_template_del.php | 11 ++++++++++- interface/web/client/lib/lang/en_client_template.lng | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/interface/web/client/client_template_del.php b/interface/web/client/client_template_del.php index 0ad1749093..1dcdbac347 100644 --- a/interface/web/client/client_template_del.php +++ b/interface/web/client/client_template_del.php @@ -44,12 +44,21 @@ require_once('../../lib/app.inc.php'); //* Check permissions for module $app->auth->check_module_permissions('client'); -if(!$_SESSION["s"]["user"]["typ"] == 'admin') die('Client-Templates are only for Admins.'); +if(!$_SESSION["s"]["user"]["typ"] == 'admin') die('Client-Templates are for Admins only.'); $app->uses('tpl,tform'); $app->load('tform_actions'); class page_action extends tform_actions { + function onBeforeDelete() { + global $app; + + $rec = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE template_master = ".$this->id." OR template_additional like '%/".$this->id."/%'"); + if($rec['number'] > 0) { + $app->error($app->tform->lng('template_del_aborted_txt')); + } + + } } $page = new page_action; diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng index 53878e97d6..39726634ee 100644 --- a/interface/web/client/lib/lang/en_client_template.lng +++ b/interface/web/client/lib/lang/en_client_template.lng @@ -57,4 +57,5 @@ $wb["error_template_name_empty"] = 'Please enter a Template name'; $wb["limit_web_quota_txt"] = 'Web Quota'; $wb["limit_traffic_quota_txt"] = 'Traffic Quota'; $wb["limit_trafficquota_error_notint"] = 'Traffic Quota must be a number.'; +$wb["template_del_aborted_txt"] = 'Delete aborted. There is still a client which has this template selected.'; ?> \ No newline at end of file -- GitLab