Metadata-Version: 1.1
Name: anyblok-attachment
Version: 2.0.0
Summary: Versionned attachment for AnyBlok
Home-page: http://docs.anyblok-attachment.anyblok.org/2.0.0
Author: jssuzanne
Author-email: jssuzanne@anybox.fr
License: UNKNOWN
Description: .. This file is a part of the AnyBlok / Attachment project
        ..
        ..    Copyright (C) 2017 Jean-Sebastien SUZANNE <jssuzanne@anybox.fr>
        ..
        .. This Source Code Form is subject to the terms of the Mozilla Public License,
        .. v. 2.0. If a copy of the MPL was not distributed with this file,You can
        .. obtain one at http://mozilla.org/MPL/2.0/.
        
        .. image:: https://travis-ci.org/AnyBlok/anyblok_attachment.svg?branch=master
            :target: https://travis-ci.org/AnyBlok/anyblok_attachment
            :alt: Build status
        
        .. image:: https://coveralls.io/repos/github/AnyBlok/anyblok_attachment/badge.svg?branch=master
            :target: https://coveralls.io/github/AnyBlok/anyblok_attachment?branch=master
            :alt: Coverage
        
        .. image:: https://img.shields.io/pypi/v/anyblok_attachment.svg
           :target: https://pypi.python.org/pypi/anyblok_attachment/
           :alt: Version status
        
        .. image:: https://readthedocs.org/projects/anyblok-attachment/badge/?version=latest
            :alt: Documentation Status
            :scale: 100%
            :target: https://doc.anyblok-attachment.anyblok.org/?badge=latest
        
        
        AnyBlok attachment
        ==================
        
        Improve `AnyBlok <http://doc.anyblok.org>`_ to add attachment and report
        system.
        
        +-----------------------+-------------------+---------------------------------------------------------+
        | Blok                  | Dependancies      | Description                                             |
        +=======================+===================+=========================================================+
        | **attachment**        |                   | Stock and historize Document                            |
        +-----------------------+-------------------+---------------------------------------------------------+
        | **report**            | **attachment**    | Core of the reporting engine for AnyBlok. This blok     |
        |                       |                   | add helper to generate a Document, but it is not a      |
        |                       |                   | templating engine.                                      |
        +-----------------------+-------------------+---------------------------------------------------------+
        | **report-format**     | **attachment**    | Simple templating engine, based on ``str.format(...)``  |
        |                       | **report**        |                                                         |
        +-----------------------+-------------------+---------------------------------------------------------+
        | **wkhtml2pdf**        | **attachment**    | Add Model add method to convert HTML 2 PDF.             |
        |                       | **report**        |                                                         |
        +-----------------------+-------------------+---------------------------------------------------------+
        
        
        AnyBlok / Attachment is released under the terms of the `Mozilla Public License`.
        
        See the `latest documentation <http://doc.anyblok-attachment.anyblok.org/>`_
        
        .. This file is a part of the AnyBlok / Attachment project
        ..
        ..    Copyright (C) 2017 Jean-Sebastien SUZANNE <jssuzanne@anybox.fr>
        ..
        .. This Source Code Form is subject to the terms of the Mozilla Public License,
        .. v. 2.0. If a copy of the MPL was not distributed with this file,You can
        .. obtain one at http://mozilla.org/MPL/2.0/.
        
        Front Matter
        ============
        
        Information about the AnyBlok / Attachment project.
        
        Project Homepage
        ----------------
        
        AnyBlok is hosted on `github <http://github.com>`_ - the main project
        page is at https://github.com/AnyBlok/anyblok_attachment. Source code is
        tracked here using `GIT <https://git-scm.com>`_.
        
        Releases and project status are available on Pypi at
        http://pypi.python.org/pypi/anyblok_attachment.
        
        The most recent published version of this documentation should be at
        http://doc.anyblok-attachment.anyblok.org.
        
        Project Status
        --------------
        
        AnyBlok with attachment is currently in beta status and is expected to be fairly
        stable.   Users should take care to report bugs and missing features on an as-needed
        basis.  It should be expected that the development version may be required
        for proper implementation of recently repaired issues in between releases;
        
        Installation
        ------------
        
        Install released versions of AnyBlok from the Python package index with
        `pip <http://pypi.python.org/pypi/pip>`_ or a similar tool::
        
            pip install anyblok_attachment
        
        Installation via source distribution is via the ``setup.py`` script::
        
            python setup.py install
        
        Installation will add the ``anyblok`` commands to the environment.
        
        Unit Test
        ---------
        
        Run the test with ``nose``::
        
            pip install nose
            nosetests anyblok_attachment/tests
        
        Dependencies
        ------------
        
        AnyBlok / Attachment works with **Python 3.3** and later. The install process will
        ensure that `AnyBlok <http://doc.anyblok.org>`_ is installed, in addition to other 
        dependencies. The latest version of them is strongly recommended.
        
        Author
        ------
        
        Jean-Sébastien Suzanne
        
        Contributors
        ------------
        
        `Anybox <http://anybox.fr>`_ team:
        
        * Jean-Sébastien Suzanne
        
        `Sensee <http://sensee.com>`_ team:
        
        * Franck Bret
        * Hugo Quezada
        
        Bugs
        ----
        
        Bugs and feature enhancements to AnyBlok should be reported on the `Issue
        tracker <https://github.com/AnyBlok/anyblok_attachment/issues>`_.
        
        .. This file is a part of the AnyBlok / Attachment project
        ..
        ..    Copyright (C) 2017 Jean-Sebastien SUZANNE <jssuzanne@anybox.fr>
        ..    Copyright (C) 2018 Jean-Sebastien SUZANNE <jssuzanne@anybox.fr>
        ..
        .. This Source Code Form is subject to the terms of the Mozilla Public License,
        .. v. 2.0. If a copy of the MPL was not distributed with this file,You can
        .. obtain one at http://mozilla.org/MPL/2.0/.
        
        .. contents::
        
        CHANGELOG
        =========
        
        2.0.0 (2018-11-28)
        ------------------
        
        * Removed the sequence created by the document. Replaced it by a simple counter on latest document
        
        .. note::
        
            You can use this script before migration to update the database::
        
                CREATE FUNCTION update_attachment() RETURNS void AS $$
                    DECLARE
                        -- declarations
                        target RECORD;
                    BEGIN
                        FOR target IN select uuid, version from attachment_document where version_number is null LOOP
                            UPDATE attachment_document SET version_number = CAST(substring(target.version from '..$') as Integer) WHERE uuid = target.uuid AND version = target.version;
                        END LOOP;
                    END;
                $$ LANGUAGE plpgsql;
        
                CREATE FUNCTION update_sequence() RETURNS void AS $$
                    DECLARE
                        -- declarations
                        seq RECORD;
                    BEGIN
                        FOR seq IN select id, seq_name from system_sequence where code ilike 'Attachment.Document#%' LOOP
                            EXECUTE 'DROP SEQUENCE ' || quote_ident(seq.seq_name);
                            DELETE FROM system_sequence where id = seq.id;
                        END LOOP;
                    END;
                $$ LANGUAGE plpgsql;
        
                ALTER TABLE attachment_document DROP CONSTRAINT anyblok_pk_attachment_document;
                ALTER TABLE attachment_document ADD COLUMN version_number INTEGER;
                select update_attachment();
                select update_sequence();
                ALTER TABLE attachment_document ADD PRIMARY KEY (uuid, version_number);
                UPDATE system_blok SET installed_version = '2.0.0' WHERE name = 'attachment';
                DROP FUNCTION update_attachment();
                DROP FUNCTION update_sequence();
        
        
        1.2.0 (2018-09-14)
        ------------------
        
        * Allow to get another field to represent the file
        * PR #4: Added a column name on the template to identify them easyly (@GohuHQ)
        * PR #3: Fixed option name for wkhtmltopdf (@GohuHQ)
        
        1.1.1 (2018-06-05)
        ------------------
        
        * Fix the mixins come from **anyblok_mixins**
        
        1.1.0 (2018-05-16)
        ------------------
        
        * [ADD] add Mixin ``Mixin.LatestDocument`` and ``Mixin.VersionedDocument``
          to help the developer to get **latest_document** or **versioned_document**
        
        1.0.2 (2018-02-24)
        ------------------
        
        * [REF] Anyblok 0.17.0 changed setter to add application and application 
          groups, So I had to adapt the existing to use new setter
        
        1.0.1 (2018-01-11)
        ------------------
        
        * [FIX] ``Mixin.WkHtml2Pdf`` check also if the configuration changed for 
          **Template.check_if_file_must_be_generated**
        
        1.0.0 (2018-01-10)
        ------------------
        
        * [ADD] **attachment** blok: stock versionned file
        * [ADD] **report** blok: create versionned file from template
        * [ADD] **report-format** blok: template type
        * [ADD] **wkhtml2pdf** blok: convert html to pdf in the template
        
Keywords: attachment
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
