~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/database.py

  • Committer: Matt Giuca
  • Date: 2010-02-12 04:19:45 UTC
  • Revision ID: matt.giuca@gmail.com-20100212041945-a79duog1jp1mbfnh
Added two new configuration options under [policy], for deciding whether tutors can enrol students and edit worksheets. The permissions set in database.py reflects these config options. Documented. This entirely fixes Launchpad Bug #520232 and Bug #493945, regarding tutors having too much power.

Show diffs side-by-side

added added

removed removed

Lines of Context:
379
379
                perms.add('view')
380
380
            if (enrolment and enrolment.role in (u'tutor', u'lecturer')) \
381
381
               or user.admin:
 
382
                # Site-specific policy on the role of tutors
 
383
                if config['policy']['tutors_can_enrol_students']:
 
384
                    perms.add('enrol')
 
385
                    perms.add('enrol_student')
 
386
                if config['policy']['tutors_can_edit_worksheets']:
 
387
                    perms.add('edit_worksheets')
 
388
            if (enrolment and enrolment.role in (u'lecturer')) or user.admin:
382
389
                perms.add('edit_worksheets')
383
 
            if (enrolment and enrolment.role in (u'lecturer')) or user.admin:
384
390
                perms.add('edit')           # Can edit projects & details
385
391
                perms.add('enrol')          # Can see enrolment screen at all
386
392
                perms.add('enrol_student')  # Can enrol students
860
866
            elif u'lecturer' in set((e.role for e in user.active_enrolments)):
861
867
                perms.add('edit')
862
868
                perms.add('view')
863
 
            elif u'tutor' in set((e.role for e in user.active_enrolments)):
 
869
            elif (config['policy']['tutors_can_edit_worksheets']
 
870
            and u'tutor' in set((e.role for e in user.active_enrolments))):
 
871
                # Site-specific policy on the role of tutors
864
872
                perms.add('edit')
865
873
                perms.add('view')
866
874