コード例 #1
0
ファイル: references.py プロジェクト: relekang/fs-reference
def filter_values(request, id):
    values = []
    if request.method == 'POST':
        market = request.POST['market']
        if market == '':
            return render_json({'values': [v.to_dict() for v in values]})
        if id == "id_type":
            values = Type.objects.filter(pk__in=Type.objects.filter(references__market=market).order_by(get_language()))
        elif id == "id_filter_solution":
            if 'type' in request.POST:
                type = request.POST['type']
                filter = Q(references__market=market, references__type=type, references__is_approved=True)
            else:
                filter = Q(references__market=market, references__is_approved=True)

            if request.user.is_authenticated():
                values = FilterSolution.objects.filter(
                    pk__in=FilterSolution.objects.filter(filter).order_by(get_language()))
            else:
                values = FilterSolution.objects.filter(
                    pk__in=FilterSolution.objects.filter(filter, references__is_published=True).order_by(
                        get_language()))

        output = render_json({'values': [v.to_dict() for v in values]})
        return output

    else:
        raise Http404
コード例 #2
0
ファイル: comments.py プロジェクト: relekang/fs-reference
def add_comment(request):
    if request.method == "POST":
        form = CommentForm(request.POST)
        if form.is_valid():
            comment = form.save()
            return render_json({"comment": comment.to_dict()})
        else:
            return render_json(error=[{"field": k, "error": unicode(v[0])} for k, v in form.errors.items()])
コード例 #3
0
ファイル: customers.py プロジェクト: relekang/fs-reference
def add_customer(request):
    if request.method == 'POST':
        form = CustomerForm(request.POST)
        if form.is_valid():
            customer = form.save()
            return render_json({'customer': customer.to_dict()})
        else:
            return render_json(error=[{'field': k, 'error': unicode(v[0])} for k, v in form.errors.items()])
コード例 #4
0
ファイル: comments.py プロジェクト: relekang/fs-reference
def edit_comment(request, comment_id):
    comment = ReferenceComment.objects.get(pk=comment_id)
    if request.method == "POST":
        form = CommentForm(request.POST, instance=comment)
        if form.is_valid():
            comment = form.save()
            return render_json({"comment": comment.to_dict()})
        else:
            return render_json(error=[{"field": k, "error": unicode(v[0])} for k, v in form.errors.items()])
コード例 #5
0
ファイル: references.py プロジェクト: relekang/fs-reference
def list_references(request):
    if get_language() == 'en':
        data_list = [item.to_dict() for item in EnglishTranslation.objects.filter(
            reference__is_approved=True,
            reference__is_published=True
        )]
    else:
        data_list = [item.to_dict() for item in Reference.objects.filter(is_approved=True, is_published=True)]

    return render_json(object=data_list)
コード例 #6
0
ファイル: references.py プロジェクト: relekang/fs-reference
def publish_reference(request):
    if request.method == 'POST':
        reference = get_object_or_404(Reference, pk=request.POST['id'])
        if request.POST['is_published'] == '1':
            reference.is_published = True
        else:
            reference.is_published = False
        reference.save()
        return render_json(reference.to_dict())
    else:
        raise Http404
コード例 #7
0
ファイル: references.py プロジェクト: relekang/fs-reference
def fetch_reference(request, id):
    object = get_object_or_404(Reference, pk=id)
    data = object.to_dict()
    if request.user.has_perm('references.change_reference'):
        data['edit_url'] = reverse('edit_reference', args=[object.pk])
        data['edit_url'] = data['edit_url'].replace(re.search('^/\w+', data['edit_url']).group(),
                                                    "/%s" % request.user.profile.language)
        data['url'] = data['url'].replace(re.search('^/\w+', data['url']).group(),
                                          "/%s" % request.user.profile.language)

    return render_json(object=data)
コード例 #8
0
ファイル: comments.py プロジェクト: relekang/fs-reference
def list_comments(request, ref_id):
    data_list = [item.to_dict() for item in ReferenceComment.objects.filter(reference_id=ref_id)]

    return render_json(object=data_list)
コード例 #9
0
ファイル: comments.py プロジェクト: relekang/fs-reference
def fetch_comment(request, id):
    object = get_object_or_404(ReferenceComment, pk=id)
    data = object.to_dict()

    return render_json(object=data)