コード例 #1
0
ファイル: admin.py プロジェクト: ChillyBwoy/django-plugshop
        'name',
        'slug',
        'price',
        #'category',
    )
    list_filter = (
        'category',
    )

    def changelist_view(self, request, extra_context=None):
        ctx = {}
        return super(BaseProductAdmin, self).changelist_view(request,
                                                             extra_context=ctx)

if is_default_model('PRODUCT'):
    admin.site.register(get_model(settings.PRODUCT_MODEL), BaseProductAdmin)


class BaseCategoryAdmin(MPTTModelAdmin):
    change_list_template = 'admin/category/change_list.html'
    mptt_level_indent = 20
    prepopulated_fields = {
        'slug': ('name', )
    }
    list_display = (
        'name',
        'get_products',
        'slug',
    )

    def get_products(self, instance):
コード例 #2
0
# -*- coding: utf-8 -*-

import datetime

from django.db.models import Q

from plugshop import settings
from plugshop.utils import get_categories, get_model

from django.db.models.signals import post_save, pre_save
from django.dispatch import receiver

PRODUCT_CLASS = get_model(settings.PRODUCT_MODEL)
CATEGORY_CLASS = get_model(settings.CATEGORY_MODEL)
ORDER_CLASS = get_model(settings.ORDER_MODEL)
ORDER_PRODUCTS_CLASS = get_model(settings.ORDER_PRODUCTS_MODEL)


@receiver(pre_save, sender=ORDER_CLASS)
def set_delivered(sender, instance, **kwargs):
    if instance.status == settings.STATUS_CHOICES_FINISH:
        instance.delivered_at = datetime.datetime.now()
    else:
        instance.delivered_at = None


@receiver(pre_save, sender=ORDER_CLASS)
def generate_number(sender, instance, **kwargs):
    if instance.id is None:
        now = datetime.datetime.now()
        hour_from = datetime.datetime(now.year, now.month, now.day, now.hour)
コード例 #3
0
ファイル: order.py プロジェクト: ChillyBwoy/django-plugshop
 def price_total(self):
     model = get_model(settings.ORDER_PRODUCTS_MODEL)
     items = model.objects.filter(order=self)
     return sum(item.quantity * item.product.price for item in items)