# HG changeset patch # User Madhusudan.C.S # Date 1251630906 -7200 # Node ID 93e1f2bcfef02212e47ecef259f5820e7942b26a # Parent 89519bd46862a1dbe56a100784e7b2bae1ee5117 Added templatetag and filter libraries for GHOP. Reviewed by: Lennard de Rijk diff -r 89519bd46862 -r 93e1f2bcfef0 app/soc/modules/ghop/views/helper/__init__.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 diff -r 89519bd46862 -r 93e1f2bcfef0 app/soc/modules/ghop/views/helper/templatetags/__init__.py --- /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. +""" diff -r 89519bd46862 -r 93e1f2bcfef0 app/soc/modules/ghop/views/helper/templatetags/ghop_comments_helpers.py --- /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" ', + ] + + +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 diff -r 89519bd46862 -r 93e1f2bcfef0 app/soc/modules/ghop/views/helper/templatetags/ghop_filters.py --- /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" ', + ] + + +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)) diff -r 89519bd46862 -r 93e1f2bcfef0 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/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" ', + ] + + +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}