Initial commit

This commit is contained in:
2024-08-27 20:33:44 +02:00
commit 1f1832267d
14794 changed files with 1599592 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import taggit.managers
from django.conf import settings
from django.db import migrations, models
import wagtail.search.index
class Migration(migrations.Migration):
dependencies = [
("taggit", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="Document",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=255, verbose_name="Title")),
("file", models.FileField(upload_to="documents", verbose_name="File")),
("created_at", models.DateTimeField(auto_now_add=True)),
(
"tags",
taggit.managers.TaggableManager(
to="taggit.Tag",
verbose_name="Tags",
help_text=None,
blank=True,
through="taggit.TaggedItem",
),
),
(
"uploaded_by_user",
models.ForeignKey(
on_delete=models.CASCADE,
editable=False,
null=True,
blank=True,
to=settings.AUTH_USER_MODEL,
),
),
],
options={},
bases=(models.Model, wagtail.search.index.Indexed),
),
]

View File

@@ -0,0 +1,66 @@
from django.db import migrations
def add_document_permissions_to_admin_groups(apps, schema_editor):
ContentType = apps.get_model("contenttypes.ContentType")
Permission = apps.get_model("auth.Permission")
Group = apps.get_model("auth.Group")
# Get document permissions
document_content_type, _created = ContentType.objects.get_or_create(
model="document", app_label="wagtaildocs"
)
add_document_permission, _created = Permission.objects.get_or_create(
content_type=document_content_type,
codename="add_document",
defaults={"name": "Can add document"},
)
change_document_permission, _created = Permission.objects.get_or_create(
content_type=document_content_type,
codename="change_document",
defaults={"name": "Can change document"},
)
delete_document_permission, _created = Permission.objects.get_or_create(
content_type=document_content_type,
codename="delete_document",
defaults={"name": "Can delete document"},
)
# Assign it to Editors and Moderators groups
for group in Group.objects.filter(name__in=["Editors", "Moderators"]):
group.permissions.add(
add_document_permission,
change_document_permission,
delete_document_permission,
)
def remove_document_permissions(apps, schema_editor):
"""Reverse the above additions of permissions."""
ContentType = apps.get_model("contenttypes.ContentType")
Permission = apps.get_model("auth.Permission")
document_content_type = ContentType.objects.get(
model="document",
app_label="wagtaildocs",
)
# This cascades to Group
Permission.objects.filter(
content_type=document_content_type,
codename__in=("add_document", "change_document", "delete_document"),
).delete()
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0001_initial"),
# Need to run wagtailcores initial data migration to make sure the groups are created
("wagtailcore", "0002_initial_data"),
]
operations = [
migrations.RunPython(
add_document_permissions_to_admin_groups, remove_document_permissions
),
]

View File

@@ -0,0 +1,33 @@
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0002_initial_data"),
]
operations = [
migrations.AlterModelOptions(
name="document",
options={"verbose_name": "Document"},
),
migrations.AlterField(
model_name="document",
name="created_at",
field=models.DateTimeField(auto_now_add=True, verbose_name="Created at"),
),
migrations.AlterField(
model_name="document",
name="uploaded_by_user",
field=models.ForeignKey(
on_delete=models.CASCADE,
blank=True,
editable=False,
to=settings.AUTH_USER_MODEL,
null=True,
verbose_name="Uploaded by user",
),
),
]

View File

@@ -0,0 +1,55 @@
import taggit.managers
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0003_add_verbose_names"),
]
operations = [
migrations.AlterModelOptions(
name="document",
options={"verbose_name": "document"},
),
migrations.AlterField(
model_name="document",
name="created_at",
field=models.DateTimeField(auto_now_add=True, verbose_name="created at"),
),
migrations.AlterField(
model_name="document",
name="file",
field=models.FileField(upload_to="documents", verbose_name="file"),
),
migrations.AlterField(
model_name="document",
name="tags",
field=taggit.managers.TaggableManager(
through="taggit.TaggedItem",
verbose_name="tags",
blank=True,
help_text=None,
to="taggit.Tag",
),
),
migrations.AlterField(
model_name="document",
name="title",
field=models.CharField(max_length=255, verbose_name="title"),
),
migrations.AlterField(
model_name="document",
name="uploaded_by_user",
field=models.ForeignKey(
on_delete=models.CASCADE,
blank=True,
null=True,
to=settings.AUTH_USER_MODEL,
editable=False,
verbose_name="uploaded by user",
),
),
]

View File

@@ -0,0 +1,26 @@
# Generated by Django 1.9 on 2015-12-22 16:09
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0004_capitalizeverbose"),
]
operations = [
migrations.AlterField(
model_name="document",
name="uploaded_by_user",
field=models.ForeignKey(
blank=True,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to=settings.AUTH_USER_MODEL,
verbose_name="uploaded by user",
),
),
]

View File

@@ -0,0 +1,26 @@
from django.db import migrations, models
import wagtail.models
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0025_collection_initial_data"),
("wagtaildocs", "0004_capitalizeverbose"),
]
operations = [
migrations.AddField(
model_name="document",
name="collection",
field=models.ForeignKey(
related_name="+",
to="wagtailcore.Collection",
verbose_name="collection",
default=wagtail.models.get_root_collection_id,
on_delete=models.CASCADE,
),
preserve_default=True,
),
]

View File

@@ -0,0 +1,54 @@
from django.db import migrations
def get_document_permissions(apps):
# return a queryset of the 'add_document' and 'change_document' permissions
Permission = apps.get_model("auth.Permission")
ContentType = apps.get_model("contenttypes.ContentType")
document_content_type, _created = ContentType.objects.get_or_create(
model="document",
app_label="wagtaildocs",
)
return Permission.objects.filter(
content_type=document_content_type,
codename__in=["add_document", "change_document"],
)
def copy_document_permissions_to_collections(apps, schema_editor):
Collection = apps.get_model("wagtailcore.Collection")
Group = apps.get_model("auth.Group")
GroupCollectionPermission = apps.get_model("wagtailcore.GroupCollectionPermission")
root_collection = Collection.objects.get(depth=1)
for permission in get_document_permissions(apps):
for group in Group.objects.filter(permissions=permission):
GroupCollectionPermission.objects.create(
group=group, collection=root_collection, permission=permission
)
def remove_document_permissions_from_collections(apps, schema_editor):
GroupCollectionPermission = apps.get_model("wagtailcore.GroupCollectionPermission")
document_permissions = get_document_permissions(apps)
GroupCollectionPermission.objects.filter(
permission__in=document_permissions
).delete()
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0026_group_collection_permission"),
("wagtaildocs", "0005_document_collection"),
]
operations = [
migrations.RunPython(
copy_document_permissions_to_collections,
remove_document_permissions_from_collections,
),
]

View File

@@ -0,0 +1,12 @@
# Generated by Django 1.9.1 on 2016-01-28 14:46
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0005_alter_uploaded_by_user_on_delete_action"),
("wagtaildocs", "0006_copy_document_permissions_to_collections"),
]
operations = []

View File

@@ -0,0 +1,18 @@
# Generated by Django 2.0.4 on 2018-05-04 17:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0007_merge"),
]
operations = [
migrations.AddField(
model_name="document",
name="file_size",
field=models.PositiveIntegerField(editable=False, null=True),
),
]

View File

@@ -0,0 +1,17 @@
# Generated by Django 2.2.dev20181026000358 on 2018-10-27 09:42
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0008_document_file_size"),
]
operations = [
migrations.AlterModelOptions(
name="document",
options={"verbose_name": "document", "verbose_name_plural": "documents"},
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 2.1.2 on 2018-10-28 07:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0009_document_verbose_name_plural"),
]
operations = [
migrations.AddField(
model_name="document",
name="file_hash",
field=models.CharField(blank=True, editable=False, max_length=40),
),
]

View File

@@ -0,0 +1,101 @@
# Generated by Django 3.1.2 on 2020-10-15 00:52
from django.db import migrations
def add_choose_permission_to_admin_groups(apps, _schema_editor):
ContentType = apps.get_model("contenttypes.ContentType")
Permission = apps.get_model("auth.Permission")
Group = apps.get_model("auth.Group")
# Get document content type
document_content_type, _created = ContentType.objects.get_or_create(
model="document", app_label="wagtaildocs"
)
# Create the Choose permission (if it doesn't already exist)
choose_document_permission, _created = Permission.objects.get_or_create(
content_type=document_content_type,
codename="choose_document",
defaults={"name": "Can choose document"},
)
# Assign it to all groups which have "Access the Wagtail admin" permission.
# This emulates the previous behaviour, where everyone who would access the admin
# could choose any document in any Collection, because choosing wasn't permissioned.
for group in Group.objects.filter(permissions__codename="access_admin"):
group.permissions.add(choose_document_permission)
def remove_choose_permission(apps, _schema_editor):
"""Reverse the above additions of permissions."""
ContentType = apps.get_model("contenttypes.ContentType")
Permission = apps.get_model("auth.Permission")
document_content_type = ContentType.objects.get(
model="document",
app_label="wagtaildocs",
)
# This cascades to Group
Permission.objects.filter(
content_type=document_content_type, codename="choose_document"
).delete()
def get_choose_permission(apps):
Permission = apps.get_model("auth.Permission")
ContentType = apps.get_model("contenttypes.ContentType")
document_content_type, _created = ContentType.objects.get_or_create(
model="document",
app_label="wagtaildocs",
)
return Permission.objects.filter(
content_type=document_content_type, codename__in=["choose_document"]
).first()
def copy_choose_permission_to_collections(apps, _schema_editor):
Collection = apps.get_model("wagtailcore.Collection")
Group = apps.get_model("auth.Group")
GroupCollectionPermission = apps.get_model("wagtailcore.GroupCollectionPermission")
root_collection = Collection.objects.get(depth=1)
permission = get_choose_permission(apps)
if permission:
for group in Group.objects.filter(permissions=permission):
GroupCollectionPermission.objects.create(
group=group, collection=root_collection, permission=permission
)
def remove_choose_permission_from_collections(apps, _schema_editor):
GroupCollectionPermission = apps.get_model("wagtailcore.GroupCollectionPermission")
choose_permission = get_choose_permission(apps)
if choose_permission:
GroupCollectionPermission.objects.filter(permission=choose_permission).delete()
class Migration(migrations.Migration):
dependencies = [
("wagtaildocs", "0010_document_file_hash"),
]
operations = [
migrations.AlterModelOptions(
name="document",
options={
"permissions": [("choose_document", "Can choose document")],
"verbose_name": "document",
"verbose_name_plural": "documents",
},
),
migrations.RunPython(
add_choose_permission_to_admin_groups, remove_choose_permission
),
migrations.RunPython(
copy_choose_permission_to_collections,
remove_choose_permission_from_collections,
),
]

View File

@@ -0,0 +1,45 @@
# Generated by Django 3.0.10 on 2020-12-20 01:55
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("wagtaildocs", "0011_add_choose_permissions"),
]
operations = [
migrations.CreateModel(
name="UploadedDocument",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"file",
models.FileField(max_length=200, upload_to="uploaded_documents"),
),
(
"uploaded_by_user",
models.ForeignKey(
blank=True,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to=settings.AUTH_USER_MODEL,
verbose_name="uploaded by user",
),
),
],
),
]

View File

@@ -0,0 +1,16 @@
# Generated by Django 5.0.1 on 2024-01-30 18:19
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('wagtaildocs', '0012_uploadeddocument'),
]
operations = [
migrations.DeleteModel(
name='UploadedDocument',
),
]