예제 #1
0
def index(request):
    add_product_form = AddProductForm()
    context = {
        'products': Product.objects.filter(on_the_main=True),
        'categories': Category.objects.all(),
        'form': add_product_form,
        'uah': ExchangeRate.objects.get(currency_name='UAH').currency
    }
    return render(request, 'product/index.html', context)


def multiply(value, arg):
    return round(value * arg, 2)


register.filter('multiply', multiply)


def subcategory_product(request, id):
    context = {
        'subcategory': get_object_or_404(Subcategory, id=id),
        'next': '/{}'.format(id),
        'uah': ExchangeRate.objects.get(currency_name='UAH').currency
    }
    return render(request, 'product/subcategory-product.html', context)


def increase_product_rating(id):
    product = get_object_or_404(Product, id=id)
    product.rating += 1
    product.save()
예제 #2
0
파일: dayshifts.py 프로젝트: mverleg/aqua
from timeslot.models import DATEFORMAT, TimeSlot, Roster
from django.template.loader import render_to_string
from django.template.defaultfilters import register


def dayshifts(day, roster):
    date = datetime.datetime.strptime(day, DATEFORMAT)
    roster = Roster.objects.get(pk=int(roster))
    slots = TimeSlot.objects.filter(roster=roster).filter(
        start__gt=date,
        start__lt=date + datetime.timedelta(days=1)).order_by('start')
    return render_to_string('dayshifts.html', {
        'slots': slots,
    })


def dayshiftcount(day, roster):
    date = datetime.datetime.strptime(day, DATEFORMAT)
    return TimeSlot.objects.filter(roster=roster).filter(
        start__gt=date, start__lt=date + datetime.timedelta(days=1)).count()


def daylong(day):
    date = datetime.datetime.strptime(day, DATEFORMAT)
    return date.strftime('%A %d-%m-%Y')


register.filter('dayshifts', dayshifts)
register.filter('dayshiftcount', dayshiftcount)
register.filter('daylong', daylong)
예제 #3
0
파일: wbr.py 프로젝트: zonywhoop/openduty
import string
from django.template.defaultfilters import stringfilter, register
from django.utils.html import conditional_escape
from django.utils.safestring import mark_safe


@register.filter(needs_autoescape=True)
@stringfilter
def wbr(value, what, autoescape=None):
    if autoescape:
        esc = conditional_escape
    else:
        esc = lambda x: x

    parts = string.split(value, what)

    safe_parts = map(esc, parts)

    result = string.join(safe_parts, what + '<wbr/>')

    return mark_safe(result)


register.filter('wbr', wbr)
예제 #4
0
from django.conf import settings
from decimal import Decimal
from django.utils.encoding import force_text
from django.utils.formats import number_format
from django.template.defaultfilters import register


def money(value, use_l10n=True):
    """
    Separator '.'
    Converts an integer to a string containing commas every three digits.
    For example, 3000 becomes '3.000' and 45000 becomes '45.000'.
    """
    if settings.USE_L10N and use_l10n:
        try:
            if not isinstance(value, (float, Decimal)):
                value = int(value)
        except (TypeError, ValueError):
            return money(value, False)
        else:
            return number_format(value, force_grouping=True)
    orig = force_text(value)
    new = re.sub("^(-?\d+)(\d{3})", '\g<1>.\g<2>', orig)
    if orig == new:
        return new
    else:
        return money(new, use_l10n)


register.filter('money', money)
예제 #5
0
파일: appeng.py 프로젝트: flier/doubanned
def setup_hotfix():
    logging.info("patching django debug toolbar for appengine ...")

    sys.modules['django.db.backends.appengine'] = new.module('django.db.backends.appengine')
    sys.modules['django.db.backends'] = new.module('django.db.backends')

    backend = new.module('django.db.backends.appengine.base')
    backend.DatabaseWrapper = DatabaseWrapper
    backend.DatabaseError = DatabaseError

    backend.supports_constraints = False
    backend.quote_name = complain
    backend.dictfetchone = complain
    backend.dictfetchmany = complain
    backend.dictfetchall = complain
    backend.get_last_insert_id = complain
    backend.get_date_extract_sql = complain
    backend.get_date_trunc_sql = complain
    backend.get_limit_offset_sql = complain
    backend.get_random_function_sql = complain
    backend.get_deferrable_sql = complain
    backend.get_fulltext_search_sql = complain
    backend.get_drop_foreignkey_sql = complain
    backend.get_sql_flush = complain
    backend.OPERATOR_MAPPING = {}
    sys.modules['django.db.backends.appengine.base'] = backend

    import django.http
    django.http.HttpRequest.is_ajax = is_ajax
    django.http.HttpResponse.get = get_header
    django.http.HttpResponseBadRequest = HttpResponseBadRequest

    import django.conf.urls.defaults
    django.conf.urls.defaults.url = url
    django.conf.urls.defaults.__all__.append('url')

    import django.utils
    import hashlib
    hashcompat = new.module('django.utils.hashcompat')
    hashcompat.md5_hmac = hashcompat.md5_constructor = hashlib.md5
    hashcompat.sha_hmac = hashcompat.sha_constructor = hashlib.sha1
    sys.modules['django.utils.hashcompat'] = hashcompat

    from django.newforms.util import smart_unicode

    encoding = new.module('django.utils.encoding')
    encoding.__all__ = ['smart_unicode', 'force_unicode']
    encoding.smart_unicode = smart_unicode
    encoding.force_unicode = force_unicode
    sys.modules['django.utils.encoding'] = django.utils.encoding = encoding

    from django.utils.functional import lazy
    import django.utils.translation
    django.utils.translation.ugettext_lazy = lazy(ugettext, unicode)
    django.utils.translation.ungettext_lazy = lazy(ungettext, unicode)

    import django.dispatch
    django.dispatch.Signal = Signal

    import django.test.signals
    django.test.signals.template_rendered = Signal(providing_args=["template", "context"])

    from django.template.defaultfilters import register

    register.filter(safe)
예제 #6
0
파일: wbr.py 프로젝트: 40a/openduty
import string
from django.template.defaultfilters import stringfilter, register
from django.utils.html import conditional_escape
from django.utils.safestring import mark_safe


@register.filter(needs_autoescape=True)
@stringfilter
def wbr(value, what, autoescape=None):
    if autoescape:
        esc = conditional_escape
    else:
        esc = lambda x: x

    parts = string.split(value, what)

    safe_parts = map(esc, parts)

    result = string.join(safe_parts, what + '<wbr/>')

    return mark_safe(result)

register.filter('wbr', wbr)
예제 #7
0
파일: dayshifts.py 프로젝트: mverleg/aqua
import datetime
from timeslot.models import DATEFORMAT, TimeSlot, Roster
from django.template.loader import render_to_string
from django.template.defaultfilters import register


def dayshifts(day, roster):
    date = datetime.datetime.strptime(day, DATEFORMAT)
    roster = Roster.objects.get(pk = int(roster))
    slots = TimeSlot.objects.filter(roster = roster).filter(start__gt = date, start__lt = date + datetime.timedelta(days = 1)).order_by('start')
    return render_to_string('dayshifts.html', {
        'slots': slots,
    })
    

def dayshiftcount(day, roster):
    date = datetime.datetime.strptime(day, DATEFORMAT)
    return TimeSlot.objects.filter(roster = roster).filter(start__gt = date, start__lt = date + datetime.timedelta(days = 1)).count()
    

def daylong(day):
    date = datetime.datetime.strptime(day, DATEFORMAT)
    return date.strftime('%A %d-%m-%Y')
    

register.filter('dayshifts', dayshifts)
register.filter('dayshiftcount', dayshiftcount)
register.filter('daylong', daylong)