Initial commit from ZIP

This commit is contained in:
kusz committed 2024-11-27 13:18:16 +01:00
commit 378d4692a9
454 files changed
+40367

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
from django import forms
from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from outbo.apps.projects.models import Project, Member
class ProjectCreationForm(forms.ModelForm):
products_amount = forms.IntegerField(
label=_("Products amount"), widget=forms.NumberInput, min_value=1, max_value=20
)
class Meta:
model = Project
fields = [
"name",
"description",
"products_amount",
"category",
"brand",
"printing_files_date",
"promo_date",
]
class MemberInline(admin.TabularInline):
model = Member
readonly_fields = ["project"]
extra = 1
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
add_form = ProjectCreationForm
inlines = [MemberInline]
list_display = ('__str__', 'created_at', 'max_product_stage_description')
def get_form(self, request, obj=None, **kwargs):
defaults = {}
if obj is None:
defaults["form"] = self.add_form
defaults.update(kwargs)
return super().get_form(request, obj, **defaults)
def save_model(self, request, obj, form, change):
if not change:
obj.save(products_amount=form.cleaned_data["products_amount"])
obj.save()
def get_readonly_fields(self, request, obj=None):
if obj:
return super().get_readonly_fields(request, obj=obj) + ("slug",)
return super().get_readonly_fields(request, obj=obj)