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

OO-4375 Fix

parent 7ea8bb47
No related branches found
No related tags found
No related merge requests found
......@@ -54,6 +54,7 @@ public class LargeFilesController extends FormBasicController implements Extende
public static final String[] TRASHED_KEYS = new String[]{ "trashed", "notTrashed", "both" };
public static final String[] REVISION_KEYS = new String[]{ "revisions", "files", "both" };
public static final String[] LOCKED_KEYS = new String[]{ "locked", "notlocked", "both" };
private FlexiTableElement largeFilesTableElement;
private LargeFilesTableModel largeFilesTableModel;
......@@ -152,11 +153,11 @@ public class LargeFilesController extends FormBasicController implements Extende
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
FormLayoutContainer leftContainer = FormLayoutContainer.createDefaultFormLayout("filter_left", getTranslator());
FormLayoutContainer leftContainer = FormLayoutContainer.createDefaultFormLayout_6_6("filter_left", getTranslator());
leftContainer.setRootForm(mainForm);
formLayout.add(leftContainer);
FormLayoutContainer rightContainer = FormLayoutContainer.createDefaultFormLayout("filter_right", getTranslator());
FormLayoutContainer rightContainer = FormLayoutContainer.createDefaultFormLayout_6_6("filter_right", getTranslator());
leftContainer.setRootForm(mainForm);
formLayout.add(rightContainer);
......@@ -333,15 +334,18 @@ public class LargeFilesController extends FormBasicController implements Extende
cmsg.addEmailTo(contactList);
cmsg.setSubject("Too large files in your personal folder");
StringBuilder sb = new StringBuilder();
String bodyStart = translate("largefiles.mail.start", new String[] {user.getUser().getFirstName() + user.getUser().getLastName()});
String bodyFiles = "<t>";
String bodyFiles = "<ul>";
String bodyEnd = translate("largefiles.mail.end");
for(LargeFilesTableContentRow row:rows) {
if (row.getAuthor() == user) {
bodyFiles = bodyFiles + "<li><b>" + Formatter.formatBytes(row.getSize()) + "</b> - " +row.getName() + "</li>";
bodyFiles += "<li><b>" + Formatter.formatBytes(row.getSize()) + "</b> - " +row.getName() + "</li>";
}
}
bodyFiles += "</ul>";
cmsg.setBodyText(bodyStart + bodyFiles + bodyEnd);
contactCtrl = new ContactFormController(ureq, getWindowControl(), true, false, false, cmsg, null);
......
......@@ -136,7 +136,7 @@ largefiles.filter.button.reset=Reset
largefiles.filter.button.search=Search
largefiles.filter.results.max=Results max
largefiles.filter.locked=Locked
largefiles.mail.start=*** This is an automatically generated message. Please do not answer to this message ***<br><br>Dear {0},<br><br>There are large files in your personal folder. Please remove them within the next 30 days.<br>
largefiles.mail.start=<p>*** This is an automatically generated message. Please do not answer to this message ***</p><p>Dear {0},</p><p>here are large files in your personal folder. Please remove them within the next 30 days.</p>
largefiles.mail.end=<br>Best regards<br>Your administration team
lock.aquiretime=Lock time
lock.key=Lock
......
......@@ -10,6 +10,7 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSorta
import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel;
import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableModelDelegate;
import org.olat.core.util.StringHelper;
public class LargeFilesTableModel extends DefaultFlexiTableDataModel<LargeFilesTableContentRow>
implements SortableFlexiTableDataModel<LargeFilesTableContentRow> {
......@@ -38,34 +39,34 @@ implements SortableFlexiTableDataModel<LargeFilesTableContentRow> {
@Override
public Object getValueAt(LargeFilesTableContentRow row, int col) {
switch(LargeFilesTableColumns.values()[col]) {
case key: return notNull(row.getKey());
case name: return notNull(row.getName());
case size: return notNull(row.getSize());
case path: return notNull("LinkFactory not ready yet");
case author: return notNull(row.getAuthor() != null ? row.getAuthor().getUser().getFirstName() + " " + row.getAuthor().getUser().getLastName() : null);
case revision: return notNull(row.isRevision());
case fileCategory: return notNull(row.getFileCategory());
case fileType: return notNull(row.getFileType());
case license: return notNull(row.getLicense() != null ? LicenseUIFactory.translate(row.getLicense(), locale) : null);
case lastModifiedAt: return notNull(row.getLastModifiedAt());
case createdAt: return notNull(row.getCreatedAt());
case age: return notNull(row.getAge());
case trashed: return notNull(row.isTrashed());
case uuid: return notNull(row.getUuid());
case downloadCount: return notNull(row.getDownloadCount());
case title: return notNull(row.getTitle());
case comment: return notNull(row.getComment());
case publisher: return notNull(row.getPublisher());
case creator: return notNull(row.getCreator());
case source: return notNull(row.getSource());
case pubDate: return notNull(row.getPubDate());
case language: return notNull(row.getLanguage());
case locked: return notNull(row.isLocked());
case lockedBy: return notNull(row.getLockedBy() != null ? row.getLockedBy().getUser().getFirstName() + " " + row.getLockedBy().getUser().getLastName() : null);
case lockedAt: return notNull(row.getLockedAt());
case revisionComment: return notNull(row.getRevisionComment());
case revisionNr: return notNull(row.getRevisionNr());
case sendMail: return notNull(row.getAuthor() != null ? true : false);
case key: return returnNullSafe(row.getKey());
case name: return returnNullSafe(row.getName());
case size: return returnNullSafe(row.getSize());
case path: return returnNullSafe("LinkFactory not ready yet");
case author: return returnNullSafe(row.getAuthor() != null ? row.getAuthor().getUser().getFirstName() + " " + row.getAuthor().getUser().getLastName() : null);
case revision: return returnNullSafe(row.isRevision());
case fileCategory: return returnNullSafe(row.getFileCategory());
case fileType: return returnNullSafe(row.getFileType());
case license: return returnNullSafe(row.getLicense() != null ? LicenseUIFactory.translate(row.getLicense(), locale) : null);
case lastModifiedAt: return returnNullSafe(row.getLastModifiedAt());
case createdAt: return returnNullSafe(row.getCreatedAt());
case age: return returnNullSafe(row.getAge());
case trashed: return returnNullSafe(row.isTrashed());
case uuid: return returnNullSafe(row.getUuid());
case downloadCount: return returnNullSafe(row.getDownloadCount());
case title: return returnNullSafe(row.getTitle());
case comment: return returnNullSafe(row.getComment());
case publisher: return returnNullSafe(row.getPublisher());
case creator: return returnNullSafe(row.getCreator());
case source: return returnNullSafe(row.getSource());
case pubDate: return returnNullSafe(row.getPubDate());
case language: return returnNullSafe(row.getLanguage());
case locked: return returnNullSafe(row.isLocked());
case lockedBy: return returnNullSafe(row.getLockedBy() != null ? row.getLockedBy().getUser().getFirstName() + " " + row.getLockedBy().getUser().getLastName() : null);
case lockedAt: return returnNullSafe(row.getLockedAt());
case revisionComment: return returnNullSafe(row.getRevisionComment());
case revisionNr: return returnNullSafe(row.getRevisionNr());
case sendMail: return returnNullSafe(row.getAuthor() != null ? StringHelper.containsNonWhitespace(row.getAuthor().getUser().getEmail()) ? true : false : false);
default: return "ERROR";
}
......@@ -76,7 +77,7 @@ implements SortableFlexiTableDataModel<LargeFilesTableContentRow> {
return new LargeFilesTableModel(getTableColumnModel(), locale);
}
private Object notNull(Object o) {
private Object returnNullSafe(Object o) {
return o != null ? o : "";
}
......
......@@ -47,6 +47,7 @@ import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
import org.olat.core.gui.control.generic.modal.DialogBoxController;
import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory;
import org.olat.core.gui.util.CSSHelper;
import org.olat.core.id.Identity;
import org.olat.core.util.Formatter;
import org.olat.core.util.Util;
......@@ -113,9 +114,8 @@ public class VFSTrashController extends FormBasicController implements ProgressD
cleanUpLink = uifactory.addFormLink("version.clean.up", buttonsLayout, Link.BUTTON);
pruneLink = uifactory.addFormLink("version.prune.history", buttonsLayout, Link.BUTTON);
cleanUpLink.setCustomEnabledLinkCSS("btn btn-danger");
pruneLink.setCustomEnabledLinkCSS("btn btn-warning");
cleanUpLink.setIconLeftCSS(CSSHelper.getIconCssClassFor(CSSHelper.CSS_CLASS_TRASHED));
pruneLink.setIconLeftCSS(CSSHelper.getIconCssClassFor(CSSHelper.CSS_CLASS_REVISION));
// Lower part
......
......@@ -50,6 +50,7 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.modal.DialogBoxController;
import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory;
import org.olat.core.gui.util.CSSHelper;
import org.springframework.beans.factory.annotation.Autowired;
/**
......@@ -94,8 +95,7 @@ public class VersionsDeletedFileController extends FormBasicController {
tableEl.setAndLoadPersistedPreferences(ureq, "deleted-rev-file-list");
deleteButton = uifactory.addFormLink("delete", formLayout, Link.BUTTON);
deleteButton.setCustomEnabledLinkCSS("btn btn-danger");
deleteButton.setIconLeftCSS(CSSHelper.getIconCssClassFor(CSSHelper.CSS_CLASS_TRASHED));
}
@Override
......
......@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.logging.log4j.Logger;
import org.olat.basesecurity.GroupRoles;
import org.olat.basesecurity.IdentityRef;
import org.olat.core.commons.persistence.DB;
......@@ -36,7 +37,6 @@ import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.translator.Translator;
import org.olat.core.id.Identity;
import org.olat.core.id.Roles;
import org.apache.logging.log4j.Logger;
import org.olat.core.logging.Tracing;
import org.olat.core.util.Formatter;
import org.olat.core.util.StringHelper;
......
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