Exemple #1
0
def annotate_users(comments):
    user_ids = set(c.user_id for c in comments)

    users_list = list(User.objects.filter(id__in=user_ids))
    users_list = socialize_users(users_list)
    users_dict = {u.id: u for u in users_list}

    for c in comments:
        user = users_dict.get(c.user_id)
        if user is None:
            # have we been hacked?
            comments.remove(c)
        else:
            c.user = user

    return comments
Exemple #2
0
def show_event(request, slug):
    event = get_object_or_404(Event, slug=slug)
    translation.activate(LANG_CODES[event.language])

    user = request.user

    attendances = list(EventAttendance.objects.filter(event=event).select_related("user"))

    goers = [a.user for a in attendances if user.id != a.user.id]
    random.shuffle(goers)
    goers = socialize_users(goers)
    goer_id_set = set(a.user.id for a in attendances)

    return {
        "Content-Language": translation.get_language(),
        "event": event,
        "curr_attendance": user.id in goer_id_set,
        "future_event": event.starts_at > datetime.datetime.now(),
        "goers": goers,
        "goer_id_set": goer_id_set,
    }