From d9f26f6099becf6f54002caba7ee86454188585b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 21 Apr 2011 15:55:24 +0200 Subject: [PATCH] Add support for restriction on mailing participants --- extra/modules/boconfig.ptl | 2 +- extra/modules/bodiffusion.ptl | 8 +++++++- extra/modules/quota.py | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/extra/modules/boconfig.ptl b/extra/modules/boconfig.ptl index 9dfb872..1c48f71 100644 --- a/extra/modules/boconfig.ptl +++ b/extra/modules/boconfig.ptl @@ -250,7 +250,7 @@ class ConfigDirectory(Directory): def logo(self): if not quota.can_logo(): - raise errors.NotAvailableFeature() + raise quota.NotAvailableFeature() form = Form(enctype='multipart/form-data', use_tokens=False) form.add(FileWidget, 'file', title = _('Theme'), required=True) diff --git a/extra/modules/bodiffusion.ptl b/extra/modules/bodiffusion.ptl index 1bd8cec..d4c03fd 100644 --- a/extra/modules/bodiffusion.ptl +++ b/extra/modules/bodiffusion.ptl @@ -46,6 +46,8 @@ from wcs.admin.fields import FieldWidget, FieldDefPage, FieldsDirectory from participanttokens import ParticipantToken from boresults import FormResultDirectory +import quota + access_mode_labels = { 'disabled': N_('Disabled'), 'public': N_('Public'), @@ -467,7 +469,8 @@ class DiffusionDirectory(Directory): '
  • %s
  • ' % _( 'Import list of participants to disable') '
  • %s
  • ' % _('Mail access codes') - '
  • %s
  • ' % _('Mail participants') + if quota.can_mail(): + '
  • %s
  • ' % _('Mail participants') '' '

    %s

    ' % _('Search a participant') @@ -830,6 +833,9 @@ class DiffusionDirectory(Directory): if get_request().form.get('job'): return self.participants_mailing() + if not quota.can_mail(): + raise quota.NotAvailableFeature() + emails_cfg = get_cfg('emails', {}) default_subject = EmailsDirectory.get_subject('asec-skeleton-participant-mail') diff --git a/extra/modules/quota.py b/extra/modules/quota.py index 0baeb7c..c7ae758 100644 --- a/extra/modules/quota.py +++ b/extra/modules/quota.py @@ -90,6 +90,9 @@ def can_logo(): def can_theme(): return get_boolean_quota('x-asec-can-theme') +def can_mail(): + return get_boolean_quota('x-asec-can-mail') + def is_locked(): return get_boolean_quota('x-asec-locked')