Skip to content
Snippets Groups Projects
Verified Commit 1234a879 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Use word "provision" instead of "use" to underline the correct meaning

parent 88c57d17
No related branches found
No related tags found
1 merge request!2Resolve "Review tasks"
Pipeline #57575 failed
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from aleksis.apps.matrix.tasks import use_groups_in_matrix from aleksis.apps.matrix.tasks import provision_groups_in_matrix
from aleksis.core.forms import ActionForm from aleksis.core.forms import ActionForm
def use_in_matrix_action(modeladmin, request, queryset): def provision_in_matrix_action(modeladmin, request, queryset):
"""Use selected groups in Matrix.""" """Provision selected groups in Matrix."""
use_groups_in_matrix.delay(list(queryset.values_list("pk", flat=True))) provision_groups_in_matrix.delay(list(queryset.values_list("pk", flat=True)))
use_in_matrix_action.short_description = _("Use in Matrix") provision_in_matrix_action.short_description = _("Provision in Matrix")
class GroupMatrixRoomActionForm(ActionForm): class GroupMatrixRoomActionForm(ActionForm):
def get_actions(self): def get_actions(self):
return [use_in_matrix_action] return [provision_in_matrix_action]
...@@ -31,7 +31,7 @@ class Migration(migrations.Migration): ...@@ -31,7 +31,7 @@ class Migration(migrations.Migration):
options={ options={
'verbose_name': 'Matrix room', 'verbose_name': 'Matrix room',
'verbose_name_plural': 'Matrix rooms', 'verbose_name_plural': 'Matrix rooms',
'permissions': (('use_group_in_matrix', 'Can use group in Matrix'),), 'permissions': (('provision_group_in_matrix', 'Can provision group in Matrix'),),
}, },
managers=[ managers=[
('objects', aleksis.core.managers.PolymorphicCurrentSiteManager()), ('objects', aleksis.core.managers.PolymorphicCurrentSiteManager()),
......
...@@ -5,21 +5,21 @@ from django.utils.translation import gettext_lazy as _ ...@@ -5,21 +5,21 @@ from django.utils.translation import gettext_lazy as _
from celery.result import AsyncResult from celery.result import AsyncResult
from aleksis.apps.matrix.models import MatrixRoom from aleksis.apps.matrix.models import MatrixRoom
from aleksis.apps.matrix.tasks import use_group_in_matrix from aleksis.apps.matrix.tasks import provision_group_in_matrix
from aleksis.core.models import Group from aleksis.core.models import Group
@Group.method @Group.method
def use_in_matrix(self, sync: bool = False) -> Union[MatrixRoom, AsyncResult]: def provision_in_matrix(self, sync: bool = False) -> Union[MatrixRoom, AsyncResult]:
"""Create and sync a room for this group in Matrix.""" """Create and sync a room for this group in Matrix."""
if sync: if sync:
return self._use_in_matrix() return self._provision_in_matrix()
else: else:
return use_group_in_matrix.delay(self.pk) return provision_group_in_matrix.delay(self.pk)
@Group.method @Group.method
def _use_in_matrix(self) -> MatrixRoom: def _provision_in_matrix(self) -> MatrixRoom:
"""Create and sync a room for this group in Matrix.""" """Create and sync a room for this group in Matrix."""
room = MatrixRoom.from_group(self) room = MatrixRoom.from_group(self)
room.sync() room.sync()
......
...@@ -248,7 +248,7 @@ class MatrixRoom(ExtensiblePolymorphicModel): ...@@ -248,7 +248,7 @@ class MatrixRoom(ExtensiblePolymorphicModel):
class Meta: class Meta:
verbose_name = _("Matrix room") verbose_name = _("Matrix room")
verbose_name_plural = _("Matrix rooms") verbose_name_plural = _("Matrix rooms")
permissions = (("use_group_in_matrix", "Can use group in Matrix"),) permissions = (("provision_group_in_matrix", "Can provision group in Matrix"),)
class MatrixSpace(MatrixRoom): class MatrixSpace(MatrixRoom):
...@@ -321,7 +321,7 @@ class MatrixSpace(MatrixRoom): ...@@ -321,7 +321,7 @@ class MatrixSpace(MatrixRoom):
def ensure_children(self): def ensure_children(self):
"""Ensure that all child rooms/spaces exist.""" """Ensure that all child rooms/spaces exist."""
for group in self.group.child_groups.all().prefetch_related("child_groups"): for group in self.group.child_groups.all().prefetch_related("child_groups"):
group.use_in_matrix(sync=True) group.provision_in_matrix(sync=True)
if group.child_groups.all(): if group.child_groups.all():
space = MatrixSpace.from_group(group) space = MatrixSpace.from_group(group)
space.ensure_children() space.ensure_children()
......
...@@ -15,10 +15,10 @@ view_matrix_room_predicate = view_group_predicate & ( ...@@ -15,10 +15,10 @@ view_matrix_room_predicate = view_group_predicate & (
) )
rules.add_perm("matrix.view_matrixroom_rule", view_matrix_room_predicate) rules.add_perm("matrix.view_matrixroom_rule", view_matrix_room_predicate)
use_room_for_matrix_predicate = view_matrix_room_predicate & ( provision_room_for_matrix_predicate = view_matrix_room_predicate & (
has_global_perm("matrix.use_group_in_matrix") has_global_perm("matrix.provision_group_in_matrix")
) )
rules.add_perm("matrix.use_group_in_matrix_rule", use_room_for_matrix_predicate) rules.add_perm("matrix.provision_group_in_matrix_rule", provision_room_for_matrix_predicate)
show_menu_predicate = view_matrix_rooms_predicate show_menu_predicate = view_matrix_rooms_predicate
rules.add_perm("matrix.show_menu_rule", show_menu_predicate) rules.add_perm("matrix.show_menu_rule", show_menu_predicate)
...@@ -13,15 +13,15 @@ def sync_room(pk: int): ...@@ -13,15 +13,15 @@ def sync_room(pk: int):
@app.task @app.task
def use_groups_in_matrix(pks: Sequence[int]): def provision_groups_in_matrix(pks: Sequence[int]):
"""Use provided groups in Matrix.""" """Provision provided groups in Matrix."""
groups = Group.objects.filter(pk__in=pks) groups = Group.objects.filter(pk__in=pks)
for group in groups: for group in groups:
group._use_in_matrix() group._provision_in_matrix()
@app.task @app.task
def use_group_in_matrix(pk: int): def provision_group_in_matrix(pk: int):
"""Use provided group in Matrix.""" """Provision provided group in Matrix."""
group = Group.objects.get(pk=pk) group = Group.objects.get(pk=pk)
group._use_in_matrix() group._provision_in_matrix()
...@@ -307,7 +307,7 @@ def test_use_room_sync(matrix_bot_user): ...@@ -307,7 +307,7 @@ def test_use_room_sync(matrix_bot_user):
g.members.add(p1) g.members.add(p1)
r = g.use_in_matrix(sync=True) r = g.provision_in_matrix(sync=True)
assert isinstance(r, MatrixRoom) assert isinstance(r, MatrixRoom)
...@@ -335,7 +335,7 @@ class MatrixCeleryTest(TransactionTestCase): ...@@ -335,7 +335,7 @@ class MatrixCeleryTest(TransactionTestCase):
g.members.add(p1) g.members.add(p1)
r = g.use_in_matrix(sync=False) r = g.provision_in_matrix(sync=False)
assert isinstance(r, AsyncResult) assert isinstance(r, AsyncResult)
time.sleep(3) time.sleep(3)
...@@ -352,7 +352,7 @@ def test_space_creation(matrix_bot_user): ...@@ -352,7 +352,7 @@ def test_space_creation(matrix_bot_user):
child_3 = Group.objects.create(name="Test Group 3") child_3 = Group.objects.create(name="Test Group 3")
parent_group.child_groups.set([child_1, child_2, child_3]) parent_group.child_groups.set([child_1, child_2, child_3])
parent_group.use_in_matrix(sync=True) parent_group.provision_in_matrix(sync=True)
get_site_preferences()["matrix__use_spaces"] = True get_site_preferences()["matrix__use_spaces"] = True
...@@ -399,7 +399,7 @@ def test_space_creation_with_child_spaces(matrix_bot_user): ...@@ -399,7 +399,7 @@ def test_space_creation_with_child_spaces(matrix_bot_user):
child_3 = Group.objects.create(name="Test Group 3") child_3 = Group.objects.create(name="Test Group 3")
parent_group.child_groups.set([child_1, child_2, child_3]) parent_group.child_groups.set([child_1, child_2, child_3])
parent_group.use_in_matrix(sync=True) parent_group.provision_in_matrix(sync=True)
get_site_preferences()["matrix__use_spaces"] = True get_site_preferences()["matrix__use_spaces"] = True
......
...@@ -34,6 +34,8 @@ class MatrixRoomListView(PermissionRequiredMixin, SingleTableMixin, FilterView): ...@@ -34,6 +34,8 @@ class MatrixRoomListView(PermissionRequiredMixin, SingleTableMixin, FilterView):
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
r = super().get(request, *args, **kwargs) r = super().get(request, *args, **kwargs)
if self.action_form.is_valid() and request.user.has_perm("matrix.use_group_in_matrix_rule"): if self.action_form.is_valid() and request.user.has_perm(
"matrix.provision_group_in_matrix_rule"
):
self.action_form.execute() self.action_form.execute()
return r return r
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment