From my point of view it is a basic requirement for e-commerce software to inform the customer on the status of his order, ie. "order confirmed", "payment received", "article(s) shipped". Therefore the shop software shall send the corresponding signals upon order status changes. Sure, it it easy to override model Order and implement this yourself, but as a developer I expect such a functionality from the software I "buy", rather then having to implement it myself.
An other point to consider is, that Order.status shall behave like a finite state machine. That means that a transition of the status shall only occur on predefined graphs. For instance, it does not make any sense to change Order.status from Canceled to Shipped.
Additionally I see it as security feature to disallow the transition of Order.status from Confirmed to Completed, if the payment was not fully received. Its far too easy for an administrator to forget to check account statements and erroneously change that status without having fully received the payment. As a developer, I therefore expect that the software I deploy out of the box, prevents the user from such basic mistakes.
and Aleš Kocjančič's reply:
I agree with your point about having a solid and secure shop out of the box, but that is not what django-shop is. Django-shop is a framework made for developers to build upon, and it should not get in the developers way by implementing too specific features.
Similarly, django-admin was not meant to be used by end users. Ideally, shop maintainers should have a custom made interface, that limits what they can do. The admin should be just a tool for me as a developer, to browse the data and fix any problems in it. So when I change some field, I mean it ;)
What do you think?
--
You received this message because you are subscribed to the Google Groups "django-shop" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-shop...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Just to be clear, I'm no against signals, I'm agains changing the order status unexpectedly in the admin.