diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/preference/preferences.delete.js b/config/alfresco/templates/webscripts/org/alfresco/repository/preference/preferences.delete.js index a6d69532b8..f13f5148ca 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/preference/preferences.delete.js +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/preference/preferences.delete.js @@ -9,6 +9,8 @@ function main() status.setCode(status.STATUS_NOT_FOUND, "The user " + userid + " could not be found"); return; } + + preferenceService.clearPreferences(userid, args["pf"]); } main(); \ No newline at end of file diff --git a/source/java/org/alfresco/repo/web/scripts/preference/PreferenceServiceTest.java b/source/java/org/alfresco/repo/web/scripts/preference/PreferenceServiceTest.java index 54303d70ab..7ef0310980 100644 --- a/source/java/org/alfresco/repo/web/scripts/preference/PreferenceServiceTest.java +++ b/source/java/org/alfresco/repo/web/scripts/preference/PreferenceServiceTest.java @@ -33,6 +33,7 @@ import org.alfresco.service.cmr.security.PersonService; import org.alfresco.util.PropertyMap; import org.alfresco.web.scripts.TestWebScriptServer.GetRequest; import org.alfresco.web.scripts.TestWebScriptServer.PostRequest; +import org.alfresco.web.scripts.TestWebScriptServer.DeleteRequest; import org.alfresco.web.scripts.TestWebScriptServer.Response; import org.json.JSONException; import org.json.JSONObject; @@ -158,9 +159,24 @@ public class PreferenceServiceTest extends BaseWebScriptTest assertFalse(jsonResult.has("stringValue")); // Clear some of the preferences + sendRequest(new DeleteRequest(URL + "?pf=comp1"), 200); + + resp = sendRequest(new GetRequest(URL), 200); + jsonResult = new JSONObject(resp.getContentAsString()); + assertNotNull(jsonResult); + assertTrue(jsonResult.keys().hasNext()); + + checkJSONObject(jsonResult.getJSONObject("comp2")); + assertFalse(jsonResult.has("comp1")); // Clear all the preferences + sendRequest(new DeleteRequest(URL), 200); + resp = sendRequest(new GetRequest(URL), 200); + jsonResult = new JSONObject(resp.getContentAsString()); + assertNotNull(jsonResult); + assertFalse(jsonResult.keys().hasNext()); + // Test trying to update another user's permissions sendRequest(new PostRequest("/api/people/" + USER_BAD + "/preferences", jsonObject.toString(), "application/json"), 500);