mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merge branch 'master' of https://git.alfresco.com/records-management/records-management into feature/RM-7006_UpdateToACS611
This commit is contained in:
@@ -92,7 +92,7 @@ public class AddToHoldsTests extends BaseRMRestTest
|
||||
"permissions to perform this operation.";
|
||||
private static final String INVALID_TYPE_ERROR_MESSAGE = "Items added to a hold must be either a record, a " +
|
||||
"record folder or active content.";
|
||||
private static final String LOCKED_FILE_ERROR_MESSAGE = "Locked nodes can't be added to hold";
|
||||
private static final String LOCKED_FILE_ERROR_MESSAGE = "Locked content can't be added to a hold.";
|
||||
private SiteModel testSite;
|
||||
private String holdNodeRef;
|
||||
private FileModel documentHeld, contentToAddToHold, contentAddToHoldNoPermission;
|
||||
|
@@ -143,7 +143,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
|
||||
STEP("Check the request failed.");
|
||||
restClient.assertStatusCodeIs(FORBIDDEN);
|
||||
restClient.assertLastError().containsSummary("Frozen nodes can not be updated.");
|
||||
restClient.assertLastError().containsSummary("Frozen content can't be updated.");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -160,7 +160,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
|
||||
STEP("Check the request failed.");
|
||||
restClient.assertStatusCodeIs(FORBIDDEN);
|
||||
restClient.assertLastError().containsSummary("Frozen nodes can not be updated.");
|
||||
restClient.assertLastError().containsSummary("Frozen content can't be updated.");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -176,7 +176,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
|
||||
STEP("Check the request failed.");
|
||||
restClient.assertStatusCodeIs(FORBIDDEN);
|
||||
restClient.assertLastError().containsSummary("Frozen nodes can not be deleted.");
|
||||
restClient.assertLastError().containsSummary("Frozen content can't be deleted.");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -186,7 +186,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
*/
|
||||
@Test
|
||||
@AlfrescoTest(jira = "RM-6924")
|
||||
public void copyFrozenFile() throws Exception
|
||||
public void copyFrozenFile()
|
||||
{
|
||||
STEP("Copy frozen file");
|
||||
String postBody = JsonBodyGenerator.keyValueJson("targetParentId",folderModel.getNodeRef());
|
||||
@@ -211,7 +211,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
|
||||
STEP("Check the request failed.");
|
||||
assertStatusCode(FORBIDDEN);
|
||||
getRestAPIFactory().getRmRestWrapper().assertLastError().containsSummary("Frozen nodes can not be moved.");
|
||||
getRestAPIFactory().getRmRestWrapper().assertLastError().containsSummary("Frozen content can't be moved.");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,12 +219,10 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
* When I update the record folder and make the records as vital
|
||||
* Then I am successful and the records not held are marked as vital
|
||||
* And the frozen nodes have the vital record search properties updated
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
@Test
|
||||
@AlfrescoTest (jira = "RM-6929")
|
||||
public void updateRecordFolderVitalProperties() throws Exception
|
||||
public void updateRecordFolderVitalProperties()
|
||||
{
|
||||
STEP("Update the vital record properties for the record folder");
|
||||
// Create the record folder properties to update
|
||||
@@ -322,7 +320,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest
|
||||
}
|
||||
|
||||
@AfterClass (alwaysRun = true)
|
||||
public void cleanUpPreventActionsOnFrozenContent() throws Exception
|
||||
public void cleanUpPreventActionsOnFrozenContent()
|
||||
{
|
||||
holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_ONE);
|
||||
dataSite.usingAdmin().deleteSite(testSite);
|
||||
|
@@ -92,7 +92,7 @@
|
||||
<td>${reportDate}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if node.childAssociations["rma:frozenRecords"]??>
|
||||
<#if node.childAssociations["rma:frozenContent"]??>
|
||||
<div style="font-size: 14px; margin: 12px 0px 24px 0px; padding-top: 10px; border-top: 1px solid #aaaaaa;">
|
||||
<table cellpadding="2" cellspacing="3" border="0">
|
||||
<tr>
|
||||
@@ -104,7 +104,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<#list node.childAssociations["rma:frozenRecords"] as child>
|
||||
<#list node.childAssociations["rma:frozenContent"] as child>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<img src="${url}/${child.icon32}" alt="" width="32" height="32" border="0" style="padding-right: 10px;" />
|
||||
|
@@ -18,7 +18,7 @@ rm.action.ghosted-prop-update=Impossibile aggiornare le propriet\u00e0 di un rec
|
||||
rm.action.valid-date-disp-asof=Inserire una data valida come data di inizio dell'azione di conservazione.
|
||||
rm.action.disp-asof-lifecycle-applied=Impossibile modificare la data di inizio di conservazione per un record o cartella di record per cui \u00e8 stato impostato un ciclo di vita.
|
||||
rm.action.hold-edit-reason-none=Impossibile modificare il motivo della sospensione poich\u00e9 la sospensione \u00e8 stata creata senza un motivo. Provare a ricreare la sospensione.
|
||||
rm.action.hold-edit-type=Impossibile modificare la sospensione per {1} poich\u00e9 non \u00e8 una sospensione.
|
||||
rm.action.hold-edit-type=Impossibile modificare il motivo della sospensione per {1} poich\u00e9 non \u00e8 una sospensione.
|
||||
rm.action.specify-avlid-date=Inserire una data valida come data di inizio dell'esame.
|
||||
rm.action.review-details-only=\u00c8 possibile modificare solo i dettagli dell'esame dei record fondamentali.
|
||||
rm.action.freeze-no-reason=Impossibile sospendere un record senza un motivo. Aggiungere un motivo alla sospensione.
|
||||
|
@@ -17,12 +17,12 @@ rm.action.no-declare-mand-prop=Voc\u00ea deve definir todas as propriedades obri
|
||||
rm.action.ghosted-prop-update=N\u00e3o \u00e9 poss\u00edvel atualizar as propriedades de um documento arquiv\u00edstico destru\u00eddo anteriormente.
|
||||
rm.action.valid-date-disp-asof=Insira uma data v\u00e1lida para a data de in\u00edcio da a\u00e7\u00e3o de reten\u00e7\u00e3o.
|
||||
rm.action.disp-asof-lifecycle-applied=N\u00e3o \u00e9 poss\u00edvel editar a data de in\u00edcio da reten\u00e7\u00e3o de um documento arquiv\u00edstico ou uma pasta de documento arquiv\u00edstico que tenha um ciclo de vida aplicado.
|
||||
rm.action.hold-edit-reason-none=N\u00e3o \u00e9 poss\u00edvel editar o motivo para manter, pois a espera foi criada sem um motivo. Tente recriar a espera.
|
||||
rm.action.hold-edit-type=N\u00e3o \u00e9 poss\u00edvel editar o motivo para manter de {1}, pois isso n\u00e3o \u00e9 uma espera.
|
||||
rm.action.hold-edit-reason-none=N\u00e3o \u00e9 poss\u00edvel editar o motivo da espera pois a espera foi criada sem um motivo. Tente recriar a espera.
|
||||
rm.action.hold-edit-type=N\u00e3o \u00e9 poss\u00edvel editar o motivo da espera de {1}, pois isso n\u00e3o \u00e9 uma espera.
|
||||
rm.action.specify-avlid-date=Insira uma data v\u00e1lida para a data de in\u00edcio da revis\u00e3o.
|
||||
rm.action.review-details-only=Voc\u00ea somente pode editar os detalhes de revis\u00e3o de documentos arquiv\u00edsticos vitais.
|
||||
rm.action.freeze-no-reason=N\u00e3o \u00e9 poss\u00edvel manter um documento arquiv\u00edstico sem um motivo. Adicione um motivo para manter.
|
||||
rm.action.freeze-only-records-folders=Voc\u00ea pode manter somente documentos arquiv\u00edsticos ou pastas de documentos arquiv\u00edsticos.
|
||||
rm.action.freeze-no-reason=N\u00e3o \u00e9 poss\u00edvel colocar em espera um documento arquiv\u00edstico sem um motivo. Adicione um motivo \u00e0 espera.
|
||||
rm.action.freeze-only-records-folders=Voc\u00ea pode colocar em espera somente documentos arquiv\u00edsticos ou pastas de documentos arquiv\u00edsticos.
|
||||
rm.action.no-open-record-folder=N\u00e3o \u00e9 poss\u00edvel reabrir {0}, pois isso n\u00e3o \u00e9 uma pasta de documento arquiv\u00edstico.
|
||||
rm.action.not-hold-type=N\u00e3o \u00e9 poss\u00edvel realizar a a\u00e7\u00e3o em {1}, pois isso n\u00e3o \u00e9 uma espera.
|
||||
rm.action.no-read-mime-message=N\u00e3o foi poss\u00edvel ler a mensagem de tipo de arquivo, pois {0}.
|
||||
|
@@ -105,7 +105,7 @@ reject.description=Respinge un record e sposta il file nella sua posizione origi
|
||||
reject.reason.display-label=Respingi motivo
|
||||
# Request Information
|
||||
requestInfo.title=Richiedi informazioni
|
||||
requestInfo.description=Avvia un flusso di lavoro per richiedere pi\u00f9 informazioni per un record
|
||||
requestInfo.description=Avvia un workflow per richiedere pi\u00f9 informazioni per un record
|
||||
# Execute script
|
||||
executeScript.title=Esegui script
|
||||
executeScript.description=Esegui uno script
|
||||
|
@@ -118,8 +118,8 @@ setPropertyValue.title=Definir valor da propriedade
|
||||
setPropertyValue.description=Define um valor de propriedade
|
||||
|
||||
# Edit Hold Reason
|
||||
editHoldReason.title=Editar motivo para manter
|
||||
editHoldReason.description=Edita o motivo para manter
|
||||
editHoldReason.title=Editar motivo para espera
|
||||
editHoldReason.description=Edita o motivo para a espera
|
||||
# Relinquish Hold
|
||||
relinquishHold.title=Desistir da espera
|
||||
relinquishHold.description=Desiste da espera
|
||||
|
@@ -59,7 +59,7 @@ capability.FileTransferReport.title=Relat\u00f3rio de transfer\u00eancia de arqu
|
||||
capability.EndRetention.title=Encerrar reten\u00e7\u00e3o
|
||||
|
||||
# Hold Controls
|
||||
capability.group.holdControls.title=Controles de espera
|
||||
capability.group.holdControls.title=Controles da espera
|
||||
capability.ExtendRetentionPeriodOrFreeze.title=Estender per\u00edodo de reten\u00e7\u00e3o ou congelar
|
||||
capability.Unfreeze.title=Descongelar
|
||||
capability.ViewUpdateReasonsForFreeze.title=Visualizar motivos de atualiza\u00e7\u00e3o para congelar
|
||||
|
@@ -1,9 +1,9 @@
|
||||
rm.hold.not-hold=The node {0} is not a hold.
|
||||
rm.hold.add-to-hold-invalid-type={0} is neither a record nor a record folder nor active content. Only records, record \
|
||||
rm.hold.not-hold={0} is not a hold.
|
||||
rm.hold.add-to-hold-invalid-type={0} isn't a record, a record folder or active content. Only records, record \
|
||||
folders or active content can be added to a hold.
|
||||
rm.hold.add-to-hold-archived-node=Archived nodes can't be added to hold.
|
||||
rm.hold.add-to-hold-locked-node=Locked nodes can't be added to hold.
|
||||
rm.hold.delete-frozen-node=Frozen nodes can not be deleted.
|
||||
rm.hold.delete-node-frozen-children=Can not delete node, because it contains a frozen child node.
|
||||
rm.hold.move-frozen-node=Frozen nodes can not be moved.
|
||||
rm.hold.update-frozen-node=Frozen nodes can not be updated.
|
||||
rm.hold.add-to-hold-archived-node=Archived content can't be added to a hold.
|
||||
rm.hold.add-to-hold-locked-node=Locked content can't be added to a hold.
|
||||
rm.hold.delete-frozen-node=Frozen content can't be deleted.
|
||||
rm.hold.delete-node-frozen-children=Can't delete folder because it contains frozen content.
|
||||
rm.hold.move-frozen-node=Frozen content can't be moved.
|
||||
rm.hold.update-frozen-node=Frozen content can't be updated.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} ist kein Sperrbereich.
|
||||
rm.hold.add-to-hold-invalid-type={0} ist kein Record, Record-Ordner oder aktiver Inhalt. Nur Records, Record-Ordner und aktive Inhalte k\u00f6nnen zu einer Sperre hinzugef\u00fcgt werden.
|
||||
rm.hold.add-to-hold-archived-node=Archivierte Inhalte k\u00f6nnen nicht zu einer Sperre hinzugef\u00fcgt werden.
|
||||
rm.hold.add-to-hold-locked-node=Gesperrte Inhalte k\u00f6nnen nicht zu einer Sperre hinzugef\u00fcgt werden.
|
||||
rm.hold.delete-frozen-node=Fixierte Inhalte k\u00f6nnen nicht gel\u00f6scht werden.
|
||||
rm.hold.delete-node-frozen-children=Der Ordner kann nicht gel\u00f6scht werden, weil er fixierte Inhalte enth\u00e4lt.
|
||||
rm.hold.move-frozen-node=Fixierte Inhalte k\u00f6nnen nicht verschoben werden.
|
||||
rm.hold.update-frozen-node=Fixierte Inhalte k\u00f6nnen nicht aktualisiert werden.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} no es un bloqueo.
|
||||
rm.hold.add-to-hold-invalid-type={0} no es un documento de archivo, una carpeta de documentos de archivo ni un contenido activo. Solo los documentos de archivo, las carpetas de documentos de archivo y los contenidos activos pueden a\u00f1adirse a un bloqueo.
|
||||
rm.hold.add-to-hold-archived-node=El contenido archivado no puede a\u00f1adirse a un bloqueo.
|
||||
rm.hold.add-to-hold-locked-node=El contenido bloqueado no puede a\u00f1adirse a un bloqueo.
|
||||
rm.hold.delete-frozen-node=El contenido congelado no puede eliminarse.
|
||||
rm.hold.delete-node-frozen-children=La carpeta no puede eliminarse porque contiene contenido congelado.
|
||||
rm.hold.move-frozen-node=El contenido congelado no puede moverse.
|
||||
rm.hold.update-frozen-node=El contenido congelado no puede actualizarse.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} n''est pas une suspension.
|
||||
rm.hold.add-to-hold-invalid-type={0} n''est pas un document d''archives, un dossier d''archives ou un contenu actif. Seuls les documents d''archives, dossiers d''archives ou contenus actifs peuvent \u00eatre ajout\u00e9s \u00e0 une suspension.
|
||||
rm.hold.add-to-hold-archived-node=Impossible d'ajouter du contenu archiv\u00e9 \u00e0 une suspension.
|
||||
rm.hold.add-to-hold-locked-node=Impossible d'ajouter du contenu verrouill\u00e9 \u00e0 une suspension.
|
||||
rm.hold.delete-frozen-node=Impossible de supprimer du contenu gel\u00e9.
|
||||
rm.hold.delete-node-frozen-children=Impossible de supprimer le dossier car il contient du contenu gel\u00e9.
|
||||
rm.hold.move-frozen-node=Impossible de d\u00e9placer du contenu gel\u00e9.
|
||||
rm.hold.update-frozen-node=Impossible de mettre \u00e0 jour du contenu gel\u00e9.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} non \u00e8 una sospensione.
|
||||
rm.hold.add-to-hold-invalid-type={0} non \u00e8 un record, una cartella di record o un contenuto attivo. Solo i record, le cartelle di record o i contenuti attivi possono essere aggiunti ad una sospensione.
|
||||
rm.hold.add-to-hold-archived-node=I contenuti archiviati non possono essere aggiunti ad una sospensione.
|
||||
rm.hold.add-to-hold-locked-node=I contenuti bloccati non possono essere aggiunti ad una sospensione.
|
||||
rm.hold.delete-frozen-node=I contenuti congelati non possono essere eliminati.
|
||||
rm.hold.delete-node-frozen-children=Impossibile eliminare la cartella poich\u00e9 contiene contenuti congelati.
|
||||
rm.hold.move-frozen-node=I contenuti congelati non possono essere spostati.
|
||||
rm.hold.update-frozen-node=I contenuti congelati non possono essere aggiornati.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} \u306f\u30db\u30fc\u30eb\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
rm.hold.add-to-hold-invalid-type={0} \u306f\u30ec\u30b3\u30fc\u30c9\u3001\u30ec\u30b3\u30fc\u30c9\u30d5\u30a9\u30eb\u30c0\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u3044\u305a\u308c\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u3002\u30db\u30fc\u30eb\u30c9\u306b\u8ffd\u52a0\u3067\u304d\u308b\u306e\u306f\u30ec\u30b3\u30fc\u30c9\u3001\u30ec\u30b3\u30fc\u30c9\u30d5\u30a9\u30eb\u30c0\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u307f\u3067\u3059\u3002
|
||||
rm.hold.add-to-hold-archived-node=\u30a2\u30fc\u30ab\u30a4\u30d6\u6e08\u307f\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u30db\u30fc\u30eb\u30c9\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002
|
||||
rm.hold.add-to-hold-locked-node=\u30ed\u30c3\u30af\u3055\u308c\u3066\u3044\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u30db\u30fc\u30eb\u30c9\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002
|
||||
rm.hold.delete-frozen-node=\u51cd\u7d50\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002
|
||||
rm.hold.delete-node-frozen-children=\u30d5\u30a9\u30eb\u30c0\u306b\u51cd\u7d50\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002
|
||||
rm.hold.move-frozen-node=\u51cd\u7d50\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u79fb\u52d5\u3067\u304d\u307e\u305b\u3093\u3002
|
||||
rm.hold.update-frozen-node=\u51cd\u7d50\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} er ikke en hold.
|
||||
rm.hold.add-to-hold-invalid-type={0} er ikke en oppf\u00f8ring, en oppf\u00f8ringsmappe eller aktivt innhold. Kun oppf\u00f8ringer, oppf\u00f8ringsmapper eller aktivt innhold kan legges til i en hold.
|
||||
rm.hold.add-to-hold-archived-node=Arkivert innhold kan ikke legges til en hold.
|
||||
rm.hold.add-to-hold-locked-node=L\u00e5st innhold kan ikke legges til en hold.
|
||||
rm.hold.delete-frozen-node=Frosset innhold kan ikke slettes.
|
||||
rm.hold.delete-node-frozen-children=Kan ikke slette mappen fordi den inneholder frosset innhold.
|
||||
rm.hold.move-frozen-node=Frosset innhold kan ikke flyttes.
|
||||
rm.hold.update-frozen-node=Frosset innhold kan ikke oppdateres.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} is geen wachtstand.
|
||||
rm.hold.add-to-hold-invalid-type={0} is geen record, recordmap of actieve content. Alleen records, recordmappen of actieve content kunnen worden toegevoegd aan een wachtstand.
|
||||
rm.hold.add-to-hold-archived-node=Gearchiveerde content kan niet worden toegevoegd aan een wachtstand.
|
||||
rm.hold.add-to-hold-locked-node=Vergrendelde content kan niet worden toegevoegd aan een wachtstand.
|
||||
rm.hold.delete-frozen-node=Geblokkeerde content kan niet worden verwijderd.
|
||||
rm.hold.delete-node-frozen-children=De map kan niet worden verwijderd omdat deze geblokkeerde content bevat.
|
||||
rm.hold.move-frozen-node=Geblokkeerde content kan niet worden verplaatst.
|
||||
rm.hold.update-frozen-node=Geblokkeerde content kan niet worden bijgewerkt.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} n\u00e3o \u00e9 uma espera.
|
||||
rm.hold.add-to-hold-invalid-type={0} n\u00e3o \u00e9 um documento arquiv\u00edstico, uma pasta de documento arquiv\u00edstico ou conte\u00fado ativo. Somente documentos arquiv\u00edsticos, pastas de documentos arquiv\u00edsticos ou conte\u00fados ativos podem ser adicionados a uma espera.
|
||||
rm.hold.add-to-hold-archived-node=Conte\u00fado arquivado n\u00e3o pode ser adicionado a uma espera.
|
||||
rm.hold.add-to-hold-locked-node=Conte\u00fado bloqueado n\u00e3o pode ser adicionado a uma espera.
|
||||
rm.hold.delete-frozen-node=Conte\u00fado congelado n\u00e3o pode ser exclu\u00eddo.
|
||||
rm.hold.delete-node-frozen-children=N\u00e3o \u00e9 poss\u00edvel excluir a pasta pois ela cont\u00e9m conte\u00fado congelado.
|
||||
rm.hold.move-frozen-node=Conte\u00fado congelado n\u00e3o pode ser movido.
|
||||
rm.hold.update-frozen-node=Conte\u00fado congelado n\u00e3o pode ser atualizado.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u043e\u0439.
|
||||
rm.hold.add-to-hold-invalid-type={0} \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044c\u044e, \u043f\u0430\u043f\u043a\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c. \u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0438, \u043f\u0430\u043f\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443.
|
||||
rm.hold.add-to-hold-archived-node=\u0410\u0440\u0445\u0438\u0432\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443.
|
||||
rm.hold.add-to-hold-locked-node=\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443.
|
||||
rm.hold.delete-frozen-node=\u0417\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u043e.
|
||||
rm.hold.delete-node-frozen-children=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0430\u043f\u043a\u0443, \u0442. \u043a. \u0432 \u043d\u0435\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435.
|
||||
rm.hold.move-frozen-node=\u0417\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u043e.
|
||||
rm.hold.update-frozen-node=\u0417\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e.
|
@@ -0,0 +1,8 @@
|
||||
rm.hold.not-hold={0} \u4e0d\u662f\u4fdd\u5b58\u3002
|
||||
rm.hold.add-to-hold-invalid-type={0} \u4e0d\u662f\u8bb0\u5f55\u3001\u8bb0\u5f55\u6587\u4ef6\u5939\u6216\u6d3b\u52a8\u5185\u5bb9\u3002\u53ea\u6709\u8bb0\u5f55\u3001\u8bb0\u5f55\u6587\u4ef6\u5939\u6216\u6d3b\u52a8\u5185\u5bb9\u53ef\u4ee5\u6dfb\u52a0\u5230\u4fdd\u5b58\u4e2d\u3002
|
||||
rm.hold.add-to-hold-archived-node=\u5df2\u5b58\u6863\u5185\u5bb9\u65e0\u6cd5\u6dfb\u52a0\u5230\u4fdd\u5b58\u4e2d\u3002
|
||||
rm.hold.add-to-hold-locked-node=\u9501\u5b9a\u5185\u5bb9\u65e0\u6cd5\u6dfb\u52a0\u5230\u4fdd\u5b58\u4e2d\u3002
|
||||
rm.hold.delete-frozen-node=\u65e0\u6cd5\u5220\u9664\u5df2\u5173\u95ed\u5185\u5bb9\u3002
|
||||
rm.hold.delete-node-frozen-children=\u65e0\u6cd5\u5220\u9664\u6587\u4ef6\u5939\uff0c\u56e0\u4e3a\u5176\u5305\u542b\u5df2\u5173\u95ed\u5185\u5bb9\u3002
|
||||
rm.hold.move-frozen-node=\u65e0\u6cd5\u79fb\u52a8\u5df2\u5173\u95ed\u5185\u5bb9\u3002
|
||||
rm.hold.update-frozen-node=\u65e0\u6cd5\u66f4\u65b0\u5df2\u5173\u95ed\u5185\u5bb9\u3002
|
@@ -21,5 +21,5 @@ rm.service.final-version=Finale
|
||||
rm.service.final-version-description=Versione del record archiviata finale
|
||||
rm.service.enable-autoversion-on-record-creation=Versione automatica sulla creazione del record
|
||||
rm.service.add-children-to-closed-record-folder=Impossibile aggiungere nuovi elementi a una cartella di record chiusa.
|
||||
rm.service.add-children-to-frozen-record-folder=Impossibile aggiungere nuovi elementi a una cartella record bloccata
|
||||
rm.service.add-children-to-frozen-record-folder=Impossibile aggiungere nuovi elementi a una cartella di record congelata.
|
||||
rm.service.update-record-content=Impossibile aggiornare la propriet\u00e0 del contenuto di un record.
|
||||
|
@@ -163,7 +163,7 @@ rma_recordsmanagement.property.rma_dateFiled.decription=Data di archiviazione
|
||||
rma_recordsmanagement.property.rma_origionalName=Nome originale
|
||||
|
||||
rma_recordsmanagement.aspect.rma_recordMetaData.title=Metadati del record
|
||||
rma_recordsmanagement.aspect.rma_recordMetaData.description=Aspetto indicatore per metadati di record
|
||||
rma_recordsmanagement.aspect.rma_recordMetaData.description=Aspetto indicatore per metadati del record
|
||||
|
||||
rma_recordsmanagement.aspect.rma_commonRecordDetails.title=Dettagli record comuni
|
||||
rma_recordsmanagement.aspect.rma_commonRecordDetails.description=Metadati comuni a tutti i tipi di record
|
||||
|
@@ -104,10 +104,10 @@ rma_recordsmanagement.property.rma_eventExecutionCompletedBy.decription=Evento c
|
||||
rma_recordsmanagement.property.rma_eventExecutionCompletedAt.title=Evento conclu\u00eddo em
|
||||
rma_recordsmanagement.property.rma_eventExecutionCompletedAt.decription=Evento conclu\u00eddo em
|
||||
|
||||
rma_recordsmanagement.type.rma_hold.title=Manter
|
||||
rma_recordsmanagement.type.rma_hold.decription=Manter
|
||||
rma_recordsmanagement.property.rma_holdReason.title=Motivo para manter
|
||||
rma_recordsmanagement.property.rma_holdReason.decription=Motivo para manter
|
||||
rma_recordsmanagement.type.rma_hold.title=Espera
|
||||
rma_recordsmanagement.type.rma_hold.decription=Espera
|
||||
rma_recordsmanagement.property.rma_holdReason.title=Motivo para espera
|
||||
rma_recordsmanagement.property.rma_holdReason.decription=Motivo para espera
|
||||
rma_recordsmanagement.association.rma_frozenRecords.title=Documentos arquiv\u00edsticos mantidos
|
||||
rma_recordsmanagement.association.rma_frozenRecords.decription=Documentos arquiv\u00edsticos mantidos
|
||||
|
||||
@@ -235,8 +235,8 @@ rma_recordsmanagement.property.rma_recordSearchDispositionAuthority.title=Autori
|
||||
rma_recordsmanagement.property.rma_recordSearchDispositionAuthority.description=Autoridade de reten\u00e7\u00e3o
|
||||
rma_recordsmanagement.property.rma_recordSearchDispositionInstructions.title=Instru\u00e7\u00f5es de reten\u00e7\u00e3o
|
||||
rma_recordsmanagement.property.rma_recordSearchDispositionInstructions.description=Instru\u00e7\u00f5es de reten\u00e7\u00e3o
|
||||
rma_recordsmanagement.property.rma_recordSearchHoldReason.title=Motivo para manter
|
||||
rma_recordsmanagement.property.rma_recordSearchHoldReason.description=Motivo para manter
|
||||
rma_recordsmanagement.property.rma_recordSearchHoldReason.title=Motivo para espera
|
||||
rma_recordsmanagement.property.rma_recordSearchHoldReason.description=Motivo para espera
|
||||
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriod.title=Per\u00edodo de revis\u00e3o do documento arquiv\u00edstico vital
|
||||
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriod.description=Per\u00edodo de revis\u00e3o do documento arquiv\u00edstico vital
|
||||
rma_recordsmanagement.property.rma_recordSearchVitalRecordReviewPeriodExpression.title=Express\u00e3o do per\u00edodo de revis\u00e3o
|
||||
|
@@ -1,4 +1,4 @@
|
||||
rm.hold.name=Manter
|
||||
rm.hold.name=Espera
|
||||
|
||||
## Default roles
|
||||
rm.role.extendedReaders=Leitores no local
|
||||
|
@@ -19,9 +19,9 @@ file.report.record.folder=Pasta de documento arquiv\u00edstico
|
||||
file.report.unique.folder.identifier=ID exclusivo da pasta
|
||||
file.report.unique.record.identifier=ID exclusivo do documento arquiv\u00edstico
|
||||
file.report.hold.report=Relat\u00f3rio de espera
|
||||
file.report.hold.name=Nome da espera
|
||||
file.report.hold.description=Descri\u00e7\u00e3o da espera
|
||||
file.report.hold.reason=Motivo para manter
|
||||
file.report.hold.name=Nome de espera
|
||||
file.report.hold.description=Descri\u00e7\u00e3o de espera
|
||||
file.report.hold.reason=Motivo para espera
|
||||
file.report.hold.held=Mantido
|
||||
file.report.createdby=Criado por
|
||||
file.report.createdon=Criado em
|
||||
|
@@ -542,6 +542,7 @@
|
||||
|
||||
<associations>
|
||||
|
||||
<!-- @deprecated as of 3.2 -->
|
||||
<child-association name="rma:frozenRecords">
|
||||
<title>Frozen Records</title>
|
||||
<source>
|
||||
@@ -549,12 +550,25 @@
|
||||
<many>true</many>
|
||||
</source>
|
||||
<target>
|
||||
<class>cm:cmobject</class>
|
||||
<class>rma:filePlanComponent</class>
|
||||
<mandatory>false</mandatory>
|
||||
<many>true</many>
|
||||
</target>
|
||||
</child-association>
|
||||
|
||||
<child-association name="rma:frozenContent">
|
||||
<title>Frozen Records</title>
|
||||
<source>
|
||||
<mandatory>false</mandatory>
|
||||
<many>true</many>
|
||||
</source>
|
||||
<target>
|
||||
<class>cm:cmobject</class>
|
||||
<mandatory>false</mandatory>
|
||||
<many>true</many>
|
||||
</target>
|
||||
</child-association>
|
||||
|
||||
</associations>
|
||||
|
||||
</type>
|
||||
|
@@ -0,0 +1,22 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
|
||||
<!-- RM v3.2 Patches -->
|
||||
|
||||
<bean id="rm.holdChildAssocPatch"
|
||||
parent="rm.parentModulePatch"
|
||||
class="org.alfresco.module.org_alfresco_module_rm.patch.v32.RMv32HoldChildAssocPatch">
|
||||
<property name="description" value="Change hold child assoc from frozenRecords frozenContent to support holding active content."/>
|
||||
<property name="fixesToSchema" value="2700"/>
|
||||
<property name="targetSchema" value="3200"/>
|
||||
<property name="qnameDAO" ref="qnameDAO" />
|
||||
<property name="filePlanService" ref="filePlanService" />
|
||||
<property name="holdService" ref="holdService" />
|
||||
<property name="nodeService" ref="nodeService" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -1,3 +1,3 @@
|
||||
# RM Schema number
|
||||
|
||||
version.rm.schema=2501
|
||||
version.rm.schema=3200
|
||||
|
@@ -4,8 +4,8 @@ activitiReviewPooled.workflow.email.subject=Informazioni fornite per il record
|
||||
activitiReviewPooled.workflow.email.body1=L'utente
|
||||
activitiReviewPooled.workflow.email.body2=ha fornito le informazioni richieste per il record.
|
||||
|
||||
rmwf_workflowmodel.type.rmwf_workflowTask.title=Attivit\u00e0 del flusso di lavoro
|
||||
rmwf_workflowmodel.type.rmwf_workflowTask.decription=Attivit\u00e0 del flusso di lavoro
|
||||
rmwf_workflowmodel.type.rmwf_workflowTask.title=Attivit\u00e0 del workflow
|
||||
rmwf_workflowmodel.type.rmwf_workflowTask.decription=Attivit\u00e0 del workflow
|
||||
rmwf_workflowmodel.property.rmwf_requestedInformation.title=Informazioni richieste
|
||||
rmwf_workflowmodel.property.rmwf_requestedInformation.decription=Informazioni richieste
|
||||
rmwf_workflowmodel.property.rmwf_message.title=Messaggio
|
||||
|
@@ -346,7 +346,7 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
*/
|
||||
private Set<NodeRef> getParentHolds(NodeRef nodeRef)
|
||||
{
|
||||
List<ChildAssociationRef> holdsAssocs = nodeService.getParentAssocs(nodeRef, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
List<ChildAssociationRef> holdsAssocs = nodeService.getParentAssocs(nodeRef, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
Set<NodeRef> holds = new HashSet<>(holdsAssocs.size());
|
||||
for (ChildAssociationRef holdAssoc : holdsAssocs)
|
||||
{
|
||||
@@ -392,7 +392,7 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
throw new AlfrescoRuntimeException("Can't get the node's held, because passed node reference isn't a hold. (hold=" + hold.toString() + ")");
|
||||
}
|
||||
|
||||
List<ChildAssociationRef> childAssocs = nodeService.getChildAssocs(hold, ASSOC_FROZEN_RECORDS, RegexQNamePattern.MATCH_ALL);
|
||||
List<ChildAssociationRef> childAssocs = nodeService.getChildAssocs(hold, ASSOC_FROZEN_CONTENT, RegexQNamePattern.MATCH_ALL);
|
||||
if (childAssocs != null && !childAssocs.isEmpty())
|
||||
{
|
||||
for (ChildAssociationRef childAssociationRef : childAssocs)
|
||||
@@ -593,7 +593,7 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
// Link the record to the hold
|
||||
//set in transaction cache in order not to trigger update policy when adding the association
|
||||
transactionalResourceHelper.getSet("frozen").add(nodeRef);
|
||||
nodeService.addChild(hold, nodeRef, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
nodeService.addChild(hold, nodeRef, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
|
||||
// audit item being added to the hold
|
||||
recordsManagementAuditService.auditEvent(nodeRef, AUDIT_ADD_TO_HOLD);
|
||||
|
@@ -200,7 +200,10 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel
|
||||
// Hold type
|
||||
QName TYPE_HOLD = QName.createQName(RM_URI, "hold");
|
||||
QName PROP_HOLD_REASON = QName.createQName(RM_URI, "holdReason");
|
||||
//since 3.2
|
||||
@Deprecated
|
||||
QName ASSOC_FROZEN_RECORDS = QName.createQName(RM_URI, "frozenRecords");
|
||||
QName ASSOC_FROZEN_CONTENT = QName.createQName(RM_URI, "frozenContent");
|
||||
|
||||
// Record meta data aspect
|
||||
QName ASPECT_RECORD_META_DATA = QName.createQName(RM_URI, "recordMetaData");
|
||||
|
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* #%L
|
||||
* Alfresco Records Management Module
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* -
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
* -
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
* -
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
* -
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
* #L%
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.patch.v32;
|
||||
|
||||
import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASSOC_FROZEN_CONTENT;
|
||||
import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASSOC_FROZEN_RECORDS;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.hold.HoldService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch;
|
||||
import org.alfresco.repo.domain.qname.QNameDAO;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
|
||||
/**
|
||||
* Patch to replace any use of the hold child association rma:frozenRecords with rma:frozenContent
|
||||
*
|
||||
* See: https://issues.alfresco.com/jira/browse/RM-6992
|
||||
*
|
||||
*
|
||||
* @author Ross Gale
|
||||
* @since 3.2
|
||||
*/
|
||||
public class RMv32HoldChildAssocPatch extends AbstractModulePatch
|
||||
{
|
||||
/**
|
||||
* Data abstraction layer for QName and Namespace entities.
|
||||
*/
|
||||
private QNameDAO qnameDAO;
|
||||
|
||||
/**
|
||||
* File plan service interface
|
||||
*/
|
||||
private FilePlanService filePlanService;
|
||||
|
||||
/**
|
||||
* Hold service interface.
|
||||
*/
|
||||
private HoldService holdService;
|
||||
|
||||
/**
|
||||
* Interface for public and internal node and store operations.
|
||||
*/
|
||||
private NodeService nodeService;
|
||||
|
||||
/**
|
||||
* Setter for qnamedao
|
||||
* @param qnameDAO Data abstraction layer for QName and Namespace entities.
|
||||
*/
|
||||
public void setQnameDAO(QNameDAO qnameDAO)
|
||||
{
|
||||
this.qnameDAO = qnameDAO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for fileplanservice
|
||||
* @param filePlanService File plan service interface
|
||||
*/
|
||||
public void setFilePlanService(FilePlanService filePlanService)
|
||||
{
|
||||
this.filePlanService = filePlanService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for hold service
|
||||
* @param holdService Hold service interface.
|
||||
*/
|
||||
public void setHoldService(HoldService holdService)
|
||||
{
|
||||
this.holdService = holdService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for node service
|
||||
* @param nodeService Interface for public and internal node and store operations.
|
||||
*/
|
||||
public void setNodeService(NodeService nodeService)
|
||||
{
|
||||
this.nodeService = nodeService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyInternal()
|
||||
{
|
||||
qnameDAO.updateQName(ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_CONTENT);
|
||||
for (NodeRef filePlan : filePlanService.getFilePlans())
|
||||
{
|
||||
for (NodeRef hold : holdService.getHolds(filePlan))
|
||||
{
|
||||
for (ChildAssociationRef ref : nodeService.getChildAssocs(hold, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_RECORDS))
|
||||
{
|
||||
holdService.removeFromHold(hold, ref.getChildRef());
|
||||
holdService.addToHold(hold, ref.getChildRef());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -34,6 +34,7 @@ import org.alfresco.rest.framework.core.exceptions.PermissionDeniedException;
|
||||
import org.alfresco.service.cmr.model.FileNotFoundException;
|
||||
import org.alfresco.service.cmr.repository.ContentData;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.springframework.extensions.surf.util.I18NUtil;
|
||||
import org.springframework.extensions.webscripts.GUID;
|
||||
|
||||
/**
|
||||
@@ -77,7 +78,7 @@ public class UpdateHeldActiveContentTest extends BaseRMTestCase
|
||||
}
|
||||
catch (PermissionDeniedException pde)
|
||||
{
|
||||
assertTrue(pde.getMessage().contains("Frozen nodes can not be deleted."));
|
||||
assertTrue(pde.getMessage().contains(I18NUtil.getMessage("rm.hold.delete-frozen-node")));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -135,7 +136,7 @@ public class UpdateHeldActiveContentTest extends BaseRMTestCase
|
||||
}
|
||||
catch (PermissionDeniedException pde)
|
||||
{
|
||||
assertTrue(pde.getMessage().contains("Frozen nodes can not be moved."));
|
||||
assertTrue(pde.getMessage().contains(I18NUtil.getMessage("rm.hold.move-frozen-node")));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -169,7 +170,7 @@ public class UpdateHeldActiveContentTest extends BaseRMTestCase
|
||||
}
|
||||
catch (PermissionDeniedException pde)
|
||||
{
|
||||
assertTrue(pde.getMessage().contains("Frozen nodes can not be updated."));
|
||||
assertTrue(pde.getMessage().contains(I18NUtil.getMessage("rm.hold.update-frozen-node")));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -204,7 +205,7 @@ public class UpdateHeldActiveContentTest extends BaseRMTestCase
|
||||
}
|
||||
catch (PermissionDeniedException pde)
|
||||
{
|
||||
assertTrue(pde.getMessage().contains("Frozen nodes can not be updated."));
|
||||
assertTrue(pde.getMessage().contains(I18NUtil.getMessage("rm.hold.update-frozen-node")));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@@ -134,14 +134,14 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
|
||||
{
|
||||
// setup record folder in multiple holds
|
||||
List<ChildAssociationRef> holds = new ArrayList<>(4);
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, recordFolder, true, 1));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold2, ASSOC_FROZEN_RECORDS, recordFolder, true, 2));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, activeContent, true, 1));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold2, ASSOC_FROZEN_RECORDS, activeContent, true, 2));
|
||||
doReturn(holds).when(mockedNodeService).getParentAssocs(recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_CONTENT, hold, ASSOC_FROZEN_CONTENT, recordFolder, true, 1));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_CONTENT, hold2, ASSOC_FROZEN_CONTENT, recordFolder, true, 2));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_CONTENT, hold, ASSOC_FROZEN_CONTENT, activeContent, true, 1));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_CONTENT, hold2, ASSOC_FROZEN_CONTENT, activeContent, true, 2));
|
||||
doReturn(holds).when(mockedNodeService).getParentAssocs(recordFolder, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
|
||||
//setup active content in multiple holds
|
||||
doReturn(holds).when(mockedNodeService).getParentAssocs(activeContent, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
doReturn(holds).when(mockedNodeService).getParentAssocs(activeContent, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
|
||||
doReturn(Collections.singleton(filePlan)).when(mockedFilePlanService).getFilePlans();
|
||||
|
||||
@@ -202,9 +202,9 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
|
||||
{
|
||||
// setup record folder in hold
|
||||
List<ChildAssociationRef> holds = new ArrayList<>(2);
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, recordFolder, true, 1));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, activeContent, true, 1));
|
||||
doReturn(holds).when(mockedNodeService).getChildAssocs(hold, ASSOC_FROZEN_RECORDS, RegexQNamePattern.MATCH_ALL);
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_CONTENT, hold, ASSOC_FROZEN_CONTENT, recordFolder, true, 1));
|
||||
holds.add(new ChildAssociationRef(ASSOC_FROZEN_CONTENT, hold, ASSOC_FROZEN_CONTENT, activeContent, true, 1));
|
||||
doReturn(holds).when(mockedNodeService).getChildAssocs(hold, ASSOC_FROZEN_CONTENT, RegexQNamePattern.MATCH_ALL);
|
||||
|
||||
List<NodeRef> list = holdService.getHeld(hold);
|
||||
assertEquals(2, list.size());
|
||||
@@ -332,19 +332,19 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
|
||||
{
|
||||
holdService.addToHold(hold, recordFolder);
|
||||
|
||||
verify(mockedNodeService).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService).addChild(hold, recordFolder, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedNodeService).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService).auditEvent(eq(recordFolder), anyString());
|
||||
|
||||
holdService.addToHold(hold, record);
|
||||
verify(mockedNodeService).addChild(hold, record, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService).addChild(hold, record, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedNodeService, times(2)).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService).auditEvent(eq(record), anyString());
|
||||
|
||||
holdService.addToHold(hold, activeContent);
|
||||
verify(mockedNodeService).addChild(hold, activeContent, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService).addChild(hold, activeContent, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService).addAspect(eq(activeContent), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService).auditEvent(eq(activeContent), anyString());
|
||||
}
|
||||
@@ -357,14 +357,14 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
|
||||
|
||||
holdService.addToHold(hold, recordFolder);
|
||||
|
||||
verify(mockedNodeService, never()).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService, never()).addChild(hold, recordFolder, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService, never()).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedNodeService, never()).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService, never()).auditEvent(eq(recordFolder), anyString());
|
||||
|
||||
holdService.addToHold(hold, activeContent);
|
||||
|
||||
verify(mockedNodeService, never()).addChild(hold, activeContent, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService, never()).addChild(hold, activeContent, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService, never()).addAspect(eq(activeContent), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService, never()).auditEvent(eq(activeContent), anyString());
|
||||
}
|
||||
@@ -379,13 +379,13 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
|
||||
|
||||
holdService.addToHold(hold, recordFolder);
|
||||
|
||||
verify(mockedNodeService).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService).addChild(hold, recordFolder, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService, never()).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedNodeService, never()).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService).auditEvent(eq(recordFolder), anyString());
|
||||
|
||||
holdService.addToHold(hold, activeContent);
|
||||
verify(mockedNodeService).addChild(hold, activeContent, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService).addChild(hold, activeContent, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService, never()).addAspect(eq(activeContent), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService).auditEvent(eq(activeContent), anyString());
|
||||
}
|
||||
@@ -447,8 +447,8 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
|
||||
holdService.addToHolds(holds, recordFolder);
|
||||
|
||||
// verify the interactions
|
||||
verify(mockedNodeService, times(1)).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService, times(1)).addChild(hold2, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
|
||||
verify(mockedNodeService, times(1)).addChild(hold, recordFolder, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService, times(1)).addChild(hold2, recordFolder, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
verify(mockedNodeService, times(1)).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedNodeService, times(1)).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
|
||||
verify(mockedRecordsManagementAuditService, times(2)).auditEvent(eq(recordFolder), anyString());
|
||||
|
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
* #%L
|
||||
* Alfresco Records Management Module
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* -
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
* -
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
* -
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
* -
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
* #L%
|
||||
*/
|
||||
|
||||
package org.alfresco.module.org_alfresco_module_rm.patch.v32;
|
||||
|
||||
import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASSOC_FROZEN_CONTENT;
|
||||
import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASSOC_FROZEN_RECORDS;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.hold.HoldService;
|
||||
import org.alfresco.repo.domain.qname.QNameDAO;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
/**
|
||||
* RM V3.2 Hold child assoc patch unit test
|
||||
*
|
||||
* @author Ross Gale
|
||||
* @since 3.2
|
||||
*/
|
||||
public class RMv32HoldChildAssocPatchUnitTest
|
||||
{
|
||||
@Mock
|
||||
private QNameDAO qNameDAO;
|
||||
|
||||
@Mock
|
||||
private NodeService nodeService;
|
||||
|
||||
@Mock
|
||||
private FilePlanService filePlanService;
|
||||
|
||||
@Mock
|
||||
private HoldService holdService;
|
||||
|
||||
@InjectMocks
|
||||
private RMv32HoldChildAssocPatch patch;
|
||||
|
||||
private NodeRef filePlanRef, holdRef, heldItemRef;
|
||||
|
||||
private Set<NodeRef> fileplans;
|
||||
|
||||
private List<NodeRef> holds;
|
||||
|
||||
@Mock
|
||||
private ChildAssociationRef childAssociationRef;
|
||||
|
||||
private List<ChildAssociationRef> childAssocs;
|
||||
|
||||
@Before
|
||||
public void setUp()
|
||||
{
|
||||
MockitoAnnotations.initMocks(this);
|
||||
filePlanRef = new NodeRef("workspace://SpacesStore/filePlan");
|
||||
holdRef = new NodeRef("workspace://SpacesStore/hold");
|
||||
heldItemRef = new NodeRef("workspace://SpacesStore/heldItem");
|
||||
fileplans = new HashSet<>();
|
||||
fileplans.add(filePlanRef);
|
||||
holds = new ArrayList<>();
|
||||
holds.add(holdRef);
|
||||
childAssocs = new ArrayList<>();
|
||||
childAssocs.add(childAssociationRef);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test held items are removed from a hold and re-add to make sure the association is correct
|
||||
*/
|
||||
@Test
|
||||
public void testAHoldIsRemovedAndReplacedDuringUpgrade()
|
||||
{
|
||||
when(filePlanService.getFilePlans()).thenReturn(fileplans);
|
||||
when(holdService.getHolds(filePlanRef)).thenReturn(holds);
|
||||
when(nodeService.getChildAssocs(holdRef, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_RECORDS)).thenReturn(childAssocs);
|
||||
when(childAssociationRef.getChildRef()).thenReturn(heldItemRef);
|
||||
patch.applyInternal();
|
||||
verify(holdService, times(1)).removeFromHold(holdRef, heldItemRef);
|
||||
verify(holdService, times(1)).addToHold(holdRef, heldItemRef);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user