diff --git a/install/upgrade/upgrade.md b/install/upgrade/upgrade.md index 5f30224dc..0a7b5e141 100644 --- a/install/upgrade/upgrade.md +++ b/install/upgrade/upgrade.md @@ -17,6 +17,9 @@ then run the database upgrade script, then restart Apache: sudo python3 install/upgrade/database_upgrade.py sudo service apache2 restart +### 8.4.0 to 8.4.1 +A code base update (e.g. with git pull) and a webserver restart is sufficient. + ### 8.3.0 to 8.4.0 8.4.0.sql is needed but will be taken care of by the database upgrade script. diff --git a/openatlas/forms/add_fields.py b/openatlas/forms/add_fields.py index 1ac0ccefe..d2efed0ab 100644 --- a/openatlas/forms/add_fields.py +++ b/openatlas/forms/add_fields.py @@ -261,4 +261,4 @@ class AddDynamicType(FlaskForm): setattr( manager.form_class, str(type_.id), - TreeField(str(type_.id), validators)) + TreeField(str(type_.id), validators, form=form)) diff --git a/openatlas/forms/field.py b/openatlas/forms/field.py index 979edd82a..92e0f048a 100644 --- a/openatlas/forms/field.py +++ b/openatlas/forms/field.py @@ -394,8 +394,10 @@ def __init__( type_id: str = '', filter_ids: Optional[list[int]] = None, is_type_form: Optional[bool] = False, + form: Any = None, **kwargs: Any) -> None: super().__init__(label, validators, **kwargs) + self.form = form self.type_id = type_id or self.id self.filters_ids = filter_ids self.is_type_form = is_type_form diff --git a/openatlas/views/changelog.py b/openatlas/views/changelog.py index 28b9c9f22..cfb80aa6d 100644 --- a/openatlas/views/changelog.py +++ b/openatlas/views/changelog.py @@ -21,6 +21,9 @@ def index_changelog() -> str: '2273': 'API: Endpoint to retrieve all available CIDOC properties', '2274': 'API: Endpoint to get related entities' }}], + '8.4.1': ['2024-05-14', { + 'fix': { + '2280': 'Dynamic type add not working for single types'}}], '8.4.0': ['2024-05-05', { 'feature': { '2261': 'Option to prevent selection of a type', diff --git a/openatlas/views/imports.py b/openatlas/views/imports.py index f08169bb0..450df3ac0 100644 --- a/openatlas/views/imports.py +++ b/openatlas/views/imports.py @@ -295,16 +295,16 @@ def import_data(project_id: int, class_: str) -> str: if not form.preview.data and checked_data and ( not file_data['backup_too_old'] or app.testing): Transaction.begin() - #try: - Import.import_data(project, class_, checked_data) - Transaction.commit() - g.logger.log('info', 'import', f'import: {len(checked_data)}') - flash(f"{_('import of')}: {len(checked_data)}", 'info') - imported = True - # except Exception as e: # pragma: no cover - # Transaction.rollback() - # g.logger.log('error', 'import', 'import failed', e) - # flash(_('error transaction'), 'error') + try: + Import.import_data(project, class_, checked_data) + Transaction.commit() + g.logger.log('info', 'import', f'import: {len(checked_data)}') + flash(f"{_('import of')}: {len(checked_data)}", 'info') + imported = True + except Exception as e: # pragma: no cover + Transaction.rollback() + g.logger.log('error', 'import', 'import failed', e) + flash(_('error transaction'), 'error') return render_template( 'import_data.html', form=form,