christian@6197: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde bh@6189: * Software engineering by Intevation GmbH bh@6189: * bh@6189: * This file is Free Software under the GNU AGPL (>=v3) bh@6189: * and comes with ABSOLUTELY NO WARRANTY! Check out the bh@6189: * documentation coming with Dive4Elements River for details. bh@6189: */ bh@6189: bh@6189: package org.dive4elements.river.client.client.ui; bh@6189: christian@6546: import com.google.gwt.core.client.GWT; christian@6546: import com.google.gwt.safehtml.shared.SafeHtmlUtils; rrenkert@6272: import com.smartgwt.client.types.FormMethod; rrenkert@6272: import com.smartgwt.client.widgets.form.DynamicForm; christian@6546: import com.smartgwt.client.widgets.form.fields.HiddenItem; rrenkert@6272: import com.smartgwt.client.widgets.form.fields.LinkItem; rrenkert@6272: import com.smartgwt.client.widgets.form.fields.events.ClickEvent; rrenkert@6272: import com.smartgwt.client.widgets.form.fields.events.ClickHandler; bh@6189: bh@6189: import org.dive4elements.river.client.client.FLYS; christian@6546: import org.dive4elements.river.client.shared.model.User; bh@6189: bh@6189: public class WikiLinks bh@6189: { christian@6602: public static String imageLinkForm(FLYS instance, String url, String imageUrl, String formName) { aheinecke@6230: String saml = null; aheinecke@6230: if (instance != null && instance.getCurrentUser() != null) { aheinecke@6230: saml = instance.getCurrentUser().getSamlXMLBase64(); aheinecke@6230: } aheinecke@6230: String quotedUrl = SafeHtmlUtils.htmlEscape(url); aheinecke@6230: String quotedImage = SafeHtmlUtils.htmlEscape(imageUrl); aheinecke@6230: aheinecke@6230: if (saml != null) { aheinecke@6230: return "
" aheinecke@6230: + "" aheinecke@6230: + "" aheinecke@6230: + "
"; aheinecke@6230: } aheinecke@6230: else { aheinecke@6230: return ""; aheinecke@6230: } aheinecke@6230: } aheinecke@6230: christian@6546: public static DynamicForm linkDynamicForm(FLYS flys, String url, String text) { christian@6546: User currentUser = flys.getCurrentUser(); bh@6189: String quotedUrl = SafeHtmlUtils.htmlEscape(url); bh@6189: String quotedText = SafeHtmlUtils.htmlEscape(text); christian@6546: christian@6546: if (currentUser != null) { christian@6546: String saml = currentUser.getSamlXMLBase64(); rrenkert@6272: final DynamicForm form = new DynamicForm(); rrenkert@6272: form.setMethod(FormMethod.POST); rrenkert@6272: form.setTarget("_blank"); rrenkert@6272: form.setAction(quotedUrl); rrenkert@6272: form.setCanSubmit(true); rrenkert@6272: LinkItem item = new LinkItem("saml"); rrenkert@6272: item.setShowTitle(false); rrenkert@6272: item.setLinkTitle(quotedText); rrenkert@6272: item.setValue(SafeHtmlUtils.htmlEscape(saml)); rrenkert@6272: item.addClickHandler(new ClickHandler() { rrenkert@6272: @Override rrenkert@6272: public void onClick(ClickEvent event) { rrenkert@6272: form.submitForm(); rrenkert@6272: } rrenkert@6272: }); rrenkert@6272: form.setFields(item); rrenkert@6272: return form; bh@6189: } bh@6189: else { rrenkert@6272: DynamicForm form = new DynamicForm(); rrenkert@6272: LinkItem item = new LinkItem(quotedText); rrenkert@6272: item.setShowTitle(false); rrenkert@6272: item.setTarget(quotedUrl); rrenkert@6272: return form; bh@6189: } bh@6189: } christian@6546: christian@6546: public static DynamicForm dynamicForm(FLYS flys, String url) { christian@6546: User currentUser = flys.getCurrentUser(); christian@6546: String quotedUrl = SafeHtmlUtils.htmlEscape(url); christian@6546: christian@6546: if (currentUser != null) { christian@6546: String saml = currentUser.getSamlXMLBase64(); christian@6546: saml = SafeHtmlUtils.htmlEscape(saml); christian@6546: GWT.log("saml=" + saml); christian@6546: DynamicForm form = new DynamicForm(); christian@6602: form.setID("wikiDynamicForm"); christian@6546: form.setMethod(FormMethod.POST); christian@6546: form.setTarget("_blank"); christian@6546: form.setAction(quotedUrl); christian@6546: form.setCanSubmit(true); christian@6546: HiddenItem item = new HiddenItem("saml"); christian@6546: item.setDefaultValue(saml); christian@6602: item.setValue(saml); christian@6546: form.setFields(item); christian@6602: //form.setValue("saml", saml); christian@6546: return form; christian@6546: } christian@6546: else { christian@6546: DynamicForm form = new DynamicForm(); christian@6546: form.setTarget("_blank"); christian@6546: form.setAction(quotedUrl); christian@6546: return form; christian@6546: } christian@6546: } bh@6189: }