def create_new_version(document, user_id, written_at=None): assert user_id archive = document.to_archive() archive_locales = document.get_archive_locales() archive_geometry = document.get_archive_geometry() meta_data = HistoryMetaData(comment='creation', user_id=user_id, written_at=written_at) versions = [] for locale in archive_locales: version = DocumentVersion( document_id=document.document_id, lang=locale.lang, document_archive=archive, document_locales_archive=locale, document_geometry_archive=archive_geometry, history_metadata=meta_data) versions.append(version) DBSession.add(archive) DBSession.add_all(archive_locales) DBSession.add(meta_data) DBSession.add_all(versions) DBSession.flush()
def update_version(document, user_id, comment, update_types, changed_langs): assert user_id assert update_types meta_data = HistoryMetaData(comment=comment, user_id=user_id) archive = DocumentRest._get_document_archive(document, update_types) geometry_archive = \ DocumentRest._get_geometry_archive(document, update_types) langs = DocumentRest._get_langs_to_update(document, update_types, changed_langs) locale_versions = [] for lang in langs: locale = document.get_locale(lang) locale_archive = DocumentRest._get_locale_archive( locale, changed_langs) version = DocumentVersion( document_id=document.document_id, lang=locale.lang, document_archive=archive, document_geometry_archive=geometry_archive, document_locales_archive=locale_archive, history_metadata=meta_data) locale_versions.append(version) DBSession.add(archive) DBSession.add(meta_data) DBSession.add_all(locale_versions) DBSession.flush()
def _update_version(self, document, user_id, comment, update_types, changed_langs): assert user_id assert update_types meta_data = HistoryMetaData(comment=comment, user_id=user_id) archive = self._get_document_archive(document, update_types) geometry_archive = \ self._get_geometry_archive(document, update_types) cultures = \ self._get_cultures_to_update(document, update_types, changed_langs) locale_versions = [] for culture in cultures: locale = document.get_locale(culture) locale_archive = self._get_locale_archive(locale, changed_langs) version = DocumentVersion( document_id=document.document_id, culture=locale.culture, document_archive=archive, document_geometry_archive=geometry_archive, document_locales_archive=locale_archive, history_metadata=meta_data ) locale_versions.append(version) DBSession.add(archive) DBSession.add(meta_data) DBSession.add_all(locale_versions) DBSession.flush()
def _update_version(self, document, comment, update_types, changed_langs): assert update_types meta_data = HistoryMetaData(comment=comment) archive = self._get_document_archive(document, update_types) geometry_archive = \ self._get_geometry_archive(document, update_types) cultures = \ self._get_cultures_to_update(document, update_types, changed_langs) locale_versions = [] for culture in cultures: locale = document.get_locale(culture) locale_archive = self._get_locale_archive(locale, changed_langs) version = DocumentVersion( document_id=document.document_id, culture=locale.culture, document_archive=archive, document_geometry_archive=geometry_archive, document_locales_archive=locale_archive, history_metadata=meta_data) locale_versions.append(version) DBSession.add(archive) DBSession.add(meta_data) DBSession.add_all(locale_versions) DBSession.flush()
def _create_new_version(self, document): archive = document.to_archive() archive_locales = document.get_archive_locales() archive_geometry = document.get_archive_geometry() meta_data = HistoryMetaData(comment='creation') versions = [] for locale in archive_locales: version = DocumentVersion( document_id=document.document_id, culture=locale.culture, document_archive=archive, document_locales_archive=locale, document_geometry_archive=archive_geometry, history_metadata=meta_data) versions.append(version) DBSession.add(archive) DBSession.add_all(archive_locales) DBSession.add(meta_data) DBSession.add_all(versions) DBSession.flush()
def _create_new_version(self, document): archive = document.to_archive() archive_locales = document.get_archive_locales() archive_geometry = document.get_archive_geometry() meta_data = HistoryMetaData(comment='creation') versions = [] for locale in archive_locales: version = DocumentVersion( document_id=document.document_id, culture=locale.culture, document_archive=archive, document_locales_archive=locale, document_geometry_archive=archive_geometry, history_metadata=meta_data ) versions.append(version) DBSession.add(archive) DBSession.add_all(archive_locales) DBSession.add(meta_data) DBSession.add_all(versions) DBSession.flush()
def create_new_version(document, user_id): assert user_id archive = document.to_archive() archive_locales = document.get_archive_locales() archive_geometry = document.get_archive_geometry() meta_data = HistoryMetaData(comment='creation', user_id=user_id) versions = [] for locale in archive_locales: version = DocumentVersion( document_id=document.document_id, lang=locale.lang, document_archive=archive, document_locales_archive=locale, document_geometry_archive=archive_geometry, history_metadata=meta_data ) versions.append(version) DBSession.add(archive) DBSession.add_all(archive_locales) DBSession.add(meta_data) DBSession.add_all(versions) DBSession.flush()