app/soc/views/models/role.py
changeset 963 24c0a9da6360
parent 962 606871fda11c
child 964 63005fcf12df
--- 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/(?P<access_type>invite)/%(scope)s$',
-        'soc.views.models.%(module_name)s.invite',
-        'Create invite for %(name)s'),
-        (r'^%(url_name)s/(?P<access_type>accept_invite)/%(scope)s/%(lnp)s$',
-        'soc.views.models.%(module_name)s.accept_invite',
-        'Accept invite for %(name)s'),
-        (r'^%(url_name)s/(?P<access_type>request)/%(scope)s$',
-        'soc.views.models.%(module_name)s.request',
-        'Create a Request to become %(name)s'),
-        (r'^%(url_name)s/(?P<access_type>process_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/(?P<access_type>invite)/%(scope)s$',
+          'soc.views.models.%(module_name)s.invite',
+          'Create invite for %(name)s'),
+          (r'^%(url_name)s/(?P<access_type>accept_invite)/%(scope)s/%(lnp)s$',
+          'soc.views.models.%(module_name)s.accept_invite',
+          'Accept invite for %(name)s'),
+          (r'^%(url_name)s/(?P<access_type>process_request)/%(scope)s/%(lnp)s$',
+          'soc.views.models.%(module_name)s.process_request',
+          'Process request for %(name)s'),
+          (r'^%(url_name)s/(?P<access_type>request)/%(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/(?P<access_type>invite)/%(scope)s$',
+          'soc.views.models.%(module_name)s.invite',
+          'Create invite for %(name)s'),
+          (r'^%(url_name)s/(?P<access_type>accept_invite)/%(scope)s/%(lnp)s$',
+          'soc.views.models.%(module_name)s.accept_invite',
+          'Accept invite for %(name)s'),
+          (r'^%(url_name)s/(?P<access_type>process_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)