Esempio n. 1
0
def news_add(request):
    if request.method == 'POST':                # ketika submit data
        form = AddNewsForm(request.POST, request.FILES)       # isi value pada form sesuai yg di POST
        if form.is_valid():             # cek validasi
            # Data ada di array form.cleaned_data           
            user = User.objects.get(pk=request.user.id)
            news = News()
            news.title = form.cleaned_data['title']
            news.description = form.cleaned_data['description']
            news.member = user
            
            if request.FILES:
                f = request.FILES['image']          
                path = get_file_path(request,f.name)
                fd = open('%s/%s' % (settings.MEDIA_ROOT, str(path)), 'wb')
                for chunk in f.chunks():
                    fd.write(chunk)
                fd.close()  
            else :
                path = ''
            
            news.image = path
            news.save()                       #insert data ke table news
            
            messages.success(request, "Add News Success.")
            return HttpResponseRedirect('/news/')        # Redirect after POST
            #return render_to_response('wisata/form_wisata.html',{'tulisan':tulisan}, context_instance=RequestContext(request, processors=[custom_proc]))       
    else:
        form = AddNewsForm()          # value form kosongan

    breadcrumb = 'Add News'
    datanya = {'form':form, 'breadcrumb': breadcrumb}
    return render_to_response('news/form_news.html',datanya, context_instance=RequestContext(request, processors=[custom_proc]))
Esempio n. 2
0
 def test_get_successive_news(self):
     ns = []
     for i in range(12):
         n = News(title="news",
                  body="news body",
                  author_id=1,
                  date=datetime.now() - timedelta(days=12 - i))
         n.save()
         ns.append(n)
     self.assertEqual(0, len(News.objects.get_successive_news('-', 0, 0)))
     self.assertEqual(
         0, len(News.objects.get_successive_news('-', randint(0, 11), 0)))
     self.assertEqual(12, len(News.objects.get_successive_news('-', 0, 20)))
     nss = News.objects.get_successive_news('-', 3, 6)
     for i in range(0, 6):
         self.assertEqual(nss[i].id, ns[8 - i].id)
     for n in ns:
         n.delete()
Esempio n. 3
0
def generate_random_news(category,
                         new=randint(1, 6),
                         old=randint(1, 6)):
    ns = []
    author_user = UserFactory()
    for i in range(new):
        n = News(title="news", body="news body",
                 date=datetime.now() - timedelta(days=randint(0, 6)),
                 author_id=author_user.pk)
        n.category = category
        n.save()
        ns.append(n)
    for i in range(old):
        n = News(title="old news", body="news body",
                 date=datetime.now() - timedelta(days=randint(8, 20)),
                 author_id=author_user.pk)
        n.category = category
        n.save()
        ns.append(n)
    return (new, old, ns)
Esempio n. 4
0
 def create(self, validate_data):
     news =News(**validate_data)
     news.author=self.request.user
     news.save()
     return news