## $Id: export.py 12803 2015-03-20 18:51:29Z henrik $
##
## Copyright (C) 2014 Uli Fouquet & Henrik Bettermann
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##
"""Exporters for pcn customer objects and subobjects.
"""
import grok
from waeup.ikoba.customers.export import (
    CustomerExporter, CustomerDocumentExporterBase, ContractExporterBase)
from ikobacustom.pcn.customers.interfaces import (
    IPCNCustomer, IPCNCustomerJPGDocument,
    IPCNCustomerPDFDocument,
    IRONContractProcess,
    IROPContractProcess,
    IRPRContractProcess,
    IRPCContractProcess,
    IIPPMVLContractProcess,
    IRPPMVLContractProcess,
    IAPPITContractProcess,
    IRPTContractProcess,
    IAPPTContractProcess)
from ikobacustom.pcn.interfaces import MessageFactory as _


class PCNCustomerExporter(CustomerExporter):
    """Exporter for Customers.
    """
    iface = IPCNCustomer
    title = _(u'PCN Customers')


class PCNCustomerJPGDocumentExporter(CustomerDocumentExporterBase):
    """Exporter for documents.
    """
    grok.name('pcncustomerjpgdocuments')
    iface = IPCNCustomerJPGDocument
    title = _(u'PCN Customer JPG Documents')
    class_name = 'PCNCustomerJPGDocument'


class PCNCustomerPDFDocumentExporter(CustomerDocumentExporterBase):
    """Exporter for documents.
    """
    grok.name('pcncustomerpdfdocuments')
    iface = IPCNCustomerPDFDocument
    title = _(u'PCN Customer PDF Documents')
    class_name = 'PCNCustomerPDFDocument'


class RONContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('roncontracts')
    iface = IRONContractProcess
    title = _(u'Licenses: Retention of Name')
    class_name = 'RONContract'


class ROPContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('ropcontracts')
    iface = IROPContractProcess
    title = _(u'Licenses: Registration of Premises')
    class_name = 'ROPContract'


class RPRContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('rprcontracts')
    iface = IRPRContractProcess
    title = _(u'Licenses: Registration in the Provisional Register')
    class_name = 'RPRContract'


class RPCContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('rpccontracts')
    iface = IRPCContractProcess
    title = _(u'Licenses: Registration as Pharmaceutical Chemist')
    class_name = 'RPCContract'


class IPPMVLContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('ippmvlcontracts')
    iface = IIPPMVLContractProcess
    title = _(u'Licenses: Issuance of Patent and Proprietary Medicines Vendors')
    class_name = 'IPPMVLContract'


class RPPMVLContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('rppmvlcontracts')
    iface = IRPPMVLContractProcess
    title = _(u'Licenses: Renewal of Patent and Proprietary Medicines Vendors')
    class_name = 'RPPMVLContract'


class APPITContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('appitcontracts')
    iface = IAPPITContractProcess
    title = _(u'Licenses: Accepting Pupil Pharmacist for Internship Training')
    class_name = 'APPITContract'


class RPTContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('rptcontracts')
    iface = IRPTContractProcess
    title = _(u'Licenses: Registration as a Pharmacy Technician')
    class_name = 'RPTContract'


class APPTContractExporter(ContractExporterBase):
    """Exporter for Contract instances.
    """
    grok.name('apptcontracts')
    iface = IAPPTContractProcess
    title = _(u'Licenses: Annual Permit for Pharmacy Technician')
    class_name = 'APPTContract'
