From 921200c4c2ddff2c5c0a0cb7233708ae5b433b06 Mon Sep 17 00:00:00 2001 From: corpulent Date: Sun, 21 Aug 2022 18:34:00 +0300 Subject: [PATCH] feat: add project_type property --- services/backend/src/api/admin.py | 1 + .../migrations/0004_project_project_type.py | 18 ++++++++++++++++++ services/backend/src/api/models/project.py | 1 + services/backend/src/api/views/project.py | 2 ++ 4 files changed, 22 insertions(+) create mode 100644 services/backend/src/api/migrations/0004_project_project_type.py diff --git a/services/backend/src/api/admin.py b/services/backend/src/api/admin.py index 98e09eb..fa3e785 100644 --- a/services/backend/src/api/admin.py +++ b/services/backend/src/api/admin.py @@ -5,6 +5,7 @@ from .models import Project class ProjectAdmin(admin.ModelAdmin): list_display = ( 'id', + 'project_type', 'visibility', 'name', 'uuid', diff --git a/services/backend/src/api/migrations/0004_project_project_type.py b/services/backend/src/api/migrations/0004_project_project_type.py new file mode 100644 index 0000000..51c1646 --- /dev/null +++ b/services/backend/src/api/migrations/0004_project_project_type.py @@ -0,0 +1,18 @@ +# Generated by Django 4.0.4 on 2022-08-21 13:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0003_project_visibility'), + ] + + operations = [ + migrations.AddField( + model_name='project', + name='project_type', + field=models.SmallIntegerField(default='0'), + ), + ] diff --git a/services/backend/src/api/models/project.py b/services/backend/src/api/models/project.py index 7694d8e..ba27271 100644 --- a/services/backend/src/api/models/project.py +++ b/services/backend/src/api/models/project.py @@ -10,6 +10,7 @@ class Project(models.Model): related_name="projects", on_delete=models.CASCADE, ) + project_type = models.SmallIntegerField(blank=False, null=False, default="0") visibility = models.SmallIntegerField(blank=False, null=False, default="1") name = models.CharField(max_length=500, blank=False, null=False, default="Untitled") uuid = models.CharField(max_length=500, blank=True, null=True, unique=True) diff --git a/services/backend/src/api/views/project.py b/services/backend/src/api/views/project.py index fce6a28..20bb79b 100644 --- a/services/backend/src/api/views/project.py +++ b/services/backend/src/api/views/project.py @@ -96,6 +96,7 @@ class ProjectImportAPIView(generics.CreateAPIView): def create(self, request, *args, **kwargs): org = get_user_org(request.user) data = { **request.data } + project_type = data.get("project_type", 0) project = copy.deepcopy(base_project) req = requests.get(data["url"], allow_redirects=True) @@ -140,6 +141,7 @@ class ProjectImportAPIView(generics.CreateAPIView): try: obj = Project.objects.get(uuid=project_uuid, org=org) + obj.project_type = project_type obj.data = json.dumps(project) obj.visibility = data["visibility"] obj.save()