A little breakthrough, I removed all sub-plugins except "mailenabled". Commented out all attributeTypes within the ldif schema, just left mailEnabled and the objectClass, also removed all entries in the "MAY" field except "mailenabled".
" objectClasses: ( 1.3.6.1.4.1.29426.1.2.2.1 NAME 'postfixBookMailAccount' DESC 'Mail account used in Postfix Book' SUP top AUXILIARY MUST ( mail ) MAY ( mailEnabled ) ) "
I still had the same issue "IPA Error 4001: NotFound" when trying to create a user. I then saw the argument "update=True" on the "add_missing_object_class". So I set "update=False" in "mailenabled.py" on the useradd_precallback while leaving it as it is on the usermod_precallback. (I added the "u" prefix before the objectClass name but that's irrelevant anyway for python3, will leave it)
" def useradd_precallback(self, ldap, dn, entry_attrs, attrs_list, *keys, **options): add_missing_object_class(ldap, u'postfixbookmailaccount', dn, entry_attrs, update=False) return dn
user.user_add.register_pre_callback(useradd_precallback)
def usermod_precallback(self, ldap, dn, entry_attrs, attrs_list, *keys, **options): add_missing_object_class(ldap, u'postfixbookmailaccount', dn) return dn
user.user_mod.register_pre_callback(usermod_precallback) "
I can now finally create a user without having that error message. I will refactor the other python files and see if I can re-enable all of them.
There is still the issue, where the checkbox is not displaying the stored value when entering the details view. To answer your question from last time:
"ipa user-show" is showing that attribute like: " ... Account disabled: False Mail enabled: TRUE ... " A bit strange, don't know if this could cause some issues, but the value is "TRUE" all uppercase, while the others are written as "True". When doing an ldapsearch, I see it also on my user as: "mailEnabled: TRUE".
Any idea how to solve that loading stored values issue?