Ignore:
Timestamp:
19 Sep 2018, 21:17:50 (6 years ago)
Author:
Henrik Bettermann
Message:

First draft of transcript officer landing page.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/branches/henrik-transcript-workflow/src/waeup/kofa/browser/pages.py

    r15116 r15154  
    6060    ISessionConfiguration, ISessionConfigurationAdd, IJobManager,
    6161    IPasswordValidator, IContactForm, IKofaUtils, ICSVExporter,
    62     academic_sessions_vocab, DOCLINK, registration_states_vocab)
     62    academic_sessions_vocab, DOCLINK, registration_states_vocab,
     63    TRANSREQ, TRANSVAL)
     64from waeup.kofa.university.faculty import Faculty
    6365from waeup.kofa.university.department import Department
    6466from waeup.kofa.university.course import Course
     
    375377                    self.redirect(self.application_url() + rel_link)
    376378                    return
    377                 # Redirect lecturer after login
     379                # Redirect some officers after login
    378380                local_roles = get_user_account(self.request).getLocalRoles()
    379381                if local_roles.has_key('waeup.local.Lecturer'):
    380382                    self.redirect(self.application_url() + '/my_courses')
     383                    return
     384                if local_roles.has_key('waeup.local.TranscriptOfficer'):
     385                    self.redirect(self.application_url() + '/my_transcript_requests')
     386                    return
     387                if local_roles.has_key('waeup.local.TranscriptSignee'):
     388                    self.redirect(self.application_url() + '/my_transcript_signing_requests')
    381389                    return
    382390                if not self.camefrom:
     
    10231031        return courses
    10241032
     1033class TranscriptOfficerLandingPage(KofaPage):
     1034    """Display students, who requested a transcript, when
     1035    transcript officer logs in.
     1036    """
     1037    grok.name('my_transcript_requests')
     1038    grok.require('waeup.Authenticated')
     1039    grok.context(IUniversity)
     1040    grok.template('mytranscriptrequests')
     1041    label =_('My Transcript Requests')
     1042
     1043    @property
     1044    def getStudents(self):
     1045        students = ([],[])
     1046        cat = queryUtility(ICatalog, name='students_catalog')
     1047        local_roles = get_user_account(self.request).getLocalRoles()
     1048        for item in local_roles.get('waeup.local.TranscriptOfficer', []):
     1049            if isinstance(item, Faculty):
     1050                faccode = item.code
     1051                results1 = cat.searchResults(
     1052                    state=(TRANSREQ, TRANSREQ), faccode=(faccode, faccode))
     1053                for result in results1:
     1054                    students[0].append(StudentQueryResultItem(result, self))
     1055                results2 = cat.searchResults(
     1056                    state=(TRANSVAL, TRANSVAL), faccode=(faccode, faccode))
     1057                for result in results2:
     1058                    students[1].append(StudentQueryResultItem(result, self))
     1059        return students
     1060
    10251061#
    10261062# Search pages...
Note: See TracChangeset for help on using the changeset viewer.