Mentions légales du service

Skip to content
Snippets Groups Projects
Commit de438c85 authored by Robin Tissot's avatar Robin Tissot
Browse files

Fixes creating a document without project.

parent 6a353228
No related branches found
No related tags found
1 merge request!76Adds the concept of projects
...@@ -21,6 +21,7 @@ def make_slug(proj, Project): ...@@ -21,6 +21,7 @@ def make_slug(proj, Project):
def forwards(apps, schema_editor): def forwards(apps, schema_editor):
User = apps.get_model('users', 'User') User = apps.get_model('users', 'User')
Project = apps.get_model('core', 'Project') Project = apps.get_model('core', 'Project')
Document = apps.get_model('core', 'Document')
# create user projects # create user projects
for user in User.objects.all(): for user in User.objects.all():
proj, created = Project.objects.get_or_create(name=user.username+"'s Project", proj, created = Project.objects.get_or_create(name=user.username+"'s Project",
...@@ -39,6 +40,24 @@ def forwards(apps, schema_editor): ...@@ -39,6 +40,24 @@ def forwards(apps, schema_editor):
# shared to draft # shared to draft
user.document_set.filter(workflow_state=1).update(workflow_state=0) user.document_set.filter(workflow_state=1).update(workflow_state=0)
# deal with documents without owner (shouldn't be any but let's be safe)
# move them to admin's
user = User.objects.filter(is_superuser=True).first()
proj, dummy = Project.objects.get_or_create(name=user.username+"'s Project",
owner=user)
if not proj.slug:
make_slug(proj, Project)
for doc in Document.objects.filter(owner=None):
doc.project = proj
doc.save()
# move share from docs to created projects
for doc in user.document_set.all():
for share in doc.shared_with_users.all():
proj.shared_with_users.add(share)
for share in doc.shared_with_groups.all():
proj.shared_with_groups.add(share)
def backwards(apps, schema_editor): def backwards(apps, schema_editor):
Document = apps.get_model('core', 'Document') Document = apps.get_model('core', 'Document')
for doc in Document.objects.all(): for doc in Document.objects.all():
......
# Generated by Django 2.2.20 on 2021-05-20 13:08
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('core', '0047_auto_20210510_1512'),
]
operations = [
migrations.AlterField(
model_name='document',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='core.Project'),
),
]
...@@ -236,7 +236,7 @@ class Document(models.Model): ...@@ -236,7 +236,7 @@ class Document(models.Model):
metadatas = models.ManyToManyField(Metadata, through=DocumentMetadata, blank=True) metadatas = models.ManyToManyField(Metadata, through=DocumentMetadata, blank=True)
project = models.ForeignKey(Project, null=True, blank=True, project = models.ForeignKey(Project,
on_delete=models.CASCADE, on_delete=models.CASCADE,
related_name='documents') related_name='documents')
......
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