Granular Access Level Control
This commit is contained in:
83
main.cpp
83
main.cpp
@@ -153,11 +153,84 @@ bool initPreferences()
|
||||
|
||||
if(configVer < (atof(NUKI_HUB_VERSION) * 100))
|
||||
{
|
||||
//Example
|
||||
//if (configVer < 833)
|
||||
//{
|
||||
//MIGRATE SETTINGS
|
||||
//}
|
||||
if (configVer < 834)
|
||||
{
|
||||
if(preferences->getInt(preference_keypad_control_enabled))
|
||||
{
|
||||
preferences->putBool(preference_keypad_info_enabled, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
preferences->putBool(preference_keypad_info_enabled, false);
|
||||
}
|
||||
|
||||
switch(preferences->getInt(preference_access_level))
|
||||
{
|
||||
case 0:
|
||||
preferences->putBool(preference_keypad_control_enabled, true);
|
||||
preferences->putBool(preference_admin_config_enabled, true);
|
||||
preferences->putBool(preference_acl_lock, true);
|
||||
preferences->putBool(preference_acl_unlock, true);
|
||||
preferences->putBool(preference_acl_unlatch, true);
|
||||
preferences->putBool(preference_acl_lockngo, true);
|
||||
preferences->putBool(preference_acl_lockngo_unlatch, true);
|
||||
preferences->putBool(preference_acl_fulllock, true);
|
||||
preferences->putBool(preference_acl_lck_fob1, true);
|
||||
preferences->putBool(preference_acl_lck_fob2, true);
|
||||
preferences->putBool(preference_acl_lck_fob3, true);
|
||||
preferences->putBool(preference_acl_act_rto, true);
|
||||
preferences->putBool(preference_acl_deact_rto, true);
|
||||
preferences->putBool(preference_acl_act_esa, true);
|
||||
preferences->putBool(preference_acl_act_cm, true);
|
||||
preferences->putBool(preference_acl_deact_cm, true);
|
||||
preferences->putBool(preference_acl_opn_fob1, true);
|
||||
preferences->putBool(preference_acl_opn_fob2, true);
|
||||
preferences->putBool(preference_acl_opn_fob3, true);
|
||||
break;
|
||||
case 1:
|
||||
preferences->putBool(preference_keypad_control_enabled, false);
|
||||
preferences->putBool(preference_admin_config_enabled, false);
|
||||
preferences->putBool(preference_acl_lock, true);
|
||||
preferences->putBool(preference_acl_unlock, false);
|
||||
preferences->putBool(preference_acl_unlatch, false);
|
||||
preferences->putBool(preference_acl_lockngo, false);
|
||||
preferences->putBool(preference_acl_lockngo_unlatch, false);
|
||||
preferences->putBool(preference_acl_fulllock, true);
|
||||
preferences->putBool(preference_acl_lck_fob1, false);
|
||||
preferences->putBool(preference_acl_lck_fob2, false);
|
||||
preferences->putBool(preference_acl_lck_fob3, false);
|
||||
preferences->putBool(preference_acl_act_rto, false);
|
||||
preferences->putBool(preference_acl_deact_rto, true);
|
||||
preferences->putBool(preference_acl_act_esa, false);
|
||||
preferences->putBool(preference_acl_act_cm, false);
|
||||
preferences->putBool(preference_acl_deact_cm, true);
|
||||
preferences->putBool(preference_acl_opn_fob1, false);
|
||||
preferences->putBool(preference_acl_opn_fob2, false);
|
||||
preferences->putBool(preference_acl_opn_fob3, false);
|
||||
break;
|
||||
case 3:
|
||||
preferences->putBool(preference_keypad_control_enabled, false);
|
||||
preferences->putBool(preference_admin_config_enabled, false);
|
||||
preferences->putBool(preference_acl_lock, true);
|
||||
preferences->putBool(preference_acl_unlock, true);
|
||||
preferences->putBool(preference_acl_unlatch, false);
|
||||
preferences->putBool(preference_acl_lockngo, true);
|
||||
preferences->putBool(preference_acl_lockngo_unlatch, false);
|
||||
preferences->putBool(preference_acl_fulllock, true);
|
||||
preferences->putBool(preference_acl_lck_fob1, false);
|
||||
preferences->putBool(preference_acl_lck_fob2, false);
|
||||
preferences->putBool(preference_acl_lck_fob3, false);
|
||||
preferences->putBool(preference_acl_act_rto, true);
|
||||
preferences->putBool(preference_acl_deact_rto, true);
|
||||
preferences->putBool(preference_acl_act_esa, false);
|
||||
preferences->putBool(preference_acl_act_cm, true);
|
||||
preferences->putBool(preference_acl_deact_cm, true);
|
||||
preferences->putBool(preference_acl_opn_fob1, false);
|
||||
preferences->putBool(preference_acl_opn_fob2, false);
|
||||
preferences->putBool(preference_acl_opn_fob3, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
preferences->putInt(preference_config_version, atof(NUKI_HUB_VERSION) * 100);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user