summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-11-14 17:51:18 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:45:55 +0100
commit39ee687bfa6709b23ae969700230cc40adbd718c (patch)
treeb24929876d8f4a39c9b39bfcc30be78ad225ae25 /ishtar_common
parent56beeee5f8be48cc513e28721e9c17aa75fdd793 (diff)
downloadIshtar-39ee687bfa6709b23ae969700230cc40adbd718c.tar.bz2
Ishtar-39ee687bfa6709b23ae969700230cc40adbd718c.zip
🗃️ rename permission request fields to permission queries
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/admin.py16
-rw-r--r--ishtar_common/migrations/0258_rename_perm_query.py40
-rw-r--r--ishtar_common/models.py30
-rw-r--r--ishtar_common/models_common.py14
4 files changed, 70 insertions, 30 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 7a621f601..2e85486cf 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -783,9 +783,9 @@ class PersonAdmin(HistorizedObjectAdmin):
admin_site.register(models.Person, PersonAdmin)
-class PermissionRequestAdminForm(forms.ModelForm):
+class PermissionQueryAdminForm(forms.ModelForm):
class Meta:
- model = models_common.PermissionRequest
+ model = models_common.PermissionQuery
exclude = []
def __init__(self, *args, **kwargs):
@@ -825,15 +825,15 @@ class PermissionRequestAdminForm(forms.ModelForm):
return self.cleaned_data
-@admin.register(models_common.PermissionRequest, site=admin_site)
-class PermissionRequestAdmin(admin.ModelAdmin):
+@admin.register(models_common.PermissionQuery, site=admin_site)
+class PermissionQueryAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("name",)}
search_fields = ("model__model__unaccent", "name")
list_display = (
"model", "name", "active", "include_associated_items",
"include_upstream_items", "limit_to_attached_areas"
)
- form = PermissionRequestAdminForm
+ form = PermissionQueryAdminForm
def get_content_types_with_sheet(with_empty=False):
@@ -1825,7 +1825,7 @@ admin_site.register(models.Area, AreaAdmin)
class ProfileTypeAdmin(GeneralTypeAdmin):
model = models.ProfileType
filter_vertical = ("groups",)
- autocomplete_fields = ("permission_requests", "filtered_sheets")
+ autocomplete_fields = ("permission_queries", "filtered_sheets")
def save_related(self, request, form, formsets, change):
super().save_related(request, form, formsets, change)
@@ -1851,8 +1851,8 @@ class ProfileTypeAdmin(GeneralTypeAdmin):
permissions_needed.add(perm_type)
else:
permissions_not_needed.add(perm_type)
- for permission_request in obj.permission_requests.all():
- model = permission_request.model.model
+ for permission_query in obj.permission_queries.all():
+ model = permission_query.model.model
for perm_type, perm_model in list(permissions_needed):
if model == perm_model:
permissions_needed.remove((perm_type, perm_model))
diff --git a/ishtar_common/migrations/0258_rename_perm_query.py b/ishtar_common/migrations/0258_rename_perm_query.py
new file mode 100644
index 000000000..700ed0434
--- /dev/null
+++ b/ishtar_common/migrations/0258_rename_perm_query.py
@@ -0,0 +1,40 @@
+# Generated by Django 2.2.24 on 2024-11-14 12:08
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('contenttypes', '0002_remove_content_type_name'),
+ ('ishtar_common', '0257_sheet_filters'),
+ ]
+
+ operations = [
+ migrations.RenameModel(
+ old_name='PermissionRequest',
+ new_name='PermissionQuery',
+ ),
+ migrations.AlterModelOptions(
+ name='filteredsheet',
+ options={'verbose_name': 'Filtered sheet - Sheet', 'verbose_name_plural': 'Filtered sheet - Sheets'},
+ ),
+ migrations.AlterModelOptions(
+ name='permissionquery',
+ options={'verbose_name': 'Permission query', 'verbose_name_plural': 'Permissions queries'},
+ ),
+ migrations.AlterModelOptions(
+ name='sheetfilter',
+ options={'verbose_name': 'Filtered sheet - Filter', 'verbose_name_plural': 'Filtered sheet - Filters'},
+ ),
+ migrations.RenameField(
+ model_name='profiletype',
+ old_name='permission_requests',
+ new_name='permission_queries',
+ ),
+ migrations.AlterField(
+ model_name='profiletype',
+ name='permission_queries',
+ field=models.ManyToManyField(blank=True, related_name='profile_types', to='ishtar_common.PermissionQuery', verbose_name='Permissions queries'),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 9579cdbd1..8542c8963 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -175,7 +175,7 @@ from ishtar_common.models_common import (
OrderedHierarchicalType,
OrderedType,
OwnPerms,
- PermissionRequest,
+ PermissionQuery,
post_save_cache,
QuickAction,
SearchVectorConfig,
@@ -201,7 +201,7 @@ __all__ = [
"ImporterDuplicateField",
"Imported",
"FilteredSheet",
- "PermissionRequest",
+ "PermissionQuery",
"Regexp",
"ImportTarget",
"ItemKey",
@@ -3441,8 +3441,8 @@ class GDPRLog(models.Model):
class ProfileType(GeneralType):
groups = models.ManyToManyField(Group, verbose_name=_("Groups"), blank=True,
related_name="profile_types")
- permission_requests = models.ManyToManyField(
- PermissionRequest, verbose_name=_("Permissions requests"), blank=True,
+ permission_queries = models.ManyToManyField(
+ PermissionQuery, verbose_name=_("Permissions queries"), blank=True,
related_name="profile_types"
)
filtered_sheets = models.ManyToManyField(
@@ -3500,7 +3500,7 @@ post_save.connect(post_save_cache, sender=ProfileType)
post_delete.connect(post_save_cache, sender=ProfileType)
-def permission_requests_changed(sender, **kwargs):
+def permission_queries_changed(sender, **kwargs):
instance = kwargs.get("instance", None)
if not instance:
return
@@ -3509,9 +3509,9 @@ def permission_requests_changed(sender, **kwargs):
).update(need_permission_update=True)
-m2m_changed.connect(permission_requests_changed,
- sender=ProfileType.permission_requests.through)
-m2m_changed.connect(permission_requests_changed,
+m2m_changed.connect(permission_queries_changed,
+ sender=ProfileType.permission_queries.through)
+m2m_changed.connect(permission_queries_changed,
sender=ProfileType.groups.through)
@@ -3605,11 +3605,11 @@ class UserProfile(models.Model):
new_item.external_sources.add(src)
return new_item
- def _generate_permission(self, ishtar_user, content_type, permission_request,
+ def _generate_permission(self, ishtar_user, content_type, permission_query,
permissions, permission_type):
item_ids = []
model_class = content_type.model_class()
- if permission_request.include_associated_items:
+ if permission_query.include_associated_items:
if hasattr(model_class, "ishtar_users"):
item_ids += model_class.objects.filter(
ishtar_users__pk=ishtar_user.pk
@@ -3628,19 +3628,19 @@ class UserProfile(models.Model):
)
# DEBUG
# print("ishtar_common/models.py - 3578", item_ids, ishtar_user, content_type, permission_type)
- if permission_request.include_upstream_items:
+ if permission_query.include_upstream_items:
item_ids += model_class.get_ids_from_upper_permissions(
ishtar_user.user_ptr.pk, permissions
)
# DEBUG
# print("ishtar_common/models.py - 3584", item_ids, ishtar_user, content_type, permission_type)
- if permission_request.request or permission_request.limit_to_attached_areas:
+ if permission_query.request or permission_query.limit_to_attached_areas:
_get_item = get_item(
content_type.model_class(),
"", "", no_permission_check=True,
)
result = []
- query = permission_request.request
+ query = permission_query.request
if query:
if "{USER}" in query:
query = query.replace("{USER}", f"id:{ishtar_user.person_id}")
@@ -3648,7 +3648,7 @@ class UserProfile(models.Model):
q = _get_item(None, return_query=True, ishtaruser=ishtar_user,
query=query)
result = list(q.values_list("pk", flat=True))
- if permission_request.limit_to_attached_areas:
+ if permission_query.limit_to_attached_areas:
profile = ishtar_user.current_profile
if not profile: # no areas attached
return []
@@ -3699,7 +3699,7 @@ class UserProfile(models.Model):
permissions += list(group.permissions.filter(
codename__contains=permission_type
).all())
- q_req = self.profile_type.permission_requests.filter(
+ q_req = self.profile_type.permission_queries.filter(
model=content_type, active=True
)
item_ids = []
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index cd74ca068..f42b6a08a 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -3108,7 +3108,7 @@ class GeographicItem(models.Model):
return lst
-class PermissionRequest(models.Model):
+class PermissionQuery(models.Model):
model = models.ForeignKey(ContentType, related_name="permissions",
verbose_name=_("Model"), on_delete=models.CASCADE)
name = models.CharField(_("Name"), max_length=200)
@@ -3137,22 +3137,22 @@ class PermissionRequest(models.Model):
ADMIN_SECTION = _("Account")
class Meta:
- verbose_name = _("Permission request")
- verbose_name_plural = _("Permissions requests")
+ verbose_name = _("Permission query")
+ verbose_name_plural = _("Permissions queries")
def __str__(self):
return f"{self.model} - {self.name}"
-def post_save_permission_request(sender, **kwargs):
- permission_request = kwargs["instance"]
+def post_save_permission_query(sender, **kwargs):
+ permission_query = kwargs["instance"]
IshtarUser = apps.get_model("ishtar_common", "IshtarUser")
IshtarUser.objects.filter(
- person__profiles__profile_type__permission_requests__pk=permission_request.pk
+ person__profiles__profile_type__permission_queries__pk=permission_query.pk
).update(need_permission_update=True)
-post_save.connect(post_save_permission_request, sender=PermissionRequest)
+post_save.connect(post_save_permission_query, sender=PermissionQuery)
class SerializeItem: