Changeset - 73f2cc1d1ce9
[Not reviewed]
Merge
0 1 0
Scott Bragg - 7 years ago 2017-01-12 08:51:58
jsbragg@scriptforge.org
Merge pull request #68 from jamezpolley/lca2017

Handle slots with no Proposal
1 file changed with 5 insertions and 4 deletions:
0 comments (0 inline, 0 general)
symposion/schedule/views.py
Show inline comments
...
 
@@ -255,59 +255,60 @@ def schedule_json(request):
 
            slot_data.update({
 
                "name": slot.content_override if slot.content_override else "Slot",
 
            })
 
        data.append(slot_data)
 

	
 
    return HttpResponse(
 
        json.dumps({"schedule": data}, indent=2),
 
        content_type="application/json"
 
    )
 

	
 
class EventFeed(ICalFeed):
 

	
 
    product_id = '-//linux.conf.au/schedule//EN'
 
    timezone = settings.TIME_ZONE
 
    filename = 'conference.ics'
 

	
 
    def items(self):
 
        return Slot.objects.filter(
 
            day__schedule__published=True,
 
            day__schedule__hidden=False
 
        ).order_by("start")
 

	
 
    def item_title(self, item):
 
        if hasattr(item.content, 'proposal'):
 
            return item.content.title
 
            title =  item.content.title
 
        else:
 
            item.content_override if item.content_override else "Slot"
 
            title = item.kind if item.kind else "Slot"
 
        return title
 

	
 
    def item_description(self, item):
 
        if hasattr(item.content, 'proposal'):
 
            description = "Speaker: %s\n%s" % (
 
                item.content.speaker, item.content.abstract)
 
            return description
 
        else:
 
            return None
 
            description = item.content_override if item.content_override else "No description"
 
        return description
 

	
 
    def item_start_datetime(self, item):
 
        return pytz.timezone(settings.TIME_ZONE).localize(item.start_datetime)
 

	
 
    def item_end_datetime(self, item):
 
        return pytz.timezone(settings.TIME_ZONE).localize(item.end_datetime)
 

	
 
    def item_location(self, item):
 
        return ", ".join(room["name"] for room in item.rooms.values())
 

	
 
    def item_link(self, item):
 
        if hasattr(item.content, 'proposal'):
 
            return 'http://%s%s' % (
 
                                    Site.objects.get_current().domain,
 
                                    reverse('schedule_presentation_detail', args=[item.content.pk])
 
                                    )
 
        else:
 
            return 'http://%s' % Site.objects.get_current().domain
 

	
 
def session_list(request):
 
    sessions = Session.objects.all().order_by('pk')
 

	
 
    return render(request, "symposion/schedule/session_list.html", {
 
        "sessions": sessions,
0 comments (0 inline, 0 general)