Revision 3ebb88f4 src/gr/grnet/pithos/web/client/FileContextMenu.java

b/src/gr/grnet/pithos/web/client/FileContextMenu.java
187 187
		images = newImages;
188 188
        MenuBar contextMenu = new MenuBar(true);
189 189

  
190
        Boolean[] permissions = selectedFolder.getPermissions().get(app.getUsername());
191
    	boolean canWrite = selectedFolder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]);
192

  
190 193
        if (!selectedFolder.isInTrash()) {
191
	        if (app.getClipboard().hasFiles()) {
194
	        if (canWrite && app.getClipboard().hasFiles()) {
192 195
	            pasteItem = new MenuItem("<span>" + AbstractImagePrototype.create(images.paste()).getHTML() + "&nbsp;Paste</span>", true, new PasteCommand(app, this, selectedFolder));
193 196
	            contextMenu.addItem(pasteItem);
194 197
	        }
195 198

  
196
	        MenuItem upload = new MenuItem("<span>" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + "&nbsp;Upload</span>", true, new UploadFileCommand(app, this, selectedFolder));
197
	        contextMenu.addItem(upload);
198

  
199
			cutItem = new MenuItem("<span id='fileContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + "&nbsp;Cut</span>", true, new CutCommand(app, this, selectedFiles));
200
            contextMenu.addItem(cutItem);
199
	        if (canWrite) {
200
		        MenuItem upload = new MenuItem("<span>" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + "&nbsp;Upload</span>", true, new UploadFileCommand(app, this, selectedFolder));
201
		        contextMenu.addItem(upload);
202
	
203
				cutItem = new MenuItem("<span id='fileContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + "&nbsp;Cut</span>", true, new CutCommand(app, this, selectedFiles));
204
	            contextMenu.addItem(cutItem);
205
	        }
201 206

  
202 207
			copyItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + "&nbsp;Copy</span>", true, new CopyCommand(app, this, selectedFiles));
203 208
            contextMenu.addItem(copyItem);
204 209

  
205
			trashItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + "&nbsp;Move to Trash</span>", true, new ToTrashCommand(app, this, selectedFiles));
206
            contextMenu.addItem(trashItem);
210
            if (canWrite) {
211
				trashItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + "&nbsp;Move to Trash</span>", true, new ToTrashCommand(app, this, selectedFiles));
212
	            contextMenu.addItem(trashItem);
213
            }
207 214
        }
208 215
        else {
209 216
			MenuItem restore = new MenuItem("<span>" + AbstractImagePrototype.create(images.versions()).getHTML() + "&nbsp;Restore</span>", true, new RestoreTrashCommand(app, this, selectedFiles));
210 217
			contextMenu.addItem(restore);
211 218
        }
212 219

  
213
		deleteItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + "&nbsp;Delete</span>", true, new DeleteCommand(app, this, selectedFiles, MessagePanel.images));
214
        contextMenu.addItem(deleteItem);
220
        if (canWrite) {
221
			deleteItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + "&nbsp;Delete</span>", true, new DeleteCommand(app, this, selectedFiles, MessagePanel.images));
222
	        contextMenu.addItem(deleteItem);
223
        }
215 224

  
216 225
//      MenuItem refresh = new MenuItem("<span>" + AbstractImagePrototype.create(images.refresh()).getHTML() + "&nbsp;Refresh</span>", true, new RefreshCommand(this, images));
217 226
//      contextMenu.addItem(refresh);
218 227
//			sharingItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + "&nbsp;Sharing</span>", true, new PropertiesCommand(this, images, 1));
219 228
//            contextMenu.addItem(sharingItem);
220 229
        if (!selectedFolder.isInTrash()) {
221
        	if (selectedFiles.size() == 1)
230
        	if (canWrite && selectedFiles.size() == 1)
222 231
        		contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + "&nbsp;Properties</span>", true, new PropertiesCommand(app, this, selectedFiles, images, 0)));
223 232

  
224 233
            if (!selectedFiles.isEmpty())

Also available in: Unified diff