Skip to content
Snippets Groups Projects
Commit e15d6638 authored by srosse's avatar srosse
Browse files

OO-3274: fix more issues with deleting taxonomy level, alone or concurrently

parent 9fa996b0
No related branches found
No related tags found
No related merge requests found
...@@ -129,8 +129,6 @@ public class TaxonomyLevelOverviewController extends BasicController implements ...@@ -129,8 +129,6 @@ public class TaxonomyLevelOverviewController extends BasicController implements
protected void doDispose() { protected void doDispose() {
// //
} }
@Override @Override
public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
...@@ -159,7 +157,7 @@ public class TaxonomyLevelOverviewController extends BasicController implements ...@@ -159,7 +157,7 @@ public class TaxonomyLevelOverviewController extends BasicController implements
fireEvent(ureq, Event.CANCELLED_EVENT); fireEvent(ureq, Event.CANCELLED_EVENT);
} }
} else if(confirmDeleteCtrl == source) { } else if(confirmDeleteCtrl == source) {
if(event == Event.DONE_EVENT) { if(event == Event.DONE_EVENT || event == Event.CHANGED_EVENT || event instanceof DeleteTaxonomyLevelEvent) {
fireEvent(ureq, new DeleteTaxonomyLevelEvent()); fireEvent(ureq, new DeleteTaxonomyLevelEvent());
} }
cmc.deactivate(); cmc.deactivate();
......
...@@ -212,7 +212,7 @@ public class TaxonomyLevelTypesEditController extends FormBasicController implem ...@@ -212,7 +212,7 @@ public class TaxonomyLevelTypesEditController extends FormBasicController implem
TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(row); TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(row);
if(type == null) { if(type == null) {
tableEl.reloadData(); tableEl.reloadData();
showWarning("repositoryentry.not.existing"); showWarning("warning.taxonomy.level.type.deleted");
} else { } else {
toolsCtrl = new ToolsController(ureq, getWindowControl(), row, type); toolsCtrl = new ToolsController(ureq, getWindowControl(), row, type);
listenTo(toolsCtrl); listenTo(toolsCtrl);
......
...@@ -221,7 +221,10 @@ public class TaxonomyTreeTableController extends FormBasicController implements ...@@ -221,7 +221,10 @@ public class TaxonomyTreeTableController extends FormBasicController implements
for(TaxonomyLevelRow row:rows) { for(TaxonomyLevelRow row:rows) {
if(levelKey.equals(row.getKey())) { if(levelKey.equals(row.getKey())) {
List<ContextEntry> subEntries = entries.subList(1, entries.size()); List<ContextEntry> subEntries = entries.subList(1, entries.size());
doSelectTaxonomyLevel(ureq, row).activate(ureq, subEntries, entries.get(0).getTransientState()); TaxonomyLevelOverviewController ctrl = doSelectTaxonomyLevel(ureq, row);
if(ctrl != null) {
ctrl.activate(ureq, subEntries, entries.get(0).getTransientState());
}
break; break;
} }
} }
...@@ -380,12 +383,18 @@ public class TaxonomyTreeTableController extends FormBasicController implements ...@@ -380,12 +383,18 @@ public class TaxonomyTreeTableController extends FormBasicController implements
} }
private TaxonomyLevelOverviewController doSelectTaxonomyLevel(UserRequest ureq, TaxonomyLevel taxonomyLevel) { private TaxonomyLevelOverviewController doSelectTaxonomyLevel(UserRequest ureq, TaxonomyLevel taxonomyLevel) {
OLATResourceable ores = OresHelper.createOLATResourceableInstance("TaxonomyLevel", taxonomyLevel.getKey()); if(taxonomyLevel == null) {
WindowControl bwControl = addToHistory(ureq, ores, null); showWarning("warning.taxonomy.level.deleted");
TaxonomyLevelOverviewController detailsLevelCtrl = new TaxonomyLevelOverviewController(ureq, bwControl, taxonomyLevel); loadModel(false, false);
listenTo(detailsLevelCtrl); return null;
stackPanel.pushController(taxonomyLevel.getDisplayName(), detailsLevelCtrl); } else {
return detailsLevelCtrl; OLATResourceable ores = OresHelper.createOLATResourceableInstance("TaxonomyLevel", taxonomyLevel.getKey());
WindowControl bwControl = addToHistory(ureq, ores, null);
TaxonomyLevelOverviewController detailsLevelCtrl = new TaxonomyLevelOverviewController(ureq, bwControl, taxonomyLevel);
listenTo(detailsLevelCtrl);
stackPanel.pushController(taxonomyLevel.getDisplayName(), detailsLevelCtrl);
return detailsLevelCtrl;
}
} }
private void doNewLevel(UserRequest ureq) { private void doNewLevel(UserRequest ureq) {
...@@ -410,7 +419,7 @@ public class TaxonomyTreeTableController extends FormBasicController implements ...@@ -410,7 +419,7 @@ public class TaxonomyTreeTableController extends FormBasicController implements
TaxonomyLevel level = taxonomyService.getTaxonomyLevel(row); TaxonomyLevel level = taxonomyService.getTaxonomyLevel(row);
if(level == null) { if(level == null) {
tableEl.reloadData(); tableEl.reloadData();
showWarning("repositoryentry.not.existing"); showWarning("warning.taxonomy.level.deleted");
} else { } else {
toolsCtrl = new ToolsController(ureq, getWindowControl(), row, level); toolsCtrl = new ToolsController(ureq, getWindowControl(), row, level);
listenTo(toolsCtrl); listenTo(toolsCtrl);
......
...@@ -133,3 +133,6 @@ warning.atleastone.level=Sie m\u00FCssen mindestens eine Ebene w\u00E4hlen dass ...@@ -133,3 +133,6 @@ warning.atleastone.level=Sie m\u00FCssen mindestens eine Ebene w\u00E4hlen dass
warning.atleastone.level.competence=Sie m\u00FCssen mindestens eine Ebene w\u00E4hlen. warning.atleastone.level.competence=Sie m\u00FCssen mindestens eine Ebene w\u00E4hlen.
warning.delete.level=Die Ebene darf nicht gel\u00F6scht werden. Sie wird noch benutzt. warning.delete.level=Die Ebene darf nicht gel\u00F6scht werden. Sie wird noch benutzt.
warning.delete.level.type=Der Ebenentype wurde nicht gel\u00F6scht. Er ist noch benutzt. warning.delete.level.type=Der Ebenentype wurde nicht gel\u00F6scht. Er ist noch benutzt.
warning.taxonomy.level.deleted=Diese Taxonomieebene ist nicht mehr verf\u00FCgbar.
warning.taxonomy.level.type.deleted=Dieser Ebenentype ist nicht mehr verf\u00FCgbar.
...@@ -133,3 +133,6 @@ warning.atleastone.level=You must at least one taxonomy level you can edit. ...@@ -133,3 +133,6 @@ warning.atleastone.level=You must at least one taxonomy level you can edit.
warning.atleastone.level.competence=You must at least one taxonomy level. warning.atleastone.level.competence=You must at least one taxonomy level.
warning.delete.level=The level cannot be deleted because it is still in use. warning.delete.level=The level cannot be deleted because it is still in use.
warning.delete.level.type=The level type "{0}" was not deleted because it is still in use. warning.delete.level.type=The level type "{0}" was not deleted because it is still in use.
warning.taxonomy.level.deleted=This taxonomy level is no longer available.
warning.taxonomy.level.type.deleted=This level type is no longer available.
...@@ -132,4 +132,6 @@ type.taxonomy.level=Attribuer un type de niveau ...@@ -132,4 +132,6 @@ type.taxonomy.level=Attribuer un type de niveau
warning.atleastone.level=Vous devez s\u00E9lectionner au moins un niveau que vous pouvez \u00E9diter. warning.atleastone.level=Vous devez s\u00E9lectionner au moins un niveau que vous pouvez \u00E9diter.
warning.atleastone.level.competence=Vous devez s\u00E9lectionner au moins un niveau. warning.atleastone.level.competence=Vous devez s\u00E9lectionner au moins un niveau.
warning.delete.level=Ce niveau de la taxonomie ne peut pas \u00EAtre effac\u00E9 car il est encore utilis\u00E9. warning.delete.level=Ce niveau de la taxonomie ne peut pas \u00EAtre effac\u00E9 car il est encore utilis\u00E9.
warning.delete.level.type=Le niveau de la taxonomie n'a pas \u00E9t\u00E9 effac\u00E9 car il est encore utilis\u00E9. warning.delete.level.type=Le type de niveau de la taxonomie n'a pas \u00E9t\u00E9 effac\u00E9 car il est encore utilis\u00E9.
warning.taxonomy.level.deleted=La niveau de la taxonomie n'est plus disponible.
warning.taxonomy.level.type.deleted=Le type de niveau n'est plus disponible.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment