Example #1
0
def schedule_user_slot_manage(request, presentation_id):
    if request.method == "POST":
        if request.POST["action"] == "add":
            try:
                UserBookmark.objects.create(user=request.user, presentation_id=presentation_id)
            except IntegrityError:
                pass
        elif request.POST["action"] == "delete":
            UserBookmark.objects.filter(user=request.user, presentation=presentation_id).delete()
        else:
            return HttpResponse(status=400)
        db.delete(cache_key_user(request.user))
        return HttpResponse(status=202)
    else:
        return HttpResponseNotAllowed(["POST"])
Example #2
0
 def render(self, context):
     if db:
         user = context["user"]
         key = cache_key_user(user) if user.is_authenticated() else cache_key()
         output = db.get(key)
         if output is None:
             with db.lock("%s-lock" % key):
                 # check for cached data if we lost lock acquisition and
                 # if nothing was returned we can be sure we own the lock
                 output = db.get(key)
                 if output is None:
                     output = self.nodelist.render(context)
                     db.set(key, output)
     else:
         output = self.nodelist.render(context)
     return output