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)