@register.inclusion_tag('agendas/agendasfor.html')
def agendas_for(user, obj, object_type):
    editable = []
    if user.is_authenticated():
        for a in user.agendas.all():
            r = {'agenda_name': a.name, 'agenda_id': a.id, 'obj_id': obj.id}
            try:
                av = None
                if object_type=='vote':
                    av = a.agendavotes.get(vote=obj)
                if object_type=='committeemeeting':
                    av = a.agendameetings.get(meeting=obj)
                if object_type=='bill':
                    av = a.agendabills.get(bill=obj)
                if not av:
                    raise AgendaVote.DoesNotExist
                r['weight'] = av.score
                r['reasoning'] = av.reasoning
                r['object_type'] = object_type
                try:
                    r['importance'] = av.importance
                except AttributeError:
                    pass
            except (AgendaVote.DoesNotExist,
                    AgendaMeeting.DoesNotExist,
                    AgendaBill.DoesNotExist):
                r['weight'] = None
                r['reasoning'] = u''
                r['object_type'] = object_type
            editable.append(r)

    av = None
    suggest_agendas = None
    suggested_agendas = None
    if object_type=='vote':
        av = AgendaVote.objects.filter(
                agenda__in=Agenda.objects.get_relevant_for_user(user),
                vote=obj).distinct()
        suggest_agendas = Agenda.objects.get_possible_to_suggest(
                user=user,
                vote=obj)
        if user.is_authenticated():
            suggested_agendas = UserSuggestedVote.objects.filter(user=user,
                                                                 vote=obj)
    if object_type=='committeemeeting':
        suggest_agendas = None
        av = AgendaMeeting.objects.filter(
                agenda__in=Agenda.objects.get_relevant_for_user(user),
                meeting=obj).distinct()
    if object_type=='bill':
        suggest_agendas = None
        av = AgendaBill.objects.filter(
                agenda__in=Agenda.objects.get_relevant_for_user(user),
                bill=obj).distinct()
    suggest_agendas_login = suggest_agendas is False
    formset = None
    if editable:
        if object_type=='vote' or object_type=='bill':
            formset = VoteLinkingFormSet(initial = editable)
        if object_type=='committeemeeting':
            formset = MeetingLinkingFormSet(initial = editable)
    return {'formset': formset,
            'agendas': av,
            'object_type': object_type,
            'suggest_agendas': suggest_agendas,
            'suggested_agendas': suggested_agendas,
            'suggest_agendas_login':suggest_agendas_login,
            'url': obj.get_absolute_url(),
           }
renders the relevent agenda for the object obj and a form for the
dataset/ETHPy150Open ofri/Open-Knesset/agendas/templatetags/agendas_tags.py/agendas_for