Beispiel #1
0
    def test_category_page(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)
        only_news = all_news[0]
        self.assertEquals(only_news, news)

        category_url = news.category.get_absolute_url()
        response = self.client.get(category_url)
        self.assertContains(response, news.category.name, status_code=200)

        #проверяем атрибуты
        self.assertEquals(only_news.title, 'Моя первая новость')
        self.assertEquals(only_news.announcement, 'Анонс первой новости')
        self.assertEquals(only_news.pub_date.day, news.pub_date.day)
        self.assertEquals(only_news.pub_date.year, news.pub_date.year)
Beispiel #2
0
def create_news(request):
    """
    view untuk pembuatan berita
    """
    if not request.user.has_perm('news.add_news'):
        messages.error(request, _("Unvalidated user can not create news"))
        return HttpResponseRedirect(reverse('validate'))
    if request.POST:
        form = CreateNewsForm(request.POST)
        if form.is_valid():
            news = News()
            news.user = request.user
            news.title = form.cleaned_data['title']
            news.content = form.cleaned_data['content']
            news.category = form.cleaned_data['category']
            news.enable_comment = form.cleaned_data['enable_comment']
            news.location = form.cleaned_data['location']
            news.save()
            news.images.add(*request.POST.getlist('images'))
            p = Point(news=news, user=request.user)
            p.save()
            messages.info(request, _('A news %s created') % news.title)
            return HttpResponseRedirect(reverse('user_news'))
    else:
        form = CreateNewsForm()
    return render_to_response('news/create_news.html',
            {'form': form},
            context_instance=RequestContext(request))
Beispiel #3
0
    def test_edit_news(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости ++'
        news.text = 'Текст первой новости!!!'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        self.client.login(username='******', password='******')

        response = self.client.post('/admin/news/news/' + str(news.id) + '/', {
            'title': 'Моя вторая новость',
            'announcement': 'Анонс второй новости',
            'text': 'Текст второй новости',
            'pub_date_0': '2014-10-15',
            'pub_date_1': '16:07:00',
            'category': str(category.id)
        },
                                    follow=True)

        self.assertContains(response, 'успешно изменен', status_code=200)

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)
        only_news = all_news[0]
        self.assertEquals(only_news.title, 'Моя вторая новость')
        self.assertEquals(only_news.announcement, 'Анонс второй новости')
        self.assertEquals(only_news.text, 'Текст второй новости')
Beispiel #4
0
    def test_delete_new(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости ++'
        news.text = 'Текст первой новости!!!'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)

        self.client.login(username='******', password='******')

        response = self.client.post('/admin/news/news/' + str(news.id) +
                                    '/delete/', {'post': 'yes'},
                                    follow=True)
        self.assertContains(response, 'успешно удален', status_code=200)

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 0)
Beispiel #5
0
    def test_category_page(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)
        only_news = all_news[0]
        self.assertEquals(only_news, news)

        category_url = news.category.get_absolute_url()
        response = self.client.get(category_url)
        self.assertContains(response, news.category.name, status_code=200)

        #проверяем атрибуты
        self.assertEquals(only_news.title, 'Моя первая новость')
        self.assertEquals(only_news.announcement, 'Анонс первой новости')
        self.assertEquals(only_news.pub_date.day, news.pub_date.day)
        self.assertEquals(only_news.pub_date.year, news.pub_date.year)
Beispiel #6
0
def addnews(request):
    if request.method == 'POST':
        form = NewsForm(request.POST, request.FILES)
        if form.is_valid():
            current_user = request.user
            data = News()
            data.user_id = current_user.id
            data.title = form.cleaned_data['title']
            data.keywords = form.cleaned_data['keywords']
            data.description = form.cleaned_data['description']
            data.image = form.cleaned_data['image']
            data.category = form.cleaned_data['category']
            data.slug = form.cleaned_data['slug']
            data.detail = form.cleaned_data['detail']
            data.status = 'New'
            data.save()
            messages.success(request, 'Your news has been added!')
            return HttpResponseRedirect('/user/mynews')
        else:
            messages.warning(request, "Error")
            return HttpResponseRedirect('/user/addnews')

    else:
        news = News.objects.all()
        category = Category.objects.all()
        menu = Menu.objects.all()
        form = NewsForm()
        context = {
            'category': category,
            'form': form,
            'menu': menu,
            'news': news,
        }
        return render(request, 'user_addnews.html', context)
Beispiel #7
0
    def test_delete_new(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости ++'
        news.text = 'Текст первой новости!!!'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)

        self.client.login(username='******', password='******')

        response = self.client.post('/admin/news/news/' + str(news.id) + '/delete/', {
            'post':'yes'
            },
            follow=True
            )
        self.assertContains(response, 'успешно удален', status_code=200)

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 0)
Beispiel #8
0
def import_news():
    author = UserData.objects.get(id=1)
    print author.username
    for new_old in Stats.objects.all():
        if new_old.catid != 0 and (new_old.catid == 2 or new_old.catid == 3):
            print new_old.id, new_old.name, new_old.catid
            stci = News()

            print author
            # stci.id = new_old.id
            stci.article = new_old.full.replace('http://centrinform.info/', 'http://ci.ua/')
            stci.author = author
            stci.foreword = new_old.min.replace('http://centrinform.info/', 'http://ci.ua/')
            stci.slug = new_old.url
            stci.title = new_old.name
            stci.creation_date = new_old.dat_created
            stci.description = new_old.opisanie
            stci.key_words = new_old.klucheviki
            stci.category = NewsCategory.objects.get(id=new_old.catid)

            stci.save()
            # News.objects.get_or_create(
            #
            #     id=new_old.id,
            #     article=new_old.full.replace('http://centrinform.info/', 'http://ci.ua/'),
            #     author=author,
            #     foreword=new_old.min.replace('http://centrinform.info/', 'http://ci.ua/'),
            #     slug=new_old.url,
            #     title=new_old.name,
            #     creation_date=new_old.dat_created,
            #     description=new_old.opisanie,
            #     key_words=new_old.klucheviki,
            #     category=NewsCategory.objects.get(id=new_old.catid)
            # #   defaults={'category': NewsCategory.objects.get(id=new_old.catid)}  # default применится в случае create
            # )
            # new.article = new_old
            # # new.article = new_old.full.replace('http://centrinform.info/', 'http://ci.ua/')
            # new.author = author
            # new.category = NewsCategory.objects.get(id=new_old.catid)
            # new.foreword = new_old.min.replace('http://centrinform.info/', 'http://ci.ua/')
            # new.part_url = new_old.url
            # new.title = new_old.name
            # new.save()







        # try:
        #
        # except Stats.DoesNotExist:
        #     print u'Нету'
Beispiel #9
0
    def test_create_news(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        #создаем новость и заполняем поля
        news = News()

        #устанавливаем атрибуты
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости ++'
        news.text = 'Текст первой новости!!!'
        news.pub_date = timezone.now()
        news.category = category

        #сохраняем в бд
        news.save()

        #проверяем что новость доавбилась в базу
        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)
        only_news = all_news[0]
        self.assertEquals(only_news, news)

        #проверяем атрибуты
        self.assertEquals(only_news.title, 'Моя первая новость')
        self.assertEquals(only_news.announcement, 'Анонс первой новости ++')
        self.assertEquals(only_news.text, 'Текст первой новости!!!')
        self.assertEquals(only_news.pub_date.day, news.pub_date.day)
        self.assertEquals(only_news.pub_date.month, news.pub_date.month)
        self.assertEquals(only_news.pub_date.year, news.pub_date.year)
        self.assertEquals(only_news.pub_date.hour, news.pub_date.hour)
        self.assertEquals(only_news.pub_date.minute, news.pub_date.minute)
        self.assertEquals(only_news.pub_date.second, news.pub_date.second)
        self.assertEquals(only_news.category.name, 'Экономика')
        self.assertEquals(only_news.category.description, 'Новости экономики')
Beispiel #10
0
    def test_create_news(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        #создаем новость и заполняем поля
        news = News()

        #устанавливаем атрибуты
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости ++'
        news.text = 'Текст первой новости!!!'
        news.pub_date = timezone.now()
        news.category = category

        #сохраняем в бд
        news.save()

        #проверяем что новость доавбилась в базу
        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)
        only_news = all_news[0]
        self.assertEquals(only_news, news)

        #проверяем атрибуты
        self.assertEquals(only_news.title, 'Моя первая новость')
        self.assertEquals(only_news.announcement, 'Анонс первой новости ++')
        self.assertEquals(only_news.text, 'Текст первой новости!!!')
        self.assertEquals(only_news.pub_date.day, news.pub_date.day)
        self.assertEquals(only_news.pub_date.month, news.pub_date.month)
        self.assertEquals(only_news.pub_date.year, news.pub_date.year)
        self.assertEquals(only_news.pub_date.hour, news.pub_date.hour)
        self.assertEquals(only_news.pub_date.minute, news.pub_date.minute)
        self.assertEquals(only_news.pub_date.second, news.pub_date.second)
        self.assertEquals(only_news.category.name, 'Экономика')
        self.assertEquals(only_news.category.description, 'Новости экономики')
Beispiel #11
0
    def test_news_page(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.text = 'Текст первой новости'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)

        response = self.client.get('/news/' + str(news.id) + '/')
        self.assertContains(response, news.title, status_code=200)
        self.assertContains(response, news.text)
        self.assertContains(response, news.pub_date.year)
        # выдает на англ и сравнивает с русским - не отрабатывает self.assertContains(response, news.pub_date.strftime('%b'))
        self.assertContains(response, news.pub_date.day)
        self.assertContains(response, news.category.name)
Beispiel #12
0
    def test_news_page(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.text = 'Текст первой новости'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)

        response = self.client.get('/news/' + str(news.id) + '/')
        self.assertContains(response, news.title, status_code=200)
        self.assertContains(response, news.text)
        self.assertContains(response, news.pub_date.year)
        # выдает на англ и сравнивает с русским - не отрабатывает self.assertContains(response, news.pub_date.strftime('%b'))
        self.assertContains(response, news.pub_date.day)
        self.assertContains(response, news.category.name)
Beispiel #13
0
    def test_edit_news(self):
        category = Category()
        category.name = 'Экономика'
        category.description = 'Новости экономики'
        category.slug = 'economy'
        category.save()

        news = News()
        news.title = 'Моя первая новость'
        news.announcement = 'Анонс первой новости ++'
        news.text = 'Текст первой новости!!!'
        news.pub_date = timezone.now()
        news.category = category
        news.save()

        self.client.login(username='******', password='******')
        
        response = self.client.post('/admin/news/news/' + str(news.id) + '/', {
            'title': 'Моя вторая новость',
            'announcement': 'Анонс второй новости',
            'text': 'Текст второй новости',
            'pub_date_0': '2014-10-15',
            'pub_date_1': '16:07:00',
            'category': str(category.id)
            },
            follow=True
            )

        self.assertContains(response, 'успешно изменен', status_code=200)

        all_news = News.objects.all()
        self.assertEquals(len(all_news), 1)
        only_news = all_news[0]
        self.assertEquals(only_news.title, 'Моя вторая новость')
        self.assertEquals(only_news.announcement, 'Анонс второй новости')
        self.assertEquals(only_news.text, 'Текст второй новости')