Exemplo n.º 1
0
def join_comptoir(request, cid):

    context = RequestContext(request)
    context['registerForm'] = RegisterForm()
    context['version'] = VERSION
    context['now'] = datetime.datetime.now()
    template_name = "chat/see_comptoir.html"

    comptoir = get_object_or_404(Comptoir, id=cid)
        
    if comptoir is None:
        return redirect("home")

    if cid not in request.session.keys():
        request.session[cid] = False
    
    if comptoir.public:
        request.session[cid] = True
    
    context["title"] = comptoir.title
    context["description"] = comptoir.description
    context["id"] = comptoir.id
    context['public'] = comptoir.public
    context["request"] = request
    context["title_is_ciphered"] = comptoir.title_is_ciphered

    count = Message.objects.filter(comptoir=comptoir).count()
    msgs = Message.objects.filter(comptoir=comptoir).order_by('date')[max(0, count - 150):]
    context["msgs"] = msgs 
    context["nb_msg"] = count
    context["nb_auth"] = len(list(set([msg.owner.username for msg in msgs])))

    if len(context["msgs"]) > 0:
        context["senti"] = context["msgs"][len(context["msgs"])-1].id
    else:
        context["senti"] = 0
    
    user = request.user
    if not user.is_anonymous() and user.is_authenticated():
        try:
            lv = user.chatuser.last_visits.get(comptoir=comptoir)
            lv.date = datetime.datetime.utcnow().replace(tzinfo=utc)
            lv.save()
        except ObjectDoesNotExist:
            lv = LastVisit()
            lv.comptoir = comptoir
            lv.save()
            user.chatuser.last_visits.add(lv)
            messages.info(request, "Hello, stranger.")
            
    for c in request.user.comptoirs:
        if c[0] == comptoir:
            new_c = (c[0], 0)
            request.user.comptoirs.remove(c)
            request.user.comptoirs.append(new_c)
            break

    return render(request, template_name, context)