Пример #1
0
def create_article(request):

    if request.user.is_authenticated:

        user = get_object_or_404(User, id=request.user.id)

        author_profile = author.objects.filter(name=user.id)

        # check if user has pic profile
        if author_profile:
            #if user has pic profile
            form = createForm(request.POST or None, request.FILES or None)
            if form.is_valid():
                instance = form.save(commit=False)
                instance.save()
            return render(request, 'home/post.html', {
                "form": form,
                'full_name': request.user.username
            })
        # if user has not pic profile
        else:
            form = createAuthor(request.POST or None, request.FILES or None)
            if form.is_valid():
                ins = form.save(commit=False)
                ins.name = user
                ins.save()

                return HttpResponseRedirect('/')
            return render(request, 'home/avatar.html', {"form": form})
    else:
        HttpResponseRedirect('/login')
Пример #2
0
def publish(request):

    ImageFormSet = modelformset_factory(MyltiImage, form=ImageForm, extra=3)
    #'extra' means the number of photos that you can upload   ^

    if request.user.is_authenticated:
        user = get_object_or_404(User, id=request.user.id)

        author_profile = author.objects.filter(name=user.id)

        authorUser = get_object_or_404(author, name=request.user.id)

        formset = ImageFormSet(request.POST or None,
                               request.FILES or None,
                               queryset=MyltiImage.objects.none())

        form = createForm(request.POST or None, request.FILES or None)
        if form.is_valid() and formset.is_valid():

            instance = form.save(commit=False)
            # pass instance author
            instance.avatar = authorUser
            # pass instance user login
            instance.article_author = request.user

            instance.save()

            for form in formset.cleaned_data:
                #this helps to not crash if the user
                #do not upload all the photos
                if form:
                    image = form['image']
                    photo = MyltiImage(post=instance, image=image)
                    photo.save()

    #pass from data base to template
            messages.success(request, 'تم نشر المقال', extra_tags='Done')
            redirect_to = reverse('blogArabic:show_article',
                                  kwargs={'id': instance.id})
            return redirect(redirect_to)
        return render(
            request, 'home/index.html', {
                'form': form,
                'formset': formset,
                'user': authorUser,
                'full_name': request.user.username
            })

    else:
        return HttpResponseRedirect('/login')
Пример #3
0
def create_article(request):

    ImageFormSet = modelformset_factory(MyltiImage, form=ImageForm, extra=3)
    #'extra' means the number of photos that you can upload   ^

    if request.user.is_authenticated:

        user = get_object_or_404(User, id=request.user.id)

        author_profile = author.objects.filter(name=user.id)

        # check if user has pic profile
        if author_profile:
            formset = ImageFormSet(request.POST or None,
                                   request.FILES or None,
                                   queryset=MyltiImage.objects.none())
            #if user has pic profile
            form = createForm(request.POST or None, request.FILES or None)
            if form.is_valid() and formset.is_valid():
                instance = form.save(commit=False)
                instance.save()

            return render(
                request, 'home/post.html', {
                    "form": form,
                    'formset': formset,
                    'full_name': request.user.username
                })
        # if user has not pic profile
        else:
            form = createAuthor(request.POST or None, request.FILES or None)

            if form.is_valid():
                ins = form.save(commit=False)
                ins = formset.save(commit=False)
                ins.name = user
                ins.save()

                return HttpResponseRedirect('/')
            return render(request, 'home/avatar.html', {"form": form})
    else:
        HttpResponseRedirect('/login')
Пример #4
0
def getUpdate(request, pid):
    if request.user.is_authenticated:
        u = get_object_or_404(author, name=request.user.id)
        post = get_object_or_404(articles, id=pid)
        form = createForm(request.POST or None,
                          request.FILES or None,
                          instance=post)
        # delete the first article
        post.delete()
        # save the update article
        if form.is_valid():

            instance = form.save(commit=False)
            instance.article_author = request.user
            instance.avatar = u
            instance.save()

            return HttpResponseRedirect('/profile')
        return render(request, 'home/post.html', {"form": form})
    else:
        return render_to_response('home/login.html')
Пример #5
0
def publish(request):

    if request.user.is_authenticated:
        user = get_object_or_404(User, id=request.user.id)

        author_profile = author.objects.filter(name=user.id)

        authorUser = get_object_or_404(author, name=request.user.id)

        form = createForm(request.POST or None, request.FILES or None)

        if form.is_valid():

            instance = form.save(commit=False)

            # pass instance author
            instance.avatar = authorUser
            # pass instance user login
            instance.article_author = request.user

            instance.save()

            #pass from data base to template
            messages.success(request, 'تم نشر المقال', extra_tags='Done')
            redirect_to = reverse('blogArabic:show_article',
                                  kwargs={
                                      'id': instance.id,
                                      'slug': instance.slug
                                  })
            return redirect(redirect_to)
        return render(request, 'home/index.html', {
            'form': form,
            'user': authorUser,
            'full_name': request.user.username
        })

    else:
        return HttpResponseRedirect('/login')