app/soc/views/models/club.py
changeset 1638 ee654f3d1bba
parent 1584 d8ba8c917f37
child 1875 69d60793092a
equal deleted inserted replaced
1637:17f2fd8091c3 1638:ee654f3d1bba
    22     '"Lennard de Rijk" <ljvderijk@gmail.com>',
    22     '"Lennard de Rijk" <ljvderijk@gmail.com>',
    23   ]
    23   ]
    24 
    24 
    25 
    25 
    26 from django import forms
    26 from django import forms
       
    27 from django.utils.translation import ugettext
    27 
    28 
    28 from soc.logic import cleaning
    29 from soc.logic import cleaning
    29 from soc.logic import dicts
    30 from soc.logic import dicts
    30 from soc.logic.models import user as user_logic
       
    31 from soc.logic.models import club_app as club_app_logic
    31 from soc.logic.models import club_app as club_app_logic
    32 from soc.logic.models import club  as club_logic
    32 from soc.logic.models import club  as club_logic
    33 from soc.logic.models import club_admin as club_admin_logic
    33 from soc.logic.models import club_admin as club_admin_logic
    34 from soc.logic.models import request as request_logic
       
    35 from soc.views import out_of_band
       
    36 from soc.views.helper import access
    34 from soc.views.helper import access
    37 from soc.views.helper import decorators
    35 from soc.views.helper import decorators
    38 from soc.views.helper import dynaform
    36 from soc.views.helper import dynaform
    39 from soc.views.helper import redirects
    37 from soc.views.helper import redirects
    40 from soc.views.helper import responses
       
    41 from soc.views.helper import widgets
    38 from soc.views.helper import widgets
    42 from soc.views.models import group
    39 from soc.views.models import group
    43 
    40 
    44 import soc.logic.models.club
    41 import soc.logic.models.club
    45 
    42 
    62                       ('checkGroupIsActiveForLinkId', club_logic.logic)]
    59                       ('checkGroupIsActiveForLinkId', club_logic.logic)]
    63     rights['delete'] = ['checkIsDeveloper']
    60     rights['delete'] = ['checkIsDeveloper']
    64     rights['home'] = ['allow']
    61     rights['home'] = ['allow']
    65     rights['list'] = ['checkIsDeveloper']
    62     rights['list'] = ['checkIsDeveloper']
    66     rights['apply_member'] = ['checkIsUser',
    63     rights['apply_member'] = ['checkIsUser',
    67                               ('checkGroupIsActiveForScopeAndLinkId', club_logic.logic)]
    64                               ('checkGroupIsActiveForScopeAndLinkId', 
    68     rights['list_requests'] = [('checkHasActiveRoleForLinkId', club_admin_logic.logic)]
    65                                club_logic.logic)]
    69     rights['list_roles'] = [('checkHasActiveRoleForLinkId', club_admin_logic.logic)]
    66     rights['list_requests'] = [('checkHasActiveRoleForLinkId', 
       
    67                                 club_admin_logic.logic)]
       
    68     rights['list_roles'] = [('checkHasActiveRoleForLinkId', 
       
    69                              club_admin_logic.logic)]
    70     rights['applicant'] = [('checkIsApplicationAccepted',
    70     rights['applicant'] = [('checkIsApplicationAccepted',
    71                             club_app_logic.logic)]
    71                             club_app_logic.logic)]
    72 
    72 
    73     new_params = {}
    73     new_params = {}
    74     new_params['logic'] = soc.logic.models.club.logic
    74     new_params['logic'] = soc.logic.models.club.logic
    90 
    90 
    91     new_params['application_logic'] = club_app_logic
    91     new_params['application_logic'] = club_app_logic
    92     new_params['group_applicant_url'] = True
    92     new_params['group_applicant_url'] = True
    93 
    93 
    94     new_params['sidebar_additional'] = [
    94     new_params['sidebar_additional'] = [
    95         ('/' + new_params['url_name'] + '/apply_member', 'Join a Club', 'apply_member'),]
    95         ('/' + new_params['url_name'] + '/apply_member', 
       
    96          'Join a Club', 'apply_member'),]
    96 
    97 
    97     new_params['create_extra_dynaproperties'] = {
    98     new_params['create_extra_dynaproperties'] = {
    98         'clean' : cleaning.validate_new_group('link_id', 'scope_path',
    99         'clean' : cleaning.validate_new_group('link_id', 'scope_path',
    99             club_logic, club_app_logic)}
   100             club_logic, club_app_logic)}
   100 
   101 
   120 
   121 
   121   @decorators.merge_params
   122   @decorators.merge_params
   122   @decorators.check_access
   123   @decorators.check_access
   123   def applyMember(self, request, access_type,
   124   def applyMember(self, request, access_type,
   124                   page_name=None, params=None, **kwargs):
   125                   page_name=None, params=None, **kwargs):
   125     """Shows a list of all clubs and you can choose one to apply to become a member.
   126     """Shows a list of all clubs and you can choose one to 
       
   127        apply to become a member.
   126 
   128 
   127     Args:
   129     Args:
   128       request: the standard Django HTTP request object
   130       request: the standard Django HTTP request object
   129       access_type : the name of the access type which should be checked
   131       access_type : the name of the access type which should be checked
   130       page_name: the page name displayed in templates as page and header title
   132       page_name: the page name displayed in templates as page and header title
   131       params: a dict with params for this View
   133       params: a dict with params for this View
   132       kwargs: the Key Fields for the specified entity
   134       kwargs: the Key Fields for the specified entity
   133     """
   135     """
   134 
   136 
   135     list_params = params.copy()
   137     list_params = params.copy()
   136     list_params['list_action'] = (redirects.getRequestRedirectForRole, 'club_member')
   138     list_params['list_action'] = (redirects.getRequestRedirectForRole, 
   137     list_params['list_description'] = 'Choose a club to apply to become a Club Member'
   139                                   'club_member')
       
   140     list_params['list_description'] = ugettext('Choose a club to ' 
       
   141                                                'apply to become a Club Member.')
   138 
   142 
   139     return self.list(request, access_type, 
   143     return self.list(request, access_type, 
   140         page_name, params=list_params, filter=None)
   144         page_name, params=list_params, filter=None)
   141 
   145 
   142 
   146 
   161       submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_admin'),
   165       submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_admin'),
   162           "Invite an Admin", 'any_access')
   166           "Invite an Admin", 'any_access')
   163       submenus.append(submenu)
   167       submenus.append(submenu)
   164 
   168 
   165       # add a link to invite a member
   169       # add a link to invite a member
   166       submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_member'),
   170       submenu = (redirects.getInviteRedirectForRole(group_entity, 
   167           "Invite a Member", 'any_access')
   171           'club_member'), "Invite a Member", 'any_access')
   168       submenus.append(submenu)
   172       submenus.append(submenu)
   169 
   173 
   170       # add a link to the request page
   174       # add a link to the request page
   171       submenu = (redirects.getListRequestsRedirect(group_entity, params), 
   175       submenu = (redirects.getListRequestsRedirect(group_entity, params), 
   172           "List Requests and Invites", 'any_access')
   176           "List Requests and Invites", 'any_access')