You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.7 KiB
52 lines
1.7 KiB
#-*- coding: utf-8 -*-
|
|
|
|
# from django.core.urlresolvers import reverse
|
|
# from django.http import HttpResponseRedirect
|
|
from django.shortcuts import get_object_or_404
|
|
from django.views import generic
|
|
from django.http import HttpResponse
|
|
import json
|
|
|
|
from .models import *
|
|
|
|
class SearchDetailView(generic.DetailView):
|
|
model = Keyword
|
|
context_object_name = 'post'
|
|
template_name = 'trademark/search_detail.html'
|
|
slug_field = 'slug'
|
|
view_url_name = 'trademark:search-detail'
|
|
|
|
|
|
class IndexView(generic.ListView):
|
|
template_name = 'trademark/index.html'
|
|
context_object_name = 'trademarks'
|
|
|
|
def get_queryset(self):
|
|
return []
|
|
|
|
|
|
|
|
class Search(generic.View):
|
|
# def get(self, request):
|
|
# <view logic>
|
|
# return HttpResponse('result')
|
|
def get(self, request, slug):
|
|
keyword = get_object_or_404(Keyword, slug=slug)
|
|
|
|
try:
|
|
ids = [str(key) for key in keyword.searches.all().values_list('search_id', flat=True)]
|
|
return HttpResponse(json.dumps({ 'search_ids': ids, 'status': 'finished' }), content_type='application/json')
|
|
except:
|
|
return HttpResponse(json.dumps({ 'status': 'error', 'description': 'Request not found', 'slug': slug }), content_type="application/json")
|
|
|
|
|
|
def post(self, request):
|
|
keyword = request.POST.get('keyword', '')
|
|
|
|
if keyword:
|
|
k = Keyword.objects.get_or_create(request=keyword)
|
|
k.save()
|
|
else:
|
|
return HttpResponse(json.dumps({ 'status': 'error', 'description': 'Empty request', 'ext': json.dump(request.POST)}), content_type="application/json")
|
|
|
|
return HttpResponse(json.dumps({ 'status': 'ok' }), content_type="application/json")
|
|
|