[Erp5-report] r29811 - in /erp5/trunk/products/ERP5/interfaces: translatable.py versionable.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Oct 19 18:18:12 CEST 2009


Author: jp
Date: Mon Oct 19 18:18:12 2009
New Revision: 29811

URL: http://svn.erp5.org?rev=29811&view=rev
Log:
Initial upload

Added:
    erp5/trunk/products/ERP5/interfaces/translatable.py
    erp5/trunk/products/ERP5/interfaces/versionable.py

Added: erp5/trunk/products/ERP5/interfaces/translatable.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/translatable.py?rev=29811&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/translatable.py (added)
+++ erp5/trunk/products/ERP5/interfaces/translatable.py [utf8] Mon Oct 19 18:18:12 2009
@@ -1,0 +1,54 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+#                    Jean-Paul Smets-Solanes <jp at 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 zope.interface import Interface
+
+class ITranslatable(Interface):
+  """
+  Translatable interface specification
+
+  Documents which implement the ITranslatable are available in different
+  languages.
+  """
+
+  def getLanguageList(version=None):
+    """
+    Returns a list of languages which this document is available in
+    for the current user.
+       
+    version -- an optional version for documents which also
+               implement IVersionable
+    """
+
+  def getOriginalLanguage():
+    """
+    Returns the original language of this document. The original
+    language of a document is defined as the language of
+    the first document with same reference created in the system.
+    """

Added: erp5/trunk/products/ERP5/interfaces/versionable.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/versionable.py?rev=29811&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/versionable.py (added)
+++ erp5/trunk/products/ERP5/interfaces/versionable.py [utf8] Mon Oct 19 18:18:12 2009
@@ -1,0 +1,92 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+#                    Jean-Paul Smets-Solanes <jp at 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 zope.interface import Interface
+
+class IVersionable(Interface):
+  """
+  Versionable interface specification
+
+  Documents which implement the IVersionable are available in different
+  versions and languages and include a revision number.
+  """
+
+  def getLatestVersionValue(language=None):
+    """
+    Returns the the latest version with the latest revision
+    of the current document which the current user is
+    allows to view. If the current document implements 
+    ITranslatable, the latest version in the original 
+    language is returned, unless the document also exists
+    with the same version in the user preferred language.
+
+    language -- optional parameter to return the latest document
+                in the specified language for documents which also
+                implement ITranslatable
+    """
+
+  def getVersionValueList(version=None, language=None):
+    """
+    Returns the list of documents with same reference, same portal_type
+    but different version or language.
+
+    language -- optional parameter to specify a language 
+                for documents which also implement ITranslatable
+
+    version -- optional parameter to specify a version for
+               documents which also implement ITranslatable
+    """
+
+  def isVersionUnique():
+    """
+    Returns True if no other document exists with the same
+    reference, version and language (for documents which implement
+    ITranslatable), or if the current document has no reference.
+    Else return False.
+    """
+
+  def getRevision():
+    """
+    Returns the current revision of the current document.
+    The return value is a string in order to be consistent
+    with the property sheet definition.
+    """
+
+  def getRevisionList():
+    """
+    Returns the list of revisions of the current document.
+    """
+
+  def mergeRevision():
+    """
+    Merge the current document with any previous revision
+    by using the content of the current document to replace
+    the content of previous revisions, and by deleting the
+    current document afterwards.
+    """




More information about the Erp5-report mailing list