Skip to content

Commit

Permalink
possible fix for #28
Browse files Browse the repository at this point in the history
  • Loading branch information
Bhupesh-V committed Aug 29, 2019
1 parent 8d8101c commit 4a2f06e
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 9 deletions.
8 changes: 4 additions & 4 deletions api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def tutorials(request):
"""
if request.method == 'GET':
paginator = PageNumberPagination()
tutorials = Tutorial.objects.all().order_by('id')
tutorials = Tutorial.objects.all().order_by('id').filter(publish=True)
context = paginator.paginate_queryset(tutorials, request)
serializer = TutorialSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
Expand Down Expand Up @@ -76,7 +76,7 @@ def tutorial_tag(request, tags):
paginator = PageNumberPagination()
tags = tags.split(',')
custom_tutorial = Tutorial.objects.filter(
tags__name__in=tags).order_by('id').distinct()
tags__name__in=tags).order_by('id').distinct().filter(publish=True)
context = paginator.paginate_queryset(custom_tutorial, request)
serializer = TutorialSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
Expand All @@ -90,7 +90,7 @@ def tutorial_tag_category(request, tags, category):
category = category.split(',')
custom_tutorial = Tutorial.objects.filter(
tags__name__in=tags, category__in=category
).order_by('id').distinct()
).order_by('id').filter(publish=True).distinct()
context = paginator.paginate_queryset(custom_tutorial, request)
serializer = TutorialSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
Expand All @@ -110,7 +110,7 @@ def tags(request):
def latest(request):
"""returns latest 10 tutorials from tutorialdb"""
paginator = PageNumberPagination()
results = Tutorial.objects.all().order_by('-created_date')[:10]
results = Tutorial.objects.all().filter(publish=True).order_by('-created_date')[:10]
context = paginator.paginate_queryset(results, request)
serializer = TutorialSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
4 changes: 2 additions & 2 deletions app/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
from .models import Tag, Tutorial
from .resources import TagResource, TutorialResource


@admin.register(Tag)
class TagAdmin(ImportExportModelAdmin):
resource_class = TagResource


@admin.register(Tutorial)
class TutorialAdmin(ImportExportModelAdmin):
class TutorialAdmin(ImportExportModelAdmin, admin.ModelAdmin):
list_display = ('id', 'title', 'publish')
resource_class = TutorialResource
28 changes: 28 additions & 0 deletions app/migrations/0002_auto_20190829_1937.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Generated by Django 2.2.3 on 2019-08-29 14:07

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('app', '0001_initial'),
]

operations = [
migrations.AddField(
model_name='tutorial',
name='publish',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='tutorial',
name='category',
field=models.CharField(choices=[('article', 'Article'), ('book', 'Book'), ('cheatsheet', 'Cheatsheet'), ('course', 'Course'), ('docs', 'Documentation'), ('video', 'Video')], max_length=20),
),
migrations.AlterField(
model_name='tutorial',
name='tags',
field=models.ManyToManyField(to='app.Tag'),
),
]
1 change: 1 addition & 0 deletions app/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class Tutorial(models.Model):
tags = models.ManyToManyField(Tag)
category = models.CharField(max_length=20, choices=CATEGORIES)
created_date = models.DateTimeField(default=timezone.now)
publish = models.BooleanField(default=False)

def __str__(self):
return self.title
2 changes: 1 addition & 1 deletion app/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class TutorialResource(resources.ModelResource):
class Meta:
model = Tutorial
exclude = ('id',)
export_order = ('title', 'link', 'tags', 'category', 'created_date')
export_order = ('title', 'link', 'tags', 'category', 'created_date', 'publish')
import_id_fields = ('title', 'link')


Expand Down
4 changes: 2 additions & 2 deletions app/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ def search_query(request):
tutorials = Tutorial.objects.filter(
(Q(title__icontains=query) | Q(tags__name__in=list_query))
& Q(category__icontains=category)
).order_by('id').distinct()
).order_by('id').filter(publish=True).distinct()
else:
tutorials = Tutorial.objects.filter(
(Q(title__icontains=query) | Q(tags__name__in=list_query))
).order_by('id').distinct()
).order_by('id').filter(publish=True).distinct()
end_time = time.time()
total = len(tutorials)
result_time = round(end_time - start_time, 3)
Expand Down

0 comments on commit 4a2f06e

Please sign in to comment.