Beispiel #1
0
def get_types(request, comu):
	ls = []
	lista = Photo.objects.all().filter(comune=comu).distinct('tipologia')
	for a in lista:
		ls.append({"comune":a.comune, "foto":a.pk, "sesso":a.sesso, "tipo":a.tipologia})

	resp = simplejson(ls)
	return HttpResponse (resp, "application/json")
Beispiel #2
0
def del_following(request):
    '''
        Borra de la lista de de followings de un usuario
        Parametros en POST
            userid : el id del usuario a borrar
            username : el username del usuario a borrar
       
            :returns: boolean
    '''
    userid = request.POST.get('id', None)
    username = request.POST.get('username', None)
    deleted = geouser.del_following(request, userid=userid, username=username)
    return HttpResponse(simplejson(deleted), mimetype="application/json")
Beispiel #3
0
def add_following(request):
    '''
        Añade a la lista de de followings de un usuario
        Parametros en POST
            userid : el id del usuario a seguir
            username : el username del usuario a seguir
       
            :returns: boolean
    ''' 
    userid = request.POST.get('id', None)
    username = request.POST.get('username', None)
    added = geouser.add_following(request, userid=userid, username=username)
    return HttpResponse(simplejson(added), mimetype="application/json")
Beispiel #4
0
def get_followers(request):
    '''
        Devuelve la lista de followers de un usuario
        Parametros en POST
            userid : el id del usuario a buscar (opcional)
            username : el username del usuario a buscar (opcional)
            page : pagina a mostrar
            query_id: id de la consulta de pagina
        
        :returns: lista de la forma (id, username)
    ''' 
    page = request.POST.get('page', 1)
    query_id = request.POST.get('query_id', None)
    userid = request.POST.get('id', None)
    username = request.POST.get('username', None)
    followers = geouser.get_followers(request, userid, username, page, query_id)
    return HttpResponse(simplejson(followers), mimetype="application/json")  # los None se parsean como null
Beispiel #5
0
def viewLesson(request, lesson_id):
    lesson = get_object_or_404(Lesson, key=lesson_id)
    responses = []
    if lesson.recorded_responses.filter(student=User.objects.get(pk=request.user.id)):
        for q in lesson.questions.all().order_by("q_num"):
            try:
                r = Response.objects.get(question=q, student=User.objects.get(pk=request.user.id))
            except ObjectDoesNotExist:
                r = Response(student=User.objects.get(pk=request.user.id), text="", question=q)
                r.save(set_date=True)
            except MultipleObjectsReturned:
                temp = Response.objects.filter(question=q, student=User.objects.get(pk=request.user.id)).order_by(
                    "edit_date"
                )
                for x in temp:
                    if x != temp[temp.count() - 1]:
                        x.delete()
                    else:
                        r = x
            curr = {
                "user_id": r.student.__unicode__(),
                "response": r.text,
                "last_edit": r.edit_date.__str__(),
                "q_num": r.question.q_num.__str__(),
                "comment": r.comment,
            }
            responses.append(curr)
    if request.method == "POST":
        if request.user not in lesson.respondents.all():
            lesson.respondents.add(request.user)
        responses = simplejson.loads(request.POST["responses"])
        for r in responses:
            changed = False

            temp = lesson.questions.filter(pk=r["id"]).count()
            if request.is_ajax() and temp == 0:
                return HttpResponseForbidden(simplejson({"success": False}), mimetype="application/json")
            elif temp == 0:
                return HttpResponseForbidden("Stop screwing with us")

            if (
                Response.objects.filter(
                    student=User.objects.get(pk=request.user.id), question=Question.objects.get(pk=r["id"])
                ).count()
                > 0
            ):
                response = Response.objects.get(
                    student=User.objects.get(pk=request.user.id), question=Question.objects.get(pk=r["id"])
                )
                if response.text != r["response"]:
                    response.viewed = False
                    response.text = r["response"]
                    changed = True
            else:
                response = Response(
                    text=r["response"],
                    student=User.objects.get(pk=request.user.id),
                    question=Question.objects.get(pk=r["id"]),
                )
                changed = True
            if changed:
                response.save(set_date=True)
                lesson.recorded_responses.add(response)
        if request.is_ajax():
            return HttpResponse(simplejson.dumps({"success": True}), mimetype="application/json")
        messages.success(request, "Responses successfully recorded.")
    return render_to_response(
        "stu_response/lesson_view.html",
        {
            "lesson": lesson,
            "questions": lesson.questions.all().order_by("q_num"),
            "responses": simplejson.dumps(responses),
        },
        context_instance=RequestContext(request),
    )