Skip to content
Snippets Groups Projects
Commit fc785748 authored by aboeckle's avatar aboeckle
Browse files

OO-4375 Fixed delete files table

parent d9d8989f
No related branches found
No related tags found
No related merge requests found
...@@ -66,7 +66,6 @@ import org.olat.core.id.Identity; ...@@ -66,7 +66,6 @@ import org.olat.core.id.Identity;
import org.olat.core.util.Formatter; import org.olat.core.util.Formatter;
import org.olat.core.util.Util; import org.olat.core.util.Util;
import org.olat.core.util.async.ProgressDelegate; import org.olat.core.util.async.ProgressDelegate;
import org.olat.core.util.vfs.VFSItem;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
/** /**
...@@ -152,17 +151,14 @@ public class VFSTrashController extends FormBasicController implements ProgressD ...@@ -152,17 +151,14 @@ public class VFSTrashController extends FormBasicController implements ProgressD
orphansListTableEl = uifactory.addTableElement(getWindowControl(), "orphansList", versionsDeletedFileDataModel, 24, false, getTranslator(), tableLayout); orphansListTableEl = uifactory.addTableElement(getWindowControl(), "orphansList", versionsDeletedFileDataModel, 24, false, getTranslator(), tableLayout);
orphansListTableEl.setEmtpyTableMessageKey("version.noDeletedFiles"); orphansListTableEl.setEmtpyTableMessageKey("version.noDeletedFiles");
orphansListTableEl.setMultiSelect(true); orphansListTableEl.setMultiSelect(true);
orphansListTableEl.setSelectAllEnable(true);
FlexiTableSortOptions sortOptions = new FlexiTableSortOptions(true); FlexiTableSortOptions sortOptions = new FlexiTableSortOptions(true);
sortOptions.setDefaultOrderBy(new SortKey(VersionsDeletedCols.size.name(), false)); sortOptions.setDefaultOrderBy(new SortKey(VersionsDeletedCols.size.name(), false));
orphansListTableEl.setSortSettings(sortOptions); orphansListTableEl.setSortSettings(sortOptions);
orphansListTableEl.setAndLoadPersistedPreferences(ureq, "deleted-rev-file-list"); orphansListTableEl.setAndLoadPersistedPreferences(ureq, "deleted-rev-file-list");
orphansListTableEl.setSelectAllEnable(true);
orphansDeleteButton = uifactory.addFormLink("delete", tableLayout, Link.BUTTON); orphansDeleteButton = uifactory.addFormLink("delete", tableLayout, Link.BUTTON);
orphansDeleteButton.setIconLeftCSS(CSSHelper.getIconCssClassFor(CSSHelper.CSS_CLASS_TRASHED)); orphansDeleteButton.setIconLeftCSS(CSSHelper.getIconCssClassFor(CSSHelper.CSS_CLASS_TRASHED));
tableLayout.add("orphansTable", orphansListTableEl);
tableLayout.add("orphansDelete", orphansDeleteButton);
} }
@Override @Override
...@@ -212,23 +208,7 @@ public class VFSTrashController extends FormBasicController implements ProgressD ...@@ -212,23 +208,7 @@ public class VFSTrashController extends FormBasicController implements ProgressD
private void doDelete(List<VersionsDeletedFileRow> rowsToDelete) { private void doDelete(List<VersionsDeletedFileRow> rowsToDelete) {
for(VersionsDeletedFileRow row:rowsToDelete) { for(VersionsDeletedFileRow row:rowsToDelete) {
VFSRevision revision = vfsRepositoryService.getRevision(new VFSRevisionRefImpl(row.getRevisionKey())); VFSRevision revision = vfsRepositoryService.getRevision(new VFSRevisionRefImpl(row.getRevisionKey()));
doDelete(revision); vfsRepositoryService.deleteRevisions(getIdentity(), Collections.singletonList(revision));
}
}
private void doDelete(VFSRevision revision) {
VFSMetadata metadata = revision.getMetadata();
vfsRepositoryService.deleteRevisions(getIdentity(), Collections.singletonList(revision));
dbInstance.commit();
if(metadata.isDeleted()) {
List<VFSRevision> revisions = vfsRepositoryService.getRevisions(metadata);
if(revisions.isEmpty()) {
VFSItem item = vfsRepositoryService.getItemFor(metadata);
if(item == null || !item.exists()) {
vfsRepositoryService.deleteMetadata(metadata);
}
}
} }
} }
......
<fieldset class="o_form_horizontal"> <fieldset class="o_form_horizontal">
<legend class="o_text_right">$r.translate("version.deletedFiles")</legend> <legend class="o_text_right">$r.translate("version.deletedFiles")</legend>
$r.render("orphansTable") $r.render("orphansList")
<div class="o_button_group"> <div class="o_button_group">
$r.render("orphansDelete") $r.render("delete")
</div> </div>
</fieldset> </fieldset>
\ No newline at end of file
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