コード例 #1
0
ファイル: views.py プロジェクト: shyzik93/common_elysium
def view_save_news(request):
    pk = request.POST.get('id')
    try:
        news_article = NewsArticle.objects.get(pk=pk) if pk else None
    except NewsArticle.DoesNotExist as err:
        return HttpResponse(get_error('Новость не существует!'))
    form_news = NewsForm(request.POST, instance=news_article)

    if form_news.is_valid():
        form_news.save()
        new_pk = form_news.instance.pk
        current_site = get_current_site(request)
        view_url = '{}://{}{}'.format(settings.SCHEMA, current_site.domain,
                                      reverse('view_news', args=[new_pk]))
        answer = get_success(
            'Статья {}'.format('обновлена' if pk else 'добавлена'),
            {'data': {
                'view_url': view_url,
                'id': new_pk
            }})
    else:
        absent_fields, msg_err = get_absent_fields_list(form_news)
        answer = get_error('Ошибка: {}'.format(msg_err),
                           {'absent_fields': absent_fields})

    return HttpResponse(answer)
コード例 #2
0
ファイル: views.py プロジェクト: Bisawajit/GTA-Khulna
	def post(self, request):
		form = NewsForm(request.POST)
		if form.is_valid():
			form.save()
			return redirect('/news')

		return render(request, "news/news_form.html", {
				"form" : form
			})
コード例 #3
0
ファイル: views.py プロジェクト: charles5991/cyutmit
def addNews(request):
    template = 'news/addNews.html'
    if request.method=='GET':
        return render(request, template, {'form':NewsForm(), 'folderName':'news'})
    # POST
    form = NewsForm(request.POST)
    if not form.is_valid():
        return render(request, template, {'form':form})
    form.save()
    messages.success(request, '最新消息已發布')
    return redirect('news:news')
コード例 #4
0
ファイル: tests.py プロジェクト: estefaniabarrera/Django_news
 def test_class_form(self):
     data = {
         'title': "title",
         'description': "test description",
         'publish_date': timezone.now()
     }
     form = NewsForm(data=data)
     form.save()
     self.assertTrue(form.is_valid())
     x = NewsItem.objects.get(title="title")
     self.assertTrue(x)
コード例 #5
0
def add(request):
    news_form = NewsForm(request.POST)
    if news_form.is_valid():
        try:
            news_form.save()
            for t in TeamProfile.objects.all():
                t.nb_unread_news += 1
                t.save()
            messages.add_message(request, messages.SUCCESS, "The news has been posted.")
        except Exception:
            logger.exception("Error adding news:")
    return redirect(reverse("news:list"))
コード例 #6
0
ファイル: views.py プロジェクト: charles5991/cyutmit
def editNews(request, newsId):
    template = 'news/editNews.html'
    newsToUpdate = get_object_or_404(News, id=newsId)
    if request.method=='GET':
        return render(request, template, {'form':NewsForm(instance=newsToUpdate), 'news':newsToUpdate, 'folderName':'news'})
    # POST
    form = NewsForm(request.POST, instance=newsToUpdate)
    if not form.is_valid():
        return render(request, template, {'form':form, 'news':newsToUpdate, 'command':'news'})
    form.save()
    messages.success(request, '消息修改成功')
    return redirect('news:news')
コード例 #7
0
def modify(request, id_news):
    news = get_object_or_404(News.objects, id=id_news)
    if request.method == "POST":
        news_form = NewsForm(request.POST, instance=news)
        if news_form.is_valid():
            try:
                news_form.save()
                for t in TeamProfile.objects.all():
                    t.nb_unread_news += 1
                    t.save()
                messages.add_message(request, messages.SUCCESS, "The news has been updated.")
            except Exception:
                logger.exception("Error adding news: ")
                messages.add_message(request, messages.ERROR, "Error while updating the news.")
            return redirect(reverse("news:list"))
    elif request.method == "GET":
        news_form = NewsForm(instance=news)
    return render(request, "news/modify.html", locals())
コード例 #8
0
def news_form(request):
    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            news = form.save(commit=False)
            news.author_id = request.user.pk
            news.date = datetime.now()
            news.save()
            messages.add_message(request,
                                 messages.INFO,
                                 'News successfully created!',
                                 extra_tags='alert-success')
            return HttpResponseRedirect('/news/' + str(news.id))
    else:
        form = NewsForm()
    return render(request, 'news/news.html', {'form': form})
コード例 #9
0
ファイル: views.py プロジェクト: iguraliuc/FII-Student-A4
def add_news(request):
    if request.method == 'POST':
        form = NewsForm(request.POST)
        if form.is_valid():
            pieceOfNews = form.save(commit=False)
            pieceOfNews.source = "FII"
            if request.user.is_authenticated:
                pieceOfNews.author_name = request.user.first_name + ' ' + request.user.last_name
            else:
                pieceOfNews.author_name = 'Anonymous'
            pieceOfNews.inserted_time = datetime.datetime.now()
            pieceOfNews.published_time = datetime.datetime.now()
            pieceOfNews.expire_time = datetime.datetime.now() + relativedelta(
                years=1)
            pieceOfNews.save()
            return redirect('/news')
    else:
        form = NewsForm()
    return render(request, 'add_news.html', {'form': form})