diff -r 606871fda11c -r 24c0a9da6360 app/soc/views/models/role.py --- a/app/soc/views/models/role.py Sat Jan 24 16:39:34 2009 +0000 +++ b/app/soc/views/models/role.py Sat Jan 24 17:07:26 2009 +0000 @@ -61,18 +61,37 @@ new_params = {} # TODO(ljvderijk) parameterize these patterns - patterns = [(r'^%(url_name)s/(?Pinvite)/%(scope)s$', - 'soc.views.models.%(module_name)s.invite', - 'Create invite for %(name)s'), - (r'^%(url_name)s/(?Paccept_invite)/%(scope)s/%(lnp)s$', - 'soc.views.models.%(module_name)s.accept_invite', - 'Accept invite for %(name)s'), - (r'^%(url_name)s/(?Prequest)/%(scope)s$', - 'soc.views.models.%(module_name)s.request', - 'Create a Request to become %(name)s'), - (r'^%(url_name)s/(?Pprocess_request)/%(scope)s/%(lnp)s$', - 'soc.views.models.%(module_name)s.process_request', - 'Process request for %(name)s')] + + patterns = params.get('extra_django_patterns') + + if not patterns: + patterns = [] + + if params.get('allow_requests_and_invites'): + # add patterns concerning requests and invites + patterns += [(r'^%(url_name)s/(?Pinvite)/%(scope)s$', + 'soc.views.models.%(module_name)s.invite', + 'Create invite for %(name)s'), + (r'^%(url_name)s/(?Paccept_invite)/%(scope)s/%(lnp)s$', + 'soc.views.models.%(module_name)s.accept_invite', + 'Accept invite for %(name)s'), + (r'^%(url_name)s/(?Pprocess_request)/%(scope)s/%(lnp)s$', + 'soc.views.models.%(module_name)s.process_request', + 'Process request for %(name)s'), + (r'^%(url_name)s/(?Prequest)/%(scope)s$', + 'soc.views.models.%(module_name)s.request', + 'Create a Request to become %(name)s')] + elif params.get('allow_invites'): + # add patterns concerning only invites + patterns += [(r'^%(url_name)s/(?Pinvite)/%(scope)s$', + 'soc.views.models.%(module_name)s.invite', + 'Create invite for %(name)s'), + (r'^%(url_name)s/(?Paccept_invite)/%(scope)s/%(lnp)s$', + 'soc.views.models.%(module_name)s.accept_invite', + 'Accept invite for %(name)s'), + (r'^%(url_name)s/(?Pprocess_request)/%(scope)s/%(lnp)s$', + 'soc.views.models.%(module_name)s.process_request', + 'Process request for %(name)s')] new_params['extra_django_patterns'] = patterns new_params['scope_redirect'] = redirects.getInviteRedirect @@ -465,4 +484,4 @@ #display the request processing page using the appropriate template template = request_view.view.getParams()['request_processing_template'] - return responses.respond(request, template, context=context) \ No newline at end of file + return responses.respond(request, template, context=context)