Skip to content
Snippets Groups Projects
Forked from DM / dm-docs
261 commits behind, 798 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
apsUserInfoHandler.py 1001 B
#!/usr/bin/env python

from sqlalchemy import and_
from sqlalchemy.orm.exc import NoResultFound

from dm.common.exceptions.objectAlreadyExists import ObjectAlreadyExists
from dm.common.exceptions.objectNotFound import ObjectNotFound
from dm.common.exceptions.objectAlreadyExists import ObjectAlreadyExists
from dm.common.db.impl.dmDbEntityHandler import DmDbEntityHandler
from dm.aps_user_db.entities.apsUserInfo import ApsUserInfo

class ApsUserInfoHandler(DmDbEntityHandler):

    def __init__(self):
        DmDbEntityHandler.__init__(self)

    def getApsUsers(self, session):
        dbUserInfos = session.query(ApsUserInfo).all()
        return dbUserInfos

    def getApsUserByBadgeNumber(self, session, badgeNumber):
        try:
            dbUserInfo = session.query(ApsUserInfo).filter(ApsUserInfo.badge_no==badgeNumber).one()
            return dbUserInfo
        except NoResultFound, ex:
            raise ObjectNotFound('APS user with badge number %s does not exist.' % (badgeNumber))