db.define_table('books',
Field('book_title', 'string', requires=(IS_NOT_IN_DB(db,'books.book_title'), IS_NOT_EMPTY()), label='Thesis Title'),
Field('book_subtitle', 'string', label='Thesis Subtitle (Optional)'),
Field('book_date', type='date', requires=IS_DATE(), label='Publish Date' ),
Field('book_abstract', type='text', requires=IS_NOT_EMPTY() , label='Thesis Abstract' ),
Field('book_school', requires=IS_IN_SET(['AMA Computer College - Naga Campus', 'Ateneo de Naga University', 'Naga College Foundation', 'Computer Communication Development Institute', 'University of Nueva Caceres']), label='Orginating School' ),
Field('book_location', requires=IS_IN_SET(['AMA Computer College - Naga Campus', 'Ateneo de Naga University', 'Naga College Foundation', 'Computer Communication Development Institute', 'University of Nueva Caceres']), label='Location' ),
Field('book_proponents', requires=IS_NOT_EMPTY(), label='Thesis Proponents' ),
Field('book_category', requires=IS_IN_SET(['Education, Science and Teacher Training', 'Fine and Applied Arts', 'Humanities', 'Religion and Theology', 'Social Behavioral Sciences', 'Business Administration and Related', 'Law and Jurispusence', 'Natural Science', 'Mathematics', 'IT-Related Disciplines', 'Engineering and Tech', 'Medical and Allied', 'Trade, Craft and Industrial', 'Architecture and Town Planning', 'Agriculture, Forestry, Fisheries', 'Home Economics', 'Service Trades', 'Mass Communication and Documentation', 'Maritime', 'General', 'Other Disciplines']), label='Thesis Category' ),
Field('book_level', requires=IS_IN_SET(['Undergraduate', 'Masteral']), label='Thesis Level' ),
Field('book_course', requires=IS_IN_SET(['Bachelor of Science in Information Technology', 'Bachelor of Science in Computer Science']), label='Proponent\'s Course' ),
Field('book_vote', 'integer', default=0, readable=True, writable=True),
auth.signature
)
db.define_table('votes',
Field('books', 'reference books'),
Field('score', 'integer', default=+1),
auth.signature
)