mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-31 01:24:19 +02:00
Since the types and states attributes are user configurable and allowed to change at runtime, we need to update the actual filter bitsets whenever these attributes change. Otherwise, the filter bitsets would be stale and not reflect their current state.
54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
|
|
|
|
#include "icinga/customvarobject.hpp"
|
|
#include "base/array.hpp"
|
|
#impl_include "icinga/usergroup.hpp"
|
|
|
|
library icinga;
|
|
|
|
namespace icinga
|
|
{
|
|
|
|
class User : CustomVarObject
|
|
{
|
|
[config] String display_name {
|
|
get {{{
|
|
String displayName = m_DisplayName.load();
|
|
if (displayName.IsEmpty())
|
|
return GetName();
|
|
else
|
|
return displayName;
|
|
}}}
|
|
};
|
|
[config, no_user_modify, required, signal_with_old_value] array(name(UserGroup)) groups {
|
|
default {{{ return new Array(); }}}
|
|
};
|
|
[config, navigation] name(TimePeriod) period (PeriodRaw) {
|
|
navigate {{{
|
|
return TimePeriod::GetByName(GetPeriodRaw());
|
|
}}}
|
|
};
|
|
|
|
[config, no_storage] array(Value) types {
|
|
get;
|
|
set;
|
|
};
|
|
[no_user_view, no_user_modify] int type_filter_real (TypeFilter);
|
|
[config, no_storage] array(Value) states {
|
|
get;
|
|
set;
|
|
};
|
|
[no_user_view, no_user_modify] int state_filter_real (StateFilter);
|
|
|
|
[config] String email;
|
|
[config] String pager;
|
|
|
|
[config] bool enable_notifications {
|
|
default {{{ return true; }}}
|
|
};
|
|
|
|
[state] Timestamp last_notification;
|
|
};
|
|
|
|
}
|