Moved ProgrammingLanguage to separate folder

This commit is contained in:
Kristofers Solo 2023-04-09 13:24:51 +03:00
parent fdf8833523
commit e0f2e615f3
6 changed files with 45 additions and 39 deletions

View File

@ -1,8 +1,8 @@
from django.contrib import admin
from .language.models import ProgrammingLanguage, ProjectProgrammingLanguage
from .license.models import License
from .models import (HostingPlatform, ProgrammingLanguage, Project,
ProjectHostingPlatform, ProjectProgrammingLanguage, Tag)
from .models import HostingPlatform, Project, ProjectHostingPlatform, Tag
class ProjectProgrammingLanguageInline(admin.TabularInline):

View File

@ -1,7 +1,6 @@
from django import forms
from .models import (HostingPlatform, License, ProgrammingLanguage, Project,
ProjectHostingPlatform, ProjectProgrammingLanguage)
from .models import HostingPlatform, Project, ProjectHostingPlatform
class ProjectForm(forms.ModelForm):
@ -23,23 +22,6 @@ class ProjectForm(forms.ModelForm):
}
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,
)
class HostingPlatformForm(forms.ModelForm):
url = forms.URLField()

View File

@ -0,0 +1,22 @@
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,
)

View File

@ -0,0 +1,17 @@
from django.db import models
class ProgrammingLanguage(models.Model):
language = models.CharField(max_length=100)
def __str__(self):
return self.language
class ProjectProgrammingLanguage(models.Model):
project = models.ForeignKey("Project", on_delete=models.CASCADE)
language = models.ForeignKey(ProgrammingLanguage, on_delete=models.CASCADE)
percentage = models.PositiveIntegerField()
def __str__(self):
return f"{self.project} | {self.language} | {self.percentage}%"

View File

@ -3,6 +3,7 @@ import uuid
from django.conf import settings
from django.db import models
from .language.models import ProgrammingLanguage
from .license.models import License
User = settings.AUTH_USER_MODEL
@ -15,13 +16,6 @@ class HostingPlatform(models.Model):
return self.hosting_platform
class ProgrammingLanguage(models.Model):
language = models.CharField(max_length=100)
def __str__(self):
return self.language
class Tag(models.Model):
name = models.CharField(max_length=100)
description = models.TextField(blank=True, default="")
@ -31,15 +25,6 @@ class Tag(models.Model):
return self.name
class ProjectProgrammingLanguage(models.Model):
project = models.ForeignKey("Project", on_delete=models.CASCADE)
language = models.ForeignKey(ProgrammingLanguage, on_delete=models.CASCADE)
percentage = models.PositiveIntegerField()
def __str__(self):
return f"{self.project} | {self.language} | {self.percentage}%"
class ProjectHostingPlatform(models.Model):
project = models.ForeignKey("Project", on_delete=models.CASCADE)
hosting_platform = models.ForeignKey(HostingPlatform, on_delete=models.CASCADE)

View File

@ -1,8 +1,8 @@
from django.contrib.auth.decorators import login_required, permission_required
from django.shortcuts import redirect, render
from .forms import (ProjectForm, ProjectHostingPlatformFormSet,
ProjectProgrammingLanguageFormSet)
from .forms import ProjectForm, ProjectHostingPlatformFormSet
from .language.forms import ProjectProgrammingLanguageFormSet
from .models import Project