Commit e00e1266 authored by Jérome Perrin's avatar Jérome Perrin Committed by Julien Muchembled

Fix class hierarchy for projects and tickets

parent 323810f7
...@@ -33,10 +33,11 @@ import zope.interface ...@@ -33,10 +33,11 @@ import zope.interface
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
from Products.ERP5Type import Permissions, PropertySheet, interfaces from Products.ERP5Type import Permissions, PropertySheet, interfaces
from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter
from Products.ERP5Type.XMLObject import XMLObject from Products.ERP5.Document.Node import Node
from Products.ERP5.Document.Movement import Movement
from Products.ERP5Type.XMLMatrix import XMLMatrix from Products.ERP5Type.XMLMatrix import XMLMatrix
class Project(XMLObject, XMLMatrix): class Project(Node, Movement, XMLMatrix):
""" """
Project is a class which describes a typical project in consulting firm. Project is a class which describes a typical project in consulting firm.
A project has a client, an invoiced client. A project has also a start A project has a client, an invoiced client. A project has also a start
...@@ -54,7 +55,7 @@ class Project(XMLObject, XMLMatrix): ...@@ -54,7 +55,7 @@ class Project(XMLObject, XMLMatrix):
isDelivery = ConstantGetter('isDelivery', value=True) isDelivery = ConstantGetter('isDelivery', value=True)
isAccountable = ConstantGetter('isAccountable', value=False) isAccountable = ConstantGetter('isAccountable', value=False)
zope.interface.implements(interfaces.INode) zope.interface.implements(interfaces.INode, interfaces.IMovement)
# Declarative security # Declarative security
security = ClassSecurityInfo() security = ClassSecurityInfo()
......
...@@ -30,10 +30,9 @@ from AccessControl import ClassSecurityInfo ...@@ -30,10 +30,9 @@ from AccessControl import ClassSecurityInfo
from Products.ERP5Type import Permissions, PropertySheet from Products.ERP5Type import Permissions, PropertySheet
from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter
from Products.ERP5.Document.Movement import Movement
from Products.ERP5.Document.Project import Project from Products.ERP5.Document.Project import Project
class Ticket(Movement, Project): class Ticket(Project):
""" """
A Ticket allows to track a sales process involving A Ticket allows to track a sales process involving
multilple Person and Organisations. It is a placeholder for multilple Person and Organisations. It is a placeholder for
...@@ -78,6 +77,6 @@ class Ticket(Movement, Project): ...@@ -78,6 +77,6 @@ class Ticket(Movement, Project):
security.declareProtected(Permissions.AccessContentsInformation, 'isAccountable') security.declareProtected(Permissions.AccessContentsInformation, 'isAccountable')
def isAccountable(self): def isAccountable(self):
""" Tickets are accountable. """Tickets are accountable.
""" """
return 1 return 1
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment