Revision 99d0d40c src/gr/ebs/gss/server/ejb/ExternalAPIBean.java

b/src/gr/ebs/gss/server/ejb/ExternalAPIBean.java
701 701
				removeOldVersions(userId, fileId);
702 702
			file.setVersioned(versioned);
703 703
		}
704
		if (readForAll != null && user.equals(file.getOwner()))
704
		if (readForAll == null)
705
			throw new ObjectNotFoundException("The 'public' value for the specific file hasn't been specified");
706
		if (user.equals(file.getOwner()))
705 707
			file.setReadForAll(readForAll);
706 708
		if (permissions != null && !permissions.isEmpty())
707 709
			setFilePermissions(file, permissions);
......
2289 2291
		parent.addFile(file);
2290 2292
		// set file owner to folder owner
2291 2293
		file.setOwner(parent.getOwner());
2294
		//set file's readForAll value according to parent folder readForAll value
2295
		file.setReadForAll(parent.isReadForAll());
2292 2296

  
2293 2297
		final Date now = new Date();
2294 2298
		final AuditInfo auditInfo = new AuditInfo();
......
2714 2718
			for (FileHeader file : folder.getFiles())
2715 2719
				file.setReadForAll(readForAll);
2716 2720
			if(readForAll)
2721
				//only update subfolders when readforall is true. otherwise all sub-folders stay untouched
2717 2722
				for (Folder sub : folder.getSubfolders())
2718 2723
					setFolderReadForAll(user, sub, readForAll);
2719 2724

  

Also available in: Unified diff