src/hdalab/views/profile.py
changeset 343 12b6fc19d78f
parent 342 a0fa17c48236
child 344 1473ba25af1f
--- a/src/hdalab/views/profile.py	Fri Sep 26 12:55:35 2014 +0200
+++ b/src/hdalab/views/profile.py	Mon Sep 29 12:43:40 2014 +0200
@@ -45,9 +45,33 @@
     
     def update_context(self, context, renkan_queryset):
         
-        filter_title = self.request.GET.get("filter", "")
+        filters = ""
+        filter_title = self.request.GET.get("title", "")
         if(len(filter_title)>0):
             renkan_queryset = renkan_queryset.filter(renkan__title__icontains=filter_title)
+            filters += "&title=" + filter_title
+        filter_username = self.request.GET.get("username", "")
+        if(len(filter_username)>0):
+            renkan_queryset = renkan_queryset.filter(renkan__owner__username=filter_username)
+            filters += "&username=" + filter_username
+        filter_state = self.request.GET.get("state", "")
+        if(len(filter_state)>0):
+            try:
+                filter_state = int(filter_state)
+            except:
+                pass
+            renkan_queryset = renkan_queryset.filter(state=filter_state)
+            filter_state = str(filter_state)
+            filters += "&state=" + filter_state
+        filter_startdate = self.request.GET.get("startdate", "")
+        if filter_startdate!="":
+            renkan_queryset = renkan_queryset.filter(renkan__modification_date__gt=filter_startdate)
+            filters += "&startdate=" + filter_startdate
+        filter_enddate = self.request.GET.get("enddate", "")
+        if filter_enddate!="":
+            renkan_queryset = renkan_queryset.filter(renkan__modification_date__lt=filter_enddate + " 23:59:59")
+            filters += "&enddate=" + filter_enddate
+        
         
         sort_param = self.request.GET.get('sort', "date")
         order_param = self.request.GET.get('order', "desc")
@@ -69,7 +93,9 @@
         except EmptyPage:
             page = p.page(p.num_pages)
         
-        context.update({"page": page, "sort_param":sort_param, "order_param":order_param, "opposite":opposite, "filter":filter_title})
+        context.update({"page": page, "sort_param":sort_param, "order_param":order_param, "opposite":opposite, 
+                        "filters":filters, "title": filter_title, "username": filter_username, "state": filter_state,
+                        "startdate":filter_startdate, "enddate":filter_enddate})
         
         return context