diff --git a/library/Icingadb/Model/AcknowledgementHistory.php b/library/Icingadb/Model/AcknowledgementHistory.php index edbcc837..ff074f6e 100644 --- a/library/Icingadb/Model/AcknowledgementHistory.php +++ b/library/Icingadb/Model/AcknowledgementHistory.php @@ -6,10 +6,10 @@ namespace Icinga\Module\Icingadb\Model; use DateTime; use Icinga\Module\Icingadb\Model\Behavior\BoolCast; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/ActionUrl.php b/library/Icingadb/Model/ActionUrl.php index 928ce35d..92d50d8d 100644 --- a/library/Icingadb/Model/ActionUrl.php +++ b/library/Icingadb/Model/ActionUrl.php @@ -4,10 +4,10 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Model; use Icinga\Module\Icingadb\Model\Behavior\ActionAndNoteUrl; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Checkcommand.php b/library/Icingadb/Model/Checkcommand.php index 7f55c0dd..2cf4289a 100644 --- a/library/Icingadb/Model/Checkcommand.php +++ b/library/Icingadb/Model/Checkcommand.php @@ -4,10 +4,10 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/CheckcommandArgument.php b/library/Icingadb/Model/CheckcommandArgument.php index 155f6dac..9e728af0 100644 --- a/library/Icingadb/Model/CheckcommandArgument.php +++ b/library/Icingadb/Model/CheckcommandArgument.php @@ -4,9 +4,9 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/CheckcommandCustomvar.php b/library/Icingadb/Model/CheckcommandCustomvar.php index 5382689f..a46de443 100644 --- a/library/Icingadb/Model/CheckcommandCustomvar.php +++ b/library/Icingadb/Model/CheckcommandCustomvar.php @@ -4,9 +4,9 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/CheckcommandEnvvar.php b/library/Icingadb/Model/CheckcommandEnvvar.php index 05cdeed2..b5ef17aa 100644 --- a/library/Icingadb/Model/CheckcommandEnvvar.php +++ b/library/Icingadb/Model/CheckcommandEnvvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Comment.php b/library/Icingadb/Model/Comment.php index bdfcaf00..92ab6bd6 100644 --- a/library/Icingadb/Model/Comment.php +++ b/library/Icingadb/Model/Comment.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/CommentHistory.php b/library/Icingadb/Model/CommentHistory.php index 1cb02e3a..25301306 100644 --- a/library/Icingadb/Model/CommentHistory.php +++ b/library/Icingadb/Model/CommentHistory.php @@ -9,7 +9,7 @@ use Icinga\Module\Icingadb\Model\Behavior\BoolCast; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Customvar.php b/library/Icingadb/Model/Customvar.php index 70fb7098..0fa103ba 100644 --- a/library/Icingadb/Model/Customvar.php +++ b/library/Icingadb/Model/Customvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/CustomvarFlat.php b/library/Icingadb/Model/CustomvarFlat.php index e7a04598..6472e118 100644 --- a/library/Icingadb/Model/CustomvarFlat.php +++ b/library/Icingadb/Model/CustomvarFlat.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; use ipl\Orm\Contract\RewriteFilterBehavior; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Query; use ipl\Orm\Relations; use ipl\Stdlib\Filter; diff --git a/library/Icingadb/Model/Downtime.php b/library/Icingadb/Model/Downtime.php index b2ba6171..93dfd8af 100644 --- a/library/Icingadb/Model/Downtime.php +++ b/library/Icingadb/Model/Downtime.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/DowntimeHistory.php b/library/Icingadb/Model/DowntimeHistory.php index b69a0979..6eac6e8d 100644 --- a/library/Icingadb/Model/DowntimeHistory.php +++ b/library/Icingadb/Model/DowntimeHistory.php @@ -9,7 +9,7 @@ use Icinga\Module\Icingadb\Model\Behavior\BoolCast; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Endpoint.php b/library/Icingadb/Model/Endpoint.php index f8a9b8c0..b0edea9e 100644 --- a/library/Icingadb/Model/Endpoint.php +++ b/library/Icingadb/Model/Endpoint.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Environment.php b/library/Icingadb/Model/Environment.php index cd820825..b915ca5b 100644 --- a/library/Icingadb/Model/Environment.php +++ b/library/Icingadb/Model/Environment.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Eventcommand.php b/library/Icingadb/Model/Eventcommand.php index 68c1c065..41950048 100644 --- a/library/Icingadb/Model/Eventcommand.php +++ b/library/Icingadb/Model/Eventcommand.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/EventcommandArgument.php b/library/Icingadb/Model/EventcommandArgument.php index 1f60ac25..72b12ff9 100644 --- a/library/Icingadb/Model/EventcommandArgument.php +++ b/library/Icingadb/Model/EventcommandArgument.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/EventcommandCustomvar.php b/library/Icingadb/Model/EventcommandCustomvar.php index 0da010bc..b26052e7 100644 --- a/library/Icingadb/Model/EventcommandCustomvar.php +++ b/library/Icingadb/Model/EventcommandCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/EventcommandEnvvar.php b/library/Icingadb/Model/EventcommandEnvvar.php index 2eb8acf0..3095a68c 100644 --- a/library/Icingadb/Model/EventcommandEnvvar.php +++ b/library/Icingadb/Model/EventcommandEnvvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/FlappingHistory.php b/library/Icingadb/Model/FlappingHistory.php index e060ca6e..2a139036 100644 --- a/library/Icingadb/Model/FlappingHistory.php +++ b/library/Icingadb/Model/FlappingHistory.php @@ -8,7 +8,7 @@ use DateTime; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/History.php b/library/Icingadb/Model/History.php index 3643a22b..bbdad07c 100644 --- a/library/Icingadb/Model/History.php +++ b/library/Icingadb/Model/History.php @@ -9,7 +9,7 @@ use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Host.php b/library/Icingadb/Model/Host.php index c6979839..b4a934c8 100644 --- a/library/Icingadb/Model/Host.php +++ b/library/Icingadb/Model/Host.php @@ -6,11 +6,11 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Common\Auth; use Icinga\Module\Icingadb\Model\Behavior\BoolCast; +use Icinga\Module\Icingadb\Common\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; use ipl\Orm\Defaults; -use ipl\Orm\Model; use ipl\Orm\Relations; use ipl\Orm\ResultSet; diff --git a/library/Icingadb/Model/HostCustomvar.php b/library/Icingadb/Model/HostCustomvar.php index bda786b3..67753c6a 100644 --- a/library/Icingadb/Model/HostCustomvar.php +++ b/library/Icingadb/Model/HostCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Hostgroup.php b/library/Icingadb/Model/Hostgroup.php index 1ff6f0fb..c0daeb4c 100644 --- a/library/Icingadb/Model/Hostgroup.php +++ b/library/Icingadb/Model/Hostgroup.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/HostgroupCustomvar.php b/library/Icingadb/Model/HostgroupCustomvar.php index d3dd09b2..d42c2f41 100644 --- a/library/Icingadb/Model/HostgroupCustomvar.php +++ b/library/Icingadb/Model/HostgroupCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/HostgroupMember.php b/library/Icingadb/Model/HostgroupMember.php index e03db733..09c01350 100644 --- a/library/Icingadb/Model/HostgroupMember.php +++ b/library/Icingadb/Model/HostgroupMember.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Hostgroupsummary.php b/library/Icingadb/Model/Hostgroupsummary.php index 172413e7..3da32dd6 100644 --- a/library/Icingadb/Model/Hostgroupsummary.php +++ b/library/Icingadb/Model/Hostgroupsummary.php @@ -4,8 +4,10 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Auth; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; +use ipl\Orm\Query; use ipl\Orm\Relations; use ipl\Orm\UnionModel; use ipl\Sql\Adapter\Pgsql; @@ -40,6 +42,17 @@ class Hostgroupsummary extends UnionModel { $q = parent::on($db); + $q->on( + Query::ON_SELECT_ASSEMBLED, + function () use ($q) { + $auth = new class () { + use Auth; + }; + + $auth->assertColumnRestrictions($q->getFilter()); + } + ); + $q->on($q::ON_SELECT_ASSEMBLED, function (Select $select) use ($q) { $model = $q->getModel(); diff --git a/library/Icingadb/Model/IconImage.php b/library/Icingadb/Model/IconImage.php index 58f0be61..d0fdec8c 100644 --- a/library/Icingadb/Model/IconImage.php +++ b/library/Icingadb/Model/IconImage.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Instance.php b/library/Icingadb/Model/Instance.php index 716d23da..3002f37d 100644 --- a/library/Icingadb/Model/Instance.php +++ b/library/Icingadb/Model/Instance.php @@ -9,7 +9,7 @@ use Icinga\Module\Icingadb\Model\Behavior\BoolCast; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotesUrl.php b/library/Icingadb/Model/NotesUrl.php index 138eaba0..46d6c627 100644 --- a/library/Icingadb/Model/NotesUrl.php +++ b/library/Icingadb/Model/NotesUrl.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ActionAndNoteUrl; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Notification.php b/library/Icingadb/Model/Notification.php index 4c15d2ee..1e9eb744 100644 --- a/library/Icingadb/Model/Notification.php +++ b/library/Icingadb/Model/Notification.php @@ -8,7 +8,7 @@ use Icinga\Module\Icingadb\Model\Behavior\Bitmask; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationCustomvar.php b/library/Icingadb/Model/NotificationCustomvar.php index 655d1de9..9fa5a382 100644 --- a/library/Icingadb/Model/NotificationCustomvar.php +++ b/library/Icingadb/Model/NotificationCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationHistory.php b/library/Icingadb/Model/NotificationHistory.php index 08903ad6..383fe6d8 100644 --- a/library/Icingadb/Model/NotificationHistory.php +++ b/library/Icingadb/Model/NotificationHistory.php @@ -9,7 +9,7 @@ use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationUser.php b/library/Icingadb/Model/NotificationUser.php index efb779ca..dfe2e80e 100644 --- a/library/Icingadb/Model/NotificationUser.php +++ b/library/Icingadb/Model/NotificationUser.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationUsergroup.php b/library/Icingadb/Model/NotificationUsergroup.php index a5033375..6222969b 100644 --- a/library/Icingadb/Model/NotificationUsergroup.php +++ b/library/Icingadb/Model/NotificationUsergroup.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Notificationcommand.php b/library/Icingadb/Model/Notificationcommand.php index c170aae4..d3511e45 100644 --- a/library/Icingadb/Model/Notificationcommand.php +++ b/library/Icingadb/Model/Notificationcommand.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationcommandArgument.php b/library/Icingadb/Model/NotificationcommandArgument.php index e3a5e675..5674e60d 100644 --- a/library/Icingadb/Model/NotificationcommandArgument.php +++ b/library/Icingadb/Model/NotificationcommandArgument.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationcommandCustomvar.php b/library/Icingadb/Model/NotificationcommandCustomvar.php index f5419272..8d58047c 100644 --- a/library/Icingadb/Model/NotificationcommandCustomvar.php +++ b/library/Icingadb/Model/NotificationcommandCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/NotificationcommandEnvvar.php b/library/Icingadb/Model/NotificationcommandEnvvar.php index 0180be61..f486bd05 100644 --- a/library/Icingadb/Model/NotificationcommandEnvvar.php +++ b/library/Icingadb/Model/NotificationcommandEnvvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Service.php b/library/Icingadb/Model/Service.php index 1d97b96a..76c24ad5 100644 --- a/library/Icingadb/Model/Service.php +++ b/library/Icingadb/Model/Service.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; use ipl\Orm\Defaults; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; use ipl\Orm\ResultSet; diff --git a/library/Icingadb/Model/ServiceCustomvar.php b/library/Icingadb/Model/ServiceCustomvar.php index ba462f11..e4f91a6c 100644 --- a/library/Icingadb/Model/ServiceCustomvar.php +++ b/library/Icingadb/Model/ServiceCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Servicegroup.php b/library/Icingadb/Model/Servicegroup.php index 2e4b847b..01c73bef 100644 --- a/library/Icingadb/Model/Servicegroup.php +++ b/library/Icingadb/Model/Servicegroup.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/ServicegroupCustomvar.php b/library/Icingadb/Model/ServicegroupCustomvar.php index 01479eed..11ffa33b 100644 --- a/library/Icingadb/Model/ServicegroupCustomvar.php +++ b/library/Icingadb/Model/ServicegroupCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/ServicegroupMember.php b/library/Icingadb/Model/ServicegroupMember.php index 80a5054f..14cf3b64 100644 --- a/library/Icingadb/Model/ServicegroupMember.php +++ b/library/Icingadb/Model/ServicegroupMember.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/ServicegroupSummary.php b/library/Icingadb/Model/ServicegroupSummary.php index c15ef079..b960179c 100644 --- a/library/Icingadb/Model/ServicegroupSummary.php +++ b/library/Icingadb/Model/ServicegroupSummary.php @@ -4,8 +4,10 @@ namespace Icinga\Module\Icingadb\Model; +use Icinga\Module\Icingadb\Common\Auth; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; +use ipl\Orm\Query; use ipl\Orm\Relations; use ipl\Orm\UnionModel; use ipl\Sql\Adapter\Pgsql; @@ -35,6 +37,17 @@ class ServicegroupSummary extends UnionModel { $q = parent::on($db); + $q->on( + Query::ON_SELECT_ASSEMBLED, + function () use ($q) { + $auth = new class () { + use Auth; + }; + + $auth->assertColumnRestrictions($q->getFilter()); + } + ); + $q->on($q::ON_SELECT_ASSEMBLED, function (Select $select) use ($q) { $model = $q->getModel(); diff --git a/library/Icingadb/Model/State.php b/library/Icingadb/Model/State.php index 4529c9b1..0c2c45d5 100644 --- a/library/Icingadb/Model/State.php +++ b/library/Icingadb/Model/State.php @@ -10,7 +10,7 @@ use Icinga\Module\Icingadb\Model\Behavior\BoolCast; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Web\Widget\Icon; /** diff --git a/library/Icingadb/Model/StateHistory.php b/library/Icingadb/Model/StateHistory.php index 35d01152..56bae65c 100644 --- a/library/Icingadb/Model/StateHistory.php +++ b/library/Icingadb/Model/StateHistory.php @@ -8,7 +8,7 @@ use DateTime; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behavior\MillisecondTimestamp; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Timeperiod.php b/library/Icingadb/Model/Timeperiod.php index e1664103..4e554585 100644 --- a/library/Icingadb/Model/Timeperiod.php +++ b/library/Icingadb/Model/Timeperiod.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/TimeperiodCustomvar.php b/library/Icingadb/Model/TimeperiodCustomvar.php index 2931068a..939a5134 100644 --- a/library/Icingadb/Model/TimeperiodCustomvar.php +++ b/library/Icingadb/Model/TimeperiodCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/TimeperiodOverrideExclude.php b/library/Icingadb/Model/TimeperiodOverrideExclude.php index 2764dfb6..6a0db09b 100644 --- a/library/Icingadb/Model/TimeperiodOverrideExclude.php +++ b/library/Icingadb/Model/TimeperiodOverrideExclude.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/TimeperiodOverrideInclude.php b/library/Icingadb/Model/TimeperiodOverrideInclude.php index b92e9eed..28609098 100644 --- a/library/Icingadb/Model/TimeperiodOverrideInclude.php +++ b/library/Icingadb/Model/TimeperiodOverrideInclude.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/TimeperiodRange.php b/library/Icingadb/Model/TimeperiodRange.php index af945735..e0e04abd 100644 --- a/library/Icingadb/Model/TimeperiodRange.php +++ b/library/Icingadb/Model/TimeperiodRange.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/User.php b/library/Icingadb/Model/User.php index f8bcef8d..bb319f12 100644 --- a/library/Icingadb/Model/User.php +++ b/library/Icingadb/Model/User.php @@ -8,7 +8,7 @@ use Icinga\Module\Icingadb\Model\Behavior\Bitmask; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/UserCustomvar.php b/library/Icingadb/Model/UserCustomvar.php index 883858bf..151b9ffd 100644 --- a/library/Icingadb/Model/UserCustomvar.php +++ b/library/Icingadb/Model/UserCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Usergroup.php b/library/Icingadb/Model/Usergroup.php index 281c9ce5..e2c8e608 100644 --- a/library/Icingadb/Model/Usergroup.php +++ b/library/Icingadb/Model/Usergroup.php @@ -7,7 +7,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/UsergroupCustomvar.php b/library/Icingadb/Model/UsergroupCustomvar.php index cdc79bcc..69fbad90 100644 --- a/library/Icingadb/Model/UsergroupCustomvar.php +++ b/library/Icingadb/Model/UsergroupCustomvar.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/UsergroupMember.php b/library/Icingadb/Model/UsergroupMember.php index 7abd5c82..1295d0d5 100644 --- a/library/Icingadb/Model/UsergroupMember.php +++ b/library/Icingadb/Model/UsergroupMember.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /** diff --git a/library/Icingadb/Model/Zone.php b/library/Icingadb/Model/Zone.php index 04d63ce9..7992c6ef 100644 --- a/library/Icingadb/Model/Zone.php +++ b/library/Icingadb/Model/Zone.php @@ -6,7 +6,7 @@ namespace Icinga\Module\Icingadb\Model; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; -use ipl\Orm\Model; +use Icinga\Module\Icingadb\Common\Model; use ipl\Orm\Relations; /**