On 11/25/14, 5:46 AM, Aurelien Bompard wrote:
I'd like to discuss the algorithm we use to enforce a list's default moderation action. Here's what I understand:
- the list's default_moderation_action setting is stored in the database
and can be changed via the REST interface
- when a new member is created, its moderation_action is imported from the
list's default_moderation_action depending on its role (see model/member.py:84)
- this member's moderation_action is stored in the database
- it's the member's moderation_action that is used in the moderation rule
As a result, unless I'm missing something changing, the list's default_moderation_action has no effect on existing members. Do I understand correctly?
I suggest we leave the member's moderation_action on None when it's created, and modify the moderation rules to go look for the list's default setting if the member's value is None. How about that ? Other suggestions?
The only way I could see that would be to make the flag 3 valued: They are moderated They are not moderated They are in the default state of moderation, see the lists default value.