Added logic paramters to two access checks.
This is necessary because the GHOP module needs the same checks with other logics.
--- a/app/soc/views/helper/access.py Thu Oct 22 10:01:11 2009 +0200
+++ b/app/soc/views/helper/access.py Thu Oct 22 16:01:20 2009 +0200
@@ -1231,13 +1231,15 @@
# no roles found, access granted
return
- def checkIsNotStudentForProgramInScope(self, django_args, program_logic):
+ def checkIsNotStudentForProgramInScope(self, django_args, program_logic,
+ student_logic):
"""Checks if the current user is not a student for the given
program in django_args.
Args:
django_args: a dictionary with django's arguments
program_logic: Program Logic instance
+ student_logic: Student Logic instance
Raises:
AccessViolationResponse: if the current user has a student
@@ -1265,12 +1267,14 @@
return
- def checkIsNotStudentForProgramOfOrg(self, django_args):
+ def checkIsNotStudentForProgramOfOrg(self, django_args, org_logic, student_logic):
"""Checks if the current user has no active Student role for the program
that the organization in the scope_path is participating in.
Args:
django_args: a dictionary with django's arguments
+ org_logic: Organization logic instance
+ student_logic: Student logic instance
Raises:
AccessViolationResponse: if the current user is a student for the
--- a/app/soc/views/models/mentor.py Thu Oct 22 10:01:11 2009 +0200
+++ b/app/soc/views/models/mentor.py Thu Oct 22 16:01:20 2009 +0200
@@ -28,6 +28,7 @@
from soc.logic import dicts
from soc.logic.models import organization as org_logic
+from soc.logic.models import student as student_logic
from soc.views.helper import access
from soc.views.helper import decorators
from soc.views.helper import dynaform
@@ -60,8 +61,11 @@
rights['invite'] = [('checkHasActiveRoleForScope',
soc.logic.models.org_admin.logic)]
rights['accept_invite'] = [('checkCanCreateFromRequest', 'mentor'),
- 'checkIsNotStudentForProgramOfOrg']
- rights['request'] = ['checkIsNotStudentForProgramOfOrg',
+ ('checkIsNotStudentForProgramOfOrg', [org_logic.logic,
+ student_logic.logic])]
+ rights['request'] = [
+ ('checkIsNotStudentForProgramOfOrg',
+ [org_logic.logic, student_logic.logic]),
('checkCanMakeRequestToGroup', org_logic)]
rights['process_request'] = [
('checkHasActiveRoleForScope', soc.logic.models.org_admin.logic),
--- a/app/soc/views/models/org_admin.py Thu Oct 22 10:01:11 2009 +0200
+++ b/app/soc/views/models/org_admin.py Thu Oct 22 16:01:20 2009 +0200
@@ -30,6 +30,7 @@
from soc.logic.models import organization as org_logic
from soc.logic.models import org_admin as org_admin_logic
from soc.logic.models import org_app as org_app_logic
+from soc.logic.models import student as student_logic
from soc.views.helper import access
from soc.views.helper import decorators
from soc.views.helper import dynaform
@@ -65,7 +66,8 @@
rights['invite'] = [('checkHasActiveRoleForScope',
org_admin_logic.logic)]
rights['accept_invite'] = [('checkCanCreateFromRequest', 'org_admin'),
- 'checkIsNotStudentForProgramOfOrg']
+ ('checkIsNotStudentForProgramOfOrg', [org_logic.logic,
+ student_logic.logic])]
rights['process_request'] = [
('checkHasActiveRoleForScope', org_admin_logic.logic),
('checkCanProcessRequest', 'org_admin')]
--- a/app/soc/views/models/org_app.py Thu Oct 22 10:01:11 2009 +0200
+++ b/app/soc/views/models/org_app.py Thu Oct 22 16:01:20 2009 +0200
@@ -31,8 +31,9 @@
from soc.logic import mail_dispatcher
from soc.logic import models as model_logic
from soc.logic import system
+from soc.logic.models import org_app as org_app_logic
from soc.logic.models import program as program_logic
-from soc.logic.models import org_app as org_app_logic
+from soc.logic.models import student as student_logic
from soc.views import helper
from soc.views.helper import access
from soc.views.helper import decorators
@@ -76,7 +77,8 @@
rights['apply'] = ['checkIsUser',
('checkCanCreateOrgApp',
['org_signup', program_logic.logic]),
- ('checkIsNotStudentForProgramInScope', [program_logic.logic])]
+ ('checkIsNotStudentForProgramInScope',
+ [program_logic.logic, student_logic.logic])]
new_params = {}