Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
Lu Xu
erp5
Commits
a640eb9b
Commit
a640eb9b
authored
Jun 26, 2020
by
Arnaud Fontaine
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Products.ERP5: Remove Documents never used since their introduction many years ago.
parent
4773fac2
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
0 additions
and
921 deletions
+0
-921
product/ERP5/Document/Binder.py
product/ERP5/Document/Binder.py
+0
-53
product/ERP5/Document/PortalTest.py
product/ERP5/Document/PortalTest.py
+0
-54
product/ERP5/Document/Pricing.py
product/ERP5/Document/Pricing.py
+0
-70
product/ERP5/Document/SetPricing.py
product/ERP5/Document/SetPricing.py
+0
-71
product/ERP5/Document/VariatedProperty.py
product/ERP5/Document/VariatedProperty.py
+0
-66
product/ERP5/Document/Wiki.py
product/ERP5/Document/Wiki.py
+0
-336
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest.xml
...tySheetTemplateItem/portal_property_sheets/PortalTest.xml
+0
-60
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest/consistency_check_method_id_property.xml
...heets/PortalTest/consistency_check_method_id_property.xml
+0
-53
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest/consistency_fix_method_id_property.xml
..._sheets/PortalTest/consistency_fix_method_id_property.xml
+0
-53
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest/consistency_report_template_id_property.xml
...ts/PortalTest/consistency_report_template_id_property.xml
+0
-53
product/ERP5/bootstrap/erp5_property_sheets/bt/template_property_sheet_id_list
...p/erp5_property_sheets/bt/template_property_sheet_id_list
+0
-1
product/ERP5/mixin/variation.py
product/ERP5/mixin/variation.py
+0
-51
No files found.
product/ERP5/Document/Binder.py
deleted
100644 → 0
View file @
4773fac2
##############################################################################
#
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com>
#
# 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.
#
##############################################################################
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
from
Products.ERP5Type.Core.Folder
import
Folder
from
Products.ERP5.Document.Document
import
Document
class
Binder
(
Folder
,
Document
):
"""
A Binder is a Folder wich can be considered as a document.
"""
meta_type
=
'ERP5 Binder'
portal_type
=
'Binder'
# Declarative security
security
=
ClassSecurityInfo
()
security
.
declareObjectProtected
(
Permissions
.
AccessContentsInformation
)
# Declarative properties
property_sheets
=
(
PropertySheet
.
Base
,
PropertySheet
.
XMLObject
,
PropertySheet
.
Document
,
PropertySheet
.
DublinCore
)
product/ERP5/Document/PortalTest.py
deleted
100644 → 0
View file @
4773fac2
##############################################################################
#
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com>
#
# 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.
#
##############################################################################
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
from
Products.ERP5Type.XMLMatrix
import
XMLMatrix
from
Products.ERP5.Document.MappedValue
import
MappedValue
class
PortalTest
(
MappedValue
,
XMLMatrix
):
"""
Container for test descriptions (funtionnal test scenarii,...).
"""
meta_type
=
'ERP5 Portal Test'
portal_type
=
'Portal Test'
add_permission
=
Permissions
.
AddPortalContent
# Declarative security
security
=
ClassSecurityInfo
()
security
.
declareObjectProtected
(
Permissions
.
AccessContentsInformation
)
# Declarative properties
property_sheets
=
(
PropertySheet
.
Base
,
PropertySheet
.
DublinCore
,
PropertySheet
.
CategoryCore
,
PropertySheet
.
PortalTest
)
product/ERP5/Document/Pricing.py
deleted
100644 → 0
View file @
4773fac2
##############################################################################
#
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com>
#
# 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.
#
##############################################################################
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
from
Products.ERP5Type.XMLMatrix
import
XMLMatrix
from
Products.ERP5.Document.MappedValue
import
MappedValue
class
Pricing
(
MappedValue
,
XMLMatrix
):
"""
Un element de tarif est un prix pour un ensemble de conditions d'application...
"""
meta_type
=
'ERP5 Pricing'
portal_type
=
'Pricing'
add_permission
=
Permissions
.
AddPortalContent
# Declarative security
security
=
ClassSecurityInfo
()
security
.
declareObjectProtected
(
Permissions
.
AccessContentsInformation
)
# Declarative properties
property_sheets
=
(
PropertySheet
.
Base
,
PropertySheet
.
XMLObject
,
PropertySheet
.
CategoryCore
,
PropertySheet
.
Price
,
PropertySheet
.
Pricing
)
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
'_setQuantityRangeList'
)
def
_setQuantityRangeList
(
self
,
category_list
):
"""
Defines the possible base categories which Quantity value (Q)
variate on
"""
self
.
_setCategoryMembership
(
'quantity_range'
,
category_list
,
base
=
0
)
self
.
setCellRange
((
None
,),
category_list
,
base_id
=
'destination_base_price'
)
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
'setQuantityRangeList'
)
def
setQuantityRangeList
(
self
,
category_list
):
self
.
_setQuantityRangeList
(
category_list
)
self
.
reindexObject
()
product/ERP5/Document/SetPricing.py
deleted
100644 → 0
View file @
4773fac2
##############################################################################
#
# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
# Jean-Paul Smets-Solanes <jp@nexedi.com>
#
# 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.
#
##############################################################################
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
from
Products.ERP5Type.XMLMatrix
import
XMLMatrix
from
Products.ERP5.Document.MappedValue
import
MappedValue
class
SetPricing
(
MappedValue
,
XMLMatrix
):
"""
Un element de tarif est un prix pour un ensemble de conditions d'application...
"""
meta_type
=
'ERP5 Set Pricing'
portal_type
=
'Set Pricing'
add_permission
=
Permissions
.
AddPortalContent
# Declarative security
security
=
ClassSecurityInfo
()
security
.
declareObjectProtected
(
Permissions
.
AccessContentsInformation
)
# Declarative properties
property_sheets
=
(
PropertySheet
.
Base
,
PropertySheet
.
XMLObject
,
PropertySheet
.
CategoryCore
,
PropertySheet
.
Price
,
PropertySheet
.
Pricing
)
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
'_setQuantityRangeList'
)
def
_setQuantityRangeList
(
self
,
category_list
):
"""
Defines the possible base categories which Quantity value (Q)
variate on
"""
self
.
_setCategoryMembership
(
'quantity_range'
,
category_list
,
base
=
0
)
self
.
setCellRange
((
None
,),
category_list
,
base_id
=
'destination_base_price'
)
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
'setQuantityRangeList'
)
def
setQuantityRangeList
(
self
,
category_list
):
self
.
_setQuantityRangeList
(
category_list
)
self
.
reindexObject
()
product/ERP5/Document/VariatedProperty.py
deleted
100644 → 0
View file @
4773fac2
##############################################################################
#
# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Yoshinori Okuji <yo@nexedi.com>
#
# 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.
#
##############################################################################
import
zope.interface
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
,
interfaces
from
Products.ERP5Type.XMLObject
import
XMLObject
from
Products.ERP5Type.XMLMatrix
import
XMLMatrix
class
VariatedProperty
(
XMLObject
,
XMLMatrix
):
"""
VariatedReference defines a reference which
can take multiples values depending of the variations of a resource
Maybe defined by mapped values inside the resource
"""
meta_type
=
'ERP5 Variated Property'
portal_type
=
'Variated Property'
add_permission
=
Permissions
.
AddPortalContent
# Declarative security
security
=
ClassSecurityInfo
()
security
.
declareObjectProtected
(
Permissions
.
AccessContentsInformation
)
# Declarative properties
property_sheets
=
(
PropertySheet
.
Base
,
PropertySheet
.
SimpleItem
,
PropertySheet
.
VariationRange
,
PropertySheet
.
MappedValue
)
# Declarative interfaces
zope
.
interface
.
implements
(
interfaces
.
IVariated
,
)
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
'newCellContent'
)
def
newCellContent
(
self
,
id
,
portal_type
=
'Set Mapped Value'
,
**
kw
):
"""Overriden to specify default portal type
"""
return
self
.
newContent
(
id
=
id
,
portal_type
=
portal_type
,
**
kw
)
product/ERP5/Document/Wiki.py
deleted
100644 → 0
View file @
4773fac2
##############################################################################
#
# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Yoshinori Okuji <yo@nexedi.com>
#
# 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.
#
##############################################################################
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
from
Products.ERP5.Document.Document
import
Document
import
cgi
import
re
class
Wiki
(
Document
):
"""
A simple Wiki document. A Wiki page may contain
subobjects (File, Image, etc.) just like any text
based Document.
"""
# Default Properties
property_sheets
=
(
PropertySheet
.
Base
,
PropertySheet
.
XMLObject
,
PropertySheet
.
CategoryCore
,
PropertySheet
.
DublinCore
,
PropertySheet
.
Document
)
# CMF Type Definition
meta_type
=
'ERP5 Wiki'
portal_type
=
'Wiki'
add_permission
=
Permissions
.
AddPortalContent
# Declarative security
security
=
ClassSecurityInfo
()
security
.
declareObjectProtected
(
Permissions
.
AccessContentsInformation
)
# Compile regular expressions at load time.
table_expr
=
re
.
compile
(
r"^\
|
\|(.+)\
|
\|$"
)
heading_expr
=
re
.
compile
(
r"^(={1,5}) (.+) \1$"
)
horizontal_line_expr
=
re
.
compile
(
r"^-{4,}$"
)
enumerated_list_expr
=
re
.
compile
(
r"^(\
s+)[
0-9]+\
.(.*)
")
item_list_expr = re.compile(r"
^
(
\
s
+
)
\
*
(.
*
)
")
preformatted_text_expr = re.compile(r"
^
{{{
$
")
empty_line_expr = re.compile(r"
^
\
s
*
$
")
line_expr_map = {
'table' : table_expr,
'heading' : heading_expr,
'horizontal_line' : horizontal_line_expr,
'enumerated_list' : enumerated_list_expr,
'item_list' : item_list_expr,
'preformatted_text' : preformatted_text_expr,
'empty_line' : empty_line_expr,
}
wiki_name_expr = re.compile(r"
!?
([
A
-
Z
][
a
-
z
]
+
){
2
,}(
/
([
A
-
Z
][
a
-
z
]
+
){
2
,})
*
")
underscore_expr = re.compile(r"
__
([
^
_
]
+
)
__
")
bold_expr = re.compile(r"'''([^']+)'''")
italic_expr = re.compile(r"
(
?
<
!
')''([^'
]
+
)
''
(
?!
')")
strike_expr = re.compile(r"~~([^~]+)~~")
url_expr = re.compile(r"(!?[a-z]+://[^ ]+)")
link_expr = re.compile(r"(?<!
\
[)
\
[([^
\
] ]+) ([^
\
]]+)
\
](?!
\
])")
tales_expr = re.compile(r"
\
[
\
[([^
\
]]+)
\
]
\
]
"
)
text_expr_map = {
'
wiki_name
' : wiki_name_expr,
'
underscore
': underscore_expr,
'
bold
' : bold_expr,
'
italic
' : italic_expr,
'
strike
' : strike_expr,
'
url
' : url_expr,
'
link
' : link_expr,
'
tales
' : tales_expr,
}
def _getTopLevelUrl(self):
o = self.getParentValue()
while o.meta_type == '
ERP5
Wiki
':
o = o.getParentValue()
return o.absolute_url()
def _render_text(self, text):
"""
Render a piece of text.
"""
text_list = []
append = text_list.append
while text:
min_start = len(text)
match = None
min_key = None
for key, expr in self.text_expr_map.items():
m = expr.search(text)
if m is not None:
start = m.start(0)
if min_start > start:
min_start = start
min_key = key
match = m
if match is None:
# Nothing special.
append(cgi.escape(text))
break
else:
if min_start > 0:
append(text[:min_start])
if min_key == '
wiki_name
':
name = match.string[match.start(0):match.end(0)]
if name.startswith('
!
'):
append(name[1:])
else:
# FIMXE: Create a new wiki instance if not present.
append('
<
a
href
=
"%s/%s"
>%
s
</
a
>
' % (self._getTopLevelUrl(), name, name))
elif min_key == '
url
':
url = match.string[match.start(1):match.end(1)]
if url.startswith('
!
'):
append(url[1:])
else:
# XXX Language-specific evil hack.
if url[-1] in r",.'
)]}
":
extra = url[-1]
url = url[:-1]
else:
extra = None
append('<a href="
%
s
">%s</a>' % (url, cgi.escape(url)))
if extra is not None:
append(extra)
elif min_key == 'tales':
append(self._render_tales(match.string[match.start(1):match.end(1)]))
elif min_key == 'link':
link, label = match.groups()
label = self._render_text(label)
if self.wiki_name_expr.search(link):
# FIXME: Create a new wiki instance if not present
append('<a href="
%
s
/%
s
">%s</a>' % (self._getTopLevelUrl(), link, label))
else:
append('<a href="
%
s
">%s</a>' % (link, label))
else:
word = self._render_text(match.string[match.start(1):match.end(1)])
if min_key == 'underscore':
append('<u>%s</u>' % word)
elif min_key == 'italic':
append('<i>%s</i>' % word)
elif min_key == 'bold':
append('<b>%s</b>' % word)
elif min_key == 'strike':
append('<del>%s</del>' % word)
text = text[match.end(0):]
return ''.join(text_list)
def _render_tales(self, expr):
"""
Evaluate the expression.
FIXME
"""
return ''
def _render_table_row(self, text):
"""
Render a row of a table.
"""
text_list = ['<tr>']
append = text_list.append
for cell in text.split('||'):
append('<td>')
append(self._render_text(cell))
append('</td>')
append('</tr>')
return ''.join(text_list)
security.declareProtected(Permissions.View, 'render')
def render(self, content=None, format=None):
"""
Render the contents and generate HTML.
FIXME: Very dirty. Better to rewrite this with a state machine.
"""
if content is None:
content = self.getTextContent()
if content is None:
content = ''
preformatted = False
in_table = False
in_paragraph = False
list_stack = []
line_list = []
append = line_list.append
for line in content.split('
\
n
'): # Used to be
\
r
\
n
if preformatted:
if line == '}}}':
preformatted = False
append('</pre>')
else:
append(cgi.escape(line))
continue
if in_table:
m = self.table_expr.search(line)
if m is not None:
append(self._render_table_row(m.string[m.start(1):m.end(1)]))
continue
else:
append('</table>')
if list_stack:
for key, expr in (('enumerated_list', self.enumerated_list_expr), ('item_list', self.item_list_expr)):
m = expr.search(line)
if m is not None:
break
else:
key = None
if key is None:
level = 0
else:
level = m.end(1) - m.start(1)
while list_stack and list_stack[-1][1] > level:
prev_key, prev_level = list_stack.pop()
if prev_key == 'enumerated_list':
append('</ol>')
else:
append('</ul>')
if list_stack and list_stack[-1][1] == level:
if key == list_stack[-1][0]:
append('<li>')
append(self._render_text(m.string[m.start(2):m.end(2)]))
continue
else:
prev_key, prev_level = list_stack.pop()
if prev_key == 'enumerated_list':
append('</ol>')
else:
append('</ul>')
if key is not None:
list_stack.append((key, level))
if key == 'enumerated_list':
append('<ol><li>')
append(self._render_text(m.string[m.start(2):m.end(2)]))
else:
append('<ul><li>')
append(self._render_text(m.string[m.start(2):m.end(2)]))
continue
for key, expr in self.line_expr_map.items():
m = expr.search(line)
if m is not None:
break
else:
key = None
if in_paragraph and key is not None:
in_paragraph = False
append('</p>')
if key == 'preformatted_text':
preformatted = True
append('<pre>')
elif key == 'horizontal_line':
append('<hr>')
elif key == 'table':
in_table = True
append('<table>')
append(self._render_table_row(m.string[m.start(1):m.end(1)]))
elif key == 'heading':
level = m.end(1) - m.start(1)
append('<h%d>' % level)
append(self._render_text(m.string[m.start(2):m.end(2)]))
append('</h%d>' % level)
elif key == 'enumerated_list':
list_stack.append((key, m.end(1) - m.start(1)))
append('<ol><li>')
append(self._render_text(m.string[m.start(2):m.end(2)]))
elif key == 'item_list':
list_stack.append((key, m.end(1) - m.start(1)))
append('<ul><li>')
append(self._render_text(m.string[m.start(2):m.end(2)]))
elif key == 'empty_line':
pass
else:
if not in_paragraph:
in_paragraph = True
append('<p>')
append(self._render_text(line))
while list_stack:
key, level = list_stack.pop()
if key == 'enumerated_list':
append('</ol>')
else:
append('</ul>')
if in_paragraph:
append('</p>')
if in_table:
append('</table>')
if preformatted:
append('</pre>')
return '
\
n
'.join(line_list)
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest.xml
deleted
100644 → 0
View file @
4773fac2
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Property Sheet"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
PortalTest
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Property Sheet
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest/consistency_check_method_id_property.xml
deleted
100644 → 0
View file @
4773fac2
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_local_properties
</string>
</key>
<value>
<tuple>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
mode
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/string
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Method to invoke as a consistency test
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
consistency_check_method_id_property
</string>
</value>
</item>
<item>
<key>
<string>
mode
</string>
</key>
<value>
<string>
w
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest/consistency_fix_method_id_property.xml
deleted
100644 → 0
View file @
4773fac2
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_local_properties
</string>
</key>
<value>
<tuple>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
mode
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/lines
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Method to invoke as a consistency test
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
consistency_fix_method_id_property
</string>
</value>
</item>
<item>
<key>
<string>
mode
</string>
</key>
<value>
<string>
w
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/PortalTest/consistency_report_template_id_property.xml
deleted
100644 → 0
View file @
4773fac2
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Standard Property"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_local_properties
</string>
</key>
<value>
<tuple>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
mode
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
elementary_type/lines
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Template id to invoke for rendering consistency test
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
consistency_report_template_id_property
</string>
</value>
</item>
<item>
<key>
<string>
mode
</string>
</key>
<value>
<string>
w
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Standard Property
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
product/ERP5/bootstrap/erp5_property_sheets/bt/template_property_sheet_id_list
View file @
a640eb9b
...
...
@@ -124,7 +124,6 @@ PDFType
Periodicity
PeriodicityTerm
Person
PortalTest
Predicate
Preference
Price
...
...
product/ERP5/mixin/variation.py
deleted
100644 → 0
View file @
4773fac2
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility 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
# guarantees 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
##############################################################################
import
zope.interface
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
interfaces
from
Products.ERP5.Document.Amount
import
Amount
class
VariationMixin
:
"""
Although MappedValue are supposed to be independent of any
design choice, we have to implement them as subclasses of
Amount in order to make sure they provide a complete
variation interface. In particular, we want to be able
to call getVariationValue / setVariationValue on a
MappedValue.
(XXX - NO MORE)
XXX - Amount should be remove from here
Interesting Idea: properties and categories of the mapped value
(not of the predicate) could be handled through additional matrix
dimensions rather than through ad-hoc definition.
"""
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment