Index: lams_flash/src/central/flex/BranchManager/src/BranchManager.mxml
===================================================================
diff -u -redba2c28d900fba6e7bb761fb0a828aad979629e -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
--- lams_flash/src/central/flex/BranchManager/src/BranchManager.mxml (.../BranchManager.mxml) (revision edba2c28d900fba6e7bb761fb0a828aad979629e)
+++ lams_flash/src/central/flex/BranchManager/src/BranchManager.mxml (.../BranchManager.mxml) (revision 12ff0e150f8506d554c1405e0c4d14abda72ca4c)
@@ -110,8 +110,8 @@
// total number of branches add (even after removal)
private var totalBranchesAdded:int = 0;
- // last remove event stored
- private var lastRemoveEvent:Event;
+ // last drag event stored
+ private var lastDragEvent:DragEvent;
// variables grabbed from flashvars
private var lessonID:int;
@@ -147,6 +147,10 @@
application.enabled = false;
}
else {
+ // if may not delete, alert the monitor that learners can be added but not removed from branches
+ if(!mayDelete){
+ Alert.show(languageXML.language.entry.(@key=="label.branching.popup.drag.selection.message").name);
+ }
initServices();
initButtonsAndDragging();
initLabels();
@@ -159,16 +163,15 @@
private function initLabels():void{
finish_btn.label = languageXML.language.entry.(@key=="button.finished").name;
mainDataGridCol1_col.headerText = languageXML.language.entry.(@key=="label.branching.non.allocated.users.heading").name;
- status_lbl.text = languageXML.language.entry.(@key=="label.grouping.status").name;
}
// initialize buttons and dragging depending on jsp conditions
private function initButtonsAndDragging():void {
// allow movement of students if deleting is allowed
- mainDataGrid_dg.dragEnabled = mayDelete;
- mainDataGrid_dg.dropEnabled = mayDelete;
- mainDataGrid_dg.dragMoveEnabled = mayDelete;
- mainDataGrid_dg.allowDragSelection = mayDelete;
+ mainDataGrid_dg.dragEnabled = true;
+ mainDataGrid_dg.dropEnabled = true;
+ mainDataGrid_dg.dragMoveEnabled = true;
+ mainDataGrid_dg.allowDragSelection = true;
}
// set request parameters
@@ -226,7 +229,7 @@
}
// set new column attributes
- newDataGridColumn.headerText = languageXML.language.entry.(@key=="label.branching.learners").name;
+ newDataGridColumn.headerText = languageXML.language.entry.(@key=="label.grouping.learners").name;
newDataGridColumn.dataField = "displayName";
// set new datagrid attributes
@@ -237,10 +240,10 @@
newDataGrid.addEventListener(DragEvent.DRAG_DROP, dragDropHandler);
newDataGrid.dataProvider = newLearnersCollection;
- newDataGrid.dropEnabled = mayDelete;
newDataGrid.dragEnabled = mayDelete;
newDataGrid.dragMoveEnabled= mayDelete;
newDataGrid.allowDragSelection = mayDelete;
+ newDataGrid.dropEnabled = true;
// add elements to the panel
newPanel.addChild(newDataGrid);
@@ -282,8 +285,8 @@
private function closeWindowHandler(e:MouseEvent):void{
ExternalInterface.call("closeWindow");
}
-
- // drag drop handler
+
+ // handler to complete dragging users
private function dragDropHandler(e:DragEvent):void {
// if the drag and drop source and destination are not the same
if(e.dragInitiator != e.currentTarget){
@@ -410,8 +413,6 @@
-
-
Index: lams_flash/src/central/flex/GroupManager/src/GroupManager.mxml
===================================================================
diff -u -redba2c28d900fba6e7bb761fb0a828aad979629e -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
--- lams_flash/src/central/flex/GroupManager/src/GroupManager.mxml (.../GroupManager.mxml) (revision edba2c28d900fba6e7bb761fb0a828aad979629e)
+++ lams_flash/src/central/flex/GroupManager/src/GroupManager.mxml (.../GroupManager.mxml) (revision 12ff0e150f8506d554c1405e0c4d14abda72ca4c)
@@ -159,6 +159,9 @@
// last remove event stored
private var lastRemoveEvent:Event;
+ // last drag event stored
+ private var lastDragEvent:DragEvent;
+
// variables grabbed from flashvars
private var lessonID:int;
private var activityID:int;
@@ -197,6 +200,11 @@
application.enabled = false;
}
else {
+ // if may not delete, alert the monitor that learners can be added but not removed from groups
+ if(!mayDelete){
+ Alert.show(languageXML.language.entry.(@key=="label.grouping.popup.drag.selection.message").name);
+ }
+
initServices();
initButtonsAndDragging();
initLabels();
@@ -210,18 +218,17 @@
groupFunctions_lbl.text = languageXML.language.entry.(@key=="label.grouping.functions").name;
finish_btn.label = languageXML.language.entry.(@key=="button.finished").name;
mainDataGridCol1_col.headerText = languageXML.language.entry.(@key=="label.grouping.non.grouped.users.heading").name;
- status_lbl.text = languageXML.language.entry.(@key=="label.grouping.status").name;
globalAddPanel_btn.label = "+";
globalRemovePanel_btn.label = "-";
}
// initialize buttons and dragging depending on jsp conditions
private function initButtonsAndDragging():void {
// allow movement of students if deleting is allowed
- mainDataGrid_dg.dragEnabled = mayDelete;
- mainDataGrid_dg.dropEnabled = mayDelete;
- mainDataGrid_dg.dragMoveEnabled = mayDelete;
- mainDataGrid_dg.allowDragSelection = mayDelete;
+ mainDataGrid_dg.dragEnabled = true;
+ mainDataGrid_dg.dropEnabled = true;
+ mainDataGrid_dg.dragMoveEnabled = true;
+ mainDataGrid_dg.allowDragSelection = true;
// if groups are being used for branching, if deletion is a nono or if branching/grouping is in view mode, disable add and remove buttons
if(usedForBranching || !mayDelete || viewMode) {
@@ -273,6 +280,14 @@
var newPanelRemoveButton:Button = new Button();
var horizontalSpacer:Spacer = new Spacer();
+ /*
+ // check current number of groups against max numbers of groups
+ if(totalGroupsAdded >= maxNumberOfGroups) {
+ Alert.show(languageXML.language.entry.(@key=="error.title").name);
+ return false;
+ }
+ */
+
// increment total number of group panels added
totalGroupsAdded++;
@@ -292,10 +307,13 @@
newControlBar.percentWidth = 100;
newControlBar.height = 40;
- // add only if conditions are alright
- if(!usedForBranching && mayDelete && !viewMode) {
- newControlBar.addChild(horizontalSpacer);
- newControlBar.addChild(newPanelRemoveButton);
+ // add the control bar's components
+ newControlBar.addChild(horizontalSpacer);
+ newControlBar.addChild(newPanelRemoveButton);
+
+ // disactivate if deletion is not allowed
+ if(usedForBranching || !mayDelete || viewMode) {
+ newPanelRemoveButton.enabled = false;
}
// set new panel attributes
@@ -329,10 +347,11 @@
newDataGrid.addEventListener(DragEvent.DRAG_DROP, dragDropHandler);
newDataGrid.dataProvider = newLearnersCollection;
- newDataGrid.dropEnabled = mayDelete;
- newDataGrid.dragEnabled = mayDelete;
- newDataGrid.dragMoveEnabled= mayDelete;
- newDataGrid.allowDragSelection = mayDelete;
+ // set dragging properties depending
+ newDataGrid.dragEnabled = mayDelete;
+ newDataGrid.dragMoveEnabled= mayDelete;
+ newDataGrid.allowDragSelection = mayDelete;
+ newDataGrid.dropEnabled = true;
// add elements to the panel
newPanel.addChild(newDataGrid);
@@ -447,12 +466,12 @@
private function removePanelHandler(event:Event):void {
if(panels.length != 0) {
lastRemoveEvent = event;
- Alert.show(languageXML.language.entry.(@key=="label.grouping.popup.delete.group.message").name, languageXML.language.entry.(@key=="label.grouping.popup.delete.group").name, 3, this, alertClickHandler);
+ Alert.show(languageXML.language.entry.(@key=="label.grouping.popup.delete.group.message").name, languageXML.language.entry.(@key=="label.grouping.popup.delete.group").name, 3, this, deleteAlertClickHandler);
}
}
// click handler to confirm removing a panel
- private function alertClickHandler(event:CloseEvent):void {
+ private function deleteAlertClickHandler(event:CloseEvent):void {
if (event.detail==Alert.YES){
removePanelHandlerComplete(lastRemoveEvent);
}
@@ -475,7 +494,7 @@
ExternalInterface.call("closeWindow");
}
- // drag drop handler
+ // handler to complete dragging users
private function dragDropHandler(e:DragEvent):void {
// if the drag and drop source and destination are not the same
if(e.dragInitiator != e.currentTarget){
@@ -512,15 +531,14 @@
// -- httpservice handlers --
private function getGroupsSuccessHandler(e:ResultEvent):void {
var xmlResult:XMLListCollection = new XMLListCollection(XMLList(e.result).groups.group);
+ var amountGroupsAdded:int = 0;
+ // for each group returned, add a group panel and get its learners
for(var i:int = 0; i < xmlResult.length; i++){
addGroupPanel(xmlResult.getItemAt(i).id.toString(), xmlResult.getItemAt(i).name.toString());
- }
-
- for(var i:int = 0; i < xmlResult.length; i++){
- getGroupMembersService.request.groupID = xmlResult.getItemAt(i).id.toString();
+ getGroupMembersService.request.groupID = xmlResult.getItemAt(i).id.toString();
getGroupMembersService.send();
- }
+ }
}
private function getGroupsFaultHandler(e:Event):void {
@@ -620,8 +638,6 @@
-
-
Index: lams_monitoring/conf/language/lams/ApplicationResources_en_AU.properties
===================================================================
diff -u -r4f82aa2d9b93b012225fca2e96000b10368ca710 -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
--- lams_monitoring/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 4f82aa2d9b93b012225fca2e96000b10368ca710)
+++ lams_monitoring/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 12ff0e150f8506d554c1405e0c4d14abda72ca4c)
@@ -66,9 +66,9 @@
label.branching.allocated.groups.heading =Groups of the selected Branch
label.completed =Completed
label.grouping.general.instructions.heading =General Instructions:
-label.grouping.non.grouped.users.heading =Students without a Group
-label.branching.non.allocated.users.heading =Students without a Branch
-label.grouping.general.instructions.line2 =To create a group, type a group name and click Add Group. Repeat as required. Select a group, then select students from Column 2 and click Add selected to group. Select students in Column 3 and click Remove selected members from group to remove them from the group membership. The changes are saved when you click any of the buttons.
+label.grouping.non.grouped.users.heading =Learners without a Group
+label.branching.non.allocated.users.heading =Learners without a Branch
+label.grouping.general.instructions.line2 = To create a group, simply click the "+" button in the group functions. To remove a group, click the "-" button. Repeat as required. To assign learners to groups, simply drag their names into the appropriate group panel. The changes are saved immediately.
label.condition.gate.title =Condition Gate
label.gate.you.open.message =You may open the gate for the whole class
label.gate.allow =Allow to pass
@@ -83,6 +83,8 @@
label.grouping.popup.change.group.name.field =Enter new name:
label.grouping.popup.delete.group =Delete Group
label.grouping.popup.delete.group.message =Are you sure you want to delete this group?
+label.grouping.popup.drag.selection.message = Because some learners have already entered this grouping activity, it will only be possible to add new learners to groups. Learners can not be removed from groups, therefore, once a learner is added to a group, the action can not be undone.
+label.branching.popup.drag.selection.message = Because some learners have already entered this branching activity, it will only be possible to add new learners to branches. Learners can not be removed from branches, therefore, once a learner is added to a branch, the action can not be undone.
button.ok =OK
button.cancel =Cancel
button.yes =Yes
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/BranchingAction.java
===================================================================
diff -u -redba2c28d900fba6e7bb761fb0a828aad979629e -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/BranchingAction.java (.../BranchingAction.java) (revision edba2c28d900fba6e7bb761fb0a828aad979629e)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/BranchingAction.java (.../BranchingAction.java) (revision 12ff0e150f8506d554c1405e0c4d14abda72ca4c)
@@ -192,6 +192,7 @@
languageCollection.add(new String("label.grouping.status"));
languageCollection.add(new String("label.grouping.learners"));
languageCollection.add(new String("error.title"));
+ languageCollection.add(new String("label.branching.popup.drag.selection.message"));
String languageOutput = "";
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java
===================================================================
diff -u -redba2c28d900fba6e7bb761fb0a828aad979629e -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java (.../GroupingAJAXAction.java) (revision edba2c28d900fba6e7bb761fb0a828aad979629e)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java (.../GroupingAJAXAction.java) (revision 12ff0e150f8506d554c1405e0c4d14abda72ca4c)
@@ -408,6 +408,7 @@
languageCollection.add(new String("button.no"));
languageCollection.add(new String("error.title"));
languageCollection.add(new String("label.grouping.max.num.in.group.heading"));
+ languageCollection.add(new String("label.grouping.popup.drag.selection.message"));
String languageOutput = "";
Index: lams_monitoring/web/branching/BranchManager.swf
===================================================================
diff -u -redba2c28d900fba6e7bb761fb0a828aad979629e -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
Binary files differ
Index: lams_monitoring/web/grouping/GroupManager.swf
===================================================================
diff -u -redba2c28d900fba6e7bb761fb0a828aad979629e -r12ff0e150f8506d554c1405e0c4d14abda72ca4c
Binary files differ