BusinessTemplate.py 11 KB
Newer Older
Jean-Paul Smets's avatar
Jean-Paul Smets committed
1 2 3
##############################################################################
#
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
Jean-Paul Smets's avatar
Jean-Paul Smets committed
4
#          Jean-Paul Smets-Solanes <jp@nexedi.com>
Jean-Paul Smets's avatar
Jean-Paul Smets committed
5 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
#
# 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.
#
##############################################################################

class BusinessTemplate:
  """
Vincent Pelletier's avatar
Vincent Pelletier committed
31 32 33 34
    Business templates properties and categories

    A business template contains all zope objects needed to add a given
    functionnality to ERP5, like accounting or pdf rendering.
Jean-Paul Smets's avatar
Jean-Paul Smets committed
35 36 37 38
  """

  _properties = (
    { 'id'          : 'template_portal_type_id',
39
      'description' : 'A list of ids of portal types used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
40 41 42
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
43 44 45 46 47
    { 'id'          : 'template_portal_type_workflow_chain',
      'description' : 'A list of workflow chains of portal types used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
    { 'id'          : 'template_portal_type_allowed_content_type',
      'description' : 'A list of allowed content types for portal types',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_portal_type_hidden_content_type',
      'description' : 'A list of hidden content types for portal types',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_portal_type_property_sheet',
      'description' : 'A list of property sheet for portal types',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_portal_type_base_category',
      'description' : 'A list of base categories for portal types',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
68
    { 'id'          : 'template_module_id',
69
      'description' : 'A list of ids of modules used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
70 71 72 73
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_skin_id',
74
      'description' : 'A list of ids of skins used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
75 76 77 78
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_workflow_id',
79
      'description' : 'A list of ids of skins used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
80 81 82
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
83
    { 'id'          : 'template_product_id',
84
      'description' : 'A list of ids of products used by this template',
85 86 87
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
88
    { 'id'          : 'template_document_id',
89
      'description' : 'A list of ids of documents used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
90 91 92
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
93
    { 'id'          : 'template_property_sheet_id',
94
      'description' : 'A list of ids of property sheets used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
95 96 97
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
98 99 100 101 102
    { 'id'          : 'template_constraint_id',
      'description' : 'A list of ids of constraints used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
103
    { 'id'          : 'template_role',
104
      'description' : 'A list of ids of roles used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
105 106 107 108
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_method_id',
109
      'description' : 'A list of ids of catalog methods used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
110 111 112
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
113
    { 'id'          : 'template_catalog_result_key',
114
      'description' : 'A list of ids of catalog result keys used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
115 116 117
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
118
    { 'id'          : 'template_catalog_related_key',
119
      'description' : 'A list of ids of catalog related keys used by this template',
120 121 122
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
123
    { 'id'          : 'template_catalog_result_table',
124
      'description' : 'A list of ids of catalog result tables used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
125 126 127
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
128 129 130 131 132
    { 'id'          : 'template_catalog_keyword_key',
      'description' : 'A list of ids of catalog keyword keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
133 134 135 136 137
    { 'id'          : 'template_catalog_datetime_key',
      'description' : 'A list of ids of catalog DateTime keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },  
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
    { 'id'          : 'template_catalog_full_text_key',
      'description' : 'A list of ids of catalog full text keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_request_key',
      'description' : 'A list of ids of catalog request keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_multivalue_key',
      'description' : 'A list of ids of catalog multivalue keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_topic_key',
      'description' : 'A list of ids of catalog topic keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
158 159 160 161 162
    { 'id'          : 'template_catalog_scriptable_key',
      'description' : 'A list of ids of catalog scriptable keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
163
    { 'id'          : 'template_site_property_id',
164
      'description' : 'A list of ids of site properties used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
165 166 167
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
168
    { 'id'          : 'template_base_category',
169
      'description' : 'A list of ids of base categories used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
170 171 172 173
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_action_path',
174
      'description' : 'A list of ids of actions used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
175 176 177
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
178
    { 'id'          : 'template_extension_id',
179
      'description' : 'A list of ids of extensions used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
180
      'type'        : 'lines',
181 182 183
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_test_id',
184
      'description' : 'A list of ids of tests used by this template',
185
      'type'        : 'lines',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
186 187 188
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_path',
189
      'description' : 'A list of object paths used by this template',
190 191 192
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
193 194 195 196 197
    { 'id'          : 'template_preference',
      'description' : 'A list of preferences used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
198
    { 'id'          : 'template_message_translation',
199 200 201 202
      'description' : 'A list of message translations used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Aurel's avatar
Aurel committed
203
    { 'id'          : 'template_local_roles',
204
      'description' : 'A list of local roles used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
205 206 207
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
208 209 210 211 212
    { 'id'          : 'template_portal_type_roles',
      'description' : 'A list of ERP5Types for which we want to add the roles in the template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Yoshinori Okuji's avatar
Yoshinori Okuji committed
213 214 215 216 217
    { 'id'          : 'template_tool_id',
      'description' : 'A list of Tool ids used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
218 219 220 221
    { 'id'          : 'publication_url',
      'description' : 'A url on a webdav server which contains the business template source',
      'type'        : 'string',
      'mode'        : 'w', },
222 223 224 225 226
    { 'id'          : 'change_log',
      'description' : 'A change log',
      'type'        : 'text',
      'mode'        : 'w',
      'default'     : '' },
227 228 229 230
    { 'id'          : 'dependency',
      'description' : 'a list of template names required by this template',
      'type'        : 'lines',
      'mode'        : 'w',
231
      'default'     : () },
232
    { 'id'          : 'provision',
233 234 235 236
      'description' : 'a list of template names provided by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Aurel's avatar
Aurel committed
237 238 239 240
    { 'id'          : 'template_format_version',
      'description' : 'Business Template format version',
      'type'        : 'int',
      'mode'        : 'w',
241
      'default'     : 0 },
242 243 244 245 246 247 248 249 250 251
    { 'id'          : 'license',
      'description' : 'License',
      'type'        : 'text',
      'mode'        : 'w',
      'default'     : '' },
    { 'id'          : 'copyright',
      'description' : 'A list of copyright holders',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
252 253 254 255 256
    { 'id'          : 'maintainer',
      'description' : 'A list of maintainers',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
257 258 259 260 261 262 263 264 265 266
    { 'id'          : 'template_update_business_template_workflow',
      'description' : 'A flag indicating if we have to update business template workflows',
      'type'        : 'boolean',
      'mode'        : 'w',
      'default'     : 0 },
    { 'id'          : 'template_update_tool',
      'description' : 'A flag indicating if we have to update tools',
      'type'        : 'boolean',
      'mode'        : 'w',
      'default'     : 0 },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
267 268 269
 )

  _categories = ( )