Skip to content
Snippets Groups Projects
Commit ab826b24 authored by fkiefer's avatar fkiefer
Browse files

OO-2057: update of mask create binder and create entry

parent e2c4d96d
No related branches found
No related tags found
No related merge requests found
...@@ -20,21 +20,31 @@ ...@@ -20,21 +20,31 @@
package org.olat.modules.portfolio.ui; package org.olat.modules.portfolio.ui;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import org.olat.basesecurity.GroupRoles;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.FileElement;
import org.olat.core.gui.components.form.flexible.elements.StaticTextElement;
import org.olat.core.gui.components.form.flexible.elements.TextBoxListElement; import org.olat.core.gui.components.form.flexible.elements.TextBoxListElement;
import org.olat.core.gui.components.form.flexible.elements.TextElement; import org.olat.core.gui.components.form.flexible.elements.TextElement;
import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
import org.olat.core.gui.components.form.flexible.impl.FormEvent;
import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
import org.olat.core.gui.components.form.flexible.impl.elements.FileElementEvent;
import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.id.Identity;
import org.olat.modules.portfolio.Binder; import org.olat.modules.portfolio.Binder;
import org.olat.modules.portfolio.Category; import org.olat.modules.portfolio.Category;
import org.olat.modules.portfolio.PortfolioService; import org.olat.modules.portfolio.PortfolioService;
import org.olat.user.UserManager;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
/** /**
...@@ -45,13 +55,26 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -45,13 +55,26 @@ import org.springframework.beans.factory.annotation.Autowired;
*/ */
public class BinderMetadataEditController extends FormBasicController { public class BinderMetadataEditController extends FormBasicController {
private static final Set<String> imageMimeTypes = new HashSet<String>();
static {
imageMimeTypes.add("image/gif");
imageMimeTypes.add("image/jpg");
imageMimeTypes.add("image/jpeg");
imageMimeTypes.add("image/png");
}
private TextElement titleEl, summaryEl; private TextElement titleEl, summaryEl;
private TextBoxListElement categoriesEl; private TextBoxListElement categoriesEl;
private FileElement fileUpload;
private static final int picUploadlimitKB = 5120;
private Binder binder; private Binder binder;
private Map<String,String> categories = new HashMap<>(); private Map<String,String> categories = new HashMap<>();
private Map<String,Category> categoriesMap = new HashMap<>(); private Map<String,Category> categoriesMap = new HashMap<>();
@Autowired
private UserManager userManager;
@Autowired @Autowired
private PortfolioService portfolioService; private PortfolioService portfolioService;
...@@ -83,11 +106,37 @@ public class BinderMetadataEditController extends FormBasicController { ...@@ -83,11 +106,37 @@ public class BinderMetadataEditController extends FormBasicController {
summaryEl = uifactory.addTextAreaElement("summary", "summary", 4096, 4, 60, false, summary, formLayout); summaryEl = uifactory.addTextAreaElement("summary", "summary", 4096, 4, 60, false, summary, formLayout);
summaryEl.setPlaceholderKey("summary.placeholder", null); summaryEl.setPlaceholderKey("summary.placeholder", null);
fileUpload = uifactory.addFileElement(getWindowControl(), "file", "fileupload",formLayout);
fileUpload.setPreview(ureq.getUserSession(), true);
fileUpload.addActionListener(FormEvent.ONCHANGE);
fileUpload.setDeleteEnabled(true);
fileUpload.setHelpText("background img of binder");
//fileUpload.setExampleKey("advanced_form.file", null);
fileUpload.limitToMimeType(imageMimeTypes, null, null);
fileUpload.setMaxUploadSizeKB(picUploadlimitKB, null, null);
categoriesEl = uifactory.addTextBoxListElement("categories", "categories", "categories.hint", categories, formLayout, getTranslator()); categoriesEl = uifactory.addTextBoxListElement("categories", "categories", "categories.hint", categories, formLayout, getTranslator());
categoriesEl.setElementCssClass("o_sel_ep_tagsinput"); categoriesEl.setElementCssClass("o_sel_ep_tagsinput");
//Map<String, String> allUsersTags = ePFMgr.getUsersMostUsedTags(getIdentity(), 50); //Map<String, String> allUsersTags = ePFMgr.getUsersMostUsedTags(getIdentity(), 50);
//categoriesEl.setAutoCompleteContent(allUsersTags); //categoriesEl.setAutoCompleteContent(allUsersTags);
categoriesEl.setAllowDuplicates(false); categoriesEl.setAllowDuplicates(false);
//owners
StringBuilder sb = new StringBuilder();
if(binder == null || binder.getKey() == null) {
sb.append(userManager.getUserDisplayName(getIdentity()));
} else {
List<Identity> owners = portfolioService.getMembers(binder, GroupRoles.owner.name());
for(Identity owner:owners) {
if(sb.length() > 0) sb.append(", ");
sb.append(userManager.getUserDisplayName(owner));
}
}
uifactory.addStaticTextElement("Author", "author", sb.toString(), formLayout);
uifactory.addStaticTextElement("Access", "access", "[private]", formLayout);
uifactory.addStaticTextElement("Template", "template", "[none]", formLayout);
uifactory.addStaticTextElement("Portfoliotask", "portfoliotask", "[none]", formLayout);
FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
buttonsCont.setRootForm(mainForm); buttonsCont.setRootForm(mainForm);
...@@ -129,4 +178,17 @@ public class BinderMetadataEditController extends FormBasicController { ...@@ -129,4 +178,17 @@ public class BinderMetadataEditController extends FormBasicController {
protected void formCancelled(UserRequest ureq) { protected void formCancelled(UserRequest ureq) {
fireEvent(ureq, Event.CANCELLED_EVENT); fireEvent(ureq, Event.CANCELLED_EVENT);
} }
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
super.formInnerEvent(ureq, source, event);
if (fileUpload == source) {
if (event instanceof FileElementEvent) {
String cmd = event.getCommand();
if (FileElementEvent.DELETE.equals(cmd)) {
fileUpload.reset();
}
}
}
}
} }
...@@ -19,14 +19,20 @@ ...@@ -19,14 +19,20 @@
*/ */
package org.olat.modules.portfolio.ui; package org.olat.modules.portfolio.ui;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.FileElement;
import org.olat.core.gui.components.form.flexible.elements.SingleSelection; import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
import org.olat.core.gui.components.form.flexible.elements.TextElement; import org.olat.core.gui.components.form.flexible.elements.TextElement;
import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
import org.olat.core.gui.components.form.flexible.impl.FormEvent;
import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
import org.olat.core.gui.components.form.flexible.impl.elements.FileElementEvent;
import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
...@@ -47,9 +53,20 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -47,9 +53,20 @@ import org.springframework.beans.factory.annotation.Autowired;
*/ */
public class PageMetadataEditController extends FormBasicController { public class PageMetadataEditController extends FormBasicController {
private static final Set<String> imageMimeTypes = new HashSet<String>();
static {
imageMimeTypes.add("image/gif");
imageMimeTypes.add("image/jpg");
imageMimeTypes.add("image/jpeg");
imageMimeTypes.add("image/png");
}
private TextElement titleEl, summaryEl; private TextElement titleEl, summaryEl;
private SingleSelection bindersEl, sectionsEl; private SingleSelection bindersEl, sectionsEl;
private FileElement fileUpload;
private static final int picUploadlimitKB = 5120;
private Page page; private Page page;
private Binder currentBinder; private Binder currentBinder;
private SectionRef currentSection; private SectionRef currentSection;
...@@ -89,6 +106,17 @@ public class PageMetadataEditController extends FormBasicController { ...@@ -89,6 +106,17 @@ public class PageMetadataEditController extends FormBasicController {
summaryEl = uifactory.addTextAreaElement("summary", "page.summary", 4096, 4, 60, false, summary, formLayout); summaryEl = uifactory.addTextAreaElement("summary", "page.summary", 4096, 4, 60, false, summary, formLayout);
summaryEl.setPlaceholderKey("summary.placeholder", null); summaryEl.setPlaceholderKey("summary.placeholder", null);
fileUpload = uifactory.addFileElement(getWindowControl(), "file", "fileupload",formLayout);
fileUpload.setPreview(ureq.getUserSession(), true);
fileUpload.addActionListener(FormEvent.ONCHANGE);
fileUpload.setDeleteEnabled(true);
fileUpload.setHelpText("background img of binder");
//fileUpload.setExampleKey("advanced_form.file", null);
fileUpload.limitToMimeType(imageMimeTypes, null, null);
fileUpload.setMaxUploadSizeKB(picUploadlimitKB, null, null);
//list of binder //list of binder
if(chooseBinder) { if(chooseBinder) {
...@@ -161,4 +189,17 @@ public class PageMetadataEditController extends FormBasicController { ...@@ -161,4 +189,17 @@ public class PageMetadataEditController extends FormBasicController {
protected void formCancelled(UserRequest ureq) { protected void formCancelled(UserRequest ureq) {
fireEvent(ureq, Event.CANCELLED_EVENT); fireEvent(ureq, Event.CANCELLED_EVENT);
} }
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
super.formInnerEvent(ureq, source, event);
if (fileUpload == source) {
if (event instanceof FileElementEvent) {
String cmd = event.getCommand();
if (FileElementEvent.DELETE.equals(cmd)) {
fileUpload.reset();
}
}
}
}
} }
#Tue Apr 10 10:28:36 CEST 2012 #Tue Apr 10 10:28:36 CEST 2012
teaser=Teaser Image
author=Author
access=Access
template=Template
portfoliotask=Portfolio Task
add.html=HTML add.html=HTML
begin.date=Begin begin.date=Begin
binder.by=by {0} binder.by=by {0}
...@@ -38,6 +44,7 @@ portfolio.root.breadcrump=Portfolio ...@@ -38,6 +44,7 @@ portfolio.root.breadcrump=Portfolio
publish.status.title=Publish status of binder "{0}" publish.status.title=Publish status of binder "{0}"
section.delete=Delete section section.delete=Delete section
section.edit=Edit section section.edit=Edit section
fileupload=Teaser Image
summary=Summary summary=Summary
summary.placeholder=Short summary about the content summary.placeholder=Short summary about the content
table.of.contents=Table of contents {0} table.of.contents=Table of contents {0}
......
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