def migrate_datas():
    logger = logging.getLogger("alembic.autonomie")
    from autonomie_base.models.base import DBSESSION
    session = DBSESSION()
    from autonomie.models.config import Config
    import json

    from autonomie.models.files import (
        File,
        FileType,
    )
    json_str = Config.get_value("attached_filetypes", "[]")
    try:
        configured_filetypes = json.loads(json_str)
    except:
        logger.exception(u"Error in json str : %s" % json_str)
        configured_filetypes = []
    if configured_filetypes:
        result = []
        for filetype_label in configured_filetypes:
            if filetype_label:
                filetype = FileType(label=filetype_label)
                session.add(filetype)
                session.flush()
                result.append(filetype)

        for typ_ in result:
            query = File.query().filter_by(label=typ_.label)
            for file_ in query:
                file_.file_type_id = typ_.id
                session.merge(file_)
        session.flush()
def migrate_datas():
    logger = logging.getLogger("alembic.autonomie")
    from autonomie_base.models.base import DBSESSION
    session = DBSESSION()
    from autonomie.models.config import Config
    import json

    from autonomie.models.files import (
        File,
        FileType,
    )
    json_str = Config.get_value("attached_filetypes", "[]")
    try:
        configured_filetypes = json.loads(json_str)
    except:
        logger.exception(u"Error in json str : %s" % json_str)
        configured_filetypes = []
    if configured_filetypes:
        result = []
        for filetype_label in configured_filetypes:
            if filetype_label:
                filetype = FileType(label=filetype_label)
                session.add(filetype)
                session.flush()
                result.append(filetype)

        for typ_ in result:
            query = File.query().filter_by(label=typ_.label)
            for file_ in query:
                file_.file_type_id = typ_.id
                session.merge(file_)
        session.flush()
Example #3
0
def resize_headers_command(arguments, env):
    """
    Resize headers to limit their size

    :param dict arguments: The arguments parsed from the command-line
    :param obj env: The pyramid environment
    """
    from sqlalchemy import distinct
    from autonomie.models.files import File
    from autonomie.models.company import Company
    from autonomie.forms.company import HEADER_RESIZER

    limit = get_value(arguments, 'limit', None)
    offset = get_value(arguments, "offset", None)

    session = DBSESSION()
    file_id_query = session.query(distinct(Company.header_id))
    if limit:
        file_id_query = file_id_query.limit(limit)
        if offset:
            file_id_query = file_id_query.offset(offset)

    header_ids = [i[0] for i in file_id_query]
    header_files = File.query().filter(File.id.in_(header_ids))
    for header_file in header_files:
        file_datas = header_file.data_obj
        if file_datas:
            print(
                u"Resizing header with id : {}".format(
                    header_file.id
                )
            )
            header_file.data = HEADER_RESIZER.complete(file_datas)
            session.merge(header_file)
Example #4
0
def mydocuments_view(context, request):
    """
    View callable collecting datas for showing the social docs associated to the
    current user's account
    """
    if context.userdatas is not None:
        query = File.query()
        documents = query.filter(File.parent_id == context.userdatas.id).all()
    else:
        documents = []
    return dict(
        title=u"Mes documents",
        documents=documents,
    )
Example #5
0
def mydocuments_view(context, request):
    """
    View callable collecting datas for showing the social docs associated to the
    current user's account
    """
    if context.userdatas is not None:
        query = File.query()
        documents = query.filter(
            File.parent_id == context.userdatas.id
        ).all()
    else:
        documents = []
    return dict(
        title=u"Mes documents",
        documents=documents,
    )