__init__.py 5.07 KB
Newer Older
1
# -*- coding: utf-8 -*-
Jean-Paul Smets's avatar
Jean-Paul Smets committed
2 3 4
##############################################################################
#
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
Jean-Paul Smets's avatar
Jean-Paul Smets committed
5
#                    Jean-Paul Smets-Solanes <jp@nexedi.com>
Jean-Paul Smets's avatar
Jean-Paul Smets committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# 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.
#
##############################################################################
"""
    ERP5 Free Software ERP
"""

# Update ERP5 Globals
from Products.ERP5Type.Utils import initializeProduct, updateGlobals
35 36 37
import sys, Permissions
this_module = sys.modules[ __name__ ]
document_classes = updateGlobals( this_module, globals(), permissions_module = Permissions)
Sebastien Robin's avatar
Sebastien Robin committed
38
from Products.PythonScripts.Utility import allow_class
39
from AccessControl import ModuleSecurityInfo
Sebastien Robin's avatar
Sebastien Robin committed
40 41 42

import MovementGroup
allow_class(MovementGroup)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
43

44
from Products.ERP5Type.Globals import package_home
45 46
product_path = package_home( globals() )

Jean-Paul Smets's avatar
Jean-Paul Smets committed
47
# Define object classes and tools
48 49
from Tool import CategoryTool, SimulationTool, RuleTool, IdTool, TemplateTool,\
                 TestTool, DomainTool, AlarmTool, OrderTool, DeliveryTool,\
50
                 TrashTool, ContributionTool, NotificationTool, PasswordTool,\
51
                 GadgetTool, ContributionRegistryTool, IntrospectionTool,\
52
                 AcknowledgementTool, SolverTool, SolverProcessTool,\
53
                 ConversionTool, RoundingTool, UrlRegistryTool, InterfaceTool,\
54
                 CertificateAuthorityTool, InotifyTool, TaskDistributionTool
Jean-Paul Smets's avatar
Jean-Paul Smets committed
55
import ERP5Site
56
from Document import PythonScript
Sebastien Robin's avatar
Sebastien Robin committed
57
object_classes = ( ERP5Site.ERP5Site,
58
                   PythonScript.PythonScriptThroughZMI,
Jean-Paul Smets's avatar
Jean-Paul Smets committed
59 60 61 62
                 )
portal_tools = ( CategoryTool.CategoryTool,
                 SimulationTool.SimulationTool,
                 RuleTool.RuleTool,
Jean-Paul Smets's avatar
Jean-Paul Smets committed
63
                 IdTool.IdTool,
Jean-Paul Smets's avatar
Jean-Paul Smets committed
64
                 TemplateTool.TemplateTool,
Sebastien Robin's avatar
Sebastien Robin committed
65
                 AlarmTool.AlarmTool,
66
                 DomainTool.DomainTool,
Sebastien Robin's avatar
Sebastien Robin committed
67
                 TestTool.TestTool,
68 69
                 OrderTool.OrderTool,
                 DeliveryTool.DeliveryTool,
Aurel's avatar
Aurel committed
70
                 TrashTool.TrashTool,
71
                 PasswordTool.PasswordTool,
Jean-Paul Smets's avatar
Jean-Paul Smets committed
72
                 ContributionTool.ContributionTool,
73
                 NotificationTool.NotificationTool,
Jérome Perrin's avatar
Jérome Perrin committed
74
                 GadgetTool.GadgetTool,
75
                 ContributionRegistryTool.ContributionRegistryTool,
Ivan Tyagov's avatar
Ivan Tyagov committed
76
                 IntrospectionTool.IntrospectionTool,
77
                 AcknowledgementTool.AcknowledgementTool,
78
                 SolverTool.SolverTool,
79
                 SolverProcessTool.SolverProcessTool,
80
                 ConversionTool.ConversionTool,
81
                 RoundingTool.RoundingTool,
Nicolas Delaby's avatar
Nicolas Delaby committed
82
                 UrlRegistryTool.UrlRegistryTool,
83
                 CertificateAuthorityTool.CertificateAuthorityTool,
84
                 InotifyTool.InotifyTool,
85
                 TaskDistributionTool.TaskDistributionTool,
86
                 InterfaceTool.InterfaceTool,
Jean-Paul Smets's avatar
Jean-Paul Smets committed
87 88 89 90 91 92 93
                )
content_classes = ()
content_constructors = ()

# Finish installation
def initialize( context ):
  import Document
Jean-Paul Smets's avatar
Jean-Paul Smets committed
94
  # Initialize
Jean-Paul Smets's avatar
Jean-Paul Smets committed
95 96
  initializeProduct(context, this_module, globals(),
                         document_module = Document,
97
                         document_classes = document_classes,
Jean-Paul Smets's avatar
Jean-Paul Smets committed
98 99 100 101
                         object_classes = object_classes,
                         portal_tools = portal_tools,
                         content_constructors = content_constructors,
                         content_classes = content_classes)
102
  
103
  # Allow some usefull classes and fonctions in TTW code
104
  ModuleSecurityInfo('ZODB.POSException').declarePublic('ConflictError')
105 106 107 108
  ModuleSecurityInfo('zExceptions').declarePublic('BadRequest', 'NotFound',
                                                  'Redirect', 'Unauthorized')
  ModuleSecurityInfo('Products.CMFCore.WorkflowCore').declarePublic(
                                                   'WorkflowException')
109 110
  ModuleSecurityInfo('Products.ERP5.Document.Image').declarePublic(
                                                'getSizeFromImageDisplay')
111

112 113 114
  # Make sure InteactionWorkflow is visible in UI
  import Products.ERP5.InteractionWorkflow

115 116
# backward compatibility names
XML = None
117
UI = None