So many questions come up when reading your reply. I also done some 
troubleshooting.

1. Not a question, but a observation: set debug=true, still not helpful
2. Still open question from my last post, do I need the "change type modify, 
add: attributeTypes, add: objectClasses" inside my schema, is it doing 
something or should I remove it again?

Side note: About your reply, I'm not a python dev and I absolutely don't know 
the application so best preconditions to probably do every mistake possible.
Nevertheless, according to "instead of that, simply use 
add_missing_object_class()", the one you are talking about is a class, my 
plugins are not, different structure, so I can't say what's here important/ 
needed.

3. you mentioned my "usermod_precallback" function, what about the 
"useradd_precallback" above, there is an append too, should this be refactored 
as well with "add_missing_object_class"?
4. Speaking of "add_missing_object_class(ldap, u'ipacertmapobject', dn)" what's 
the u'... before the objectClass doing, meaning?
5. And what about the statements after the first useradd and second usermod 
callbacks: "user.user_add.register_pre_callback(useradd_precallback)" and 
"user.user_mod.register_pre_callback(usermod_precallback)", do they stay, after 
your proposed refactoring or do they have to be removed?

Another observation:
I've setup a VM where I installed freeIPA, so I don't have to deal with the 
read-only container and images. I started to create the files one by one. So 
created "postfixbook.js", "mailenabled.js" and "mailenabled.py", strangely no 
error, I could create a user, I could click on the Mail enabled checkbox and 
save successfully. Ldapsearch showed even that it was correctly set for that 
user. The only issue so far, the checkbox in the UI is always unchecked, so 
entering a user with checked mail enabled, when I check it, I can't save, 
FreeIpa sees that nothing has changed, then when I uncheck, now I can save. So 
simply on entering the details view, this checkbox element isn't set according 
to the stored value, it's simply always unchecked. This was done with the "old" 
unguarded appends, so it seems, this is working.
I then added the second file pairs "mailalias.js" and "mailalias.py". Now I had 
this weird behaviour, couldn't create user anymore, couldn't save the mail 
alias. I then discovered that "mailenabled.py" had 
"entry["objectclass"].append("postfixbookmailaccount")" whereas "mailalias.py" 
had "entry["objectclass"].append("postfixbookMailaccount")" with a capital "M". 
BTW the same typo was in "mailsieverulesource". So how should I know when to 
use lowercase or camelCase?
For example in the pdf: 
https://www.freeipa.org/images/5/5b/FreeIPA33-extending-freeipa.pdf
"objectclasses" is sometimes written lowercased and sometimes camelCased 
"objectClasses". When I look into my schema, the objectClasses name is even 
written as "PostfixBookMailAccount". In the schema one attributeType is written 
as "mailEnabled", in the "mailenabled.js" and "mailenabled.py" files everywhere 
is "mailenabled" lowercased. In your (abbra freeIpa user status) repo the same 
with "inetuserstatus" in the .py and .js files whereas "inetUserStatus" in the 
schema.
So I'm totally confused when to use what, it feels totally wrong, feels like a 
big mess. 
_______________________________________________
FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
To unsubscribe send an email to freeipa-users-le...@lists.fedorahosted.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/freeipa-users@lists.fedorahosted.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to