## ## interfaces.py from zope.interface import Attribute, invariant from zope import schema from waeup.sirp.interfaces import IWAeUPObject from waeup.sirp.hostels.vocabularies import bed_letters, blocks class IHostelsContainer(IWAeUPObject): """A container for all kind of hostel objects. """ class IHostel(IWAeUPObject): """A base representation of hostels. """ def loggerInfo(ob_class, comment): """Adds an INFO message to the log file """ hostel_id = schema.TextLine( title = u'Hostel Id', readonly = True, ) sort_id = schema.Int( title = u'Sort Id', required = True, default = 10, ) hostel_name = schema.TextLine( title = u'Hall Name', required = True, default = u'Hall 1', ) nr_of_blocks = schema.Int( title = u'Number of Blocks', required = True, default = 3, ) floors_per_block = schema.Int( title = u'Floors per Block', required = True, default = 3, ) rooms_per_floor = schema.Int( title = u'Rooms per Floor', required = True, default = 20, ) beds_per_room = schema.Int( title = u'Beds per Room', required = True, default = 6, ) blocks_for_female = schema.List( title = u'Blocks for Female Students', value_type = schema.Choice( vocabulary = blocks ), ) beds_for_fresh = schema.List( title = u'Beds for Fresh Students', value_type = schema.Choice( vocabulary = bed_letters ), ) beds_for_final = schema.List( title = u'Beds for Final Year Students', value_type = schema.Choice( vocabulary = bed_letters ), )