From b9f135804f37abac5d0d1657f9fed9bb36e4a551 Mon Sep 17 00:00:00 2001 From: Tim Lorsbach Date: Tue, 14 Apr 2026 21:09:32 +0200 Subject: [PATCH] Adding secret flags to group, add secret pools to packages --- bayer/migrations/0003_package_data_pool.py | 20 ++++++++++++++++++++ bayer/models.py | 3 +++ epdb/models.py | 1 + 3 files changed, 24 insertions(+) create mode 100644 bayer/migrations/0003_package_data_pool.py diff --git a/bayer/migrations/0003_package_data_pool.py b/bayer/migrations/0003_package_data_pool.py new file mode 100644 index 00000000..35d2b433 --- /dev/null +++ b/bayer/migrations/0003_package_data_pool.py @@ -0,0 +1,20 @@ +# Generated by Django 6.0.3 on 2026-04-14 19:07 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bayer', '0002_initial'), + ('epdb', '0023_alter_compoundstructure_options_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='package', + name='data_pool', + field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='epdb.group', verbose_name='Data pool'), + ), + ] diff --git a/bayer/models.py b/bayer/models.py index 07f499da..aa075692 100644 --- a/bayer/models.py +++ b/bayer/models.py @@ -29,6 +29,9 @@ class Package(EnviPathModel): default=Classification.RESTRICTED, ) + data_pool = models.ForeignKey("epdb.Group", on_delete=models.SET_NULL, blank=True, null=True, + verbose_name="Data pool", default=None) + def delete(self, *args, **kwargs): # explicitly handle related Rules for r in self.rules.all(): diff --git a/epdb/models.py b/epdb/models.py index 311b148c..2bb0eef5 100644 --- a/epdb/models.py +++ b/epdb/models.py @@ -204,6 +204,7 @@ class Group(TimeStampedModel): name = models.TextField(blank=False, null=False, verbose_name="Group name") owner = models.ForeignKey("User", verbose_name="Group Owner", on_delete=models.CASCADE) public = models.BooleanField(verbose_name="Public Group", default=False) + secret = models.BooleanField(verbose_name="Secret Group", default=False) description = models.TextField( blank=False, null=False, verbose_name="Descriptions", default="no description" )