add public field to Product
This commit is contained in:
parent
adfca40062
commit
9cce10c281
|
@ -98,6 +98,7 @@ class Order(CreatedUpdatedModel):
|
|||
def get_absolute_url(self):
|
||||
return str(reverse_lazy('shop:order_detail', kwargs={'pk': self.pk}))
|
||||
|
||||
|
||||
class ProductCategory(CreatedUpdatedModel, UUIDModel):
|
||||
class Meta:
|
||||
verbose_name = 'Product category'
|
||||
|
@ -141,6 +142,11 @@ class Product(CreatedUpdatedModel, UUIDModel):
|
|||
)
|
||||
)
|
||||
|
||||
public = models.BooleanField(
|
||||
default=True,
|
||||
help_text='Is this product publicly available in the webshop?'
|
||||
)
|
||||
|
||||
objects = ProductQuerySet.as_manager()
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
@ -168,6 +168,11 @@ class ProductDetailView(LoginRequiredMixin, FormView, DetailView):
|
|||
form_class = AddToOrderForm
|
||||
context_object_name = 'product'
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
if not self.get_object().public:
|
||||
### this product is not publicly available
|
||||
raise Http404("Product not found")
|
||||
|
||||
def form_valid(self, form):
|
||||
product = self.get_object()
|
||||
quantity = form.cleaned_data.get('quantity')
|
||||
|
|
Loading…
Reference in a new issue