app/soc/views/models/club.py
author Pawel Solyga <Pawel.Solyga@gmail.com>
Sun, 01 Feb 2009 16:10:20 +0000
changeset 1152 b82caf7bb17c
parent 1144 f89bbc9b20a6
child 1153 4804f7f5a7c0
permissions -rw-r--r--
Add Google Maps integration for Role profiles create/edit views. Now when editing/creating your Role Profile page Google Maps widget will show up at the bottom of the form as "Location" field. When you type in your Street, City, Country or State it will automatically update the map with the location based on your address. The zoom level depends on the address information you provided. So for example if you just select Country it will be different then when you select both Country and City. The longitude and latitude fields are hidden and are updated with the coordinates from the address you provided. Also if the map is not accurate enough you can adjust your location by dragging the red market, which will change your location and save new coordinates into hidden fields. This patch also includes some style fixes in soc.views.models.role module. Patch by: Mario Ferraro & Pawel Solyga Reviewed by: Pawel Solyga
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     2
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     4
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     8
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    10
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    16
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    17
"""Views for Clubs.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    18
"""
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    19
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    20
__authors__ = [
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
    21
    '"Sverre Rabbelier" <sverre@rabbelier.nl>',
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    22
    '"Lennard de Rijk" <ljvderijk@gmail.com>',
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    23
  ]
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    24
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    25
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    26
from django import http
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    27
from django import forms
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    28
1083
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
    29
from soc.logic import cleaning
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    30
from soc.logic import dicts
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    31
from soc.logic.models import user as user_logic
882
267e31f1a0b6 Added club_app model and logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 878
diff changeset
    32
from soc.logic.models import club_app as club_app_logic
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
    33
from soc.logic.models import club as club_logic
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    34
from soc.logic.models import request as request_logic
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    35
from soc.views import out_of_band
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    36
from soc.views.helper import access
878
fdfab50cc9df Fix trailing whitespace and apply decorators
Sverre Rabbelier <srabbelier@gmail.com>
parents: 877
diff changeset
    37
from soc.views.helper import decorators
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    38
from soc.views.helper import dynaform
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
    39
from soc.views.helper import redirects
896
445f3e8a44d9 Fixed import sorting and indentation in soc/views/models/club.py
Lennard de Rijk <ljvderijk@gmail.com>
parents: 884
diff changeset
    40
from soc.views.helper import responses
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    41
from soc.views.helper import widgets
989
f52654ea6350 Moved listRequests from club to group view.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 983
diff changeset
    42
from soc.views.models import group
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    43
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    44
import soc.logic.models.club
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    45
import soc.views.helper
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    46
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    47
989
f52654ea6350 Moved listRequests from club to group view.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 983
diff changeset
    48
class View(group.View):
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    49
  """View methods for the Club model.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    50
  """
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    51
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    52
  def __init__(self, params=None):
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    53
    """Defines the fields and methods required for the base View class
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    54
    to provide the user with list, public, create, edit and delete views.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    55
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    56
    Params:
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    57
      params: a dict with params for this View
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    58
    """
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    59
1007
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    60
    rights = access.Checker(params)
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    61
    rights['create'] = ['checkIsDeveloper']
1063
f529113e1bc5 Redone access checks in club and sponsor model to deal with state property in their model.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1030
diff changeset
    62
    rights['edit'] = ['checkIsClubAdminForClub', ('checkIsGroupActive', club_logic)]
1007
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    63
    rights['delete'] = ['checkIsDeveloper']
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    64
    rights['home'] = ['allow']
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    65
    rights['list'] = ['checkIsDeveloper']
1063
f529113e1bc5 Redone access checks in club and sponsor model to deal with state property in their model.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1030
diff changeset
    66
    rights['apply_member'] = ['checkIsUser', ('checkIsGroupActive', club_logic)]
1007
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    67
    rights['list_requests'] = ['checkIsClubAdminForClub']
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    68
    rights['list_roles'] = ['checkIsClubAdminForClub']
3b66772d21a5 Major refactor of the access module
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1006
diff changeset
    69
    rights['applicant'] = [('checkIsApplicationAccepted', club_app_logic)]
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    70
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    71
    new_params = {}
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    72
    new_params['logic'] = soc.logic.models.club.logic
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    73
    new_params['rights'] = rights
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    74
    new_params['name'] = "Club"
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    75
    new_params['url_name'] = "club"
1025
1f83f05f522b Add grouping to the existing views
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1012
diff changeset
    76
    new_params['sidebar_grouping'] = 'Clubs'
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
    77
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    78
    patterns = []
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    79
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    80
    patterns += [(r'^%(url_name)s/(?P<access_type>applicant)/%(key_fields)s$',
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    81
        'soc.views.models.%(module_name)s.applicant', 
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    82
        "%(name)s Creation via Accepted Application"),
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    83
        (r'^%(url_name)s/(?P<access_type>apply_member)$',
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    84
        'soc.views.models.%(module_name)s.apply_member', 
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    85
        "List of all %(name_plural)s you can apply to"),]
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
    86
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    87
    new_params['extra_django_patterns'] = patterns
799
30a912906a57 Construct names automatically from base name.
Sverre Rabbelier <srabbelier@gmail.com>
parents: 790
diff changeset
    88
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    89
    new_params['sidebar_additional'] = [
1010
aeed003f50c5 Fixed two access related bugs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1007
diff changeset
    90
        ('/' + new_params['url_name'] + '/apply_member', 'Join a Club', 'apply_member'),]
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
    91
1083
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
    92
    new_params['create_extra_dynafields'] = {
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
    93
        'clean_link_id': cleaning.clean_new_club_link_id('link_id', 
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
    94
            club_logic, club_app_logic)
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
    95
        }
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    96
    new_params['edit_extra_dynafields'] = {
1083
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
    97
        'clean_link_id': cleaning.clean_link_id('link_id')
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    98
        }
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    99
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   100
    params = dicts.merge(params, new_params)
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   101
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   102
    super(View, self).__init__(params=params)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   103
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   104
    # create and store the special form for applicants
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   105
    updated_fields = {
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   106
        'link_id': forms.CharField(widget=widgets.ReadOnlyInput(),
1083
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
   107
            required=False),
b8018d7a9f23 Moved clean_club_app_link_id to cleaning.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1069
diff changeset
   108
        'clean_link_id': cleaning.clean_link_id('link_id')}
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   109
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   110
    applicant_create_form = dynaform.extendDynaForm(
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   111
        dynaform = self._params['create_form'],
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   112
        dynafields = updated_fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   113
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   114
    params['applicant_create_form'] = applicant_create_form
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   115
878
fdfab50cc9df Fix trailing whitespace and apply decorators
Sverre Rabbelier <srabbelier@gmail.com>
parents: 877
diff changeset
   116
  @decorators.merge_params
fdfab50cc9df Fix trailing whitespace and apply decorators
Sverre Rabbelier <srabbelier@gmail.com>
parents: 877
diff changeset
   117
  @decorators.check_access
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   118
  def applicant(self, request, access_type,
907
3786030d5952 Fix idention in soc.views.models.club module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 896
diff changeset
   119
                page_name=None, params=None, **kwargs):
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   120
    """Handles the creation of a club via an approved club application.
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   121
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   122
    Args:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   123
      request: the standard Django HTTP request object
919
3f9072bab1d4 Added missing comment to soc/views/models/club.py.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 907
diff changeset
   124
      access_type : the name of the access type which should be checked
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   125
      page_name: the page name displayed in templates as page and header title
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   126
      params: a dict with params for this View
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   127
      kwargs: the Key Fields for the specified entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   128
    """
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   129
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   130
    # get the context for this webpage
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   131
    context = responses.getUniversalContext(request)
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   132
    context['page_name'] = page_name
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   133
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   134
    if request.method == 'POST':
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   135
      return self.applicantPost(request, context, params, **kwargs)
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   136
    else:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   137
      # request.method == 'GET'
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   138
      return self.applicantGet(request, context, params, **kwargs)
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   139
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   140
  def applicantGet(self, request, context, params, **kwargs):
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   141
    """Handles the GET request concerning the creation of a club via an
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   142
    approved club application.
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   143
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   144
    Args:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   145
      request: the standard Django HTTP request object
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   146
      context: dictionary containing the context for this view
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   147
      params: a dict with params for this View
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   148
      kwargs: the Key Fields for the specified entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   149
    """
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   150
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   151
    # find the application
1115
0a723ff3d27c Cleanups in base.Logic
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1110
diff changeset
   152
    key_fields = club_app_logic.logic.getKeyFieldsFromFields(kwargs)
0a723ff3d27c Cleanups in base.Logic
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1110
diff changeset
   153
    application = club_app_logic.logic.getFromKeyFields(key_fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   154
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   155
    # extract the application fields
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   156
    field_names = application.properties().keys()
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   157
    fields = dict( [(i, getattr(application, i)) for i in field_names] )
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   158
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   159
    # create the form using the fields from the application as the initial value
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   160
    form = params['applicant_create_form'](initial=fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   161
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   162
    # construct the appropriate response
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   163
    return super(View, self)._constructResponse(request, entity=None,
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   164
        context=context, form=form, params=params)
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   165
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   166
  def applicantPost(self, request, context, params, **kwargs):
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   167
    """Handles the POST request concerning the creation of a club via an
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   168
    approved club application.
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   169
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   170
    Args:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   171
      request: the standard Django HTTP request object
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   172
      context: dictionary containing the context for this view
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   173
      params: a dict with params for this View
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   174
      kwargs: the Key Fields for the specified entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   175
    """
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   176
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   177
    # populate the form using the POST data
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   178
    form = params['applicant_create_form'](request.POST)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   179
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   180
    if not form.is_valid():
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   181
      # return the invalid form response
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   182
      return self._constructResponse(request, entity=None, context=context,
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   183
          form=form, params=params)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   184
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   185
    # collect the cleaned data from the valid form
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   186
    key_name, fields = soc.views.helper.forms.collectCleanedFields(form)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   187
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   188
    # fill in the founder of the club
1110
027efd049770 soc/views/models/club.py now uses getForCurrentAccount where necessary.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1097
diff changeset
   189
    user = user_logic.logic.getForCurrentAccount()
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   190
    fields['founder'] = user
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   191
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   192
    if not key_name:
1115
0a723ff3d27c Cleanups in base.Logic
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1110
diff changeset
   193
      key_fields =  self._logic.getKeyFieldsFromFields(fields)
0a723ff3d27c Cleanups in base.Logic
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1110
diff changeset
   194
      key_name = self._logic.getKeyNameFromFields(key_fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   195
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   196
    # create the club entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   197
    entity = self._logic.updateOrCreateFromKeyName(fields, key_name)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   198
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   199
    # redirect to notifications list to see the admin invite
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   200
    return http.HttpResponseRedirect('/notification/list')
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   201
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   202
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   203
  @decorators.merge_params
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   204
  @decorators.check_access
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   205
  def applyMember(self, request, access_type,
1030
a0081c626acb Style fixes in soc.views.models modules.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 1025
diff changeset
   206
                  page_name=None, params=None, **kwargs):
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   207
    """Shows a list of all clubs and you can choose one to apply to become a member.
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   208
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   209
    Args:
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   210
      request: the standard Django HTTP request object
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   211
      access_type : the name of the access type which should be checked
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   212
      page_name: the page name displayed in templates as page and header title
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   213
      params: a dict with params for this View
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   214
      kwargs: the Key Fields for the specified entity
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   215
    """
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   216
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   217
    list_params = params.copy()
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   218
    list_params['list_action'] = (redirects.getRequestRedirectForRole, 'club_member')
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   219
    list_params['list_description'] = 'Choose a club to apply to become a Club Member'
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   220
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   221
    return self.list(request, access_type, 
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   222
        page_name, params=list_params, filter=None)
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   223
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   224
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   225
  def _getExtraMenuItems(self, role_description, params=None):
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   226
    """Used to create the specific club menu entries.
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   227
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   228
    For args see group.View._getExtraMenuItems().
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   229
    """
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   230
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   231
    submenus = []
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   232
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   233
    group_entity = role_description['group']
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   234
    roles = role_description['roles']
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   235
  
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   236
    if roles.get('club_admin'):
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   237
      # add a link to the management page
1097
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   238
      submenu = (redirects.getListRolesRedirect(group_entity, params),
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   239
          "Manage Admins and Members", 'any_access')
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   240
      submenus.append(submenu)
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   241
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   242
      # add a link to invite an admin
1097
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   243
      submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_admin'),
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   244
          "Invite an Admin", 'any_access')
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   245
      submenus.append(submenu)
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   246
1004
bfc8e9582c47 Fixed typo in club sidebar entry.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1003
diff changeset
   247
      # add a link to invite a member
1097
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   248
      submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_member'),
1004
bfc8e9582c47 Fixed typo in club sidebar entry.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1003
diff changeset
   249
          "Invite a Member", 'any_access')
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   250
      submenus.append(submenu)
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   251
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   252
      # add a link to the request page
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   253
      submenu = (redirects.getListRequestsRedirect(group_entity, params), 
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   254
          "List Requests and Invites", 'any_access')
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   255
      submenus.append(submenu)
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   256
1005
46b3e946a3e1 Changed method name in access.py to fix overwriting another method.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1004
diff changeset
   257
      # add a link to the edit page
46b3e946a3e1 Changed method name in access.py to fix overwriting another method.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1004
diff changeset
   258
      submenu = (redirects.getEditRedirect(group_entity, params), 
46b3e946a3e1 Changed method name in access.py to fix overwriting another method.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1004
diff changeset
   259
          "Edit Club Profile", 'any_access')
46b3e946a3e1 Changed method name in access.py to fix overwriting another method.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1004
diff changeset
   260
      submenus.append(submenu)
46b3e946a3e1 Changed method name in access.py to fix overwriting another method.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1004
diff changeset
   261
1069
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   262
      # add a link to resign as club admin
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   263
      submenu = (redirects.getManageRedirect(roles['club_admin'], 
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   264
          {'url_name': 'club_admin'}), 
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   265
          "Resign as Club Admin", 'any_access')
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   266
      submenus.append(submenu)
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   267
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   268
    if roles.get('club_member'):
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   269
      # add a link to resign as club member
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   270
      submenu = (redirects.getManageRedirect(roles['club_member'], 
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   271
          {'url_name' : 'club_member'}), 
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   272
          "Resign as Club Member", 'any_access')
e8bcc5a26532 Added resign as club admin and club member links to the club entity menu.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1063
diff changeset
   273
      submenus.append(submenu)
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   274
1097
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   275
    if roles.get('club_member') or roles.get('club_admin'):
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   276
      submenu = (redirects.getCreateDocumentRedirect(group_entity, 'club'),
1144
f89bbc9b20a6 Rename 'Create a new document' links to 'Create a New Document', also rename 'Create a new Program' to 'Create a New Program' in soc.views.models modules.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 1127
diff changeset
   277
          "Create a New Document", 'any_access')
1097
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   278
      submenus.append(submenu)
1f7015b33a0c Add a 'Create new document' link for clubs, sponsors and programs
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1083
diff changeset
   279
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   280
    return submenus
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   281
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   282
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   283
view = View()
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   284
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   285
applicant = view.applicant
1006
6abf12b9e646 Added a sidebar link for all users that accepted the ToS to a view that allows you to choose a club which you want to become a member for.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1005
diff changeset
   286
apply_member = view.applyMember
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   287
create = view.create
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   288
delete = view.delete
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   289
edit = view.edit
1003
b13da1ddcd50 Added sidebar entries for club entities.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 998
diff changeset
   290
home = view.home
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   291
list = view.list
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   292
list_requests = view.listRequests
998
125257161908 Implemented the listing of all the roles in for a specific group.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 993
diff changeset
   293
list_roles = view.listRoles
814
25ffebd9fa8f Implement the checkIsClubAppAccepted function
Sverre Rabbelier <srabbelier@gmail.com>
parents: 802
diff changeset
   294
public = view.public
858
e79e7a22326f Add an export() view, and implement it as text/text for Document.
Todd Larsen <tlarsen@google.com>
parents: 846
diff changeset
   295
export = view.export
934
9fcc08971efe Add a 'pick' view to the appropriate views
Sverre Rabbelier <srabbelier@gmail.com>
parents: 919
diff changeset
   296
pick = view.pick