FOSSDB/FOSSDB_web/apps/fossdb/project/forms.py
2023-04-08 15:16:34 +03:00

46 lines
1.2 KiB
Python

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,
)