mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-01 14:41:46 +00:00
[feature/MNT-24127-EndpointToCalculateFolderSize] Added Endpoint to calculate folder size
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.3.0.63-SNAPSHOT</version>
|
||||
<version>23.3.0.86-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
@@ -143,7 +143,7 @@
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-webapp</artifactId>
|
||||
<version>11.0.16</version>
|
||||
<version>11.0.22</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* #%L
|
||||
* Alfresco Remote API
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||
* Copyright (C) 2005 - 2024 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
@@ -909,16 +909,14 @@ public class AuditImpl implements Audit
|
||||
|
||||
public int getAuditEntriesCountByAppAndProperties(AuditService.AuditApplication auditApplication, AuditEntryQueryWalker propertyWalker)
|
||||
{
|
||||
final String applicationName = auditApplication.getKey().substring(1);
|
||||
|
||||
AuditQueryParameters parameters = new AuditQueryParameters();
|
||||
parameters.setApplicationName(applicationName);
|
||||
parameters.setApplicationName(auditApplication.getName());
|
||||
parameters.setFromTime(propertyWalker.getFromTime());
|
||||
parameters.setToTime(propertyWalker.getToTime());
|
||||
parameters.setFromId(propertyWalker.getFromId());
|
||||
parameters.setToId(propertyWalker.getToId());
|
||||
parameters.setUser(propertyWalker.getCreatedByUser());
|
||||
|
||||
return auditService.getAuditEntriesCountByAppAndProperties(applicationName, parameters);
|
||||
return auditService.getAuditEntriesCountByAppAndProperties(parameters);
|
||||
}
|
||||
}
|
||||
|
@@ -125,7 +125,7 @@ public class PeopleImpl implements People
|
||||
protected ResetPasswordService resetPasswordService;
|
||||
protected UserRegistrySynchronizer userRegistrySynchronizer;
|
||||
protected Renditions renditions;
|
||||
|
||||
private Boolean allowImmutableEnabledUpdate;
|
||||
|
||||
private final static Map<String, QName> sort_params_to_qnames;
|
||||
static
|
||||
@@ -202,6 +202,11 @@ public class PeopleImpl implements People
|
||||
this.userRegistrySynchronizer = userRegistrySynchronizer;
|
||||
}
|
||||
|
||||
public void setAllowImmutableEnabledUpdate(Boolean allowImmutableEnabledUpdate)
|
||||
{
|
||||
this.allowImmutableEnabledUpdate = allowImmutableEnabledUpdate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate, perform -me- substitution and canonicalize the person ID.
|
||||
*
|
||||
@@ -708,16 +713,26 @@ public class PeopleImpl implements People
|
||||
// if requested, update password
|
||||
updatePassword(isAdmin, personIdToUpdate, person);
|
||||
|
||||
if (person.isEnabled() != null)
|
||||
Set<QName> immutableProperties = userRegistrySynchronizer.getPersonMappedProperties(personIdToUpdate);
|
||||
|
||||
Boolean isEnabled = person.isEnabled();
|
||||
if (isEnabled != null)
|
||||
{
|
||||
if (isAdminAuthority(personIdToUpdate))
|
||||
{
|
||||
throw new PermissionDeniedException("Admin authority cannot be disabled.");
|
||||
}
|
||||
|
||||
// note: if current user is not an admin then permission denied exception is thrown
|
||||
MutableAuthenticationService mutableAuthenticationService = (MutableAuthenticationService) authenticationService;
|
||||
mutableAuthenticationService.setAuthenticationEnabled(personIdToUpdate, person.isEnabled());
|
||||
if (allowImmutableEnabledStatusUpdate(personIdToUpdate, isAdmin, immutableProperties))
|
||||
{
|
||||
LOGGER.info("User " + personIdToUpdate + " is immutable but enabled status will be set to: " + isEnabled);
|
||||
}
|
||||
else
|
||||
{
|
||||
// note: if current user is not an admin then permission denied exception is thrown
|
||||
MutableAuthenticationService mutableAuthenticationService = (MutableAuthenticationService) authenticationService;
|
||||
mutableAuthenticationService.setAuthenticationEnabled(personIdToUpdate, person.isEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
NodeRef personNodeRef = personService.getPerson(personIdToUpdate, false);
|
||||
@@ -742,9 +757,7 @@ public class PeopleImpl implements People
|
||||
properties.putAll(nodes.mapToNodeProperties(customProps));
|
||||
}
|
||||
|
||||
// MNT-21150 LDAP synced attributes can be changed using REST API
|
||||
Set<QName> immutableProperties = userRegistrySynchronizer.getPersonMappedProperties(personIdToUpdate);
|
||||
|
||||
// MNT-21150 LDAP synced attributes can't be changed using REST API
|
||||
immutableProperties.forEach(immutableProperty -> {
|
||||
if (properties.containsKey(immutableProperty))
|
||||
{
|
||||
@@ -768,6 +781,28 @@ public class PeopleImpl implements People
|
||||
return getPerson(personId);
|
||||
}
|
||||
|
||||
private boolean allowImmutableEnabledStatusUpdate(String userId, boolean isAdmin, Set<QName> immutableProperties)
|
||||
{
|
||||
if (allowImmutableEnabledUpdate)
|
||||
{
|
||||
boolean containLdapUserAccountStatus = false;
|
||||
QName propertyNameToCheck = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "userAccountStatusProperty");
|
||||
|
||||
for (QName immutableProperty : immutableProperties)
|
||||
{
|
||||
if (immutableProperty.equals(propertyNameToCheck))
|
||||
{
|
||||
containLdapUserAccountStatus = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return isAdmin && !containLdapUserAccountStatus && !isMutableAuthority(userId);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean checkCurrentUserOrAdmin(String personId)
|
||||
{
|
||||
boolean isAdmin = isAdminAuthority();
|
||||
|
@@ -764,6 +764,7 @@
|
||||
<property name="thumbnailService" ref="ThumbnailService" />
|
||||
<property name="resetPasswordService" ref="resetPasswordService" />
|
||||
<property name="userRegistrySynchronizer" ref="userRegistrySynchronizer" />
|
||||
<property name="allowImmutableEnabledUpdate" value="${allow.immutable.user.enabled.status.update}" />
|
||||
</bean>
|
||||
|
||||
<bean id="People" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
|
Reference in New Issue
Block a user