Add imports support to User

This commit is contained in:
Alexander Fuhr 2015-06-26 16:36:18 +02:00
parent fd74a8dfd5
commit f7bd670d1b
6 changed files with 84 additions and 0 deletions

View File

@ -59,5 +59,10 @@ class IcingaUserForm extends DirectorObjectForm
'label' => $this->translate('Usergroups'),
'description' => $this->translate('One or more comma separated usergroup names')
));
$this->addElement('text', 'imports', array(
'label' => $this->translate('Imports'),
'description' => $this->translate('The inherited user template names')
));
}
}

View File

@ -22,6 +22,8 @@ class IcingaUser extends IcingaObject
protected $supportsCustomVars = true;
protected $supportsImports = true;
protected function renderEnable_notifications()
{
return $this->renderBooleanProperty('enable_notifications');

View File

@ -0,0 +1,17 @@
CREATE TABLE icinga_user_inheritance (
user_id INT(10) UNSIGNED NOT NULL,
parent_user_id INT(10) UNSIGNED NOT NULL,
weight MEDIUMINT UNSIGNED DEFAULT NULL,
PRIMARY KEY (user_id, parent_user_id),
UNIQUE KEY unique_order (user_id, weight),
CONSTRAINT icinga_user_inheritance_user
FOREIGN KEY host (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_user_inheritance_parent_user
FOREIGN KEY host (parent_user_id)
REFERENCES icinga_user (id)
ON DELETE RESTRICT
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View File

@ -519,6 +519,24 @@ CREATE TABLE icinga_user (
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE icinga_user_inheritance (
user_id INT(10) UNSIGNED NOT NULL,
parent_user_id INT(10) UNSIGNED NOT NULL,
weight MEDIUMINT UNSIGNED DEFAULT NULL,
PRIMARY KEY (user_id, parent_user_id),
UNIQUE KEY unique_order (user_id, weight),
CONSTRAINT icinga_user_inheritance_user
FOREIGN KEY host (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_user_inheritance_parent_user
FOREIGN KEY host (parent_user_id)
REFERENCES icinga_user (id)
ON DELETE RESTRICT
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE icinga_user_filter_state (
user_id INT(10) UNSIGNED NOT NULL,
state_name ENUM(

View File

@ -0,0 +1,20 @@
CREATE TABLE icinga_user_inheritance (
user_id integer NOT NULL,
parent_user_id integer NOT NULL,
weight integer DEFAULT NULL,
PRIMARY KEY (user_id, parent_user_id),
CONSTRAINT icinga_user_inheritance_user
FOREIGN KEY (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_user_inheritance_parent_user
FOREIGN KEY (parent_user_id)
REFERENCES icinga_user (id)
ON DELETE RESTRICT
ON UPDATE CASCADE
);
CREATE UNIQUE INDEX user_inheritance_unique_order ON icinga_user_inheritance (user_id, weight);
CREATE INDEX user_inheritance_user ON icinga_user_inheritance (user_id);
CREATE INDEX user_inheritance_user_parent ON icinga_user_inheritance (parent_user_id);

View File

@ -638,6 +638,28 @@ CREATE UNIQUE INDEX user_object_name ON icinga_user (object_name, zone_id);
CREATE INDEX user_zone ON icinga_user (zone_id);
CREATE TABLE icinga_user_inheritance (
user_id integer NOT NULL,
parent_user_id integer NOT NULL,
weight integer DEFAULT NULL,
PRIMARY KEY (user_id, parent_user_id),
CONSTRAINT icinga_user_inheritance_user
FOREIGN KEY (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_user_inheritance_parent_user
FOREIGN KEY (parent_user_id)
REFERENCES icinga_user (id)
ON DELETE RESTRICT
ON UPDATE CASCADE
);
CREATE UNIQUE INDEX user_inheritance_unique_order ON icinga_user_inheritance (user_id, weight);
CREATE INDEX user_inheritance_user ON icinga_user_inheritance (user_id);
CREATE INDEX user_inheritance_user_parent ON icinga_user_inheritance (parent_user_id);
CREATE TABLE icinga_user_filter_state (
user_id integer NOT NULL,
state_name enum_state_name NOT NULL,