app/soc/modules/ghop/views/models/organization.py
author Mario Ferraro <fadinlight@gmail.com>
Sun, 15 Nov 2009 22:12:20 +0100
changeset 3093 d1be59b6b627
parent 3037 4e734bc7b227
permissions -rw-r--r--
GMaps related JS changed to use new google namespace. Google is going to change permanently in the future the way to load its services, so better stay safe. Also this commit shows uses of the new melange.js module. Fixes Issue 634.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2888
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     2
#
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     3
# Copyright 2009 the Melange authors.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     4
#
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     8
#
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    10
#
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    16
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    17
"""GHOP specific views for Organizations.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    18
"""
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    19
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    20
__authors__ = [
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    21
    '"Madhusudan.C.S" <madhusudancs@gmail.com>'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    22
  ]
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    23
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    24
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    25
import datetime
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    26
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    27
from django import forms
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    28
from django.utils.translation import ugettext
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    29
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    30
from soc.logic import cleaning
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    31
from soc.logic import dicts
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    32
from soc.logic.helper import timeline as timeline_helper
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    33
from soc.views.helper import decorators
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    34
from soc.views.helper import lists
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    35
from soc.views.helper import redirects
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    36
from soc.views.models import organization
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    37
from soc.views.sitemap import sidebar
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    38
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    39
import soc.cache.logic
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    40
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    41
from soc.modules.ghop.logic.models import organization as ghop_org_logic
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    42
from soc.modules.ghop.logic.models import org_admin as ghop_org_admin_logic
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    43
from soc.modules.ghop.views.helper import access as ghop_access
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    44
from soc.modules.ghop.views.models import program as ghop_program_view
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    45
from soc.modules.ghop.views.helper import redirects as ghop_redirects
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    46
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    47
import soc.modules.ghop.logic.models.organization
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    48
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    49
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    50
class View(organization.View):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    51
  """View methods for the GHOP Organization model.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    52
  """
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    53
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    54
  DEF_OPEN_PROJECTS_MSG_FMT = ugettext(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    55
      'List of tasks published by %s that are open.')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    56
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    57
  DEF_CLAIMED_PROJECTS_MSG_FMT = ugettext(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    58
      'List of tasks published by %s that are claimed.')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    59
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    60
  DEF_CLOSED_PROJECTS_MSG_FMT = ugettext(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    61
      'List of tasks published by %s that are closed.')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    62
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    63
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    64
  def __init__(self, params=None):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    65
    """Defines the fields and methods required for the program View class
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    66
    to provide the user with list, public, create, edit and delete views.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    67
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    68
    Params:
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    69
      params: a dict with params for this View
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    70
    """
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    71
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    72
    rights = ghop_access.GHOPChecker(params)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    73
    rights['create'] = ['checkIsDeveloper']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    74
    rights['edit'] = [('checkHasActiveRoleForKeyFieldsAsScope',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    75
                           ghop_org_admin_logic.logic,),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    76
                      ('checkGroupIsActiveForLinkId', ghop_org_logic.logic)]
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    77
    rights['delete'] = ['checkIsDeveloper']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    78
    rights['home'] = ['allow']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    79
    rights['public_list'] = ['allow']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    80
    rights['apply_mentor'] = ['checkIsUser']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    81
    rights['list_requests'] = [('checkHasActiveRoleForKeyFieldsAsScope',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    82
                                ghop_org_admin_logic.logic)]
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    83
    rights['list_roles'] = [('checkHasActiveRoleForKeyFieldsAsScope',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    84
                             ghop_org_admin_logic.logic)]
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    85
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    86
    new_params = {}
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    87
    new_params['logic'] = soc.modules.ghop.logic.models.organization.logic
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    88
    new_params['rights'] = rights
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    89
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    90
    new_params['scope_view'] = ghop_program_view
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    91
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    92
    new_params['name'] = "GHOP Organization"
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    93
    new_params['module_name'] = "organization"
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    94
    new_params['sidebar_grouping'] = 'Organizations'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    95
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    96
    new_params['public_template'] = 'modules/ghop/organization/public.html'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    97
    new_params['list_row'] = 'modules/ghop/organization/list/row.html'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    98
    new_params['list_heading'] = 'modules/ghop/organization/list/heading.html'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    99
    new_params['home_template'] = 'modules/ghop/organization/home.html'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   100
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   101
    new_params['module_package'] = 'soc.modules.ghop.views.models'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   102
    new_params['url_name'] = 'ghop/org'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   103
    new_params['document_prefix'] = 'ghop_org'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   104
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   105
    new_params['extra_dynaexclude'] = ['slots', 'slots_calculated',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   106
                                       'nr_applications', 'nr_mentors',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   107
                                       'slots_desired', 'ideas',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   108
                                       'task_quota_limit']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   109
2945
4752074c1af3 Added apply_mentor view to GHOPOrganization view.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2944
diff changeset
   110
    new_params['mentor_role_name'] = 'ghop_mentor'
4752074c1af3 Added apply_mentor view to GHOPOrganization view.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2944
diff changeset
   111
2957
f6515daaf000 Enable document system for GHOP
Madhusudan.C.S <madhusudancs@gmail.com>
parents: 2945
diff changeset
   112
    new_params['edit_extra_dynaproperties'] = {
f6515daaf000 Enable document system for GHOP
Madhusudan.C.S <madhusudancs@gmail.com>
parents: 2945
diff changeset
   113
        'clean': cleaning.clean_refs(new_params, ['home_link_id'])
f6515daaf000 Enable document system for GHOP
Madhusudan.C.S <madhusudancs@gmail.com>
parents: 2945
diff changeset
   114
        }
f6515daaf000 Enable document system for GHOP
Madhusudan.C.S <madhusudancs@gmail.com>
parents: 2945
diff changeset
   115
2888
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   116
    params = dicts.merge(params, new_params, sub_merge=True)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   117
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   118
    super(View, self).__init__(params=params)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   119
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   120
  def _public(self, request, entity, context):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   121
    """See base.View._public().
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   122
    """
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   123
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   124
    from soc.modules.ghop.views.models import task as ghop_task_view
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   125
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   126
    contents = []
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   127
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   128
    ghop_program_entity = entity.scope
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   129
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   130
    if timeline_helper.isAfterEvent(ghop_program_entity.timeline,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   131
                                    'student_signup_start'):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   132
      # open tasks
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   133
      to_params = ghop_task_view.view.getParams().copy()
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   134
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   135
      # define the list redirect action to show the task public page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   136
      to_params['list_action'] = (redirects.getPublicRedirect, to_params)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   137
      to_params['list_description'] = self.DEF_OPEN_PROJECTS_MSG_FMT %(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   138
          entity.name)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   139
      to_params['list_heading'] = 'modules/ghop/task/list/heading.html'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   140
      to_params['list_row'] = 'modules/ghop/task/list/row.html'
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   141
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   142
      filter = {'scope': entity,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   143
                'status': ['Open', 'Reopened']}
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   144
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   145
      to_list = lists.getListContent(request, to_params, filter, idx=0,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   146
                                     need_content=True)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   147
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   148
      if to_list:
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   149
        to_list['data'].sort(key=lambda task: task.modified_on)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   150
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   151
        contents.append(to_list)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   152
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   153
      # claimed tasks
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   154
      tc_params = to_params.copy()
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   155
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   156
      tc_params['list_description'] = self.DEF_CLAIMED_PROJECTS_MSG_FMT %(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   157
          entity.name)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   158
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   159
      filter = {'scope': entity,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   160
                'status': ['ClaimRequested', 'Claimed', 'NeedsAction',
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   161
                           'NeedsReview', 'NeedsWork']}
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   162
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   163
      tc_list = lists.getListContent(request, tc_params, filter, idx=1,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   164
                                     need_content=True)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   165
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   166
      if tc_list:
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   167
        tc_list['data'].sort(key=lambda task: task.modified_on)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   168
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   169
        contents.append(tc_list)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   170
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   171
      # closed tasks
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   172
      tcs_params = to_params.copy()
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   173
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   174
      tcs_params['list_description'] = self.DEF_CLOSED_PROJECTS_MSG_FMT %(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   175
          entity.name)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   176
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   177
      filter = {'scope': entity,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   178
                'status': ['AwaitingRegistration', 'Closed']}
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   179
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   180
      tcs_list = lists.getListContent(request, tcs_params, filter, idx=2,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   181
                                      need_content=True)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   182
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   183
      if tcs_list:
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   184
        tcs_list['data'].sort(key=lambda task: task.modified_on)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   185
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   186
        contents.append(tcs_list)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   187
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   188
      # construct the list and put it into the context
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   189
      context['list'] = soc.logic.lists.Lists(contents)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   190
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   191
    return super(View, self)._public(request=request, entity=entity,
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   192
                                     context=context)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   193
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   194
  def _getExtraMenuItems(self, role_description, params=None):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   195
    """Used to create the specific GHOP Organization menu entries.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   196
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   197
    For args see soc.views.models.organization.View._getExtraMenuItems().
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   198
    """
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   199
    submenus = []
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   200
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   201
    group_entity = role_description['group']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   202
    program_entity = group_entity.scope
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   203
    roles = role_description['roles']
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   204
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   205
    if roles.get('ghop_org_admin') or roles.get('ghop_mentor'):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   206
      # add a link to view all the organization tasks.
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   207
      submenu = (ghop_redirects.getListTasksRedirect(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   208
          group_entity, {'url_name': 'ghop/task'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   209
          "View all Tasks", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   210
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   211
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   212
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   213
    if roles.get('ghop_org_admin'):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   214
      # add a link to create task
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   215
      submenu = (redirects.getCreateRedirect(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   216
           group_entity, {'url_name': 'ghop/task'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   217
          "Create a Task", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   218
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   219
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   220
      # add a link to the management page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   221
      submenu = (redirects.getListRolesRedirect(group_entity, params),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   222
          "Manage Admins and Mentors", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   223
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   224
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   225
      # add a link to invite an org admin
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   226
      submenu = (redirects.getInviteRedirectForRole(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   227
          group_entity, 'ghop/org_admin'),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   228
          "Invite an Admin", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   229
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   230
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   231
      # add a link to invite a member
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   232
      submenu = (redirects.getInviteRedirectForRole(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   233
          group_entity, 'ghop/mentor'), "Invite a Mentor", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   234
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   235
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   236
      # add a link to the request page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   237
      submenu = (redirects.getListRequestsRedirect(group_entity, params),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   238
          "List Requests and Invites", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   239
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   240
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   241
      # add a link to the edit page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   242
      submenu = (redirects.getEditRedirect(group_entity, params),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   243
          "Edit Organization Profile", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   244
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   245
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   246
    if roles.get('ghop_mentor'):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   247
      # add a link to suggest task
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   248
      submenu = (ghop_redirects.getSuggestTaskRedirect(
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   249
          group_entity, {'url_name': 'ghop/task'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   250
          "Suggest a Task", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   251
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   252
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   253
    if roles.get('ghop_org_admin') or roles.get('ghop_mentor'):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   254
      submenu = (redirects.getCreateDocumentRedirect(group_entity, 'ghop_org'),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   255
          "Create a New Document", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   256
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   257
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   258
      submenu = (redirects.getListDocumentsRedirect(group_entity, 'ghop_org'),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   259
          "List Documents", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   260
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   261
3037
4e734bc7b227 Fixes issue 697.
Daniel Hans <Daniel.M.Hans@gmail.com>
parents: 2957
diff changeset
   262
    if roles.get('ghop_org_admin'):
2888
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   263
      # add a link to the resign page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   264
      submenu = (redirects.getManageRedirect(roles['ghop_org_admin'],
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   265
          {'url_name': 'ghop/org_admin'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   266
          "Resign as Admin", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   267
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   268
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   269
      # add a link to the edit page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   270
      submenu = (redirects.getEditRedirect(roles['ghop_org_admin'],
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   271
          {'url_name': 'ghop/org_admin'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   272
          "Edit My Admin Profile", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   273
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   274
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   275
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   276
    if roles.get('ghop_mentor'):
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   277
      # add a link to the resign page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   278
      submenu = (redirects.getManageRedirect(roles['ghop_mentor'],
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   279
          {'url_name' : 'ghop/mentor'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   280
          "Resign as Mentor", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   281
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   282
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   283
      # add a link to the edit page
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   284
      submenu = (redirects.getEditRedirect(roles['ghop_mentor'],
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   285
          {'url_name': 'ghop/mentor'}),
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   286
          "Edit My Mentor Profile", 'any_access')
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   287
      submenus.append(submenu)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   288
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   289
    return submenus
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   290
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   291
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   292
view = View()
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   293
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   294
admin = decorators.view(view.admin)
2945
4752074c1af3 Added apply_mentor view to GHOPOrganization view.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2944
diff changeset
   295
apply_mentor = decorators.view(view.applyMentor)
2888
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   296
create = decorators.view(view.create)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   297
delete = decorators.view(view.delete)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   298
edit = decorators.view(view.edit)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   299
list = decorators.view(view.list)
2944
4ef4f0c0c26e Added 2 missing views to the GHOPOrganization View.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2888
diff changeset
   300
list_requests = decorators.view(view.listRequests)
4ef4f0c0c26e Added 2 missing views to the GHOPOrganization View.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2888
diff changeset
   301
list_roles = decorators.view(view.listRoles)
2888
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   302
public = decorators.view(view.public)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   303
export = decorators.view(view.export)
e85c47c17abc Added GHOP Organization View.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   304
home = decorators.view(view.home)