from mezzanine.blog.models import BlogPost
from mezzanine.utils.models import upload_to
-from cartridge.shop.models import Product, Category, Cart, Order, ProductVariation, DiscountCode
-from paypal.standard.ipn.signals import payment_was_successful
-from paypal.standard.ipn.signals import valid_ipn_received
-
+from .utils import *
# Auto-generated Django models with manage.py inspectdb on the old database
# You'll have to do the following manually to clean this up:
#visu1 = models.IntegerField()
# ordre : on laisse tombé ?
# published --> status / 0 --> CONTENT_STATUS_DRAFT = 1 / 1 CONTENT_STATUS_PUBLISHED = 2
-
-
-def payment_complete(sender, **kwargs):
- """Performs the same logic as the code in
- cartridge.shop.models.Order.complete(), but fetches the session,
- order, and cart objects from storage, rather than relying on the
- request object being passed in (which it isn't, since this is
- triggered on PayPal IPN callback)."""
-
- ipn_obj = sender
- print sender
- if ipn_obj.custom and ipn_obj.invoice:
- s_key, cart_pk = ipn_obj.custom.split(',')
- SessionStore = import_module(settings.SESSION_ENGINE) \
- .SessionStore
- session = SessionStore(s_key)
-
- try:
- cart = Cart.objects.get(id=cart_pk)
- try:
- order = Order.objects.get(
- transaction_id=ipn_obj.invoice)
- print order
- # order = Order.objects.get(key=s_key)
- for field in order.session_fields:
- if field in session:
- del session[field]
- try:
- del session["order"]
- except KeyError:
- pass
-
- # Since we're manually changing session data outside of
- # a normal request, need to force the session object to
- # save after modifying its data.
- session.save()
-
- for item in cart:
- try:
- variation = ProductVariation.objects.get(
- sku=item.sku)
- except ProductVariation.DoesNotExist:
- pass
- else:
- variation.update_stock(item.quantity * -1)
- variation.product.actions.purchased()
-
- code = session.get('discount_code')
- if code:
- DiscountCode.objects.active().filter(code=code) \
- .update(uses_remaining=F('uses_remaining') - 1)
- cart.delete()
- except Order.DoesNotExist:
- pass
- except Cart.DoesNotExist:
- pass
-
-#payment_was_isuccessful.connect(payment_complete)
-valid_ipn_received.connect(payment_complete)
<div class="col-md-6">
<ul class="description">
- <li><strong>{{ product.record.artist }}</strong></li>
- <li><em>{{ product.record.title }}</em></li>
+ {% editable product.content %}
+ {{ product.content|richtext_filters|safe }}
+ {% endeditable %}
+
+ <li>{% trans "Artist" %}: <strong>{{ product.record.artist }}</strong></li>
+ <li>{% trans "Title" %}: <em>{{ product.record.title }}</em></li>
<li>
{% trans "Label:" %}
{{ product.record.label }}
</li>
+ {% if product.record.reference_label %}
+ <li>
+ {% trans "Reference" %}:
+ {{ product.record.reference_label }}
+ </li>
+ {% endif %}
<li>
{% trans "Country" %}:
{{ product.record.country }}
</li>
{% else %}
<li>
- {% trans "Release decade:" %}
+ {% trans "Release decade" %}:
{{ product.record.release_decade }}</li>
{% endif %}
<li>
</div>
</div>
-<div class="description">
-{% editable product.content %}
-{{ product.content|richtext_filters|safe }}
-{% endeditable %}
-</div>
-
{% if product.available and has_available_variations and product.price %}
-<br/>
{% errors_for add_product_form %}
<form method="post" id="add-cart" class="shop-form">{% csrf_token %}
<div style="display: none;">