BusinessTemplate.py 12.7 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
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
78 79 80 81 82
    { 'id'          : 'template_registered_skin_selection',
      'description' : 'A list of registered skin selections used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
83
    { 'id'          : 'template_workflow_id',
Romain Courteaud's avatar
Romain Courteaud committed
84
      'description' : 'A list of ids of workflows used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
85 86 87
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
88
    { 'id'          : 'template_product_id',
89
      'description' : 'A list of ids of products used by this template',
90 91 92
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
93
    { 'id'          : 'template_document_id',
94
      'description' : 'A list of ids of documents used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
95 96 97
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
98
    { 'id'          : 'template_property_sheet_id',
99
      'description' : 'A list of ids of property sheets used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
100 101 102
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
103 104 105 106 107
    { '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
108
    { 'id'          : 'template_role',
109
      'description' : 'A list of ids of roles used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
110 111 112 113
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_method_id',
114
      'description' : 'A list of ids of catalog methods used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
115 116 117
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
118
    { 'id'          : 'template_catalog_result_key',
119
      'description' : 'A list of ids of catalog result keys used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
120 121 122
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
123
    { 'id'          : 'template_catalog_related_key',
124
      'description' : 'A list of ids of catalog related keys used by this template',
125 126 127
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
128
    { 'id'          : 'template_catalog_result_table',
129
      'description' : 'A list of ids of catalog result tables used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
130
      'type'        : 'lines',
131 132 133 134 135
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_search_key',
      'description' : 'A list of ids of catalog search keys used by this template',
      'type'        : 'lines',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
136 137
      'mode'        : 'w',
      'default'     : () },
138 139 140 141 142
    { 'id'          : 'template_catalog_keyword_key',
      'description' : 'A list of ids of catalog keyword keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
143 144 145 146 147
    { 'id'          : 'template_catalog_datetime_key',
      'description' : 'A list of ids of catalog DateTime keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },  
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
    { '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'     : () },
168 169 170 171 172
    { 'id'          : 'template_catalog_scriptable_key',
      'description' : 'A list of ids of catalog scriptable keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
173 174 175 176 177 178 179 180 181 182 183
    { 'id'          : 'template_catalog_role_key',
      'description' : 'A list of ids of catalog role keys used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_catalog_local_role_key',
      'description' : 'A list of ids of catalog local role keys used by ' \
                      'this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
184
    { 'id'          : 'template_site_property_id',
185
      'description' : 'A list of ids of site properties used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
186 187 188
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
189
    { 'id'          : 'template_base_category',
190
      'description' : 'A list of ids of base categories used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
191 192 193 194
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_action_path',
195
      'description' : 'A list of ids of actions used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
196 197 198
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
199
    { 'id'          : 'template_extension_id',
200
      'description' : 'A list of ids of extensions used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
201
      'type'        : 'lines',
202 203 204
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_test_id',
205
      'description' : 'A list of ids of tests used by this template',
206
      'type'        : 'lines',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
207 208 209
      'mode'        : 'w',
      'default'     : () },
    { 'id'          : 'template_path',
210
      'description' : 'A list of object paths used by this template',
211 212 213
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
214 215 216 217 218
    { 'id'          : 'template_preference',
      'description' : 'A list of preferences used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
219
    { 'id'          : 'template_message_translation',
220 221 222 223
      'description' : 'A list of message translations used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
224 225
    { 'id'          : 'template_local_role',
      'storage_id'  : 'template_local_roles', # Kept for compatibility
226
      'description' : 'A list of local roles used by this template',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
227 228 229
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
230 231
    { 'id'          : 'template_portal_type_role',
      'storage_id'  : 'template_portal_type_roles', # Kept for compatibility
232 233 234 235
      '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
236 237 238 239 240
    { '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
241 242 243 244
    { 'id'          : 'publication_url',
      'description' : 'A url on a webdav server which contains the business template source',
      'type'        : 'string',
      'mode'        : 'w', },
245 246 247 248 249
    { 'id'          : 'change_log',
      'description' : 'A change log',
      'type'        : 'text',
      'mode'        : 'w',
      'default'     : '' },
250 251 252 253
    { 'id'          : 'dependency',
      'description' : 'a list of template names required by this template',
      'type'        : 'lines',
      'mode'        : 'w',
254
      'default'     : () },
255
    { 'id'          : 'provision',
256 257 258 259
      'description' : 'a list of template names provided by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
Aurel's avatar
Aurel committed
260 261 262 263
    { 'id'          : 'template_format_version',
      'description' : 'Business Template format version',
      'type'        : 'int',
      'mode'        : 'w',
264
      'default'     : 0 },
265 266 267 268 269 270 271 272 273 274
    { 'id'          : 'license',
      'description' : 'License',
      'type'        : 'text',
      'mode'        : 'w',
      'default'     : '' },
    { 'id'          : 'copyright',
      'description' : 'A list of copyright holders',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
275 276 277 278 279
    { 'id'          : 'maintainer',
      'description' : 'A list of maintainers',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
280 281 282 283 284 285 286 287 288 289
    { '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 },
290 291 292 293 294
    { 'id'          : 'bt_for_diff',
      'description' : 'A flag indicating if bt is temporary',
      'type'        : 'boolean',
      'mode'        : 'w',
      'default'     : 0 },
295 296 297 298 299 300 301 302 303 304 305
    # Kept for compatibility - will be removed some day
    { 'id'          : 'template_local_roles',
      'description' : 'A list of local roles used by this template',
      'type'        : 'lines',
      'mode'        : 'w',
      'default'     : () },
    { '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'     : () },
Jean-Paul Smets's avatar
Jean-Paul Smets committed
306 307 308
 )

  _categories = ( )