← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 11564: improve UI in view sent SMS page, show name of receivers

 

------------------------------------------------------------
revno: 11564
committer: Lai <lai.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-08-05 10:16:07 +0700
message:
  improve UI in view sent SMS page, show name of receivers
modified:
  dhis-2/dhis-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/outbound/HibernateOutboundSmsStore.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/java/org/hisp/dhis/mobile/action/ShowSentSMSAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/webapp/dhis-web-maintenance-mobile/showSentSMSPage.vm


--
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-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/outbound/HibernateOutboundSmsStore.java'
--- dhis-2/dhis-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/outbound/HibernateOutboundSmsStore.java	2013-07-16 06:53:26 +0000
+++ dhis-2/dhis-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/outbound/HibernateOutboundSmsStore.java	2013-08-05 03:16:07 +0000
@@ -31,6 +31,7 @@
 import java.sql.SQLException;
 import java.util.Date;
 import java.util.List;
+
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.hibernate.criterion.Order;
@@ -91,7 +92,7 @@
     public List<OutboundSms> getAll()
     {
         Session session = sessionFactory.getCurrentSession();
-        return session.createCriteria( OutboundSms.class ).addOrder( Order.asc( "date" ) ).list();
+        return session.createCriteria( OutboundSms.class ).addOrder( Order.desc( "date" ) ).list();
     }
 
     @Override

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/java/org/hisp/dhis/mobile/action/ShowSentSMSAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/java/org/hisp/dhis/mobile/action/ShowSentSMSAction.java	2013-03-13 10:11:52 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/java/org/hisp/dhis/mobile/action/ShowSentSMSAction.java	2013-08-05 03:16:07 +0000
@@ -29,6 +29,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.List;
 
 import org.hisp.dhis.program.ProgramStageInstanceService;
@@ -36,44 +37,58 @@
 import org.hisp.dhis.sms.outbound.OutboundSms;
 import org.hisp.dhis.sms.outbound.OutboundSmsService;
 import org.hisp.dhis.sms.outbound.OutboundSmsStatus;
+import org.hisp.dhis.user.User;
+import org.hisp.dhis.user.UserService;
 
 import com.opensymphony.xwork2.Action;
 
 public class ShowSentSMSAction
     implements Action
 {
-    
+
     // -------------------------------------------------------------------------
     // Dependencies
     // -------------------------------------------------------------------------
-    
+
     private OutboundSmsService outboundSmsService;
-    
+
     public void setOutboundSmsService( OutboundSmsService outboundSmsService )
     {
         this.outboundSmsService = outboundSmsService;
     }
-    
+
     private ProgramStageInstanceService programStageInstanceService;
 
     public void setProgramStageInstanceService( ProgramStageInstanceService programStageInstanceService )
     {
         this.programStageInstanceService = programStageInstanceService;
     }
-    
+
+    private UserService userService;
+
+    public void setUserService( UserService userService )
+    {
+        this.userService = userService;
+    }
+
+    public UserService getUserService()
+    {
+        return userService;
+    }
+
     // -------------------------------------------------------------------------
     // Input & Output
     // -------------------------------------------------------------------------
-    
+
     private List<OutboundSms> listOutboundSMS;
-    
+
     public List<OutboundSms> getListOutboundSMS()
     {
         return listOutboundSMS;
     }
-    
+
     private Integer filterStatusType;
-    
+
     public Integer getFilterStatusType()
     {
         return filterStatusType;
@@ -85,12 +100,19 @@
     }
 
     private Collection<SchedulingProgramObject> schedulingProgramObjects;
-    
+
     public Collection<SchedulingProgramObject> getSchedulingProgramObjects()
     {
         return schedulingProgramObjects;
     }
-    
+
+    private List<String> recipientNames;
+
+    public List<String> getRecipientNames()
+    {
+        return recipientNames;
+    }
+
     // -------------------------------------------------------------------------
     // Action Implementation
     // -------------------------------------------------------------------------
@@ -102,12 +124,12 @@
         List<OutboundSms> tempListOutboundSMS = outboundSmsService.getAllOutboundSms();
         
         listOutboundSMS = new ArrayList<OutboundSms>();
-        
-        if ( filterStatusType != null && filterStatusType == 0)
+
+        if ( filterStatusType != null && filterStatusType == 0 )
         {
-            for ( OutboundSms each: tempListOutboundSMS )
+            for ( OutboundSms each : tempListOutboundSMS )
             {
-                if (each.getStatus().equals( OutboundSmsStatus.OUTBOUND ))
+                if ( each.getStatus().equals( OutboundSmsStatus.OUTBOUND ) )
                 {
                     this.listOutboundSMS.add( each );
                 }
@@ -115,21 +137,48 @@
         }
         if ( filterStatusType != null && filterStatusType == 1 )
         {
-            for ( OutboundSms each: tempListOutboundSMS )
+            for ( OutboundSms each : tempListOutboundSMS )
             {
-                if (each.getStatus().equals( OutboundSmsStatus.SENT ))
+                if ( each.getStatus().equals( OutboundSmsStatus.SENT ) )
                 {
                     this.listOutboundSMS.add( each );
                 }
             }
         }
-        if ( filterStatusType != null && filterStatusType == 2 || filterStatusType == null)
+        if ( filterStatusType != null && filterStatusType == 2 || filterStatusType == null )
         {
-            for ( OutboundSms each: tempListOutboundSMS )
+            for ( OutboundSms each : tempListOutboundSMS )
             {
                 this.listOutboundSMS.add( each );
             }
         }
+
+        recipientNames = new ArrayList<String>();
+        recipientNames.add( "" );
+        for ( OutboundSms outboundSms : listOutboundSMS )
+        {
+            String tempString = "";
+            for ( String phoneNumber : outboundSms.getRecipients() )
+            {
+                if ( userService.getUsersByPhoneNumber( phoneNumber ) == null
+                    || userService.getUsersByPhoneNumber( phoneNumber ).size() == 0 )
+                {
+                    tempString += "[unknown]";
+                }
+                else if ( userService.getUsersByPhoneNumber( phoneNumber ) != null
+                    && userService.getUsersByPhoneNumber( phoneNumber ).size() > 0 )
+                {
+
+                    Iterator<User> users = userService.getUsersByPhoneNumber( phoneNumber ).iterator();
+                    while ( users.hasNext() )
+                    {
+                        User user = users.next();
+                        tempString += "[" + user.getUsername() + "]";
+                    }
+                }
+            }
+            recipientNames.add( tempString );
+        }
         schedulingProgramObjects = programStageInstanceService.getSendMesssageEvents();
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/resources/META-INF/dhis/beans.xml	2013-05-23 08:05:27 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/resources/META-INF/dhis/beans.xml	2013-08-05 03:16:07 +0000
@@ -63,6 +63,8 @@
 			ref="org.hisp.dhis.sms.outbound.OutboundSmsService" />
 		<property name="programStageInstanceService"
 			ref="org.hisp.dhis.program.ProgramStageInstanceService" />
+		<property name="userService"
+			ref="org.hisp.dhis.user.UserService" />
 	</bean>
 
 	<!-- Patient Mobile Settings -->

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/webapp/dhis-web-maintenance-mobile/showSentSMSPage.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/webapp/dhis-web-maintenance-mobile/showSentSMSPage.vm	2013-08-02 08:06:11 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-mobile/src/main/webapp/dhis-web-maintenance-mobile/showSentSMSPage.vm	2013-08-05 03:16:07 +0000
@@ -75,9 +75,9 @@
 				<option value="2" #if ( $!filterStatusType == 2 ) selected='selected' #end>$i18n.getString('all')</option>
 			</select>
 		</td>
-		<!--<td style="text-align:right">
+		<td style="text-align:right">
 			<input type="button" name="btnDelete" value="$i18n.getString( 'delete_checked_option' )" onclick="deleteChecked()"/>
-		</td>-->
+		</td>
 	</tr>
 <table>
 <table id="detailsSentSMSList" class="listTable" style="width:100%">
@@ -85,6 +85,7 @@
 		<col width="40px"/>
 		<col width="200px"/>
 		<col width="100px"/>
+		<col width="100px"/>
 		<col width="60px"/>
 		<col width="130px"/>
 		<col width="50px"/>
@@ -92,6 +93,7 @@
 		<th style="text-align:center"><a href="#" onclick="checkAll()" title="$i18n.getString( 'check_all' )"><img src="../images/check.png"/></a></th>			
 		<th style="text-align:center">$i18n.getString( "no." )</th>
 		<th>$i18n.getString( "message" )</th>
+		<th>$i18n.getString( "phoneNumber" )</th>
 		<th>$i18n.getString( "receipient" )</th>
 		<th>$i18n.getString( "status" )</th>
 		<th>$i18n.getString( "date" )</th>
@@ -99,11 +101,13 @@
 	</thead>
 	<tbody id="sentSMS">
 		#foreach( $outboundSms in $listOutboundSMS)
+		#set($numb=$velocityCount-1)
 		<tr id="tr${outboundSms.id}" height="40">
 			<td style="text-align:center"><input type="checkbox" name="mycheck" value="$outboundSms.id"/></td>
 			<td style="text-align:center">$velocityCount</td>
 			<td>$outboundSms.message</td>
 			<td>$outboundSms.recipients</td>
+			<td>$recipientNames.get($velocityCount)</td>
 			<td>$outboundSms.status</td>
 			<td>$outboundSms.date.toLocaleString()</td>
 			<!--<td style="text-align:center"><a href="javascript:removeSingleItem( '$outboundSms.id', '$outboundSms.message' )" title="$i18n.getString( 'remove' )"><img src="../images/delete.png" alt="$i18n.getString( 'remove' )"/></td>-->