diff --git a/archilance/mixins.py b/archilance/mixins.py index 78f1930..35eef9a 100644 --- a/archilance/mixins.py +++ b/archilance/mixins.py @@ -8,9 +8,11 @@ class BaseMixin(ContextMixin): pk = self.kwargs.get('pk') # Current object's ID next = self.kwargs.get('next') # Redirect back path + back = self.kwargs.get('back') # Redirect back path if pk: c['pk'] = pk if next: c['next'] = next + if back: c['back'] = back c['domain'] = Site.objects.get_current().domain diff --git a/projects/admin.py b/projects/admin.py index 8a7ab29..c924c0b 100644 --- a/projects/admin.py +++ b/projects/admin.py @@ -17,8 +17,7 @@ from .models import ( class ProjectAdminForm(forms.ModelForm): - files = forms.ModelMultipleChoiceField(queryset=Project.objects.none(), required=False) - + files = forms.ModelMultipleChoiceField(queryset=ProjectFile.objects.none(), required=False) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/projects/forms.py b/projects/forms.py index a750a35..50032e7 100644 --- a/projects/forms.py +++ b/projects/forms.py @@ -3,7 +3,7 @@ from django.db.models import Q from django.forms.models import inlineformset_factory from mptt.forms import TreeNodeChoiceField -from .models import Project, Portfolio, Answer, Realty, PortfolioPhoto, Stage, Specialization +from .models import Project, ProjectFile, Portfolio, Answer, Realty, PortfolioPhoto, Stage, Specialization from users.models import User @@ -14,7 +14,8 @@ class ProjectsForm(forms.Form): name = forms.CharField(max_length=255) -class CustomerProjectCreateForm(forms.ModelForm): +class CustomerProjectEditForm(forms.ModelForm): + files = forms.ModelMultipleChoiceField(queryset=ProjectFile.objects.none(), required=False) specialization = TreeNodeChoiceField(queryset=Specialization.objects.exclude(id=1)) class Meta: @@ -26,6 +27,7 @@ class CustomerProjectCreateForm(forms.ModelForm): 'cro', 'currency', 'deal_type', + 'files', 'name', 'price_and_term_required', 'realty', @@ -47,6 +49,9 @@ class CustomerProjectCreateForm(forms.ModelForm): super().__init__(*args, **kwargs) self.fields['realty'].empty_label = 'Создать новый' + + if self.instance.pk: + self.fields['files'].queryset = self.instance.files class RealtyForm(forms.ModelForm): @@ -121,18 +126,18 @@ class StageForm(forms.ModelForm): PortfolioPhotoFormSet = inlineformset_factory(Portfolio, PortfolioPhoto, fields=('img',)) -class CustomerProjectEditForm(forms.ModelForm): - pk = forms.ModelChoiceField(queryset=Project.objects.none()) - - class Meta: - model = Project - fields = '__all__' - - def __init__(self, *args, **kwargs): - self.req = kwargs.pop('req') - super().__init__(*args, **kwargs) - - self.fields['pk'].queryset = self.req.user.projects.filter(state='active') +# class CustomerProjectEditForm(forms.ModelForm): +# pk = forms.ModelChoiceField(queryset=Project.objects.none()) +# +# class Meta: +# model = Project +# fields = '__all__' +# +# def __init__(self, *args, **kwargs): +# self.req = kwargs.pop('req') +# super().__init__(*args, **kwargs) +# +# self.fields['pk'].queryset = self.req.user.projects.filter(state='active') class CustomerProjectTrashForm(forms.Form): diff --git a/projects/templates/customer_project_create.html b/projects/templates/customer_project_create.html index 25d88d7..2765a5f 100644 --- a/projects/templates/customer_project_create.html +++ b/projects/templates/customer_project_create.html @@ -43,7 +43,7 @@