Ignore:
Timestamp:
1 Jul 2025, 12:45:55 (5 days ago)
Author:
Henrik Bettermann
Message:

Transcript officers see original transcript without watermark.

Location:
main/waeup.uniben/trunk/src/waeup/uniben
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.uniben/trunk/src/waeup/uniben/browser/pdf.py

    r17520 r18103  
    2323import grok
    2424from waeup.kofa.browser.pdf import PDFCreator, LandscapePDFCreator
     25from waeup.kofa.utils.helpers import get_user_account
    2526
    2627class CustomPDFCreator(PDFCreator):
     
    3637    @property
    3738    def watermark_path(self):
     39        self.watermark_pos = [-25, 100]
    3840        if self.view and self.view.__name__ == 'transcript.pdf':
    39             if self.view.request.principal.id not in ('xyz',):
    40                 self.watermark_pos = [95, 190]
    41                 return os.path.join(
    42                     os.path.dirname(__file__), 'static', 'pdf_stud_only.jpg')
    43             #usertype = getattr(self.view.request.principal, 'user_type', None)
    44             #if usertype and usertype == 'student':
     41            account = get_user_account(self.view.request)
     42            if account:
     43                site_roles = get_user_account(self.view.request).roles
     44                if 'waeup.TranscriptOfficer' in site_roles:
     45                    return os.path.join(
     46                        os.path.dirname(__file__), 'static', 'pdf_watermark.jpg')
     47            self.watermark_pos = [95, 190]
     48            return os.path.join(
     49                os.path.dirname(__file__), 'static', 'pdf_stud_only.jpg')
    4550        return os.path.join(
    4651            os.path.dirname(__file__), 'static', 'pdf_watermark.jpg')
  • main/waeup.uniben/trunk/src/waeup/uniben/students/tests/test_browser.py

    r18101 r18103  
    11031103        self.assertEqual(self.browser.headers['Status'], '200 Ok')
    11041104        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
    1105         path = os.path.join(samples_dir(), 'transcript.pdf')
     1105        path = os.path.join(samples_dir(), 'transcript_student.pdf')
    11061106        open(path, 'wb').write(self.browser.contents)
    11071107        print "Sample PDF transcript.pdf written to %s" % path
     1108        self.browser.open(transcript_path)
     1109        self.browser.getLink("Logout").click()
     1110        # Create officer
     1111        self.app['users'].addUser('mrtranscript', SECRET)
     1112        self.app['users']['mrtranscript'].email = 'mrtranscript@foo.ng'
     1113        self.app['users']['mrtranscript'].title = 'Ruth Gordon'
     1114        prmglobal = IPrincipalRoleManager(self.app)
     1115        prmglobal.assignRoleToPrincipal('waeup.TranscriptOfficer', 'mrtranscript')
     1116        # Login
     1117        self.browser.open(self.login_path)
     1118        self.browser.getControl(name="form.login").value = 'mrtranscript'
     1119        self.browser.getControl(name="form.password").value = SECRET
     1120        self.browser.getControl("Login").click()
     1121        self.browser.open(self.student_path + '/studycourse/transcript.pdf')
     1122        self.assertEqual(self.browser.headers['Status'], '200 Ok')
     1123        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
     1124        path = os.path.join(samples_dir(), 'transcript_officer.pdf')
     1125        open(path, 'wb').write(self.browser.contents)
     1126        print "Sample PDF transcript.pdf written to %s" % path
     1127
    11081128
    11091129    def test_student_accommodation(self):
Note: See TracChangeset for help on using the changeset viewer.