def GET(self, name): """ Get institutions.""" logger.debug("Query: %s" % (web.input())) institution_uuid = web.input().get('institution_uuid') if institution_uuid: results = Institution.get_institution(institution_uuid) else: results = Institution.get_all() if not results: raise Error(NORESULT) data = results_to_institutions(results) return data
def DELETE(self, name): """Deletes institution using institution uuid.""" institution_uuid = web.input().get('institution_uuid') try: assert institution_uuid except AssertionError as error: logger.debug(error) raise Error(BADPARAMS) try: result = Institution.get_institution(institution_uuid)[0] except: raise Error(NOTFOUND,msg="The institution provided does not exist.") institution = Institution(result['institution_uuid'], result['institution_name'],result['institution_country_code']) institution.delete() return [institution.__dict__]
def PUT(self, name): """Checks if entry exists using uuid, then modifies it.""" data = json.loads(web.data()) institution_uuid = data.get('institution_uuid') name = data.get('institution_name') country_code = data.get('country_code') try: assert institution_uuid and name and country_code except AssertionError as error: logger.debug(error) raise Error(BADPARAMS) try: assert Institution.get_institution(institution_uuid)[0] except: raise Error(NOTFOUND,msg="The institution provided does not exist.") institution = Institution(institution_uuid,name,country_code) institution.update() return [institution.__dict__]
def POST(self, name): """Inserts new contact.""" data = json.loads(web.data()) institution_uuid = data.get('institution_uuid') name = data.get('contact_name') email_address = data.get('contact_email_address') notes = data.get('contact_notes') try: assert institution_uuid and name except AssertionError as error: logger.debug(error) raise Error(BADPARAMS) try: assert Institution.get_institution(institution_uuid)[0] except: raise Error(NOTFOUND, msg="The institution provided does not exist.") contact_uuid = generate_uuid() contact = Contact(contact_uuid, institution_uuid, name, email_address, notes) contact.save() return [contact.__dict__]