diff --git a/FOSSDB_web/apps/fossdb/admin.py b/FOSSDB_web/apps/fossdb/admin.py index 00be6f8..e69de29 100644 --- a/FOSSDB_web/apps/fossdb/admin.py +++ b/FOSSDB_web/apps/fossdb/admin.py @@ -1,19 +0,0 @@ -from django.contrib import admin -from hosting_platform.admin import ProjectHostingPlatformInline -from programming_language.admin import ProjectProgrammingLanguageInline - -from .models import Project - - -class ProjectAdmin(admin.ModelAdmin): - inlines = [ProjectProgrammingLanguageInline, ProjectHostingPlatformInline] - list_display = ("author", "name", "_languages", "_hosting_platform") - - def _languages(self, object): - return " | ".join([i.language.language for i in object.projectprogramminglanguage_set.all()]) - - def _hosting_platform(self, object): - return " | ".join([i.hosting_platform.hosting_platform for i in object.projecthostingplatform_set.all()]) - - -admin.site.register(Project, ProjectAdmin) diff --git a/FOSSDB_web/apps/fossdb/forms.py b/FOSSDB_web/apps/fossdb/forms.py deleted file mode 100644 index b1f60e2..0000000 --- a/FOSSDB_web/apps/fossdb/forms.py +++ /dev/null @@ -1,22 +0,0 @@ -from django import forms - -from .models import Project - - -class ProjectForm(forms.ModelForm): - - class Meta: - model = Project - fields = ["name", "description", "licenses"] - - widgets = { - "name": forms.TextInput(attrs={ - "class": "form-control", - "placeholder": "Project name", - }), - "description": forms.Textarea(attrs={ - "class": "form-control", - "placeholder": "Description", - }), - "licenses": forms.CheckboxSelectMultiple(), - } diff --git a/FOSSDB_web/apps/hosting_platform/__init__.py b/FOSSDB_web/apps/fossdb/hosting_platform/__init__.py similarity index 100% rename from FOSSDB_web/apps/hosting_platform/__init__.py rename to FOSSDB_web/apps/fossdb/hosting_platform/__init__.py diff --git a/FOSSDB_web/apps/hosting_platform/admin.py b/FOSSDB_web/apps/fossdb/hosting_platform/admin.py similarity index 100% rename from FOSSDB_web/apps/hosting_platform/admin.py rename to FOSSDB_web/apps/fossdb/hosting_platform/admin.py diff --git a/FOSSDB_web/apps/fossdb/hosting_platform/apps.py b/FOSSDB_web/apps/fossdb/hosting_platform/apps.py new file mode 100644 index 0000000..e041c8e --- /dev/null +++ b/FOSSDB_web/apps/fossdb/hosting_platform/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class HostingPlatformConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "fossdb.hosting_platform" diff --git a/FOSSDB_web/apps/fossdb/hosting_platform/forms.py b/FOSSDB_web/apps/fossdb/hosting_platform/forms.py new file mode 100644 index 0000000..661213f --- /dev/null +++ b/FOSSDB_web/apps/fossdb/hosting_platform/forms.py @@ -0,0 +1,11 @@ +from django import forms + +from .models import HostingPlatform + + +class HostingPlatformForm(forms.ModelForm): + url = forms.URLField() + + class Meta: + model = HostingPlatform + fields = ["hosting_platform", "url"] diff --git a/FOSSDB_web/apps/hosting_platform/migrations/__init__.py b/FOSSDB_web/apps/fossdb/hosting_platform/migrations/__init__.py similarity index 100% rename from FOSSDB_web/apps/hosting_platform/migrations/__init__.py rename to FOSSDB_web/apps/fossdb/hosting_platform/migrations/__init__.py diff --git a/FOSSDB_web/apps/hosting_platform/models.py b/FOSSDB_web/apps/fossdb/hosting_platform/models.py similarity index 100% rename from FOSSDB_web/apps/hosting_platform/models.py rename to FOSSDB_web/apps/fossdb/hosting_platform/models.py diff --git a/FOSSDB_web/apps/hosting_platform/tests.py b/FOSSDB_web/apps/fossdb/hosting_platform/tests.py similarity index 100% rename from FOSSDB_web/apps/hosting_platform/tests.py rename to FOSSDB_web/apps/fossdb/hosting_platform/tests.py diff --git a/FOSSDB_web/apps/hosting_platform/views.py b/FOSSDB_web/apps/fossdb/hosting_platform/views.py similarity index 100% rename from FOSSDB_web/apps/hosting_platform/views.py rename to FOSSDB_web/apps/fossdb/hosting_platform/views.py diff --git a/FOSSDB_web/apps/license/__init__.py b/FOSSDB_web/apps/fossdb/license/__init__.py similarity index 100% rename from FOSSDB_web/apps/license/__init__.py rename to FOSSDB_web/apps/fossdb/license/__init__.py diff --git a/FOSSDB_web/apps/license/admin.py b/FOSSDB_web/apps/fossdb/license/admin.py similarity index 100% rename from FOSSDB_web/apps/license/admin.py rename to FOSSDB_web/apps/fossdb/license/admin.py diff --git a/FOSSDB_web/apps/fossdb/license/apps.py b/FOSSDB_web/apps/fossdb/license/apps.py new file mode 100644 index 0000000..4e1d259 --- /dev/null +++ b/FOSSDB_web/apps/fossdb/license/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class LicenseConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "fossdb.license" diff --git a/FOSSDB_web/apps/license/forms.py b/FOSSDB_web/apps/fossdb/license/forms.py similarity index 100% rename from FOSSDB_web/apps/license/forms.py rename to FOSSDB_web/apps/fossdb/license/forms.py diff --git a/FOSSDB_web/apps/license/migrations/__init__.py b/FOSSDB_web/apps/fossdb/license/migrations/__init__.py similarity index 100% rename from FOSSDB_web/apps/license/migrations/__init__.py rename to FOSSDB_web/apps/fossdb/license/migrations/__init__.py diff --git a/FOSSDB_web/apps/license/models.py b/FOSSDB_web/apps/fossdb/license/models.py similarity index 100% rename from FOSSDB_web/apps/license/models.py rename to FOSSDB_web/apps/fossdb/license/models.py diff --git a/FOSSDB_web/apps/license/tests.py b/FOSSDB_web/apps/fossdb/license/tests.py similarity index 100% rename from FOSSDB_web/apps/license/tests.py rename to FOSSDB_web/apps/fossdb/license/tests.py diff --git a/FOSSDB_web/apps/license/views.py b/FOSSDB_web/apps/fossdb/license/views.py similarity index 100% rename from FOSSDB_web/apps/license/views.py rename to FOSSDB_web/apps/fossdb/license/views.py diff --git a/FOSSDB_web/apps/fossdb/migrations/0001_initial.py b/FOSSDB_web/apps/fossdb/migrations/0001_initial.py deleted file mode 100644 index d43573f..0000000 --- a/FOSSDB_web/apps/fossdb/migrations/0001_initial.py +++ /dev/null @@ -1,85 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-07 23:05 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import uuid - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='HostingPlatform', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('hosting_platform', models.CharField(max_length=100)), - ], - ), - migrations.CreateModel( - name='License', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('short_name', models.CharField(max_length=50)), - ('full_name', models.CharField(blank=True, max_length=100, null=True)), - ('url', models.URLField(blank=True, null=True)), - ('description', models.TextField(blank=True, null=True)), - ], - ), - migrations.CreateModel( - name='ProgrammingLanguage', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('language', models.CharField(max_length=100)), - ], - ), - migrations.CreateModel( - name='Project', - fields=[ - ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), - ('name', models.CharField(max_length=255)), - ('description', models.TextField()), - ('date_created', models.DateTimeField(auto_now_add=True)), - ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ProjectProgrammingLanguage', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('percentage', models.PositiveIntegerField()), - ('language', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.programminglanguage')), - ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.project')), - ], - ), - migrations.CreateModel( - name='ProjectHostingPlatform', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('url', models.URLField()), - ('hosting_platform', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.hostingplatform')), - ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.project')), - ], - ), - migrations.AddField( - model_name='project', - name='hosting_platform', - field=models.ManyToManyField(related_name='projects', through='fossdb.ProjectHostingPlatform', to='fossdb.hostingplatform'), - ), - migrations.AddField( - model_name='project', - name='licenses', - field=models.ManyToManyField(to='fossdb.license'), - ), - migrations.AddField( - model_name='project', - name='programming_languages', - field=models.ManyToManyField(related_name='projects', through='fossdb.ProjectProgrammingLanguage', to='fossdb.programminglanguage'), - ), - ] diff --git a/FOSSDB_web/apps/fossdb/migrations/0002_delete_license_alter_project_licenses.py b/FOSSDB_web/apps/fossdb/migrations/0002_delete_license_alter_project_licenses.py deleted file mode 100644 index 0244548..0000000 --- a/FOSSDB_web/apps/fossdb/migrations/0002_delete_license_alter_project_licenses.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-08 10:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('license', '0001_initial'), - ('fossdb', '0001_initial'), - ] - - operations = [ - migrations.DeleteModel( - name='License', - ), - migrations.AlterField( - model_name='project', - name='licenses', - field=models.ManyToManyField(to='license.license'), - ), - ] diff --git a/FOSSDB_web/apps/programming_language/__init__.py b/FOSSDB_web/apps/fossdb/programming_language/__init__.py similarity index 100% rename from FOSSDB_web/apps/programming_language/__init__.py rename to FOSSDB_web/apps/fossdb/programming_language/__init__.py diff --git a/FOSSDB_web/apps/programming_language/admin.py b/FOSSDB_web/apps/fossdb/programming_language/admin.py similarity index 100% rename from FOSSDB_web/apps/programming_language/admin.py rename to FOSSDB_web/apps/fossdb/programming_language/admin.py diff --git a/FOSSDB_web/apps/fossdb/programming_language/apps.py b/FOSSDB_web/apps/fossdb/programming_language/apps.py new file mode 100644 index 0000000..a460465 --- /dev/null +++ b/FOSSDB_web/apps/fossdb/programming_language/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ProgrammingLanguageConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "fossdb.programming_language" diff --git a/FOSSDB_web/apps/fossdb/programming_language/forms.py b/FOSSDB_web/apps/fossdb/programming_language/forms.py new file mode 100644 index 0000000..4478a51 --- /dev/null +++ b/FOSSDB_web/apps/fossdb/programming_language/forms.py @@ -0,0 +1,11 @@ +from django import forms + +from .models import ProgrammingLanguage + + +class ProgrammingLanguageForm(forms.ModelForm): + percentage = forms.IntegerField(min_value=0, max_value=100) + + class Meta: + model = ProgrammingLanguage + fields = ["language", "percentage"] diff --git a/FOSSDB_web/apps/programming_language/migrations/__init__.py b/FOSSDB_web/apps/fossdb/programming_language/migrations/__init__.py similarity index 100% rename from FOSSDB_web/apps/programming_language/migrations/__init__.py rename to FOSSDB_web/apps/fossdb/programming_language/migrations/__init__.py diff --git a/FOSSDB_web/apps/programming_language/models.py b/FOSSDB_web/apps/fossdb/programming_language/models.py similarity index 100% rename from FOSSDB_web/apps/programming_language/models.py rename to FOSSDB_web/apps/fossdb/programming_language/models.py diff --git a/FOSSDB_web/apps/programming_language/tests.py b/FOSSDB_web/apps/fossdb/programming_language/tests.py similarity index 100% rename from FOSSDB_web/apps/programming_language/tests.py rename to FOSSDB_web/apps/fossdb/programming_language/tests.py diff --git a/FOSSDB_web/apps/programming_language/views.py b/FOSSDB_web/apps/fossdb/programming_language/views.py similarity index 100% rename from FOSSDB_web/apps/programming_language/views.py rename to FOSSDB_web/apps/fossdb/programming_language/views.py diff --git a/FOSSDB_web/apps/tag/__init__.py b/FOSSDB_web/apps/fossdb/project/__init__.py similarity index 100% rename from FOSSDB_web/apps/tag/__init__.py rename to FOSSDB_web/apps/fossdb/project/__init__.py diff --git a/FOSSDB_web/apps/fossdb/project/admin.py b/FOSSDB_web/apps/fossdb/project/admin.py new file mode 100644 index 0000000..936ecd6 --- /dev/null +++ b/FOSSDB_web/apps/fossdb/project/admin.py @@ -0,0 +1,20 @@ +from django.contrib import admin + +from fossdb.hosting_platform.admin import ProjectHostingPlatformInline +from fossdb.programming_language.admin import ProjectProgrammingLanguageInline + +from .models import Project + + +class ProjectAdmin(admin.ModelAdmin): + inlines = [ProjectProgrammingLanguageInline, ProjectHostingPlatformInline] + list_display = ("author", "name", "_languages", "_hosting_platform") + + def _languages(self, object): + return " | ".join([i.language.language for i in object.projectprogramminglanguage_set.all()]) + + def _hosting_platform(self, object): + return " | ".join([i.hosting_platform.hosting_platform for i in object.projecthostingplatform_set.all()]) + + +admin.site.register(Project, ProjectAdmin) diff --git a/FOSSDB_web/apps/fossdb/project/apps.py b/FOSSDB_web/apps/fossdb/project/apps.py new file mode 100644 index 0000000..a8017ec --- /dev/null +++ b/FOSSDB_web/apps/fossdb/project/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ProjectConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "fossdb.project" diff --git a/FOSSDB_web/apps/fossdb/project/forms.py b/FOSSDB_web/apps/fossdb/project/forms.py new file mode 100644 index 0000000..26bd551 --- /dev/null +++ b/FOSSDB_web/apps/fossdb/project/forms.py @@ -0,0 +1,45 @@ +from django import forms + +from fossdb.hosting_platform.forms import HostingPlatformForm +from fossdb.hosting_platform.models import ProjectHostingPlatform +from fossdb.programming_language.forms import ProgrammingLanguageForm +from fossdb.programming_language.models import ProjectProgrammingLanguage + +from .models import Project + + +class ProjectForm(forms.ModelForm): + + class Meta: + model = Project + fields = ["name", "description", "licenses"] + + widgets = { + "name": forms.TextInput(attrs={ + "class": "form-control", + "placeholder": "Project name", + }), + "description": forms.Textarea(attrs={ + "class": "form-control", + "placeholder": "Description", + }), + "licenses": forms.CheckboxSelectMultiple(), + } + + +ProjectHostingPlatformFormSet = forms.inlineformset_factory( + Project, + ProjectHostingPlatform, + form=HostingPlatformForm, + extra=1, + can_delete=False +) + + +ProjectProgrammingLanguageFormSet = forms.inlineformset_factory( + Project, + ProjectProgrammingLanguage, + form=ProgrammingLanguageForm, + extra=1, + can_delete=True, +) diff --git a/FOSSDB_web/apps/tag/migrations/__init__.py b/FOSSDB_web/apps/fossdb/project/migrations/__init__.py similarity index 100% rename from FOSSDB_web/apps/tag/migrations/__init__.py rename to FOSSDB_web/apps/fossdb/project/migrations/__init__.py diff --git a/FOSSDB_web/apps/fossdb/models.py b/FOSSDB_web/apps/fossdb/project/models.py similarity index 67% rename from FOSSDB_web/apps/fossdb/models.py rename to FOSSDB_web/apps/fossdb/project/models.py index 37fddeb..37dd50e 100644 --- a/FOSSDB_web/apps/fossdb/models.py +++ b/FOSSDB_web/apps/fossdb/project/models.py @@ -2,10 +2,13 @@ import uuid from django.conf import settings from django.db import models -from hosting_platform.models import HostingPlatform -from license.models import License -from programming_language.models import ProgrammingLanguage -from tag.models import Tag + +from fossdb.hosting_platform.models import (HostingPlatform, + ProjectHostingPlatform) +from fossdb.license.models import License +from fossdb.programming_language.models import (ProgrammingLanguage, + ProjectProgrammingLanguage) +from fossdb.tag.models import Tag User = settings.AUTH_USER_MODEL @@ -16,8 +19,8 @@ class Project(models.Model): name = models.CharField(max_length=255) description = models.TextField(blank=True, default="") licenses = models.ManyToManyField(License) - programming_languages = models.ManyToManyField(ProgrammingLanguage, through="ProjectProgrammingLanguage", related_name="projects") - hosting_platform = models.ManyToManyField(HostingPlatform, through="ProjectHostingPlatform", related_name="projects") + programming_languages = models.ManyToManyField(ProgrammingLanguage, through=ProjectProgrammingLanguage, related_name="projects") + hosting_platform = models.ManyToManyField(HostingPlatform, through=ProjectHostingPlatform, related_name="projects") project_type = models.ForeignKey(Tag, on_delete=models.CASCADE, blank=True, null=True) date_created = models.DateTimeField(auto_now_add=True) diff --git a/FOSSDB_web/apps/fossdb/project/tests.py b/FOSSDB_web/apps/fossdb/project/tests.py new file mode 100644 index 0000000..e69de29 diff --git a/FOSSDB_web/apps/fossdb/project/views.py b/FOSSDB_web/apps/fossdb/project/views.py new file mode 100644 index 0000000..11b33e6 --- /dev/null +++ b/FOSSDB_web/apps/fossdb/project/views.py @@ -0,0 +1,45 @@ + +from django.contrib.auth.decorators import login_required, permission_required +from django.shortcuts import redirect, render + +from .forms import (ProjectForm, ProjectHostingPlatformFormSet, + ProjectProgrammingLanguageFormSet) +from .models import Project + +# from fossdb.hosting_platform.forms import ProjectHostingPlatformFormSet +# from fossdb.programming_language.forms import ProjectProgrammingLanguageFormSet + + +@login_required(login_url="login/") +@permission_required("fossdb.add_post", login_url="login/", raise_exception=True) +def add_project(request): + if request.method == "POST": + project_form = ProjectForm(request.POST) + language_formset = ProjectProgrammingLanguageFormSet(request.POST, instance=Project()) + host_formset = ProjectHostingPlatformFormSet(request.POST, instance=Project()) + + if project_form.is_valid() and language_formset.is_valid() and host_formset.is_valid(): + project = project_form.save(commit=False) + project.author = request.user + project.save() + + language_formset.instance = project + language_formset.save() + + host_formset.instance = project + host_formset.save() + + project_form.save_m2m() + return redirect("/") + else: + project_form = ProjectForm() + language_formset = ProjectProgrammingLanguageFormSet() + host_formset = ProjectHostingPlatformFormSet() + + context = { + "title": "Add project", + "project_form": project_form, + "language_formset": language_formset, + "host_formset": host_formset, + } + return render(request, "fossdb/add_project.html", context) diff --git a/FOSSDB_web/apps/fossdb/tag/__init__.py b/FOSSDB_web/apps/fossdb/tag/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/FOSSDB_web/apps/tag/admin.py b/FOSSDB_web/apps/fossdb/tag/admin.py similarity index 100% rename from FOSSDB_web/apps/tag/admin.py rename to FOSSDB_web/apps/fossdb/tag/admin.py diff --git a/FOSSDB_web/apps/fossdb/tag/apps.py b/FOSSDB_web/apps/fossdb/tag/apps.py new file mode 100644 index 0000000..5ce961f --- /dev/null +++ b/FOSSDB_web/apps/fossdb/tag/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class TagConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "fossdb.tag" diff --git a/FOSSDB_web/apps/fossdb/tag/migrations/__init__.py b/FOSSDB_web/apps/fossdb/tag/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/FOSSDB_web/apps/tag/models.py b/FOSSDB_web/apps/fossdb/tag/models.py similarity index 100% rename from FOSSDB_web/apps/tag/models.py rename to FOSSDB_web/apps/fossdb/tag/models.py diff --git a/FOSSDB_web/apps/tag/tests.py b/FOSSDB_web/apps/fossdb/tag/tests.py similarity index 100% rename from FOSSDB_web/apps/tag/tests.py rename to FOSSDB_web/apps/fossdb/tag/tests.py diff --git a/FOSSDB_web/apps/tag/views.py b/FOSSDB_web/apps/fossdb/tag/views.py similarity index 100% rename from FOSSDB_web/apps/tag/views.py rename to FOSSDB_web/apps/fossdb/tag/views.py diff --git a/FOSSDB_web/apps/fossdb/views.py b/FOSSDB_web/apps/fossdb/views.py index 34bb139..0759545 100644 --- a/FOSSDB_web/apps/fossdb/views.py +++ b/FOSSDB_web/apps/fossdb/views.py @@ -1,10 +1,6 @@ -from django.contrib.auth.decorators import login_required, permission_required -from django.shortcuts import redirect, render -from hosting_platform.forms import ProjectHostingPlatformFormSet -from programming_language.forms import ProjectProgrammingLanguageFormSet +from django.shortcuts import render -from .forms import ProjectForm -from .models import Project +from fossdb.models import Project def index(request): @@ -13,38 +9,3 @@ def index(request): "projects": Project.objects.all(), } return render(request, "fossdb/index.html", context) - - -@login_required(login_url="login/") -@permission_required("fossdb.add_post", login_url="login/", raise_exception=True) -def add_project(request): - if request.method == "POST": - project_form = ProjectForm(request.POST) - language_formset = ProjectProgrammingLanguageFormSet(request.POST, instance=Project()) - host_formset = ProjectHostingPlatformFormSet(request.POST, instance=Project()) - - if project_form.is_valid() and language_formset.is_valid() and host_formset.is_valid(): - project = project_form.save(commit=False) - project.author = request.user - project.save() - - language_formset.instance = project - language_formset.save() - - host_formset.instance = project - host_formset.save() - - project_form.save_m2m() - return redirect("/") - else: - project_form = ProjectForm() - language_formset = ProjectProgrammingLanguageFormSet() - host_formset = ProjectHostingPlatformFormSet() - - context = { - "title": "Add project", - "project_form": project_form, - "language_formset": language_formset, - "host_formset": host_formset, - } - return render(request, "fossdb/add_project.html", context) diff --git a/FOSSDB_web/apps/hosting_platform/apps.py b/FOSSDB_web/apps/hosting_platform/apps.py deleted file mode 100644 index c11d49f..0000000 --- a/FOSSDB_web/apps/hosting_platform/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class HostingPlatformConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'hosting_platform' diff --git a/FOSSDB_web/apps/hosting_platform/forms.py b/FOSSDB_web/apps/hosting_platform/forms.py deleted file mode 100644 index 7d39747..0000000 --- a/FOSSDB_web/apps/hosting_platform/forms.py +++ /dev/null @@ -1,21 +0,0 @@ -from django import forms -from fossdb.models import Project - -from .models import HostingPlatform, ProjectHostingPlatform - - -class HostingPlatformForm(forms.ModelForm): - url = forms.URLField() - - class Meta: - model = HostingPlatform - fields = ["hosting_platform", "url"] - - -ProjectHostingPlatformFormSet = forms.inlineformset_factory( - Project, - ProjectHostingPlatform, - form=HostingPlatformForm, - extra=1, - can_delete=False -) diff --git a/FOSSDB_web/apps/license/apps.py b/FOSSDB_web/apps/license/apps.py deleted file mode 100644 index af50348..0000000 --- a/FOSSDB_web/apps/license/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class LicenseConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'license' diff --git a/FOSSDB_web/apps/license/migrations/0001_initial.py b/FOSSDB_web/apps/license/migrations/0001_initial.py deleted file mode 100644 index 26024b3..0000000 --- a/FOSSDB_web/apps/license/migrations/0001_initial.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-08 10:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='License', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('short_name', models.CharField(max_length=50)), - ('full_name', models.CharField(blank=True, max_length=100, null=True)), - ('url', models.URLField(blank=True, null=True)), - ('description', models.TextField(blank=True, null=True)), - ], - ), - ] diff --git a/FOSSDB_web/apps/programming_language/apps.py b/FOSSDB_web/apps/programming_language/apps.py deleted file mode 100644 index 4192b11..0000000 --- a/FOSSDB_web/apps/programming_language/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class ProgrammingLanguageConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'programming_language' diff --git a/FOSSDB_web/apps/programming_language/forms.py b/FOSSDB_web/apps/programming_language/forms.py deleted file mode 100644 index 4cc8775..0000000 --- a/FOSSDB_web/apps/programming_language/forms.py +++ /dev/null @@ -1,21 +0,0 @@ -from django import forms -from fossdb.models import Project - -from .models import ProgrammingLanguage, ProjectProgrammingLanguage - - -class ProgrammingLanguageForm(forms.ModelForm): - percentage = forms.IntegerField(min_value=0, max_value=100) - - class Meta: - model = ProgrammingLanguage - fields = ["language", "percentage"] - - -ProjectProgrammingLanguageFormSet = forms.inlineformset_factory( - Project, - ProjectProgrammingLanguage, - form=ProgrammingLanguageForm, - extra=1, - can_delete=True, -) diff --git a/FOSSDB_web/apps/tag/apps.py b/FOSSDB_web/apps/tag/apps.py deleted file mode 100644 index 72862e5..0000000 --- a/FOSSDB_web/apps/tag/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class TagConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'tag' diff --git a/FOSSDB_web/settings.py b/FOSSDB_web/settings.py index f52db99..fa5090e 100644 --- a/FOSSDB_web/settings.py +++ b/FOSSDB_web/settings.py @@ -36,12 +36,13 @@ ALLOWED_HOSTS = config["ALLOWED_HOSTS"] # Application definition INSTALLED_APPS = [ - "fossdb", - "license", "account", - "programming_language", - "hosting_platform", - "tag", + "fossdb", + "fossdb.project", + "fossdb.license", + "fossdb.programming_language", + "fossdb.hosting_platform", + "fossdb.tag", "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes",