Publically joinable Groups (#697)

* Add public field to AuthGroup

* Add permission for users to join non-public groups

By default this permission will be applied to the "Member" group to
maintain the current behaviour.

* Allow users to join public groups

Users without the 'groupmanagement.request_groups' permission will be
able to join groups marked as public but will not be able to see or join
any other groups.

* Prevent None state change from purging groups

Currently when a user drops from Blue or Member state all groups and
permissions are discarded. This softens that approach by not removing
public groups and creates a distinction between the two activities. An
argument could maybe be made for not removing permissions on a state
change, but that is beyond the scope of this change.

* Correct syntax for removing filtered groups

* Add unit tests for disable user and member

* Update services signals tests

* Correct mocking call

* Remove permissions checking from menu item
This commit is contained in:
Basraah
2017-02-12 13:03:39 +10:00
committed by Adarnof
parent b636262e0c
commit 918ecf812c
12 changed files with 244 additions and 56 deletions

View File

@@ -106,15 +106,11 @@
<i class="fa fa-dashboard fa-fw grayiconecolor"></i>{% trans " Dashboard" %}
</a>
</li>
{% if STATE == MEMBER_STATE or user.is_superuser %}
<li>
<a class="{% navactive request 'auth_groups' %}" href="{% url 'auth_groups' %}">
<i class="fa fa-cogs fa-fw fa-sitemap grayiconecolor"></i>{% trans " Groups" %}
</a>
</li>
{% endif %}
<li>
<a class="{% navactive request 'auth_groups' %}" href="{% url 'auth_groups' %}">
<i class="fa fa-cogs fa-fw fa-sitemap grayiconecolor"></i>{% trans " Groups" %}
</a>
</li>
<li>
<a class="{% navactive request 'auth_help' %}" href="{% url 'auth_help' %}">
<i class="fa fa-question fa-fw grayiconecolor"></i>{% trans " Help" %}