コード例 #1
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def add_feed(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user:
        content_form = AddFeedForm(request.POST)
        if content_form.is_valid():
            poll_choices = request.POST.getlist('poll_choices[]')
            if len(poll_choices) > 0:
                poll_choices = "||".join(poll_choices)
            else:
                poll_choices=""
            content = content_form.save(commit=False)
            content.author_user = user
            content.content_type = 0
            content.poll_choices = poll_choices
            content.save()
            image_form = ImageForm(request.POST, request.FILES)
            if image_form.is_valid():
                image = image_form.save()
                gallery, status = Gallery.objects.get_or_create(content=content)
                gallery.images.add(image)
            else:
                pass
        else:
            errors = [{k: v[0]} for k, v in content_form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
        return JSONResponse({'status':'ok'})
    else:
        return HttpResponse(status=401)
コード例 #2
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def show_children(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if user:
        childrens = user.get_childrens.all()
        serializer = ChildSerializer(childrens)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)
コード例 #3
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def categories(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if user:
        all_categories = Categoria.objects.all()
        serializer = CategoriesSerializer(all_categories)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)
コード例 #4
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def delete_child(request, id):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
        child = Child.objects.get(id=id)
    except Token.DoesNotExist:
        user = None
    except Child.DoesNotExist:
        child = None
    if user and child and request.method=="POST":
        child.delete()
        return JSONResponse({'status':'ok'})
    else:
        return HttpResponse(status=401)
コード例 #5
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def day_poll(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
        day_poll = Content.objects.get(day_poll=1)
    except Token.DoesNotExist:
        user = None
    except Content.DoesNotExist:
        day_poll = None

    if user and day_poll:
        serializer = ContentSerializer(user, day_poll)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)
コード例 #6
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def delete_child_photo(request, id):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
        child = Child.objects.get(id=id)
    except Token.DoesNotExist:
        user = None
    except Child.DoesNotExist:
        child = None

    if user and child and child.mother == user:
        child.photo = None
        child.save()
        return JSONResponse({"status":"ok"})
    else:
        return HttpResponse(status=401)
コード例 #7
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def categories_by_user(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    # Обновить категории для пользователя
    if user and request.method == "GET":
        categories = Categoria.objects.all()
        serializer = UserCategoriesSerializer(user, categories)
        return JSONResponse(serializer.data)
    if user and request.method == "POST":
        subscribe_categories = Categoria.objects.filter(id__in=request.POST.getlist('categories_id[]'))
        user.categories = subscribe_categories
        return JSONResponse(CategoriesSerializer(subscribe_categories).data)
    else:
        return HttpResponse(status=401)
コード例 #8
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def content_advice(request, slug, category_id=None):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
        user_categories = user.categories.all()
        if category_id:
            kwargs = {'category__id':category_id,'content_type':1}
        else:
            kwargs = {'category__in':user_categories, 'content_type':1}
    except Token.DoesNotExist:
        user = None
        user_categories = None
        kwargs = {}
    if slug == "new" and user:
        contents_list = Content.objects.filter(**kwargs).order_by('-creation_date')
        paginator = Paginator(contents_list, 5) #TODO change to variable
        page = request.GET.get('page')
        try:
            content = paginator.page(page)
        except PageNotAnInteger:
            content = paginator.page(1)
        except EmptyPage:
            content = paginator.page(paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedContentSerializer(content, context=serializer_context)
        return JSONResponse(serializer.data)
    elif slug == "popular" and user:
        contents_list = Content.objects.filter(**kwargs).order_by('-update_date')
        paginator = Paginator(contents_list, 5) #TODO change to variable
        page = request.GET.get('page')
        try:
            content = paginator.page(page)
        except PageNotAnInteger:
            content = paginator.page(1)
        except EmptyPage:
            content = paginator.page(paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedContentSerializer(content, context=serializer_context)
        return JSONResponse(serializer.data)
    elif user:
        raise Http404
    else:
        return HttpResponse(status=401)
コード例 #9
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def favorite_rem(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user and request.POST.get('content_id'):
        try:
            content = Content.objects.get(id=request.POST.get('content_id'))
        except Content.DoesNotExist:
            content = None
        favorite, created = Favorite.objects.get_or_create(user=user)
        if content:
            favorite.content.remove(content)
        return HttpResponse({})
    else:
        return HttpResponse(status=401)
コード例 #10
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def add_child(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if request.method == "POST" and user:
        form = ChildAddForm(request.POST, request.FILES)
        if form.is_valid():
            child = form.save(commit=False)
            child.mother = user
            child.save()
            serializer = ChildSerializer(child)
            return JSONResponse(serializer.data)
        else:
            errors = [{k: v[0]} for k, v in form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
コード例 #11
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def vote(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user and request.method == "POST":
        vote_form = VoteForm(request.POST)
        if vote_form.is_valid():
            content = vote_form.save(user)
            # serializer_context = {'request': request}
            serializer = ContentSerializer(user, content)
            return JSONResponse(serializer.data)
        else:
            errors = [{k: v[0]} for k, v in vote_form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        raise Http404
コード例 #12
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def get_comments(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
        if request.GET.get('content'):
            content = Content.objects.get(id=request.GET.get('content'))
        else:
            content = None
    except Token.DoesNotExist:
        user = None
        content = None
    except Content.DoesNotExist:
        user = None
        content = None
    if user and content:
        comments = content.get_comments.all()
        serializer = CommentSerializer(comments)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)
コード例 #13
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def add_comment(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user and request.method == "POST":
        comment_form = CommentForm(request.POST)
        # print request.POST
        if comment_form.is_valid():
            comments = comment_form.save(user)
            serializer = CommentSerializer(comments)
            return JSONResponse(serializer.data)
        else:
            errors = [{k: v[0]} for k, v in comment_form.errors.items()]
            # print errors
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
コード例 #14
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def edit_child(request, id):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
        child = Child.objects.get(id=id)
    except Token.DoesNotExist:
        user = None
    except Child.DoesNotExist:
        child = None
    if user and child and request.method == 'POST':
        form = ChildAddForm(request.POST, request.FILES, instance=child)
        if form.is_valid():
            child = form.save(commit=False)
            if not request.FILES.get('photo'):
                child.photo = None
            child.save()
            serializer = ChildSerializer(child)
            return JSONResponse(serializer.data)
        else:
            errors = [{k: v[0]} for k, v in form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
コード例 #15
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def favorites(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user:
        favorite, created = Favorite.objects.get_or_create(user=user)
        favorite_content = favorite.content.all()
        paginator = Paginator(favorite_content, 5) #TODO change to variable
        page = request.GET.get('page')
        try:
            content = paginator.page(page)
        except PageNotAnInteger:
            content = paginator.page(1)
        except EmptyPage:
            content = paginator.page(paginator.num_pages)
        serializer_context = {'request': request}
        serializer = PaginatedContentSerializer(content, context=serializer_context)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)
コード例 #16
0
ファイル: views.py プロジェクト: klubmmam/kmm_release
def replies(request, id=None):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if user and id:
        try:
            content = Content.objects.get(id=id)
            replays = content.get_replay.filter(user=user).update(is_read=1)
            return JSONResponse({'status': 'ok'})
        except Content.DoesNotExist:
            return JSONResponse({'error':u'content not found'})
    elif user:
        replies = Replay.objects.filter(user=user).order_by('-is_read').values_list('content', flat=True).distinct()
        # print replies
        # content_list = []
        # for replay in replies:
        #     content_list.append(replay.content)
        content_list = Content.objects.filter(id__in=replies)

        paginator = Paginator(content_list, 5) #TODO change to variable
        page = request.GET.get('page')
        try:
            content = paginator.page(page)
        except PageNotAnInteger:
            content = paginator.page(1)
        except EmptyPage:
            content = paginator.page(paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedReplaySerializer(content, context=serializer_context)
        # serializer = ReplaySerializer(user, content)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)