app/soc/views/models/org_app.py
changeset 1225 1d5c58e24fd3
parent 1205 2e88261aba72
child 1230 b1b1897e4df1
--- a/app/soc/views/models/org_app.py	Thu Feb 05 22:13:49 2009 +0000
+++ b/app/soc/views/models/org_app.py	Thu Feb 05 22:15:38 2009 +0000
@@ -29,6 +29,7 @@
 from soc.logic import models as model_logic
 from soc.logic.models import org_app as org_app_logic
 from soc.views.helper import access
+from soc.views.helper import decorators
 from soc.views.helper import redirects
 from soc.views.models import group_app
 from soc.views.models import program as program_view
@@ -48,18 +49,23 @@
       params: a dict with params for this View
     """
 
-    #TODO(ljvderijk) do the right rights check
     rights = access.Checker(params)
     rights['create'] = ['checkIsDeveloper']
     rights['delete'] = [('checkCanEditGroupApp',
-                       [org_app_logic.logic])]
+                       [org_app_logic.logic]),
+                       ('checkIsActivePeriod', ['org_signup', 'scope_path'])]
     rights['edit'] = [('checkCanEditGroupApp',
-                       [org_app_logic.logic])]
+                       [org_app_logic.logic]),
+                       ('checkIsActivePeriod', ['org_signup', 'scope_path'])]
     rights['list'] = ['checkIsDeveloper']
     rights['public'] = [('checkCanEditGroupApp',
                        [org_app_logic.logic])]
-    rights['review'] = ['checkIsDeveloper',
+    # TODO(ljvderijk) fix host access check
+    rights['review'] = ['checkIsHostForProgram',
                         ('checkCanReviewGroupApp', [org_app_logic.logic])]
+    rights['review_overview'] = ['checkIsDeveloper']
+    rights['apply'] = ['checkIsUser',
+                             ('checkCanCreateOrgApp', ['org_signup'])]
 
     new_params = {}
 
@@ -71,6 +77,12 @@
 
     new_params['sidebar_grouping'] = 'Organizations'
 
+    patterns = [(r'^%(url_name)s/(?P<access_type>apply)/%(scope)s$',
+        'soc.views.models.%(module_name)s.create',
+        'Create an %(name_plural)s'),]
+
+    new_params['extra_django_patterns'] = patterns
+
     new_params['extra_dynaexclude'] = ['applicant', 'backup_admin', 'status',
         'created_on', 'last_modified_on']