Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -r6b04e69c42c1f73e069ecb5a735ff97c9f50a0a1 -r1d252c442d2a807f45abbc77f366c2952ce4c44d --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 6b04e69c42c1f73e069ecb5a735ff97c9f50a0a1) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 1d252c442d2a807f45abbc77f366c2952ce4c44d) @@ -1428,6 +1428,10 @@ _branches = a; } + public function get groupings():Hashtable{ + return _groupings; + } + public function get branchMappings():Hashtable { return _branchMappings; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -rb3d9e6021b71dcb7f55a13a2508e80a21141baf9 -r1d252c442d2a807f45abbc77f366c2952ce4c44d --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision b3d9e6021b71dcb7f55a13a2508e80a21141baf9) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 1d252c442d2a807f45abbc77f366c2952ce4c44d) @@ -217,9 +217,17 @@ LFMessage.showMessageConfirm(Dictionary.getValue("redundant_branch_mappings_msg"), Proxy.create(_ddm, _ddm.removeRedundantBranchMappings, Proxy.create(this, saveDesignToServer, workspaceResultDTO)), null, Dictionary.getValue("al_continue"), null); } else { var dto:Object = _ddm.getDesignForSaving(); - var callback:Function = Proxy.create(this,onStoreDesignResponse); + var groupingUIID:Number = null; + if((groupingUIID = validateGroupings()) != null) { + // return error message + Cursor.showCursor(Application.C_DEFAULT); + LFMessage.showMessageAlert('Group names must be unique. Please review the Grouping Activity: '' + _ddm.getGroupingActivityByGroupingUIID(groupingUIID).title + ''', null); + return false; + } else { + var callback:Function = Proxy.create(this,onStoreDesignResponse); - Application.getInstance().getComms().sendAndReceive(dto,"servlet/authoring/storeLearningDesignDetails",callback,false); + Application.getInstance().getComms().sendAndReceive(dto,"servlet/authoring/storeLearningDesignDetails",callback,false); + } } return true; @@ -300,6 +308,30 @@ } } + public function validateGroupings():Number { + var keys:Array = _ddm.groupings.keys(); + var currentGrouping:Grouping = null; + + for(var i=0; i 0) + group = groups[0]; + + for(var j=1; j