def get_item(self): """ Returns the current Item, or None, if the current Slide is not an Agenda Item. """ slide = get_slide_from_sid(get_active_slide(only_sid=True), element=True) if not isinstance(slide, Item): return None else: return slide
def get_related_slide(self): """ return the object, of which the item points. """ object = get_slide_from_sid(self.related_sid, element=True) if object is None: self.title = 'Item for deleted slide: %s' % self.related_sid self.related_sid = None self.save() return self else: return object
def get_related_slide(self): """ Return the object at which the item points. """ # TODO: Rename it to 'get_related_object' object = get_slide_from_sid(self.related_sid, element=True) if object is None: self.title = _('< Item for deleted slide (%s) >') % self.related_sid self.related_sid = None self.save() return self else: return object
def get_projector_html(): """ Returns an html-code to show on the projector. """ slide = get_slide_from_sid(get_active_slide(only_sid=True), element=True) if not isinstance(slide, Item): # Only show list of speakers overlay on agenda items return None if config['presentation_argument'] == 'show_list_of_speakers': # Do not show list of speakers overlay on the list of speakers slide return None clear_projector_cache() list_of_speakers = slide.get_list_of_speakers( old_speakers_count=config['agenda_show_last_speakers'], coming_speakers_count=5) context = { 'list_of_speakers': list_of_speakers, 'closed': slide.speaker_list_closed, } return render_to_string('agenda/overlay_speaker_projector.html', context)
def data(self): try: return self._data except AttributeError: pass sid = self.kwargs['sid'] if sid is None: try: data = get_active_slide() except AttributeError: #TODO: It has to be an Slide.DoesNotExist data = None ajax = 'on' active_sid = get_active_slide(True) else: data = get_slide_from_sid(sid) ajax = 'off' if data is None: data = { 'title': config['event_name'], 'template': 'projector/default.html', } data['overlays'] = [] data['ajax'] = ajax # Projector Overlays if self.kwargs['sid'] is None: active_defs = ProjectorOverlay.objects.filter(active=True) \ .filter(Q(sid=active_sid) | Q(sid=None)).values_list('def_name', flat=True) for receiver, response in projector_overlays.send(sender=sid, register=False, call=active_defs): if response is not None: data['overlays'].append(response) self._data = data return data