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)):