Hello,

Currently there's three tickets related to issues with the current 
implementation of our user and groups models.

https://github.com/divio/django-cms/issues/3532
https://github.com/divio/django-cms/issues/3863
https://github.com/divio/django-cms/issues/5328

Basically we're relying on the current thread to store the request user and 
use that in a couple of places.
I've done an initial analysis and concluded that we can safely remove the 
dependency on the thread user for all places
except for the signal 
handlers 
https://github.com/divio/django-cms/blob/develop/cms/signals/permissions.py#L8.

I'm proposing for us to refactor the user and group models on the CMS to no 
longer be subclasses of Django's User model.
Instead, they should be proxy models that add some functionality (not 
fields) specific to our use case.
This would avoid sync issues like the one mentioned 
in https://github.com/divio/django-cms/issues/5328.

To do this I would like revisit the use cases for having the 
created_by field on both user and group models.

If we're unable replace the created_by field then I suggest having a 
separate model to make this relationship more explicit,
something like Manager where users can be assigned as managers of other 
users or groups.

Let me know what you guys think.

-- 
Message URL: 
https://groups.google.com/d/msg/django-cms-developers/topic-id/message-id
Unsubscribe: send a message to 
[email protected]
--- 
You received this message because you are subscribed to the Google Groups 
"django CMS developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/django-cms-developers/f1b798d1-8941-46aa-b032-a74f6af34414%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to