From e27aadcdd46ecb235176c96c53af4974c5a7e318 Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Wed, 23 Aug 2006 11:01:52 +0000 Subject: [PATCH] . Fix to Guest user bootstrap to allow all non-admin users READ access to the Guest user Person - this allows users to Invite the Guest user into a Space - requried for the RSS Feed to work . Created a Patch for above change for existing systems git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3582 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/bootstrap/system.xml | 2 +- .../messages/patch-service.properties | 3 + .../alfresco/patch/patch-services-context.xml | 15 ++++ config/alfresco/version.properties | 2 +- .../impl/GuestPersonPermissionPatch2.java | 72 +++++++++++++++++++ 5 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 source/java/org/alfresco/repo/admin/patch/impl/GuestPersonPermissionPatch2.java diff --git a/config/alfresco/bootstrap/system.xml b/config/alfresco/bootstrap/system.xml index 83b59d469a..a868e910c7 100644 --- a/config/alfresco/bootstrap/system.xml +++ b/config/alfresco/bootstrap/system.xml @@ -27,7 +27,7 @@ - + guest Read diff --git a/config/alfresco/messages/patch-service.properties b/config/alfresco/messages/patch-service.properties index 1370e1cccb..98957f5d22 100644 --- a/config/alfresco/messages/patch-service.properties +++ b/config/alfresco/messages/patch-service.properties @@ -85,3 +85,6 @@ patch.rssTemplatesFolder.result.created=The RSS Templates folder was successfull patch.uifacetsAspectRemovalPatch.description=Removes the incorrectly applied uifacets aspect from presentation template files. patch.uifacetsAspectRemovalPatch.updated=Successfully removed the uifacets aspect from {0} presentation template files. + +patch.guestPersonPermission2.description=Change Guest Person permission to visible by all users as 'Consumer'. +patch.guestPersonPermission2.result=Updated Guest Person permission to visible by all users as 'Consumer'. diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml index 17c6e55e8a..bb8bb5a94c 100644 --- a/config/alfresco/patch/patch-services-context.xml +++ b/config/alfresco/patch/patch-services-context.xml @@ -425,4 +425,19 @@ + + patch.guestPersonPermission2 + patch.guestPersonPermission2.description + 0 + 18 + 19 + + + + + + + + + diff --git a/config/alfresco/version.properties b/config/alfresco/version.properties index 5c1e85dead..bc9019c376 100644 --- a/config/alfresco/version.properties +++ b/config/alfresco/version.properties @@ -19,4 +19,4 @@ version.build=@build-number@ # Schema number -version.schema=18 +version.schema=19 diff --git a/source/java/org/alfresco/repo/admin/patch/impl/GuestPersonPermissionPatch2.java b/source/java/org/alfresco/repo/admin/patch/impl/GuestPersonPermissionPatch2.java new file mode 100644 index 0000000000..64892ea29c --- /dev/null +++ b/source/java/org/alfresco/repo/admin/patch/impl/GuestPersonPermissionPatch2.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2005 Alfresco, Inc. + * + * Licensed under the Mozilla Public License version 1.1 + * with a permitted attribution clause. You may obtain a + * copy of the License at + * + * http://www.alfresco.org/legal/license.txt + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the + * License. + */ +package org.alfresco.repo.admin.patch.impl; + +import org.alfresco.i18n.I18NUtil; +import org.alfresco.repo.admin.patch.AbstractPatch; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.security.PermissionService; +import org.alfresco.service.cmr.security.PersonService; + +/** + * Change Guest Person permission to make visible to all users as 'Consumer'. + * + * This allows users other than admin to select the Guest user for Invite to a Space. + */ +public class GuestPersonPermissionPatch2 extends AbstractPatch +{ + private static final String MSG_SUCCESS = "patch.guestPersonPermission2.result"; + + private PersonService personService; + + private PermissionService permissionService; + + private String guestId = "guest"; + + public GuestPersonPermissionPatch2() + { + super(); + } + + public void setGuestId(String guestId) + { + this.guestId = guestId; + } + + public void setPermissionService(PermissionService permissionService) + { + this.permissionService = permissionService; + } + + public void setPersonService(PersonService personService) + { + this.personService = personService; + } + + @Override + protected String applyInternal() throws Exception + { + if (personService.personExists(guestId)) + { + NodeRef personRef = personService.getPerson(guestId); + permissionService.setInheritParentPermissions(personRef, true); + } + + return I18NUtil.getMessage(MSG_SUCCESS); + } + +}