Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -re2bfef3dced5d7bb35d73cfe1ed73708015c89d2 -r6455661a6bf20c1846409aad23339b3d6ddb0f8d Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -re2bfef3dced5d7bb35d73cfe1ed73708015c89d2 -r6455661a6bf20c1846409aad23339b3d6ddb0f8d Binary files differ Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/ws/WorkspaceDialog.as =================================================================== diff -u -r5b44cd0646c0ee06e57059948a5d5f730040f431 -r6455661a6bf20c1846409aad23339b3d6ddb0f8d --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/ws/WorkspaceDialog.as (.../WorkspaceDialog.as) (revision 5b44cd0646c0ee06e57059948a5d5f730040f431) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/ws/WorkspaceDialog.as (.../WorkspaceDialog.as) (revision 6455661a6bf20c1846409aad23339b3d6ddb0f8d) @@ -762,14 +762,15 @@ */ private function saveFile(snode:XMLNode):Void{ Debugger.log('Saving a file.',Debugger.GEN,'saveFile','org.lamsfoundation.lams.WorkspaceDialog'); + var snodeData = treeview.selectedNode.attributes.data; + var isWritable:Boolean = _workspaceModel.isWritableResource(snodeData.resourceType,snodeData.resourceID); + Debugger.log("isWritable: "+isWritable, Debugger.CRITICAL, "saveFile", "WorkspaceDialog"); _workspaceController = _workspaceView.getController(); if(snode == treeview.dataProvider.firstChild){ LFMessage.showMessageAlert(Dictionary.getValue('ws_save_folder_invalid'),null); } else if(snode.attributes.data.resourceType==_workspaceModel.RT_LD){ if(snode.parentNode != null) { if(searchForFile(snode.parentNode, resourceTitle_txi.text, true)) { - var snodeData = treeview.selectedNode.attributes.data; - var isWritable:Boolean = _workspaceModel.isWritableResource(snodeData.resourceType,snodeData.resourceID); if(isWritable) { //run a confirm dialogue as user is about to overwrite a design! LFMessage.showMessageConfirm(Dictionary.getValue('ws_chk_overwrite_resource'), Proxy.create(this,doWorkspaceDispatch,true)); @@ -783,6 +784,8 @@ if(snode.attributes.data.resourceID < 0){ LFMessage.showMessageAlert(Dictionary.getValue('ws_save_folder_invalid'),null); _workspaceController.clearBusy(); + } else if (!isWritable) { + LFMessage.showMessageAlert(Dictionary.getValue('ws_no_permission'),null,null); } else if(searchForFile(snode, resourceTitle_txi.text)){ //run a alert dialogue as user is using the same name as an existing design! LFMessage.showMessageAlert(Dictionary.getValue('ws_chk_overwrite_existing', [resourceTitle_txi.text]), null);