summaryrefslogtreecommitdiffstats
path: root/application/forms/IcingaDeleteObjectForm.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/forms/IcingaDeleteObjectForm.php')
-rw-r--r--application/forms/IcingaDeleteObjectForm.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/application/forms/IcingaDeleteObjectForm.php b/application/forms/IcingaDeleteObjectForm.php
new file mode 100644
index 0000000..409bdc3
--- /dev/null
+++ b/application/forms/IcingaDeleteObjectForm.php
@@ -0,0 +1,41 @@
+<?php
+
+// TODO: Check whether this can be removed
+namespace Icinga\Module\Director\Forms;
+
+use Icinga\Module\Director\Objects\IcingaObject;
+use Icinga\Module\Director\Web\Form\QuickForm;
+
+class IcingaDeleteObjectForm extends QuickForm
+{
+ /** @var IcingaObject */
+ protected $object;
+
+ public function setup()
+ {
+ $this->submitLabel = sprintf(
+ $this->translate('YES, please delete "%s"'),
+ $this->object->getObjectName()
+ );
+ }
+
+ public function onSuccess()
+ {
+ $object = $this->object;
+ $msg = sprintf(
+ 'The %s "%s" has been deleted',
+ $object->getShortTableName(),
+ $object->getObjectName()
+ );
+
+ if ($object->delete()) {
+ $this->redirectOnSuccess($msg);
+ }
+ }
+
+ public function setObject(IcingaObject $object)
+ {
+ $this->object = $object;
+ return $this;
+ }
+}