Added templatetag and filter libraries for GHOP.
authorMadhusudan.C.S <madhusudancs@gmail.com>
Sun, 30 Aug 2009 13:15:06 +0200
changeset 2838 93e1f2bcfef0
parent 2837 89519bd46862
child 2839 e031b1a734c3
Added templatetag and filter libraries for GHOP. Reviewed by: Lennard de Rijk
app/soc/modules/ghop/views/helper/__init__.py
app/soc/modules/ghop/views/helper/templatetags/__init__.py
app/soc/modules/ghop/views/helper/templatetags/ghop_comments_helpers.py
app/soc/modules/ghop/views/helper/templatetags/ghop_filters.py
app/soc/modules/ghop/views/helper/templatetags/ghop_forms_helpers.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/modules/ghop/views/helper/__init__.py	Sun Aug 30 13:15:06 2009 +0200
@@ -0,0 +1,16 @@
+#
+# 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.
+
+"""This module contains GHOP views helper modules."""
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/modules/ghop/views/helper/templatetags/__init__.py	Sun Aug 30 13:15:06 2009 +0200
@@ -0,0 +1,16 @@
+# 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.
+
+"""This is the GHOP Views templatetags module.
+"""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/modules/ghop/views/helper/templatetags/ghop_comments_helpers.py	Sun Aug 30 13:15:06 2009 +0200
@@ -0,0 +1,53 @@
+#!/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 template tag library containing GHOP Task 
+specific Comments helpers.
+"""
+
+__authors__ = [
+  '"Madhusudan.C.S" <madhusudancs@gmail.com>',
+  ]
+
+
+from django import template
+
+
+register = template.Library()
+
+
+@register.inclusion_tag(
+    'modules/ghop/templatetags/_as_ghop_task_comments.html',
+    takes_context=True)
+def as_ghop_task_comment(context, comment):
+  """Returns a HTML representation of a GHOP task's comments.
+  """
+
+  context['comment'] =  comment
+  context['comment_id'] =  comment.key().id_or_name()
+  return context
+
+
+@register.inclusion_tag(
+    'modules/ghop/templatetags/_as_ghop_task_ws.html',
+    takes_context=True)
+def as_ghop_task_ws(context, comment):
+  """Returns a HTML representation of a GHOP task's work submissions.
+  """
+
+  context['ws'] =  comment
+  context['ws_id'] = comment.key().id_or_name()
+  return context
--- /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))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/modules/ghop/views/helper/templatetags/ghop_forms_helpers.py	Sun Aug 30 13:15:06 2009 +0200
@@ -0,0 +1,47 @@
+#!/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 template tag library containing GHOP forms helpers.
+"""
+
+__authors__ = [
+  '"Madhusudan.C.S" <madhusudancs@gmail.com>',
+  ]
+
+
+from django import template
+
+
+register = template.Library()
+
+
+@register.inclusion_tag(
+    'modules/ghop/templatetags/_as_filter_multiselect.html')
+def as_filter_multiselect(label, value):
+  """Prints a field value and it's verbose name as a form multiple select .
+
+  Args:
+    label: label of the field to render
+    value: value of the field to render
+
+  Returns:
+    a simple context containing the supplied newforms field instance:
+      { 'field_label': field_label',
+        'field_value': field_value'}
+  """
+
+  return {'field_label': label,
+          'field_value': value}