Allow public marked grb and configs to be shown 91/68791/2
authorBrandon Lo <lobrandon1217@gmail.com>
Wed, 6 Nov 2019 18:05:58 +0000 (13:05 -0500)
committerBrandon Lo <lobrandon1217@gmail.com>
Thu, 7 Nov 2019 16:31:22 +0000 (11:31 -0500)
Change-Id: I97f4965e8522cac1ceb5c0492e9aa0a2e128d266
Signed-off-by: Brandon Lo <lobrandon1217@gmail.com>
src/resource_inventory/migrations/0011_auto_20191106_2024.py [new file with mode: 0644]
src/resource_inventory/models.py
src/workflow/booking_workflow.py

diff --git a/src/resource_inventory/migrations/0011_auto_20191106_2024.py b/src/resource_inventory/migrations/0011_auto_20191106_2024.py
new file mode 100644 (file)
index 0000000..bde9f9d
--- /dev/null
@@ -0,0 +1,33 @@
+# Generated by Django 2.2 on 2019-11-06 20:24
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('resource_inventory', '0010_auto_20190430_1405'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='configbundle',
+            name='hidden',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AddField(
+            model_name='configbundle',
+            name='public',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AddField(
+            model_name='genericresourcebundle',
+            name='hidden',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AddField(
+            model_name='genericresourcebundle',
+            name='public',
+            field=models.BooleanField(default=False),
+        ),
+    ]
index b9f2c44..031ccce 100644 (file)
@@ -113,6 +113,8 @@ class GenericResourceBundle(models.Model):
     owner = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
     lab = models.ForeignKey(Lab, null=True, on_delete=models.SET_NULL)
     description = models.CharField(max_length=1000, default="")
+    public = models.BooleanField(default=False)
+    hidden = models.BooleanField(default=False)
 
     def getHosts(self):
         return_hosts = []
@@ -241,6 +243,8 @@ class ConfigBundle(models.Model):
     name = models.CharField(max_length=200, unique=True)
     description = models.CharField(max_length=1000, default="")
     bundle = models.ForeignKey(GenericResourceBundle, null=True, on_delete=models.CASCADE)
+    public = models.BooleanField(default=False)
+    hidden = models.BooleanField(default=False)
 
     def __str__(self):
         return self.name
index 3698164..c96e1b9 100644 (file)
@@ -15,6 +15,7 @@ from booking.models import Booking
 from workflow.models import WorkflowStep, AbstractSelectOrCreate
 from workflow.forms import ResourceSelectorForm, SWConfigSelectorForm, BookingMetaForm, OPNFVSelectForm
 from resource_inventory.models import GenericResourceBundle, ConfigBundle, OPNFVConfig
+from django.db.models import Q
 
 
 """
@@ -43,7 +44,7 @@ class Abstract_Resource_Select(AbstractSelectOrCreate):
 
     def get_form_queryset(self):
         user = self.repo_get(self.repo.SESSION_USER)
-        qs = GenericResourceBundle.objects.filter(owner=user)
+        qs = GenericResourceBundle.objects.filter(Q(hidden=False) & (Q(owner=user) | Q(public=True)))
         return qs
 
     def get_page_context(self):
@@ -82,7 +83,7 @@ class SWConfig_Select(AbstractSelectOrCreate):
     def get_form_queryset(self):
         user = self.repo_get(self.repo.SESSION_USER)
         grb = self.repo_get(self.repo.SELECTED_GRESOURCE_BUNDLE)
-        qs = ConfigBundle.objects.filter(owner=user).filter(bundle=grb)
+        qs = ConfigBundle.objects.filter(Q(hidden=False) & (Q(owner=user) | Q(public=True))).filter(bundle=grb)
         return qs
 
     def put_confirm_info(self, bundle):