Ignore:
Timestamp:
21 Mar 2013, 16:12:06 (12 years ago)
Author:
Henrik Bettermann
Message:

Add two more webservice methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/webservices.py

    r10041 r10042  
    1818
    1919import grok
     20import xmlrpclib
    2021from zope.component import getUtility, queryUtility
    2122from zope.catalog.interfaces import ICatalog
    22 from waeup.kofa.interfaces import IUniversity
     23from waeup.kofa.interfaces import IUniversity, IExtFileStore
     24   
    2325
    2426def get_student(students, identifier):
     
    136138                ticket.__parent__.validated_by))
    137139        return list(set(hitlist))
     140
     141    @grok.require('waeup.xmlrpc')
     142    def get_student_info(self, identifier=None):
     143        """Who is the student with matriculation number / student id?
     144
     145        """
     146        students = self.context['students']
     147        student = get_student(students, identifier)
     148        if student is None:
     149            return None
     150        return [student.display_fullname, student.certcode,
     151            student.phone, student.email]
     152
     153    @grok.require('waeup.xmlrpc')
     154    def get_student_passport(self, identifier=None):
     155        """Get passport picture of student with
     156        matriculation number / student id?
     157
     158        """
     159        students = self.context['students']
     160        student = get_student(students, identifier)
     161        if student is None:
     162            return None
     163        img = getUtility(IExtFileStore).getFileByContext(
     164            student, attr='passport.jpg')
     165        return xmlrpclib.Binary(img.read())
Note: See TracChangeset for help on using the changeset viewer.