app/soc/modules/ghop/views/helper/templatetags/ghop_filters.py
changeset 2838 93e1f2bcfef0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/modules/ghop/views/helper/templatetags/ghop_filters.py	Sun Aug 30 13:15:06 2009 +0200
@@ -0,0 +1,88 @@
+#!/usr/bin/python2.5
+#
+# Copyright 2009 the Melange authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""A Django filter library for GHOP.
+"""
+
+__authors__ = [
+  '"Madhusudan.C.S" <madhusudancs@gmail.com>',
+  ]
+
+
+from django import template
+
+from soc.modules.ghop.logic.models import task as ghop_task_logic
+
+
+register = template.Library()
+
+
+@register.filter()
+def open_tasks(org):
+  """Django template filter to get the number of open tasks for the given
+  organization.
+
+  Args:
+    org: The organization entity for which the number of open tasks much be
+        returned
+  """
+
+  filter = {
+      'scope':org,
+      'status': ['Open', 'Reopened'],
+      }
+  task_entities = ghop_task_logic.logic.getForFields(filter)
+
+  return str(len(task_entities))
+
+
+@register.filter()
+def claimed_tasks(org):
+  """Django template filter to get the number of claimed tasks for the given
+  organization.
+
+  Args:
+    org: The organization entity for which the number of claimed tasks much be
+        returned
+  """
+
+  filter = {
+      'scope':org,
+      'status': ['ClaimRequested', 'Claimed', 'ActionNeeded', 
+                 'NeedsReview', 'NeedsWork']
+      }
+  task_entities = ghop_task_logic.logic.getForFields(filter)
+
+  return str(len(task_entities))
+
+
+@register.filter()
+def closed_tasks(org):
+  """Django template filter to get the number of closed tasks for the given
+  organization.
+
+  Args:
+    org: The organization entity for which the number of closed tasks much be
+        returned
+  """
+
+  filter = {
+      'scope':org,
+      'status': ['AwaitingRegistration', 'Closed']
+      }
+  task_entities = ghop_task_logic.logic.getForFields(filter)
+
+  return str(len(task_entities))