Ejemplo n.º 1
0
def _delete_profile_if_needed(channel, profile_id):
    from xivo_dao.helpers.db_manager import DaoSession
    from xivo_dao.alchemy.cti_profile import CtiProfile
    from xivo_dao.alchemy.ctipresences import CtiPresences
    from xivo_dao.alchemy.ctiphonehints import CtiPhoneHints
    from xivo_dao.alchemy.ctiphonehintsgroup import CtiPhoneHintsGroup
    from xivo_dao.alchemy.userfeatures import UserFeatures

    session = DaoSession()
    session.begin()
    result = session.query(CtiProfile).filter(CtiProfile.id == profile_id).first()
    if result is not None:
        (session.query(UserFeatures).filter(UserFeatures.cti_profile_id == profile_id)
                                    .update({'cti_profile_id': None}))
        session.delete(result)
    session.commit()
Ejemplo n.º 2
0
def _find_all_extension_ids(channel):
    from xivo_dao.alchemy.extension import Extension as ExtensionSchema
    from xivo_dao.helpers.db_manager import DaoSession

    rows = (DaoSession.query(ExtensionSchema.id).filter(
        ExtensionSchema.context != 'xivo-features').all())

    extension_ids = [e.id for e in rows]
    channel.send(extension_ids)
Ejemplo n.º 3
0
def _get_exten_info(channel, extension_id):
    from xivo_dao.alchemy.extension import Extension as ExtensionSchema
    from xivo_dao.helpers.db_manager import DaoSession

    extension_row = (DaoSession.query(ExtensionSchema).filter(
        ExtensionSchema.id == extension_id).first())

    if extension_row:
        extension = (extension_row.exten, extension_row.type,
                     extension_row.typeval)
        channel.send(extension)
    else:
        channel.send(None)
Ejemplo n.º 4
0
def _total_voicemails(channel):
    from xivo_dao.alchemy.voicemail import Voicemail as VoicemailSchema
    from xivo_dao.helpers.db_manager import DaoSession

    count = DaoSession.query(VoicemailSchema).count()
    channel.send(count)
Ejemplo n.º 5
0
def _total_voicemails(channel):
    from xivo_dao.alchemy.voicemail import Voicemail as VoicemailSchema
    from xivo_dao.helpers.db_manager import DaoSession

    count = DaoSession.query(VoicemailSchema).count()
    channel.send(count)