dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #19487
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 8519: Profile, including last 5 interpretations which user added or commented on in profile page
------------------------------------------------------------
revno: 8519
committer: Lars Helge Øverland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2012-10-14 20:31:58 +0200
message:
Profile, including last 5 interpretations which user added or commented on in profile page
added:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationStore.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/hibernate/
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/hibernate/HibernateInterpretationStore.java
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationComment.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationService.java
dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/impl/DefaultInterpretationService.java
dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/interpretation/InterpretationServiceTest.java
dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/mock/MockCurrentUserService.java
dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/interpretation/action/GetInterpretationsAction.java
dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/interpretation.vm
dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/javascript/interpretation.js
dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/profile.vm
dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/style/dashboard.css
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationComment.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationComment.java 2012-05-30 11:35:01 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationComment.java 2012-10-14 18:31:58 +0000
@@ -64,6 +64,13 @@
this.created = new Date();
}
+ public InterpretationComment( String text, User user )
+ {
+ this.text = text;
+ this.user = user;
+ this.created = new Date();
+ }
+
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
@JacksonXmlProperty( namespace = Dxf2Namespace.NAMESPACE )
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationService.java 2012-05-30 09:51:59 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationService.java 2012-10-14 18:31:58 +0000
@@ -29,6 +29,8 @@
import java.util.List;
+import org.hisp.dhis.user.User;
+
/**
* @author Lars Helge Overland
*/
@@ -45,6 +47,8 @@
void deleteInterpretation( Interpretation interpretation );
List<Interpretation> getInterpretations( int first, int max );
+
+ List<Interpretation> getInterpretations( User user, int first, int max );
void addInterpretationComment( String uid, String text );
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationStore.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/interpretation/InterpretationStore.java 2012-10-14 18:31:58 +0000
@@ -0,0 +1,42 @@
+package org.hisp.dhis.interpretation;
+
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.util.List;
+
+import org.hisp.dhis.common.GenericIdentifiableObjectStore;
+import org.hisp.dhis.user.User;
+
+/**
+ * @author Lars Helge Overland
+ */
+public interface InterpretationStore
+ extends GenericIdentifiableObjectStore<Interpretation>
+{
+ List<Interpretation> getInterpretations( User user, int first, int max );
+}
=== modified file 'dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java'
--- dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java 2012-10-10 10:12:33 +0000
+++ dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java 2012-10-14 18:31:58 +0000
@@ -30,7 +30,6 @@
import java.util.Calendar;
import java.util.List;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
=== added directory 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/hibernate'
=== added file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/hibernate/HibernateInterpretationStore.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/hibernate/HibernateInterpretationStore.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/hibernate/HibernateInterpretationStore.java 2012-10-14 18:31:58 +0000
@@ -0,0 +1,57 @@
+package org.hisp.dhis.interpretation.hibernate;
+
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.util.List;
+
+import org.hibernate.Query;
+import org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore;
+import org.hisp.dhis.interpretation.Interpretation;
+import org.hisp.dhis.interpretation.InterpretationStore;
+import org.hisp.dhis.user.User;
+
+/**
+ * @author Lars Helge Overland
+ */
+public class HibernateInterpretationStore
+ extends HibernateIdentifiableObjectStore<Interpretation> implements InterpretationStore
+{
+ @SuppressWarnings("unchecked")
+ public List<Interpretation> getInterpretations( User user, int first, int max )
+ {
+ String hql = "select distinct i from Interpretation i left join i.comments c " +
+ "where i.user = :user or c.user = :user order by i.lastUpdated desc";
+
+ Query query = getQuery( hql );
+ query.setEntity( "user", user );
+ query.setMaxResults( first );
+ query.setMaxResults( max );
+
+ return query.list();
+ }
+}
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/impl/DefaultInterpretationService.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/impl/DefaultInterpretationService.java 2012-08-31 15:35:59 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/interpretation/impl/DefaultInterpretationService.java 2012-10-14 18:31:58 +0000
@@ -31,10 +31,10 @@
import java.util.List;
import org.hisp.dhis.common.CodeGenerator;
-import org.hisp.dhis.common.GenericIdentifiableObjectStore;
import org.hisp.dhis.interpretation.Interpretation;
import org.hisp.dhis.interpretation.InterpretationComment;
import org.hisp.dhis.interpretation.InterpretationService;
+import org.hisp.dhis.interpretation.InterpretationStore;
import org.hisp.dhis.period.PeriodService;
import org.hisp.dhis.user.CurrentUserService;
import org.hisp.dhis.user.User;
@@ -52,9 +52,9 @@
// Dependencies
// -------------------------------------------------------------------------
- private GenericIdentifiableObjectStore<Interpretation> interpretationStore;
+ private InterpretationStore interpretationStore;
- public void setInterpretationStore( GenericIdentifiableObjectStore<Interpretation> interpretationStore )
+ public void setInterpretationStore( InterpretationStore interpretationStore )
{
this.interpretationStore = interpretationStore;
}
@@ -126,6 +126,11 @@
return interpretationStore.getBetweenOrderderByLastUpdated( first, max );
}
+ public List<Interpretation> getInterpretations( User user, int first, int max )
+ {
+ return interpretationStore.getInterpretations( user, first, max );
+ }
+
public void addInterpretationComment( String uid, String text )
{
Interpretation interpretation = getInterpretation( uid );
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml 2012-10-10 13:23:23 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml 2012-10-14 18:31:58 +0000
@@ -261,7 +261,7 @@
<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
</bean>
- <bean id="org.hisp.dhis.interpretation.InterpretationStore" class="org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore">
+ <bean id="org.hisp.dhis.interpretation.InterpretationStore" class="org.hisp.dhis.interpretation.hibernate.HibernateInterpretationStore">
<property name="clazz" value="org.hisp.dhis.interpretation.Interpretation" />
<property name="sessionFactory" ref="sessionFactory" />
<property name="cacheable" value="true" />
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/interpretation/InterpretationServiceTest.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/interpretation/InterpretationServiceTest.java 2012-05-29 21:23:47 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/interpretation/InterpretationServiceTest.java 2012-10-14 18:31:58 +0000
@@ -61,6 +61,7 @@
private InterpretationService interpretationService;
private User userA;
+ private User userB;
private Chart chartA;
@@ -72,7 +73,9 @@
public void beforeTest()
{
userA = createUser( 'A' );
+ userB = createUser( 'B' );
userService.addUser( userA );
+ userService.addUser( userB );
setDependency( interpretationService, "currentUserService", new MockCurrentUserService( userA ), CurrentUserService.class );
@@ -140,6 +143,40 @@
assertTrue( interpretations.contains( interpretationB ) );
assertTrue( interpretations.contains( interpretationC ) );
}
+
+ @Test
+ public void testGetLastByUserA()
+ {
+ interpretationService.saveInterpretation( interpretationA );
+ interpretationService.saveInterpretation( interpretationB );
+ interpretationService.saveInterpretation( interpretationC );
+
+ List<Interpretation> interpretations = interpretationService.getInterpretations( userA, 0, 50 );
+
+ assertEquals( 3, interpretations.size() );
+
+ assertTrue( interpretations.contains( interpretationA ) );
+ assertTrue( interpretations.contains( interpretationB ) );
+ assertTrue( interpretations.contains( interpretationC ) );
+ }
+
+ @Test
+ public void testGetLastByUserB()
+ {
+ interpretationA.addComment( new InterpretationComment( "Comment", userB ) );
+ interpretationB.addComment( new InterpretationComment( "Comment", userB ) );
+
+ interpretationService.saveInterpretation( interpretationA );
+ interpretationService.saveInterpretation( interpretationB );
+ interpretationService.saveInterpretation( interpretationC );
+
+ List<Interpretation> interpretations = interpretationService.getInterpretations( userB, 0, 50 );
+
+ assertEquals( 2, interpretations.size() );
+
+ assertTrue( interpretations.contains( interpretationA ) );
+ assertTrue( interpretations.contains( interpretationB ) );
+ }
@Test
public void testAddComment()
=== modified file 'dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/mock/MockCurrentUserService.java'
--- dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/mock/MockCurrentUserService.java 2012-05-29 19:08:34 +0000
+++ dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/mock/MockCurrentUserService.java 2012-10-14 18:31:58 +0000
@@ -30,6 +30,9 @@
import org.hisp.dhis.user.CurrentUserService;
import org.hisp.dhis.user.User;
+/**
+ * @author Lars Helge Overland
+ */
public class MockCurrentUserService
implements CurrentUserService
{
=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/interpretation/action/GetInterpretationsAction.java'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/interpretation/action/GetInterpretationsAction.java 2012-10-03 08:51:03 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/interpretation/action/GetInterpretationsAction.java 2012-10-14 18:31:58 +0000
@@ -29,8 +29,12 @@
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.hisp.dhis.interpretation.Interpretation;
import org.hisp.dhis.interpretation.InterpretationService;
+import org.hisp.dhis.user.User;
+import org.hisp.dhis.user.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.Action;
@@ -46,13 +50,12 @@
// Dependencies
// -------------------------------------------------------------------------
+ @Autowired
+ private UserService userService;
+
+ @Autowired
private InterpretationService interpretationService;
- public void setInterpretationService( InterpretationService interpretationService )
- {
- this.interpretationService = interpretationService;
- }
-
// -------------------------------------------------------------------------
// Input
// -------------------------------------------------------------------------
@@ -63,6 +66,13 @@
{
this.page = page;
}
+
+ private String userId;
+
+ public void setUserId( String userId )
+ {
+ this.userId = userId;
+ }
// -------------------------------------------------------------------------
// Output
@@ -81,11 +91,22 @@
public String execute()
{
+ userId = StringUtils.trimToNull( userId );
+
int first = page != null ? ( page * PAGE_SIZE ) : 0;
- interpretationService.updateCurrentUserLastChecked();
-
- interpretations = interpretationService.getInterpretations( first, PAGE_SIZE );
+ if ( userId != null )
+ {
+ User user = userService.getUser( userId );
+
+ interpretations = interpretationService.getInterpretations( user, first, PAGE_SIZE );
+ }
+ else
+ {
+ interpretationService.updateCurrentUserLastChecked();
+
+ interpretations = interpretationService.getInterpretations( first, PAGE_SIZE );
+ }
return SUCCESS;
}
=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/resources/META-INF/dhis/beans.xml 2012-10-11 19:54:10 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/resources/META-INF/dhis/beans.xml 2012-10-14 18:31:58 +0000
@@ -109,9 +109,7 @@
<!-- Interpretations -->
<bean id="org.hisp.dhis.dashboard.interpretation.action.GetInterpretationsAction" class="org.hisp.dhis.dashboard.interpretation.action.GetInterpretationsAction"
- scope="prototype">
- <property name="interpretationService" ref="org.hisp.dhis.interpretation.InterpretationService" />
- </bean>
+ scope="prototype"/>
<!-- Profile -->
=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/interpretation.vm'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/interpretation.vm 2012-09-30 17:45:22 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/interpretation.vm 2012-10-14 18:31:58 +0000
@@ -6,10 +6,7 @@
<a href="../dhis-web-reporting/displayManageTableForm.action">$i18n.getString( "report_table" )</a>
</div>
-<div id="interpretationFeed">
-</div>
-
-<div id="userInfo" class="page" style="display:none"></div>
+<div id="interpretationFeed"></div>
<script type="text/javascript">
var currentUser = {
=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/javascript/interpretation.js'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/javascript/interpretation.js 2012-10-03 10:33:08 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/javascript/interpretation.js 2012-10-14 18:31:58 +0000
@@ -48,18 +48,6 @@
} );
}
-function showUserInfo( id )
-{
- $( "#userInfo" ).load( "../dhis-web-commons-ajax-html/getUser.action?id=" + id, function() {
- $( "#userInfo" ).dialog( {
- modal : true,
- width : 350,
- height : 350,
- title : "User"
- } );
- } );
-}
-
function postComment( uid )
{
var text = $( "#commentArea" + uid ).val();
=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/profile.vm'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/profile.vm 2012-10-11 19:54:10 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/profile.vm 2012-10-14 18:31:58 +0000
@@ -1,3 +1,9 @@
+<script type="text/javascript">
+jQuery( document ).ready( function() {
+ jQuery( "#profileInterpretationFeed" ).load( "getInterpretations.action?userId=${user.uid}" );
+} );
+</script>
+
<style type="text/css">
#mainPage
{
@@ -18,8 +24,8 @@
<div class="userRow"><div class="userLabel">$i18n.getString( "introduction" )</div><div class="userValue">$!encoder.htmlEncode( $user.introduction )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "works_as" )</div><div class="userValue">$!encoder.htmlEncode( $user.jobTitle )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "employed_at" )</div><div class="userValue">$!encoder.htmlEncode( $user.employer )</div></div>
-<div class="userRow"><div class="userLabel">$i18n.getString( "education" )</div><div class="userValue">$!encoder.htmlEncode( $user.jobTitle )</div></div>
-<div class="userRow"><div class="userLabel">$i18n.getString( "interested_in" )</div><div class="userValue">$!encoder.htmlEncode( $user.jobTitle )</div></div>
+<div class="userRow"><div class="userLabel">$i18n.getString( "education" )</div><div class="userValue">$!encoder.htmlEncode( $user.education )</div></div>
+<div class="userRow"><div class="userLabel">$i18n.getString( "interested_in" )</div><div class="userValue">$!encoder.htmlEncode( $user.interests )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "speaks" )</div><div class="userValue">$!encoder.htmlEncode( $user.languages )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "birthday" )</div><div class="userValue">$!format.formatDate( $user.birthday )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "gender" )</div><div class="userValue">#if( $user.gender )$i18n.getString( $user.gender )#end</div></div>
@@ -28,4 +34,6 @@
<div class="userRow"><div class="userLabel">$i18n.getString( "phone_number" )</div><div class="userValue">$!encoder.htmlEncode( $user.phoneNumber )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "org_units" )</div><div class="userValue">$!encoder.htmlEncode( $user.getOrganisationUnitsName() )</div></div>
<div class="userRow"><div class="userLabel">$i18n.getString( "user_roles" )</div><div class="userValue">$!encoder.htmlEncode( $user.getOrganisationUnitsName() )</div></div>
-</div>
\ No newline at end of file
+</div>
+
+<div id="profileInterpretationFeed"></div>
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/style/dashboard.css'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/style/dashboard.css 2012-10-12 15:48:35 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/style/dashboard.css 2012-10-14 18:31:58 +0000
@@ -437,6 +437,7 @@
#userInfo
{
margin-left: 36px;
+ margin-bottom: 25px;
}
.userRow
@@ -453,11 +454,19 @@
width: 110px;
text-align: right;
padding-right: 20px;
+ vertical-align: top;
}
.userValue
{
display: inline-block;
- display: inline;
font-size: 11pt;
+ max-width: 510px;
+}
+
+#profileInterpretationFeed
+{
+ width: 610px;
+ border-top: 1px solid #ccc;
+ margin-left: 38px;
}