app/soc/modules/ghop/views/models/organization.py
author Daniel Hans <Daniel.M.Hans@gmail.com>
Sun, 25 Oct 2009 11:59:05 +0100
changeset 3037 4e734bc7b227
parent 2957 f6515daaf000
permissions -rw-r--r--
Fixes issue 697.
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)