------------------------------------------------------------ revno: 5681 committer: Morten Olav Hansen <[email protected]> branch nick: dhis2 timestamp: Mon 2012-01-09 19:59:43 +0530 message: (mobile) messaging finished for now removed: dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessage.java dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessages.java added: dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessageAction.java dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessagesAction.java dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendFeedbackAction.java dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendReplyAction.java modified: dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/dataEntryOverview.vm dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/feedback.vm dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/message.vm dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/messages.vm dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/style/light.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
=== removed file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessage.java' --- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessage.java 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessage.java 1970-01-01 00:00:00 +0000 @@ -1,99 +0,0 @@ -/* -* 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. -*/ - -package org.hisp.dhis.light.message.action; - -import com.opensymphony.xwork2.Action; -import org.apache.struts2.ServletActionContext; -import org.hisp.dhis.message.Message; -import org.hisp.dhis.message.MessageConversation; -import org.hisp.dhis.message.MessageService; -import org.hisp.dhis.util.ContextUtils; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class GetMessage - implements Action -{ - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - private MessageService messageService; - - public void setMessageService( MessageService messageService ) - { - this.messageService = messageService; - } - - // ------------------------------------------------------------------------- - // Input & Output - // ------------------------------------------------------------------------- - - private String conversationId; - - public void setConversationId( String conversationId ) - { - this.conversationId = conversationId; - } - - private String subject; - - public String getSubject() - { - return subject; - } - - private List<Message> messages; - - public List<Message> getMessages() - { - return messages; - } - - // ------------------------------------------------------------------------- - // Action Implementation - // ------------------------------------------------------------------------- - - @Override - public String execute() throws Exception - { - MessageConversation conversation = messageService.getMessageConversation( conversationId ); - - subject = conversation.getSubject(); - messages = new ArrayList<Message>( conversation.getMessages() ); - Collections.reverse( messages ); - - return SUCCESS; - } - -} === added file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessageAction.java' --- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessageAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessageAction.java 2012-01-09 14:29:43 +0000 @@ -0,0 +1,101 @@ +/* + * 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. + */ + +package org.hisp.dhis.light.message.action; + +import com.opensymphony.xwork2.Action; +import org.hisp.dhis.message.Message; +import org.hisp.dhis.message.MessageConversation; +import org.hisp.dhis.message.MessageService; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author Morten Olav Hansen <[email protected]> + */ +public class GetMessageAction + implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private MessageService messageService; + + public void setMessageService( MessageService messageService ) + { + this.messageService = messageService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + + private String conversationId; + + public String getConversationId() + { + return conversationId; + } + + public void setConversationId( String conversationId ) + { + this.conversationId = conversationId; + } + + private String subject; + + public String getSubject() + { + return subject; + } + + private List<Message> messages; + + public List<Message> getMessages() + { + return messages; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + + @Override + public String execute() throws Exception + { + MessageConversation conversation = messageService.getMessageConversation( conversationId ); + + subject = conversation.getSubject(); + messages = new ArrayList<Message>( conversation.getMessages() ); + Collections.reverse( messages ); + + return SUCCESS; + } +} === removed file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessages.java' --- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessages.java 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessages.java 1970-01-01 00:00:00 +0000 @@ -1,77 +0,0 @@ -/* -* 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. -*/ - -package org.hisp.dhis.light.message.action; - -import com.opensymphony.xwork2.Action; -import org.hisp.dhis.message.MessageConversation; -import org.hisp.dhis.message.MessageService; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class GetMessages - implements Action -{ - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - private MessageService messageService; - - public void setMessageService( MessageService messageService ) - { - this.messageService = messageService; - } - - // ------------------------------------------------------------------------- - // Input & Output - // ------------------------------------------------------------------------- - - private List<MessageConversation> conversations; - - public List<MessageConversation> getConversations() - { - return conversations; - } - - // ------------------------------------------------------------------------- - // Action Implementation - // ------------------------------------------------------------------------- - - @Override - public String execute() throws Exception - { - conversations = new ArrayList<MessageConversation>( messageService.getMessageConversations( 0, 10 ) ); - - return SUCCESS; - } -} === added file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessagesAction.java' --- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessagesAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/GetMessagesAction.java 2012-01-09 14:29:43 +0000 @@ -0,0 +1,76 @@ +/* + * 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. + */ + +package org.hisp.dhis.light.message.action; + +import com.opensymphony.xwork2.Action; +import org.hisp.dhis.message.MessageConversation; +import org.hisp.dhis.message.MessageService; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Morten Olav Hansen <[email protected]> + */ +public class GetMessagesAction + implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private MessageService messageService; + + public void setMessageService( MessageService messageService ) + { + this.messageService = messageService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + + private List<MessageConversation> conversations; + + public List<MessageConversation> getConversations() + { + return conversations; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + + @Override + public String execute() throws Exception + { + conversations = new ArrayList<MessageConversation>( messageService.getMessageConversations( 0, 10 ) ); + + return SUCCESS; + } +} === added file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendFeedbackAction.java' --- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendFeedbackAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendFeedbackAction.java 2012-01-09 14:29:43 +0000 @@ -0,0 +1,88 @@ +/* + * 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. + */ + +package org.hisp.dhis.light.message.action; + +import com.opensymphony.xwork2.Action; +import org.apache.struts2.ServletActionContext; +import org.hisp.dhis.message.MessageService; +import org.hisp.dhis.util.ContextUtils; +import org.springframework.util.Assert; + +/** + * @author Morten Olav Hansen <[email protected]> + */ +public class SendFeedbackAction + implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private MessageService messageService; + + public void setMessageService( MessageService messageService ) + { + this.messageService = messageService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + + private String subject; + + public void setSubject( String subject ) + { + this.subject = subject; + } + + private String text; + + public void setText( String text ) + { + this.text = text; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + + @Override + public String execute() throws Exception + { + Assert.hasText( subject ); + Assert.hasText( text ); + + String metaData = MessageService.META_USER_AGENT + + ServletActionContext.getRequest().getHeader( ContextUtils.HEADER_USER_AGENT ); + + messageService.sendFeedback( subject, text, metaData ); + + return SUCCESS; + } +} === added file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendReplyAction.java' --- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendReplyAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/message/action/SendReplyAction.java 2012-01-09 14:29:43 +0000 @@ -0,0 +1,87 @@ +/* + * 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. + */ + +package org.hisp.dhis.light.message.action; + +import com.opensymphony.xwork2.Action; +import org.apache.struts2.ServletActionContext; +import org.hisp.dhis.message.MessageConversation; +import org.hisp.dhis.message.MessageService; +import org.hisp.dhis.util.ContextUtils; + +/** + * @author Morten Olav Hansen <[email protected]> + */ +public class SendReplyAction + implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private MessageService messageService; + + public void setMessageService( MessageService messageService ) + { + this.messageService = messageService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + + private String conversationId; + + public void setConversationId( String conversationId ) + { + this.conversationId = conversationId; + } + + private String text; + + public void setText( String text ) + { + this.text = text; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + + @Override + public String execute() throws Exception + { + String metaData = MessageService.META_USER_AGENT + + ServletActionContext.getRequest().getHeader( ContextUtils.HEADER_USER_AGENT ); + + MessageConversation conversation = messageService.getMessageConversation( conversationId ); + + messageService.sendReply( conversation, text, metaData ); + + return SUCCESS; + } +} === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml 2012-01-09 14:29:43 +0000 @@ -128,11 +128,19 @@ <property name="messageService" ref="org.hisp.dhis.message.MessageService" /> </bean> - <bean id="org.hisp.dhis.light.message.action.GetMessages" class="org.hisp.dhis.light.message.action.GetMessages"> - <property name="messageService" ref="org.hisp.dhis.message.MessageService" /> - </bean> - - <bean id="org.hisp.dhis.light.message.action.GetMessage" class="org.hisp.dhis.light.message.action.GetMessage"> + <bean id="org.hisp.dhis.light.message.action.GetMessagesAction" class="org.hisp.dhis.light.message.action.GetMessagesAction"> + <property name="messageService" ref="org.hisp.dhis.message.MessageService" /> + </bean> + + <bean id="org.hisp.dhis.light.message.action.GetMessageAction" class="org.hisp.dhis.light.message.action.GetMessageAction"> + <property name="messageService" ref="org.hisp.dhis.message.MessageService" /> + </bean> + + <bean id="org.hisp.dhis.light.message.action.SendReplyAction" class="org.hisp.dhis.light.message.action.SendReplyAction"> + <property name="messageService" ref="org.hisp.dhis.message.MessageService" /> + </bean> + + <bean id="org.hisp.dhis.light.message.action.SendFeedbackAction" class="org.hisp.dhis.light.message.action.SendFeedbackAction"> <property name="messageService" ref="org.hisp.dhis.message.MessageService" /> </bean> === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties 2012-01-09 14:29:43 +0000 @@ -42,3 +42,7 @@ mark_as_not_complete=Mark as not complete messages=Messages +conversations=Conversations +subject=Subject +reply=Reply +write_feedback=Write feedback === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml' --- dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml 2012-01-09 14:29:43 +0000 @@ -98,17 +98,17 @@ <!-- Messages --> - <action name="messages" class="org.hisp.dhis.light.message.action.GetMessages"> + <action name="messages" class="org.hisp.dhis.light.message.action.GetMessagesAction"> <result name="success" type="velocity">/dhis-web-light/main.vm</result> <param name="page">/dhis-web-light/messages.vm</param> </action> - <action name="reply" class="org.hisp.dhis.light.message.action.GetMessage"> + <action name="reply" class="org.hisp.dhis.light.message.action.GetMessageAction"> <result name="success" type="velocity">/dhis-web-light/main.vm</result> <param name="page">/dhis-web-light/message.vm</param> </action> - <action name="sendReply" class="org.hisp.dhis.light.action.NoAction"> + <action name="sendReply" class="org.hisp.dhis.light.message.action.SendReplyAction"> <result name="success" type="redirect">/mobile/messages.action</result> </action> @@ -117,7 +117,7 @@ <param name="page">/dhis-web-light/feedback.vm</param> </action> - <action name="sendFeedback" class="org.hisp.dhis.light.action.NoAction"> + <action name="sendFeedback" class="org.hisp.dhis.light.message.action.SendFeedbackAction"> <result name="success" type="redirect">/mobile/index.action</result> </action> === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/dataEntryOverview.vm' --- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/dataEntryOverview.vm 2011-12-29 10:40:04 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/dataEntryOverview.vm 2012-01-09 14:29:43 +0000 @@ -7,6 +7,7 @@ <h2>$encoder.htmlEncode( $dataSetName )</h2> +#* #if( $validationRuleViolations.size() > 0 ) <div class="header-box" align="center"> <h3 style="text-align: left; background-color: #990000; color: white;">$i18n.getString("validation_rule_violation_warnings")</h3> @@ -17,6 +18,7 @@ </p> </div> #end +*# <p> <ul> === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/feedback.vm' --- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/feedback.vm 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/feedback.vm 2012-01-09 14:29:43 +0000 @@ -1,10 +1,23 @@ -<h2>$i18n.getString( "feedback" )</h2> +<h2>$i18n.getString( "write_feedback" )</h2> + +<form method="POST" action="sendFeedback.action"> +<div class="header-box" align="center"> + <h3 style="text-align: left;">$i18n.getString( "send_feedback" )</h3> + <p style="text-align: left;"> + $i18n.getString( "subject" )<br /> + <input type="text" maxlength="255" size="24" name="subject" /> <br /> + $i18n.getString( "text" )<br /> + <input type="text" maxlength="255" size="24" name="text" /> + <input type="submit" style="width: 100%;" value="$i18n.getString("send")" /> + </p> +</div> +</form> <div id="footer"> <h2>$i18n.getString( "navigate_to" )</h2> <ul> <li><a href="messages.action">$i18n.getString("messages")</a></li> - <li><a href="index.action">$i18n.getString("home")</a></li> + <li><a href="index.action">$i18n.getString("home")</a></li> </ul> </div> === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/message.vm' --- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/message.vm 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/message.vm 2012-01-09 14:29:43 +0000 @@ -3,8 +3,9 @@ <form method="POST" action="sendReply.action"> <div class="header-box" align="center"> - <h3 style="text-align: left;">Reply</h3> + <h3 style="text-align: left;">$i18n.getString( "reply" )</h3> <p style="text-align: left;"> + <input type="hidden" name="conversationId" value="$conversationId" /> <input type="text" maxlength="255" size="24" name="text" /> <input type="submit" style="width: 100%;" value="$i18n.getString("send")" /> </p> === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/messages.vm' --- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/messages.vm 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/messages.vm 2012-01-09 14:29:43 +0000 @@ -12,7 +12,7 @@ <p> <ul> #foreach( $conversation in $conversations ) - #if( $conversation.read == false) + #if( $conversation.read == false ) <li><a href="reply.action?conversationId=$conversation.uid" style="font-weight: bold;">$conversation.subject</a></li> #else <li><a href="reply.action?conversationId=$conversation.uid">$conversation.subject</a></li> === modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/style/light.css' --- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/style/light.css 2012-01-09 11:55:36 +0000 +++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/style/light.css 2012-01-09 14:29:43 +0000 @@ -9,148 +9,167 @@ abbr, acronym, address, big, cite, code, dfn, em, font, img, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, fieldset, form, label, legend, -caption, tr, th, td { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font-weight: normal; - vertical-align: baseline; - background: transparent; -} - -p { - border: 0; - font-size: 100%; - font-weight: normal; - vertical-align: baseline; - background: transparent; -} -a { - margin: 0; - padding: 0; - font-weight: normal; -} - -h1, h2, h3, h4, h5, h6 { - margin: 0; - padding: 0; - border: 0; - vertical-align: baseline; - background: transparent; -} - -body table { - margin: 0; - padding: 0; - font-size: 100%; - font-weight: normal; - vertical-align: baseline; - background: transparent; - border-collapse: collapse; - border-spacing: 0; +caption, tr, th, td +{ + margin : 0; + padding : 0; + border : 0; + font-size : 100%; + font-weight : normal; + vertical-align : baseline; + background : transparent; +} + +p +{ + border : 0; + font-size : 100%; + font-weight : normal; + vertical-align : baseline; + background : transparent; +} + +a +{ + margin : 0; + padding : 0; + font-weight : normal; +} + +h1, h2, h3, h4, h5, h6 +{ + margin : 0; + padding : 0; + border : 0; + vertical-align : baseline; + background : transparent; +} + +body table +{ + margin : 0; + padding : 0; + font-size : 100%; + font-weight : normal; + vertical-align : baseline; + background : transparent; + border-collapse : collapse; + border-spacing : 0; } /* * DEFAULT STYLES * */ -body { - color: #333333; - font-weight: normal; - font-family: sans-serif; +body +{ + color : #333333; + font-weight : normal; + font-family : sans-serif; } + /*removes horizontal overflow on certain devices*/ -body div#wrap { - width: 100%; - overflow: hidden; - position: absolute; - left: 0; - padding: 0; +body div#wrap +{ + width : 100%; + overflow : hidden; + position : absolute; + left : 0; + padding : 0; } /* * CONTENT */ -body div#content ul li { - padding-bottom: 8px; +body div#content ul li +{ + padding-bottom : 8px; } /* * HEADER * */ -body div#header { - height: 20px; - background-color: #1d5288; - border-bottom: 4px solid #184572; - padding-top: 2px; - padding-bottom: 2px; - margin-bottom: .5em; -} - -body div#header span { - font-size: 1.5em; - font-weight: bold; - padding-left: 2%; - padding-right: 2%; - color: blue; - margin-bottom: .4em; - margin-top: .4em; -} - -body div#header a { - border: none; +body div#header +{ + height : 20px; + background-color : #1d5288; + border-bottom : 4px solid #184572; + padding-top : 2px; + padding-bottom : 2px; + margin-bottom : .5em; +} + +body div#header span +{ + font-size : 1.5em; + font-weight : bold; + padding-left : 2%; + padding-right : 2%; + color : blue; + margin-bottom : .4em; + margin-top : .4em; +} + +body div#header a +{ + border : none; } /* * FOOTER * */ -body div#footer { - font-size: 0.9em; - background-color: #F6F6F6; - border-top: 1px solid #D8D8D8; - padding-left: 2%; - padding-right: 2%; - padding-bottom: 6px; - padding-top: 6px; - clear: both; - display: block; -} - -body div#footer h2 { - font-size: 0.9em; - color: black; - line-height: normal; - border: none; - padding: 0; - clear: both; -} - -body div#footer ul { - margin-left: 0; - padding-left: 5px; - padding-right: 0; - margin-bottom: 0; - margin-top: 0; - -} - -body div#footer ul li { - margin-left: 0; - padding-left: 0; -} - -body div#footer p { - margin-top: .3em; - padding: 0; -} - -body div#footer ul li { - list-style-type: none; - text-align: left; +body div#footer +{ + font-size : 0.9em; + background-color : #F6F6F6; + border-top : 1px solid #D8D8D8; + padding-left : 2%; + padding-right : 2%; + padding-bottom : 6px; + padding-top : 6px; + clear : both; + display : block; +} + +body div#footer h2 +{ + font-size : 0.9em; + color : black; + line-height : normal; + border : none; + padding : 0; + clear : both; +} + +body div#footer ul +{ + margin-left : 0; + padding-left : 5px; + padding-right : 0; + margin-bottom : 0; + margin-top : 0; + +} + +body div#footer ul li +{ + margin-left : 0; + padding-left : 0; +} + +body div#footer p +{ + margin-top : .3em; + padding : 0; +} + +body div#footer ul li +{ + list-style-type : none; + text-align : left; } /* @@ -159,359 +178,412 @@ */ /*body required as early browsers don't understand p by itself */ -body p { - margin-top: 0; - margin-bottom: 0.6em; - padding: 0 2% 0 2%; - font-size: 100%; -} - -strong { - font-weight: bold; -} -em { - font-style: normal; - font-weight: bold; -} +body p +{ + margin-top : 0; + margin-bottom : 0.6em; + padding : 0 2% 0 2%; + font-size : 100%; +} + +strong +{ + font-weight : bold; +} + +em +{ + font-style : normal; + font-weight : bold; +} + /* - * LINK STATES - * - */ -a:link { - color:#003399; -} - -a:visited { - color:#006600; -} -a:hover { - color:#FF9900; -} - -a:active { - color:#990000; +* LINK STATES +* +*/ +a:link +{ + color : #003399; +} + +a:visited +{ + color : #006600; +} + +a:hover +{ + color : #FF9900; +} + +a:active +{ + color : #990000; } /* * HEADERS * */ -body h1 { - font-size: 1.0em; - padding-left: 2%; - padding-right: 2%; - margin-top: 0; - margin-bottom: 0.4em; - line-height: normal; - clear: both; -} - -body h2 { - font-size: 0.9em; - padding-left: 2%; - padding-right: 2%; - color: black; - background-color: #F6F6F6; - border-top: 1px solid #D8D8D8; - border-bottom: 2px solid #D8D8D8; - margin-top: 0; - margin-bottom: 0.4em; - line-height: normal; - clear: both; -} - -body h3 { - font-size: 0.8em; - border: 2px solid #D8D8D8; - width: 95%; - margin: 0em auto; - padding: 0.3em 0.3em; - background-color: #F6F6F6; - margin-bottom: 0.4em; - color: black; -} - -body h4 { - font-size: 0.7em; - padding-left: 2%; - padding-right: 2%; - color: #CC0066; - margin-top: 0; - margin-bottom: 0.4em; - font-weight: bold; -} - -body h5 { - font-size: 0.6em; - background-color: #F6F6F6; - border-bottom: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; - padding-left: 2%; - padding-right: 2%; - padding-top: .3em; - padding-bottom: .3em; - margin-top: 0; - margin-bottom: 0.6em; -} - -body h6 { - font-size: 0.5em; - background-color: #F6F6F6; - border-bottom: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; - padding-left: 2%; - padding-right: 2%; - padding-top: .3em; - padding-bottom: .3em; - margin-top: 0; - margin-bottom: 0.6em; -} -/* - * IMAGE WITH OPTIONAL CAPTION - * - */ -body img.captioned { - margin: 0 0 0 2%; -} - -body p.caption-image { - font-size: small; - margin-top: 0; - margin-bottom: 0.6em; - padding-left: 2%; -} -/* - * BLOCKQUOTE - * - */ -blockquote { - margin: 0 4% 0.4em 4%; - padding: .6em 0 .3em 0; - border-top: 1px solid #D8D8D8; - border-bottom: 1px solid #D8D8D8; -} -blockquote p { - margin: .0; - padding: 0 0 0.6em 0; - border-bottom: 1px solid #D8D8D8; -} -/* - * LISTS - * - */ +body h1 +{ + font-size : 1em; + padding-left : 2%; + padding-right : 2%; + margin-top : 0; + margin-bottom : 0.4em; + line-height : normal; + clear : both; +} + +body h2 +{ + font-size : 0.9em; + padding-left : 2%; + padding-right : 2%; + color : black; + background-color : #F6F6F6; + border-top : 1px solid #D8D8D8; + border-bottom : 2px solid #D8D8D8; + margin-top : 0; + margin-bottom : 0.4em; + line-height : normal; + clear : both; +} + +body h3 +{ + font-size : 0.8em; + border : 2px solid #D8D8D8; + width : 95%; + margin : 0em auto; + padding : 0.3em 0.3em; + background-color : #F6F6F6; + margin-bottom : 0.4em; + color : black; +} + +body h4 +{ + font-size : 0.7em; + padding-left : 2%; + padding-right : 2%; + color : #CC0066; + margin-top : 0; + margin-bottom : 0.4em; + font-weight : bold; +} + +body h5 +{ + font-size : 0.6em; + background-color : #F6F6F6; + border-bottom : 1px solid #D8D8D8; + border-top : 1px solid #D8D8D8; + padding-left : 2%; + padding-right : 2%; + padding-top : .3em; + padding-bottom : .3em; + margin-top : 0; + margin-bottom : 0.6em; +} + +body h6 +{ + font-size : 0.5em; + background-color : #F6F6F6; + border-bottom : 1px solid #D8D8D8; + border-top : 1px solid #D8D8D8; + padding-left : 2%; + padding-right : 2%; + padding-top : .3em; + padding-bottom : .3em; + margin-top : 0; + margin-bottom : 0.6em; +} + +/* +* IMAGE WITH OPTIONAL CAPTION +* +*/ +body img.captioned +{ + margin : 0 0 0 2%; +} + +body p.caption-image +{ + font-size : small; + margin-top : 0; + margin-bottom : 0.6em; + padding-left : 2%; +} + +/* +* BLOCKQUOTE +* +*/ +blockquote +{ + margin : 0 4% 0.4em 4%; + padding : .6em 0 .3em 0; + border-top : 1px solid #D8D8D8; + border-bottom : 1px solid #D8D8D8; +} + +blockquote p +{ + margin : .0; + padding : 0 0 0.6em 0; + border-bottom : 1px solid #D8D8D8; +} + +/* +* LISTS +* +*/ /* compensates for smaller Opera Mini margins */ -ol, ul, dl { - margin-left: 2%; - padding-left: 5px; -} - -ul li { - list-style-type: none; -} - -dd { - margin-left: 2%; -} +ol, ul, dl +{ + margin-left : 2%; + padding-left : 5px; +} + +ul li +{ + list-style-type : none; +} + +dd +{ + margin-left : 2%; +} + /*forces native margin*/ -body ul, body ol, body dl { - margin-top: 0; - margin-bottom: 0.6em; - font-size: 100%; -} -/* - * BREADCRUMBS - * - */ -body ul.breadcrumbs { - padding-top: 0; - padding-bottom: .5em; - padding-left: 0; - padding-right: .5em; - font-size: small; - list-style-type: none; - margin-bottom: 0.6em; - margin-top: 0; - margin-left: 2%; -} - -body ul.breadcrumbs li { - display: inline; - line-height: 1em; -} -/* - * FORMS - * - */ -body fieldset { - margin: 0; - padding: 0; - border: none; -} - -body form { - font-size: 1.15em; - margin: 0; - color: #333333; -} - -body form label { - font-size: 1.15em; - width: 100%; - margin-bottom: .5em; - margin-top: .5em; -} - -body form input { - width: 100%; - font-size: 1.15em; -} - -body input { - font-size: 1.15em; - padding: 0.2em; - margin-bottom: .5em; - display: block; -} - -body select { - font-size: 1.15em; - padding: 0.2em; - margin-bottom: .5em; - display: block; -} - -body textarea { - font-size: 1.15em; - padding: 0.2em; - margin-bottom: .7em; - display: block; -} - -body form input[type='radio'], body form input[type='checkbox'] { - font-size: 1.15em; - margin:0.1em 0em; - padding: 0; - display: inline; -} - -body input[type='button'] { - font-size: 1.15em; - padding: 1em 1.3em; - color: #D8D8D8; - margin: 1em 0em; +body ul, body ol, body dl +{ + margin-top : 0; + margin-bottom : 0.6em; + font-size : 100%; +} + +/* +* BREADCRUMBS +* +*/ +body ul.breadcrumbs +{ + padding-top : 0; + padding-bottom : .5em; + padding-left : 0; + padding-right : .5em; + font-size : small; + list-style-type : none; + margin-bottom : 0.6em; + margin-top : 0; + margin-left : 2%; +} + +body ul.breadcrumbs li +{ + display : inline; + line-height : 1em; +} + +/* +* FORMS +* +*/ +body fieldset +{ + margin : 0; + padding : 0; + border : none; +} + +body form +{ + font-size : 1em; + margin : 0; + color : #333333; +} + +body form label +{ + font-size : 1.15em; + width : 100%; + margin-bottom : .5em; + margin-top : .5em; +} + +body form input +{ + width : 100%; + font-size : 1.15em; +} + +body input +{ + font-size : 1.15em; + padding : 0.2em; + margin-bottom : .5em; + display : block; +} + +body select +{ + font-size : 1.15em; + padding : 0.2em; + margin-bottom : .5em; + display : block; +} + +body textarea +{ + font-size : 1.15em; + padding : 0.2em; + margin-bottom : .7em; + display : block; +} + +body form input[type='radio'], body form input[type='checkbox'] +{ + font-size : 1.15em; + margin : 0.1em 0em; + padding : 0; + display : inline; +} + +body input[type='button'] +{ + font-size : 1.15em; + padding : 1em 1.3em; + color : #D8D8D8; + margin : 1em 0em; } /* * TABLES * */ -body table { - border: 1px solid #D8D8D8; - margin: 0; - width: 100%; - color: #333333; - font-size: 80%; +body table +{ + border : 1px solid #D8D8D8; + margin : 0; + width : 100%; + color : #333333; + font-size : 80%; } -body td { - padding-left: .3em; - padding-right: .3em; - padding-top: .2em; - padding-bottom: .2em; - line-height: 1.5em; - border: 1px solid #D8D8D8; +body td +{ + padding-left : .3em; + padding-right : .3em; + padding-top : .2em; + padding-bottom : .2em; + line-height : 1.5em; + border : 1px solid #D8D8D8; } /*compensates for lack of consistent header support*/ -body td.table-header { - color: #0033CC; - font-weight: bold; - background-color: #F6F6F6; -} - -body tr { - height: 1.5em; -} - -body table td.odd { - background-color: #F6F6F6; +body td.table-header +{ + color : #0033CC; + font-weight : bold; + background-color : #F6F6F6; +} + +body tr +{ + height : 1.5em; +} + +body table td.odd +{ + background-color : #F6F6F6; } /*caption-side unlikely to be supported*/ -body caption { - caption-side: bottom; - padding-top: 0.3em; - padding-bottom: 0.3em; - margin-left: .5em; - font-size: small; - text-align: left; - font-style: normal; +body caption +{ + caption-side : bottom; + padding-top : 0.3em; + padding-bottom : 0.3em; + margin-left : .5em; + font-size : small; + text-align : left; + font-style : normal; } /* * CONTAINER BOXES * */ -body div.box p.box-text { - border: 1px solid #D8D8D8; - width: 96%; - margin: 0 auto 0.6em auto; - padding: 0.4em 0.4em; - background-color: #F6F6F6; +body div.box p.box-text +{ + border : 1px solid #D8D8D8; + width : 96%; + margin : 0 auto 0.6em auto; + padding : 0.4em 0.4em; + background-color : #F6F6F6; } -body div.header-box p { - font-size: 0.6em; - border: 1px solid #C8DBEA; - width: 96%; - margin: 0 auto 0.6em auto; - padding: 0.4em 0.4em; - background-color: #E8E8E8; +body div.header-box p +{ + font-size : 0.6em; + border : 1px solid #C8DBEA; + width : 96%; + margin : 0 auto 0.6em auto; + padding : 0.4em 0.4em; + background-color : #E8E8E8; } /* 2px border is required to ensure header is flush with the box */ -body div.header-box h3 { - font-size: 0.9em; - border: 2px solid #CBDDEB; - width: 96%; - margin: 0em auto; - padding: 0.3em 0.3em; - background-color: #CBDDEB; - color: #39547D; +body div.header-box h3 +{ + font-size : 0.9em; + border : 2px solid #CBDDEB; + width : 96%; + margin : 0em auto; + padding : 0.3em 0.3em; + background-color : #CBDDEB; + color : #39547D; } /* * BACK TO TOP/HOME * */ -p.top { - font-size: small; - background-color: #F6F6F6; - border-bottom: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; - padding-top: .3em; - padding-bottom: .3em; - margin-top: 0; - margin-bottom: 0.6em; - clear: both; -} - -p.home { - font-size: small; - background-color: #F6F6F6; - border-bottom: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; - padding-top: .3em; - padding-bottom: .3em; - margin-top: 0; - margin-bottom: 0.6em; - clear: both; -} - -p.top a, p.home a { - color: #333333; - text-decoration: none; - width: 100%; - display: block; -} - +p.top +{ + font-size : small; + background-color : #F6F6F6; + border-bottom : 1px solid #D8D8D8; + border-top : 1px solid #D8D8D8; + padding-top : .3em; + padding-bottom : .3em; + margin-top : 0; + margin-bottom : 0.6em; + clear : both; +} + +p.home +{ + font-size : small; + background-color : #F6F6F6; + border-bottom : 1px solid #D8D8D8; + border-top : 1px solid #D8D8D8; + padding-top : .3em; + padding-bottom : .3em; + margin-top : 0; + margin-bottom : 0.6em; + clear : both; +} + +p.top a, p.home a +{ + color : #333333; + text-decoration : none; + width : 100%; + display : block; +}
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

