Commit c5c331b7 by Tuomas Riihimäki

simplify user metadata printing.

If user had metadata, the old code for example added a  after _each_ <li> tag
which broke for example the menu in funny ways
1 parent 50317c4b
Pipeline #64 passed
in 0 seconds
......@@ -159,17 +159,7 @@
</h:form>
<p:fieldset legend="#{i18n['user.meta.box.title']}" toggleable="true" collapsed="true" rendered="#{not empty userView.meta}">
<h:outputScript target="head" library="script" name="jsonview.js" />
<h:outputScript target="head">
window.onload = function() {
jsonView('#usermetaview');
}
</h:outputScript>
<h:form id="usermetaform" enctype="multipart/form-data">
<p:panelGrid columns="1" cellpadding="1">
<div id="usermetaview">#{userView.meta}</div>
</p:panelGrid>
</h:form>
<div id="usermetaview"><pre><h:outputText value="#{userView.prettyMeta}" /></pre></div>
</p:fieldset>
......
......@@ -20,7 +20,10 @@ package fi.codecrew.moya.web.cdiview.user;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.enterprise.context.Conversation;
......@@ -31,7 +34,11 @@ import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.inject.Inject;
import javax.inject.Named;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonWriter;
import javax.json.JsonWriterFactory;
import javax.json.stream.JsonGenerator;
import org.primefaces.event.CaptureEvent;
import org.primefaces.event.FileUploadEvent;
......@@ -649,6 +656,24 @@ public class UserView extends GenericCDIView {
return "";
}
public String getPrettyMeta(){
JsonObject meta = getSelectedUser().getUser().getMeta();
if(meta == null){
return "";
}
StringWriter stringWriter = new StringWriter();
Map<String, Boolean> config = new HashMap<String, Boolean>();
config.put(JsonGenerator.PRETTY_PRINTING, true);
JsonWriterFactory writerFactory = Json.createWriterFactory(config);
JsonWriter jsonWriter = writerFactory.createWriter(stringWriter);
jsonWriter.write(meta);
jsonWriter.close();
return stringWriter.toString();
}
public String getEmailCheck() {
return emailCheck;
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!