From 1234a8798d85511339aa524b75a9ae7e32b98c3d Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Tue, 1 Mar 2022 20:23:29 +0100
Subject: [PATCH] Use word "provision" instead of "use" to underline the
 correct meaning

---
 aleksis/apps/matrix/forms.py                   | 12 ++++++------
 aleksis/apps/matrix/migrations/0001_initial.py |  2 +-
 aleksis/apps/matrix/model_extensions.py        | 10 +++++-----
 aleksis/apps/matrix/models.py                  |  4 ++--
 aleksis/apps/matrix/rules.py                   |  6 +++---
 aleksis/apps/matrix/tasks.py                   | 12 ++++++------
 aleksis/apps/matrix/tests/test_matrix.py       |  8 ++++----
 aleksis/apps/matrix/views.py                   |  4 +++-
 8 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/aleksis/apps/matrix/forms.py b/aleksis/apps/matrix/forms.py
index e194a74..4cf2f12 100644
--- a/aleksis/apps/matrix/forms.py
+++ b/aleksis/apps/matrix/forms.py
@@ -1,17 +1,17 @@
 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
 
 
-def use_in_matrix_action(modeladmin, request, queryset):
-    """Use selected groups in Matrix."""
-    use_groups_in_matrix.delay(list(queryset.values_list("pk", flat=True)))
+def provision_in_matrix_action(modeladmin, request, queryset):
+    """Provision selected groups in Matrix."""
+    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):
     def get_actions(self):
-        return [use_in_matrix_action]
+        return [provision_in_matrix_action]
diff --git a/aleksis/apps/matrix/migrations/0001_initial.py b/aleksis/apps/matrix/migrations/0001_initial.py
index ba8190a..8d4865e 100644
--- a/aleksis/apps/matrix/migrations/0001_initial.py
+++ b/aleksis/apps/matrix/migrations/0001_initial.py
@@ -31,7 +31,7 @@ class Migration(migrations.Migration):
             options={
                 'verbose_name': 'Matrix room',
                 '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=[
                 ('objects', aleksis.core.managers.PolymorphicCurrentSiteManager()),
diff --git a/aleksis/apps/matrix/model_extensions.py b/aleksis/apps/matrix/model_extensions.py
index 0405797..4e0472b 100644
--- a/aleksis/apps/matrix/model_extensions.py
+++ b/aleksis/apps/matrix/model_extensions.py
@@ -5,21 +5,21 @@ from django.utils.translation import gettext_lazy as _
 from celery.result import AsyncResult
 
 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
 
 
 @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."""
     if sync:
-        return self._use_in_matrix()
+        return self._provision_in_matrix()
     else:
-        return use_group_in_matrix.delay(self.pk)
+        return provision_group_in_matrix.delay(self.pk)
 
 
 @Group.method
-def _use_in_matrix(self) -> MatrixRoom:
+def _provision_in_matrix(self) -> MatrixRoom:
     """Create and sync a room for this group in Matrix."""
     room = MatrixRoom.from_group(self)
     room.sync()
diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py
index 444c643..4ab8df1 100644
--- a/aleksis/apps/matrix/models.py
+++ b/aleksis/apps/matrix/models.py
@@ -248,7 +248,7 @@ class MatrixRoom(ExtensiblePolymorphicModel):
     class Meta:
         verbose_name = _("Matrix room")
         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):
@@ -321,7 +321,7 @@ class MatrixSpace(MatrixRoom):
     def ensure_children(self):
         """Ensure that all child rooms/spaces exist."""
         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():
                 space = MatrixSpace.from_group(group)
                 space.ensure_children()
diff --git a/aleksis/apps/matrix/rules.py b/aleksis/apps/matrix/rules.py
index 4628e35..7617732 100644
--- a/aleksis/apps/matrix/rules.py
+++ b/aleksis/apps/matrix/rules.py
@@ -15,10 +15,10 @@ view_matrix_room_predicate = view_group_predicate & (
 )
 rules.add_perm("matrix.view_matrixroom_rule", view_matrix_room_predicate)
 
-use_room_for_matrix_predicate = view_matrix_room_predicate & (
-    has_global_perm("matrix.use_group_in_matrix")
+provision_room_for_matrix_predicate = view_matrix_room_predicate & (
+    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
 rules.add_perm("matrix.show_menu_rule", show_menu_predicate)
diff --git a/aleksis/apps/matrix/tasks.py b/aleksis/apps/matrix/tasks.py
index 59be28c..c7346d8 100644
--- a/aleksis/apps/matrix/tasks.py
+++ b/aleksis/apps/matrix/tasks.py
@@ -13,15 +13,15 @@ def sync_room(pk: int):
 
 
 @app.task
-def use_groups_in_matrix(pks: Sequence[int]):
-    """Use provided groups in Matrix."""
+def provision_groups_in_matrix(pks: Sequence[int]):
+    """Provision provided groups in Matrix."""
     groups = Group.objects.filter(pk__in=pks)
     for group in groups:
-        group._use_in_matrix()
+        group._provision_in_matrix()
 
 
 @app.task
-def use_group_in_matrix(pk: int):
-    """Use provided group in Matrix."""
+def provision_group_in_matrix(pk: int):
+    """Provision provided group in Matrix."""
     group = Group.objects.get(pk=pk)
-    group._use_in_matrix()
+    group._provision_in_matrix()
diff --git a/aleksis/apps/matrix/tests/test_matrix.py b/aleksis/apps/matrix/tests/test_matrix.py
index cd05c50..52f9a88 100644
--- a/aleksis/apps/matrix/tests/test_matrix.py
+++ b/aleksis/apps/matrix/tests/test_matrix.py
@@ -307,7 +307,7 @@ def test_use_room_sync(matrix_bot_user):
 
     g.members.add(p1)
 
-    r = g.use_in_matrix(sync=True)
+    r = g.provision_in_matrix(sync=True)
 
     assert isinstance(r, MatrixRoom)
 
@@ -335,7 +335,7 @@ class MatrixCeleryTest(TransactionTestCase):
 
         g.members.add(p1)
 
-        r = g.use_in_matrix(sync=False)
+        r = g.provision_in_matrix(sync=False)
         assert isinstance(r, AsyncResult)
 
         time.sleep(3)
@@ -352,7 +352,7 @@ def test_space_creation(matrix_bot_user):
     child_3 = Group.objects.create(name="Test Group 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
 
@@ -399,7 +399,7 @@ def test_space_creation_with_child_spaces(matrix_bot_user):
     child_3 = Group.objects.create(name="Test Group 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
 
diff --git a/aleksis/apps/matrix/views.py b/aleksis/apps/matrix/views.py
index 8da912a..f3f9dd9 100644
--- a/aleksis/apps/matrix/views.py
+++ b/aleksis/apps/matrix/views.py
@@ -34,6 +34,8 @@ class MatrixRoomListView(PermissionRequiredMixin, SingleTableMixin, FilterView):
 
     def post(self, 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()
         return r
-- 
GitLab