Improve a bit the way recent searches are saved
This commit is contained in:
@@ -9,7 +9,8 @@ from dynamic_search.conf.settings import RECENT_COUNT
|
||||
|
||||
class RecentSearchManager(models.Manager):
|
||||
def add_query_for_user(self, user, query, hits):
|
||||
parsed_query = urlparse.parse_qs(query)
|
||||
parsed_query = urlparse.parse_qs(urlencode(dict(query.items())))
|
||||
|
||||
for key, value in parsed_query.items():
|
||||
parsed_query[key] = ' '.join(value)
|
||||
|
||||
@@ -25,8 +26,9 @@ class RecentSearchManager(models.Manager):
|
||||
if parsed_query and not isinstance(user, AnonymousUser):
|
||||
# If the URL query has at least one variable with a value
|
||||
new_recent, created = self.model.objects.get_or_create(user=user, query=urlencode(parsed_query), defaults={'hits': hits})
|
||||
new_recent.hits = hits
|
||||
new_recent.save()
|
||||
to_delete = self.model.objects.filter(user=user)[RECENT_COUNT:]
|
||||
for recent_to_delete in to_delete:
|
||||
if not created:
|
||||
new_recent.hits = hits
|
||||
new_recent.save()
|
||||
|
||||
for recent_to_delete in self.model.objects.filter(user=user)[RECENT_COUNT:]:
|
||||
recent_to_delete.delete()
|
||||
|
||||
Reference in New Issue
Block a user