1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/* 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;
};
}
|