예제 #1
0
def post_save(sender, instance, created, **kwargs):
    """
    After save create order instance for sending instance for orderable models.
    """
    # Only create order model instances for
    # those modules specified in settings.
    model_label = '.'.join([sender._meta.app_label, sender._meta.object_name])
    labels = resolve_labels(model_label)

    order_field_names = is_orderable(model_label)
    if order_field_names:
        orderitem_set = getattr(instance,
                                resolve_order_item_related_set_name(labels))
        if not orderitem_set.all():
            fields = {}
            for order_field_name in order_field_names:
                fields[order_field_name] = 1
            orderitem_set.model.objects.create(item=instance, **fields)
            sanitize_order(orderitem_set.model)
예제 #2
0
def post_save(sender, instance, created, **kwargs):
    """
    After save create order instance for sending instance for orderable models.
    """
    # Only create order model instances for
    # those modules specified in settings.
    model_label = '.'.join([sender._meta.app_label, sender._meta.object_name])
    labels = resolve_labels(model_label)

    order_field_names = is_orderable(model_label)
    if order_field_names:
        orderitem_set = getattr(
            instance,
            resolve_order_item_related_set_name(labels)
        )
        if not orderitem_set.all():
            fields = {}
            for order_field_name in order_field_names:
                fields[order_field_name] = 1
            orderitem_set.model.objects.create(item=instance, **fields)
            sanitize_order(orderitem_set.model)
예제 #3
0
 def handle(self, *args, **options):
     label = args[0]
     order_fields = is_orderable(label)
     if order_fields:
         create_order_objects(get_model(*label.split('.')), order_fields)
예제 #4
0
from django.contrib import admin
from django.http import HttpResponseRedirect

import object_tools

from order.utils import is_orderable


class Order(object_tools.ObjectTool):
    name = 'order'
    label = 'Order'

    def view(self, request, extra_context=None):
        return HttpResponseRedirect('/admin/order/%sorderitem/' % \
                extra_context['opts'].object_name.lower())


for model, model_admin in admin.site._registry.items():
    label = '.'.join([model._meta.app_label, model._meta.object_name])
    if is_orderable(label):
        object_tools.tools.register(Order, model)
예제 #5
0
from django.contrib import admin
from django.http import HttpResponseRedirect

import object_tools

from order.utils import is_orderable


class Order(object_tools.ObjectTool):
    name = 'order'
    label = 'Order'

    def view(self, request, extra_context=None):
        return HttpResponseRedirect('/admin/order/%sorderitem/' % \
                extra_context['opts'].object_name.lower())

for model, model_admin in admin.site._registry.items():
    label = '.'.join([model._meta.app_label, model._meta.object_name])
    if is_orderable(label):
        object_tools.tools.register(Order, model)
예제 #6
0
def post_syncdb(sender, created_models, **kwargs):
    for model in created_models:
        label = '.'.join([model._meta.app_label, model._meta.object_name])
        order_fields = is_orderable(label)
        if order_fields:
            create_order_objects(model, order_fields)
예제 #7
0
def post_syncdb(sender, created_models, **kwargs):
    for model in created_models:
        label = '.'.join([model._meta.app_label, model._meta.object_name])
        order_fields = is_orderable(label)
        if order_fields:
            create_order_objects(model, order_fields)