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))
示例#4
0
    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()
示例#5
0
    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))
示例#6
0
    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 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())