'''This package contains base classes for wrappers that hide to the Appy
developer the real classes used by the underlying web framework.'''
# ------------------------------------------------------------------------------
import os, os.path, mimetypes
import appy.pod
from appy.gen import Field, Search, Ref, String, WorkflowAnonymous
from appy.gen.indexer import defaultIndexes
from appy.gen.layout import defaultPageLayouts
from appy.gen.utils import createObject
from appy.px import Px
from appy.shared.utils import getOsTempFolder, executeCommand, \
normalizeString, sequenceTypes
from appy.shared.xml_parser import XmlMarshaller
from appy.shared.csv_parser import CsvMarshaller
# ------------------------------------------------------------------------------
class AbstractWrapper(object):
'''Any real Appy-managed Zope object has a companion object that is an
instance of this class.'''
# Input field for going to element number ...
pxGotoNumber = Px('''
|
:self.pxNavigate |
:bi | ||||
:tool.pxMessage |
||||
|
||||
|
||||
:tool.pxFooter |
:_('object_action') | :_('object_author') | :_('action_date') | :_('action_comment') | ||||||
---|---|---|---|---|---|---|---|---|---|
|
:_(zobj.getWorkflowLabel(action)) |
|
:ztool.formatDate(event['time'], withHour=True) |
|
|
|
|
|
:field.pxView | :field.pxRender |