File diff b35d9c8bc6ab → 5380a510d53c
pinaxcon/templatetags/lca2018_tags.py
Show inline comments
 
import hashlib
 

	
 
from decimal import Decimal
 
from django import template
 
from django.conf import settings
 
from django.contrib.staticfiles.templatetags import staticfiles
 
from easy_thumbnails.files import get_thumbnailer
 
from registrasion.templatetags import registrasion_tags
 
from symposion.conference import models as conference_models
 
from symposion.schedule.models import Track
 

	
 
CONFERENCE_ID = settings.CONFERENCE_ID
 
GST_RATE = settings.GST_RATE
 

	
 
register = template.Library()
 

	
 

	
 
@register.assignment_tag()
 
def classname(ob):
 
    return ob.__class__.__name__
 

	
 

	
 
@register.simple_tag(takes_context=True)
 
def can_manage(context, proposal):
 
    return proposal_permission(context, "manage", proposal)
...
 
@@ -62,50 +63,52 @@ def speaker_photo(context, speaker, size):
 
@register.simple_tag()
 
def define(value):
 
    return value
 

	
 

	
 
@register.simple_tag()
 
def presentation_bg_number(presentation, count):
 
    return sum(ord(i) for i in presentation.title) % count
 

	
 

	
 
@register.filter()
 
def gst(amount):
 
    GST_RATE = Decimal('0.15')
 
    value_no_gst = Decimal(amount / (1 + GST_RATE))
 
    return Decimal(amount - value_no_gst).quantize(Decimal('0.01'))
 

	
 

	
 
@register.simple_tag()
 
def conference_name():
 
    return conference_models.Conference.objects.get(id=CONFERENCE_ID).title
 

	
 

	
 
@register.filter()
 
def day_has_tracks(timetable, day):
 
    try:
 
        track_names = day.track_set.all()
 
        has_tracks = True
 
    except Track.DoesNotExist:
 
        has_tracks = False
 
    return len(track_names)
 

	
 

	
 
@register.filter()
 
def trackname(room, day):
 
    try:
 
        track_name = room.track_set.get(day=day).name
 
    except Track.DoesNotExist:
 
        track_name = None
 
    return track_name
 

	
 

	
 
@register.simple_tag(takes_context=True)
 
def ticket_type(context):
 

	
 
    # Default to purchased ticket type (only item from category 1)
 
    items = registrasion_tags.items_purchased(context, 1)
 

	
 
    if not items:
 
        return "NO TICKET"
 

	
 
    item = next(iter(items))
 
    name = item.product.name
 
    if name == "Conference Volunteer":