def forms_valid(self, form, inlines): # Default user self.object.user = self.request.user # Save object to recalculate totals out = CreateWithInlinesView.forms_valid(self, form, inlines) self.object.save() messages.success(self.request, "Invoice %s saved." % (self.object.code,)) return out
def construct_inlines(self): # Filter products inlines, by user inlines = CreateWithInlinesView.construct_inlines(self) invoiceItemInline = inlines[0] invoiceItemInline.form.base_fields['product'].queryset = Product.objects.filter(user=self.request.user) return inlines
def get_form(self, form_class): # Filter cilents on main form, by user form = CreateWithInlinesView.get_form(self, form_class) form.fields['client'].queryset = Client.objects.filter(user=self.request.user) return form