Generated on Fri, 22 Jul 2005 16:29:15 CEST
There are currently 39 XXX/TODO/BBB comments.
# BBB aliases import Products.ATContentTypes.modulealiases # wire the add permission after all types are registered
# XXX what should be returned if no data is present?
security.declareProtected(View, 'get_data')
def get_data(self):
# XXX no error catching
fh, mimetype, filename, size = self.loadFileFromURL(value,
contenttypes=('image',))
mutator = self.getPrimaryField().getMutator(self)
# XXX this is ugly
# When an object is initialized the first time we have to
# set the filename and mimetype.
# In the case the value is empty/None we must not set the value because
# XXX disabled for now, see
# https://sourceforge.net/tracker/index.php?func=detail&aid=974102&group_id=55262&atid=645337
#validators = ('isInternationalPhoneNumber',),
validators= (),
# XXX come up with a nice cmp for types
return cmp(self.Title(), other)
def __hash__(self):
BBB: ImageField.get_size() returns the size of the original image + all
scales but we want only the size of the original image.
"""
img = self.getImage()
# XXX Sorting results in inconsistent order. Leave them in the order
# they were added.
#val.sort()
return val
up other XXX added security assertions fixed implementation of AT Event rewrote some doc strings 2004-04-04 23:47 tiran
* Merged the topic tool branch into 1.0 XXX: insert history here. [tiran] * Refactored ConstrainTypesMixin to support PLIP 78:
* Added XXX report tool to ATCT. It's mostly a copy from the Zope3 XXX tools. [tiran] * Fixed [ 1049018 ] url field on Link doesn't allow mailto. Also added an
# TODO: folderish first is missing, use the catalog to resort it!
security.declareProtected(ModifyPortalContent, 'moveObject')
def moveObject(self, id, position):
# XXX: disabled
# we need a proper event system to make it work
#if item.aq_inner.aq_parent == self:
# self.autoOrderItems()
# XXX: AT doesn't support enforce on vocabs with int display list
#enforceVocabulary = True,
languageIndependent = True,
write_permissions = ATCTPermissions.ModifyConstrainTypes,
# TODO: explicit check for Pdata or file handler
if isinstance(img, OFSImage):
data = str(img.data)
else:
# XXX no error catching
fh, mimetype, filename, size = self.loadFileFromURL(value,
contenttypes=('image',))
mutator = self.getPrimaryField().getMutator(self)
# XXX: savepoints are invalidated once they are used
savepoint = transaction.savepoint()
continue
else:
TODO: stop when no objects are left. Don't try to migrate until the walker
reaches max_depth
"""
depth = self.depth
# BBB remove import from PloneLanguageTool later
try:
from Products.CMFPlone.interfaces.Translatable import ITranslatable
except ImportError:
# XXX more
def compareAfterMigration(self, migrated, mod=None, created=None):
self.failUnless(isinstance(migrated, self.klass),
# TODO: not a real test
self._ATCT.getObjPositionInParent()
def test_schema_marshall(self):
# XXX more
self.failUnless(migrated.getRemoteUrl() == url, 'URL mismatch: %s / %s' \
% (migrated.getRemoteUrl(), url))
# TODO: more tests
def test_migration(self):
old = self._cmf
# TODO: more tests
def test_schema_marshall(self):
atct = self._ATCT
# TODO: more tests
def test_migrator_doesnt_migrate_non_contentish_sub_objects(self):
# Test that we don't try to migrate conteaind non-content objects
# TODO: more tests tests.append(TestAutoSortSupport)
# TODO: more tests
self.failUnless(migrated.getRemoteUrl() == url, 'URL mismatch: %s / %s' \
% (migrated.getRemoteUrl(), url))
# XXX more
def test_get_size(self):
atct = self._ATCT
# XXX not in the current version
return
dummy = self._dummy
field = dummy.getField('customView')
# XXX not in the current version
return
dummy = self._dummy
field = dummy.getField('customViewFields')
# XXX: This should probably move to the new CMFDynamicViewFTI
class TestBrowserDefaultMixin(atcttestcase.ATCTSiteTestCase):
folder_type = 'Folder'
image_type = 'Image'
# XXX add a cmf based object before cataloging
result, time, ctime = t._catalogCMFtypes()
# XXX this relies on the current AttributeStorage implementation
updateIntegerCriteria(self.portal,[])
self.assertEqual(self.int_crit.value2,None)
self.assertEqual(self.int_crit.direction,'')
XXX: .event should be removed? >>> event = self.folder['test-event.event']
XXX: Note that name mangeling for WebDAV PUTs are not supported at the moment! >>> image = self.folder['test my image.gif']
XXX: .link should be removed? >>> link = self.folder['test-link.link']
XXX: .news should be removed? >>> news = self.folder['test-newsitem.news']
# TODO: not impelemented
raise NotImplementedError, "Migrating a subset of types is not implemented"
if isinstance(portal_types, basestring):
portal_types = (portal_types,)
# XXX: I consider passing an empty mt argument as bug
return [], 0, 0
if not isinstance(mt, (list, tuple)):