コード例 #1
0
ファイル: utils.py プロジェクト: mhellmic/b2share
def update_user_info_from_ldap(user_id):

    from invenio.legacy.bibcirculation.cern_ldap import get_user_info_from_ldap

    ccid = db.get_borrower_ccid(user_id)
    ldap_info = get_user_info_from_ldap(ccid=ccid)

    if not ldap_info:
        result = ()
    else:
        try:
            name    = ldap_info['displayName'][0]
        except KeyError:
            name    = ""
        try:
            email   = ldap_info['mail'][0]
        except KeyError:
            email   = ""
        try:
            phone   = ldap_info['telephoneNumber'][0]
        except KeyError:
            phone   = ""
        try:
            address = ldap_info['physicalDeliveryOfficeName'][0]
        except KeyError:
            address = ""
        try:
            mailbox = ldap_info['postOfficeBox'][0]
        except KeyError:
            mailbox = ""
        db.update_borrower(user_id, name, email, phone, address, mailbox)
        result = db.search_borrower_by_ccid(int(ccid))
    return result
コード例 #2
0
def update_user_info_from_ldap(user_id):

    from invenio.legacy.bibcirculation.cern_ldap import get_user_info_from_ldap

    ccid = db.get_borrower_ccid(user_id)
    ldap_info = get_user_info_from_ldap(ccid=ccid)

    if not ldap_info:
        result = ()
    else:
        try:
            name    = ldap_info['displayName'][0]
        except KeyError:
            name    = ""
        try:
            email   = ldap_info['mail'][0]
        except KeyError:
            email   = ""
        try:
            phone   = ldap_info['telephoneNumber'][0]
        except KeyError:
            phone   = ""
        try:
            address = ldap_info['physicalDeliveryOfficeName'][0]
        except KeyError:
            address = ""
        try:
            mailbox = ldap_info['postOfficeBox'][0]
        except KeyError:
            mailbox = ""
        db.update_borrower(user_id, name, email, phone, address, mailbox)
        result = db.search_borrower_by_ccid(int(ccid))
    return result
コード例 #3
0
ファイル: utils.py プロジェクト: mhellmic/b2share
def search_user(column, string):
    if string is not None:
        string = string.strip()

    if CFG_CERN_SITE == 1:
        if column == 'name':
            result = db.search_borrower_by_name(string)
        else:
            if column == 'email':
                try:
                    result = db.search_borrower_by_email(string)
                except:
                    result = ()
            else:
                try:
                    result = db.search_borrower_by_ccid(string)
                except:
                    result = ()

            if result == ():
                from invenio.legacy.bibcirculation.cern_ldap \
                     import get_user_info_from_ldap

                ldap_info = 'busy'
                while ldap_info == 'busy':
                    time.sleep(1)
                    if column == 'id' or column == 'ccid':
                        ldap_info = get_user_info_from_ldap(ccid=string)
                    elif column == 'email':
                        ldap_info = get_user_info_from_ldap(email=string)
                    else:
                        ldap_info = get_user_info_from_ldap(nickname=string)

                if len(ldap_info) == 0:
                    result = ()
                else:
                    try:
                        name = ldap_info['displayName'][0]
                    except KeyError:
                        name = ""
                    try:
                        email = ldap_info['mail'][0]
                    except KeyError:
                        email = ""
                    try:
                        phone = ldap_info['telephoneNumber'][0]
                    except KeyError:
                        phone = ""
                    try:
                        address = ldap_info['physicalDeliveryOfficeName'][0]
                    except KeyError:
                        address = ""
                    try:
                        mailbox = ldap_info['postOfficeBox'][0]
                    except KeyError:
                        mailbox = ""
                    try:
                        ccid = ldap_info['employeeID'][0]
                    except KeyError:
                        ccid = ""

                    try:
                        db.new_borrower(ccid, name, email, phone,
                                    address, mailbox, '')
                    except:
                        pass
                    result = db.search_borrower_by_ccid(int(ccid))

    else:
        if column == 'name':
            result = db.search_borrower_by_name(string)
        elif column == 'email':
            result = db.search_borrower_by_email(string)
        else:
            result = db.search_borrower_by_id(string)

    return result
コード例 #4
0
def search_user(column, string):
    if string is not None:
        string = string.strip()

    if CFG_CERN_SITE == 1:
        if column == 'name':
            result = db.search_borrower_by_name(string)
        else:
            if column == 'email':
                try:
                    result = db.search_borrower_by_email(string)
                except:
                    result = ()
            else:
                try:
                    result = db.search_borrower_by_ccid(string)
                except:
                    result = ()

            if result == ():
                from invenio.legacy.bibcirculation.cern_ldap \
                     import get_user_info_from_ldap

                ldap_info = 'busy'
                while ldap_info == 'busy':
                    time.sleep(1)
                    if column == 'id' or column == 'ccid':
                        ldap_info = get_user_info_from_ldap(ccid=string)
                    elif column == 'email':
                        ldap_info = get_user_info_from_ldap(email=string)
                    else:
                        ldap_info = get_user_info_from_ldap(nickname=string)

                if len(ldap_info) == 0:
                    result = ()
                else:
                    try:
                        name = ldap_info['displayName'][0]
                    except KeyError:
                        name = ""
                    try:
                        email = ldap_info['mail'][0]
                    except KeyError:
                        email = ""
                    try:
                        phone = ldap_info['telephoneNumber'][0]
                    except KeyError:
                        phone = ""
                    try:
                        address = ldap_info['physicalDeliveryOfficeName'][0]
                    except KeyError:
                        address = ""
                    try:
                        mailbox = ldap_info['postOfficeBox'][0]
                    except KeyError:
                        mailbox = ""
                    try:
                        ccid = ldap_info['employeeID'][0]
                    except KeyError:
                        ccid = ""

                    try:
                        db.new_borrower(ccid, name, email, phone,
                                    address, mailbox, '')
                    except:
                        pass
                    result = db.search_borrower_by_ccid(int(ccid))

    else:
        if column == 'name':
            result = db.search_borrower_by_name(string)
        elif column == 'email':
            result = db.search_borrower_by_email(string)
        else:
            result = db.search_borrower_by_id(string)

    return result