def test_initial_version_is_created_when_updating_the_file(self): self.login(self.regular_user) versioner = Versioner(self.document) self.assertFalse(versioner.has_initial_version()) self.document.file = NamedBlobFile(data='New', filename=u'test.txt') self.assertTrue(versioner.has_initial_version()) self.assertEquals( 1, versioner.get_history_metadata().getLength(countPurged=False))
def test_doc_property_writer_creates_initial_version(self): self.activate_feature('doc-properties') self.login(self.dossier_responsible) versioner = Versioner(self.document) self.assertFalse(versioner.has_initial_version()) DocPropertyWriter(self.document).update_doc_properties(only_existing=False) self.assertTrue(versioner.has_initial_version()) self.assertEquals( 1, versioner.get_history_metadata().getLength(countPurged=False))
def test_updating_a_document_via_webdav_creates_initial_version_too(self, browser): self.login(self.regular_user) versioner = Versioner(self.document) self.assertFalse(versioner.has_initial_version()) writer = IRawWriteFile(self.document, None) writer.write('New Data') writer.close() self.assertTrue(versioner.has_initial_version()) self.assertEquals( 1, versioner.get_history_metadata().getLength(countPurged=False))
def close(self): self.stream.seek(0) versioner = Versioner(self.context) if not versioner.has_initial_version(): versioner.create_initial_version() self.filefield.data = self.stream.read()
def cancel(self): """Cancel the current checkout.""" # is the user allowed to cancel? if not self.is_cancel_allowed(): raise Unauthorized # revert to prior version (baseline) if a version exists. versioner = Versioner(self.context) if versioner.has_initial_version(): self.revert_to_version(versioner.get_current_version_id(), create_version=False, force=True) # remember that we canceled in self.annotations[CHECKIN_CHECKOUT_ANNOTATIONS_KEY] = None # finally, reindex the object catalog = api.portal.get_tool('portal_catalog') catalog.reindexObject( self.context, idxs=( 'checked_out', ), update_metadata=True, ) # Clear any WebDAV locks left over by ExternalEditor if necessary self.clear_locks() # fire the event notify(ObjectCheckoutCanceledEvent(self.context))
def test_initial_version_is_not_created_when_adding_a_document(self): self.login(self.regular_user) versioner = Versioner(self.document) self.assertFalse(versioner.has_initial_version())