dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #28120
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14015: Add missing files.
------------------------------------------------------------
revno: 14015
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2014-02-13 22:03:55 +0700
message:
Add missing files.
added:
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetDeletionHandler.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addCategoryOptionGroupSetForm.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/categoryOptionGroupSet.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/categoryOptionGroupSet.js
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/jsonCategoryOptionGroupSet.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupSetForm.vm
modified:
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties
--
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
=== added file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetDeletionHandler.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetDeletionHandler.java 2014-02-13 15:03:55 +0000
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2004-2013, 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.dataelement;
+
+import org.hisp.dhis.system.deletion.DeletionHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $ CategoryOptionGroupSetDeletionHandler.java Feb 13, 2014 7:53:06 PM
+ * $
+ */
+public class CategoryOptionGroupSetDeletionHandler
+ extends DeletionHandler
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ @Autowired
+ private DataElementCategoryService dataElementCategoryService;
+
+ // -------------------------------------------------------------------------
+ // DeletionHandler implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String getClassName()
+ {
+ return CategoryOptionGroupSet.class.getSimpleName();
+ }
+
+ @Override
+ public void deleteCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup )
+ {
+ CategoryOptionGroupSet groupSet = categoryOptionGroup.getGroupSet();
+
+ if ( groupSet != null )
+ {
+ groupSet.getMembers().remove( categoryOptionGroup );
+ dataElementCategoryService.updateCategoryOptionGroupSet( groupSet );
+ }
+ }
+}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml 2014-02-13 14:24:59 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml 2014-02-13 15:03:55 +0000
@@ -726,14 +726,14 @@
<param name="page">/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupForm.vm</param>
<param name="javascripts">javascript/categoryOptionGroup.js</param>
<param name="stylesheets">style/basic.css</param>
- <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_ADD</param>
+ <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_UPDATE</param>
</action>
<action name="updateCategoryOptionGroup"
class="org.hisp.dhis.dd.action.categoryoptiongroup.UpdateCategoryOptionGroupAction">
<result name="success" type="redirect">categoryOptionGroup.action
</result>
- <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_ADD</param>
+ <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_UPDATE</param>
</action>
<action name="validateCategoryOptionGroup"
@@ -797,14 +797,14 @@
<param name="page">/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupSetForm.vm</param>
<param name="javascripts">javascript/categoryOptionGroupSet.js</param>
<param name="stylesheets">style/basic.css</param>
- <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_SET_ADD</param>
+ <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_SET_UPDATE</param>
</action>
<action name="updateCategoryOptionGroupSet"
class="org.hisp.dhis.dd.action.categoryoptiongroupset.UpdateCategoryOptionGroupSetAction">
<result name="success" type="redirect">categoryOptionGroupSet.action
</result>
- <param name="requiredAuthorities">F_CATEGORY_ATTRIBUTE_GROUP_ADD</param>
+ <param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_SET_UPDATE</param>
</action>
<action name="validateCategoryOptionGroupSet"
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addCategoryOptionGroupSetForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addCategoryOptionGroupSetForm.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addCategoryOptionGroupSetForm.vm 2014-02-13 15:03:55 +0000
@@ -0,0 +1,95 @@
+<script type="text/javascript">
+ jQuery(function() {
+ validation('addCategoryOptionGroupSetForm', function ( form ) {
+ form.submit();
+ },function(){
+ selectAllById('groupMembers');
+ if(jQuery("#groupMembers option").length > 0 ){
+ setFieldValue('hasOptions', 'true');
+ }
+ });
+
+ checkValueIsExist("name", "validateCategoryOptionGroupSet.action");
+
+ jQuery("#availableCategoryOptionsList").dhisAjaxSelect({
+ source: "../dhis-web-commons-ajax-json/getCategoryOptionGroups.action",
+ iterator: "categoryOptionGroups",
+ connectedTo: 'groupMembers',
+ handler: function(item) {
+ var option = jQuery("<option data-id='" + item.groups + "' />");
+ option.text( item.name );
+ option.attr( "value", item.id );
+
+ return option;
+ }
+ });
+ });
+</script>
+
+<h3>$i18n.getString( "create_new_category_option_group_set" )</h3>
+
+<form id="addCategoryOptionGroupSetForm" name="addCategoryOptionGroupSetForm" action="addCategoryOptionGroupSet.action" method="post" class="inputForm">
+
+<table>
+ <tr>
+ <th colspan="2">$i18n.getString( "details" )</th>
+ </tr>
+
+ <tr>
+ <td style="width: 120px;"><label for="name">$i18n.getString( "name" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td><input type="text" id="name" name="name" class="{validate:{required:true}}"/></td>
+ </tr>
+ <tr>
+ <td><label for="description" style="width:100%">$i18n.getString( "description" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td><input type="text" id="description" name="description"></td>
+ </tr>
+ <tr>
+ <td><label for="dataDimension" style="width:100%">$i18n.getString( "data_dimension" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td>
+ <select id="dataDimension" name="dataDimension">
+ <option value="true" selected="selected">$i18n.getString( "yes" )</option>
+ <option value="false">$i18n.getString( "no" )</option>
+ </select>
+ </td>
+ </tr>
+</table>
+
+<table>
+ <colgroup>
+ <col style="width: 500px;"/>
+ <col/>
+ <col style="width: 500px;"/>
+ </colgroup>
+
+ <tr>
+ <th>$i18n.getString( "available_category_option_groups" )</th>
+ <th></th>
+ <th>$i18n.getString( "group_members" )
+ <input type='hidden' id='hasOptions' name='hasOptions' class="{validate:{required:true}}">
+ </th>
+ </tr>
+
+ <tr>
+ <td>
+ <select id="availableCategoryOptionsList" name="availableCategoryOptionsList" multiple="multiple" style="height: 200px; width: 100%;"></select>
+ </td>
+
+ <td style="text-align:center">
+ <input type="button" value=">" title="$i18n.getString( 'move_selected' )" style="width:50px" onclick="dhisAjaxSelect_moveAllSelected( 'availableCategoryOptionsList' );"/><br/>
+ <input type="button" value="<" title="$i18n.getString( 'remove_selected' )" style="width:50px" onclick="dhisAjaxSelect_moveAllSelected( 'groupMembers' );"/><br/>
+ <input type="button" value=">>" title="$i18n.getString('move_all')" style="width:50px" onclick="dhisAjaxSelect_moveAll( 'availableCategoryOptionsList' );"/><br/>
+ <input type="button" value="<<" title="$i18n.getString('remove_all')" style="width:50px" onclick="dhisAjaxSelect_moveAll( 'groupMembers' );"/>
+ </td>
+
+ <td>
+ <select id="groupMembers" name="groupMembers" multiple="multiple" style="height: 200px; width: 100%; margin-top: 22px;"></select>
+ </td>
+ </tr>
+</table>
+
+<p>
+ <input type="submit" value="$i18n.getString( 'add' )" style="width:10em"/>
+ <input type="button" value="$i18n.getString( 'cancel' )" onclick="dhis2.commons.redirectCurrentPage( 'categoryOptionGroupSet.action' )" style="width:10em"/>
+</p>
+
+</form>
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/categoryOptionGroupSet.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/categoryOptionGroupSet.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/categoryOptionGroupSet.vm 2014-02-13 15:03:55 +0000
@@ -0,0 +1,72 @@
+
+<script type="text/javascript">
+ jQuery(document).ready(function(){
+ tableSorter( 'categoryOptionGroupSetList' );
+ });
+
+ var i18n_confirm_delete = '$encoder.jsEscape( $i18n.getString( "confirm_delete_category_option_group_set" ) , "'")';
+</script>
+
+<h3>$i18n.getString( "category_option_group_set_management" )</h3>
+
+<div id="contextMenu" class="contextMenu">
+ <ul id="contextMenuItems" class="contextMenuItems">
+ <li><a data-target-fn="showUpdateCategoryOptionGroupSetForm"><i class="fa fa-edit"></i> $i18n.getString( "edit" )</a></li>
+ <li><a data-target-fn="translateWithContext"><i class="fa fa-globe"></i> $i18n.getString( "translation_translate" )</a></li>
+ <li><a data-target-fn="removeCategoryOptionGroupSet"><i class="fa fa-trash-o"></i> $i18n.getString( "remove" )</a></li>
+ <li><a data-target-fn="showCategoryOptionGroupSetDetails"><i class="fa fa-info-circle"></i> $i18n.getString( "show_details" )</a></li>
+ </ul>
+</div>
+
+<table class="mainPageTable">
+ <tr>
+ <td style="vertical-align:top">
+ <table width="100%">
+ <tr>
+ <td>#filterDiv( "categoryOptionGroupSet" )</td>
+ <td style="text-align:right"><input type="button" value="$i18n.getString( 'add_new' )" onclick="window.location.href='showAddCategoryOptionGroupSetForm.action'" style="width:80px"/></td>
+ </tr>
+ </table>
+ <div id="content">
+ <table class="listTable" id="categoryOptionGroupSetList">
+ <thead>
+ <tr>
+ <th>$i18n.getString( "name" )</th>
+ </tr>
+ </thead>
+ <tbody id="list">
+ #foreach( $categoryOptionGroupSet in $categoryOptionGroupSets )
+ <tr id="tr${categoryOptionGroupSet.id}" data-id="$!categoryOptionGroupSet.id" data-uid="$!categoryOptionGroupSet.uid" data-type="CategoryOptionGroup" data-name="$encoder.htmlEncode( $!categoryOptionGroupSet.displayName )"
+ data-can-manage="$security.canManage( $categoryOptionGroupSet )"
+ data-can-update="$security.canUpdate( $categoryOptionGroupSet )"
+ data-can-delete="$security.canDelete( $categoryOptionGroupSet )">
+ <td>$encoder.htmlEncode( $!categoryOptionGroupSet.displayName )</td>
+ </tr>
+ #end
+ </tbody>
+ </table>
+ <p></p>
+ #parse( "/dhis-web-commons/paging/paging.vm" )
+ </div>
+ </td>
+
+ <td id="detailsData">
+ <div id="detailsArea">
+ <div id="hideDetailsArea">
+ <a href="javascript:hideDetails()" title="$i18n.getString( 'hide_details' )"><img src="../images/hide.png" alt="$i18n.getString( 'hide_details' )"/></a>
+ </div>
+ <p><label>$i18n.getString( "name" ):</label><br/><span id="nameField"></span></p>
+ <p><label>$i18n.getString( "description" ):</label><br/><span id="descriptionField"></span></p>
+ <p><label>$i18n.getString( "number_of_members" ):</label><br/><span id="memberCountField"></span></p>
+ </div>
+
+ <div id="warningArea">
+ <div id="hideDetailsArea">
+ <a href="javascript:hideWarning()" title="$i18n.getString( 'hide_warning' )"><img src="../images/hide.png" alt="$i18n.getString( 'hide_warning' )"/></a>
+ </div>
+ <p><span id="warningField"></span></p>
+ </div>
+
+ </td>
+ </tr>
+</table>
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/categoryOptionGroupSet.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/categoryOptionGroupSet.js 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/javascript/categoryOptionGroupSet.js 2014-02-13 15:03:55 +0000
@@ -0,0 +1,33 @@
+$(function() {
+ dhis2.contextmenu.makeContextMenu({
+ menuId: 'contextMenu',
+ menuItemActiveClass: 'contextMenuItemActive'
+ });
+});
+
+// -----------------------------------------------------------------------------
+// View details
+// -----------------------------------------------------------------------------
+
+function showUpdateCategoryOptionGroupSetForm( context ) {
+ location.href = 'showUpdateCategoryOptionGroupSetForm.action?id=' + context.id;
+}
+
+function showCategoryOptionGroupSetDetails( context ) {
+ jQuery.getJSON('getCategoryOptionGroupSet.action', { id: context.id },
+ function( json ) {
+ setInnerHTML('nameField', json.categoryOptionGroupSet.name);
+ setInnerHTML('descriptionField', json.categoryOptionGroupSet.description);
+ setInnerHTML('memberCountField', json.categoryOptionGroupSet.memberCount);
+
+ showDetails();
+ });
+}
+
+// -----------------------------------------------------------------------------
+// Remove CategoryOption
+// -----------------------------------------------------------------------------
+
+function removeCategoryOptionGroupSet( context ) {
+ removeItem(context.id, context.name, i18n_confirm_delete, 'removeCategoryOptionGroupSet.action');
+}
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/jsonCategoryOptionGroupSet.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/jsonCategoryOptionGroupSet.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/jsonCategoryOptionGroupSet.vm 2014-02-13 15:03:55 +0000
@@ -0,0 +1,9 @@
+{ "categoryOptionGroupSet":
+ {
+ "id": $!{categoryOptionGroupSet.id},
+ "name": "$!encoder.jsonEncode( ${categoryOptionGroupSet.displayName} )",
+ "shortName": "$!encoder.jsonEncode( ${categoryOptionGroupSet.displayShortName} )",
+ "code": "$!encoder.jsonEncode( ${categoryOptionGroupSet.code} )",
+ "memberCount": "$categoryOptionGroupSet.members.size()"
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupSetForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupSetForm.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupSetForm.vm 2014-02-13 15:03:55 +0000
@@ -0,0 +1,107 @@
+<script type="text/javascript">
+ jQuery(function() {
+ validation( 'updateCategoryOptionGroupSetForm', function( form )
+ {
+ form.submit();
+ },function(){
+ selectAllById('groupMembers');
+ if(jQuery("#groupMembers option").length > 0 ){
+ setFieldValue('hasOptions', 'true');
+ }
+ });
+
+ checkValueIsExist( "name", "validateCategoryOptionGroupSet.action", {
+ id : getFieldValue( 'id' )
+ } );
+
+ jQuery("#availableCategoryOptionsList").dhisAjaxSelect({
+ source: "../dhis-web-commons-ajax-json/getCategoryOptionGroups.action",
+ iterator: "categoryOptionGroups",
+ connectedTo: 'groupMembers',
+ handler: function(item) {
+ var option = jQuery("<option data-id='" + item.groups + "' />");
+ option.text( item.name );
+ option.attr( "value", item.id );
+
+ return option;
+ }
+ });
+ });
+</script>
+
+<h3>$i18n.getString( "edit_category_option_group" )</h3>
+
+<form id="updateCategoryOptionGroupSetForm" action="updateCategoryOptionGroupSet.action" method="post" class="inputForm">
+
+<div>
+ <input type="hidden" id="id" name="id" value="$categoryOptionGroupSet.id"/>
+</div>
+
+<table>
+ <tr>
+ <th colspan="2">$i18n.getString( "details" )</th>
+ </tr>
+
+ <tr>
+ <td style="width: 120px;"><label for="name">$i18n.getString( "name" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
+ <td><input type="text" id="name" name="name" class="{validate:{required:true}}" value="$encoder.htmlEncode( $!categoryOptionGroupSet.name )">
+ </td>
+ </tr>
+ <tr>
+ <td><label for="description">$i18n.getString( "description" ) <em title="$i18n.getString( "required" )" class="required">*</em></label></td>
+ <td><input type="text" id="description" name="description" value="#if( $categoryOptionGroupSet.description)$encoder.htmlEncode( $categoryOptionGroupSet.description )#end"></td>
+ </tr>
+ <tr>
+ <td><label for="dataDimension">$i18n.getString( "data_dimension" ) <em title="$i18n.getString( "required" )" class="required">*</em></label></td>
+ <td>
+ <select id="dataDimension" name="dataDimension">
+ <option value="true" #if( $categoryOptionGroupSet.dataDimension ) selected="selected" #end>$i18n.getString( "yes" )</option>
+ <option value="false" #if( !$categoryOptionGroupSet.dataDimension ) selected="selected" #end>$i18n.getString( "no" )</option>
+ </select>
+ </td>
+ </tr>
+</table>
+
+<table>
+ <colgroup>
+ <col style="width: 500px;"/>
+ <col/>
+ <col style="width: 500px;"/>
+ </colgroup>
+
+ <tr>
+ <th>$i18n.getString( "available_category_option_groups" )</th>
+ <th></th>
+ <th>$i18n.getString( "group_members" )
+ <input type='hidden' id='hasOptions' name='hasOptions' class="{validate:{required:true}}">
+ </th>
+ </tr>
+
+ <tr>
+ <td>
+ <select id="availableCategoryOptionsList" name="availableCategoryOptionsList" multiple="multiple" style="height: 200px; width: 100%;"></select>
+ </td>
+
+ <td style="text-align:center">
+ <input type="button" value=">" title="$i18n.getString( 'move_selected' )" style="width:50px" onclick="dhisAjaxSelect_moveAllSelected( 'availableCategoryOptionsList' );"/><br/>
+ <input type="button" value="<" title="$i18n.getString( 'remove_selected' )" style="width:50px" onclick="dhisAjaxSelect_moveAllSelected( 'groupMembers' );"/><br/>
+ <input type="button" value=">>" title="$i18n.getString('move_all')" style="width:50px" onclick="dhisAjaxSelect_moveAll( 'availableCategoryOptionsList' );"/><br/>
+ <input type="button" value="<<" title="$i18n.getString('remove_all')" style="width:50px" onclick="dhisAjaxSelect_moveAll( 'groupMembers' );"/>
+ </td>
+
+ <td>
+ <select id="groupMembers" name="groupMembers" multiple="multiple" style="height: 200px; width: 100%; margin-top: 22px;">
+ #foreach( $categoryOption in $groupMembers )
+ <option value="$categoryOption.id">$encoder.htmlEncode( $categoryOption.displayName )</option>
+ #end
+ </select>
+ </td>
+ </tr>
+</table>
+
+<p>
+ <input type="submit" value="$i18n.getString( 'save' )" style="width:10em"/>
+ <input type="button" value="$i18n.getString( 'cancel' )" onclick="dhis2.commons.redirectCurrentPage( 'categoryOptionGroupSet.action' )" style="width:10em"/>
+</p>
+
+</form>
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties 2014-02-10 11:24:32 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties 2014-02-13 15:03:55 +0000
@@ -57,6 +57,12 @@
F_DATADICTIONARY_DELETE=Delete Data Dictionary
F_DATAELEMENT_MINMAX_ADD=Add/Update Min/max rule
F_DATAELEMENT_MINMAX_DELETE=Delete Min/max rule
+F_CATEGORY_OPTION_GROUP_DELETE = Delete Category Option Group
+F_CATEGORY_OPTION_GROUP_ADD = Add Category Option Group
+F_CATEGORY_OPTION_GROUP_UPDATE = Update Category Option Group
+F_CATEGORY_OPTION_GROUP_SET_DELETE = Delete Category Option Group Set
+F_CATEGORY_OPTION_GROUP_SET_ADD = Add Category Option Group Set
+F_CATEGORY_OPTION_GROUP_SET_UPDATE = Update Category Option Group Set
F_DATASET_PUBLIC_ADD=Add/Update Public Data Set
F_DATASET_PRIVATE_ADD=Add/Update Private Data Set
F_DATASET_DELETE=Delete Data Set