Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Maarch
thirdPartyArchiving
Commits
c7c0a408
Commit
c7c0a408
authored
Oct 27, 2017
by
Cyril Vazquez
Browse files
FIX : destructionRequests manages originators AND their ascendants requesters
parent
dca3da12
Changes
6
Hide whitespace changes
Inline
Side-by-side
bundle/medona/Controller/ArchiveDeliveryRequest.php
View file @
c7c0a408
...
...
@@ -105,11 +105,11 @@ class ArchiveDeliveryRequest extends abstractMessage
*/
public
function
requestDelivery
(
$archiveIds
,
$identifier
=
null
,
$comment
=
null
)
{
$
send
erOrg
=
\
laabs
::
getToken
(
'ORGANIZATION'
);
if
(
!
$
send
erOrg
)
{
$
request
erOrg
=
\
laabs
::
getToken
(
'ORGANIZATION'
);
if
(
!
$
request
erOrg
)
{
throw
\
laabs
::
newException
(
'medona/invalidMessageException'
,
"No current organization choosen"
);
}
$
send
erOrgRegNumber
=
$
send
erOrg
->
registrationNumber
;
$
request
erOrgRegNumber
=
$
request
erOrg
->
registrationNumber
;
if
(
!
is_array
(
$archiveIds
))
{
$archiveIds
=
array
(
$archiveIds
);
...
...
@@ -145,8 +145,8 @@ class ArchiveDeliveryRequest extends abstractMessage
}
}
$
recipient
OrgRegNumber
=
$archives
[
0
]
->
archiverOrgRegNumber
;
$message
=
$this
->
send
(
$messageIdentifier
,
$archives
,
$derogation
,
$comment
,
$
send
erOrgRegNumber
,
$
recipient
OrgRegNumber
);
$
archiver
OrgRegNumber
=
$archives
[
0
]
->
archiverOrgRegNumber
;
$message
=
$this
->
send
(
$messageIdentifier
,
$archives
,
$derogation
,
$comment
,
$
request
erOrgRegNumber
,
$
archiver
OrgRegNumber
);
$controlAutorityControler
=
\
laabs
::
newController
(
"medona/ControlAuthority"
);
if
(
count
(
$controlAutorityControler
->
index
())
>
0
)
{
...
...
@@ -167,13 +167,13 @@ class ArchiveDeliveryRequest extends abstractMessage
* @param array $archives An array of archives
* @param boolean $derogation Ask for an authorization
* @param string $comment The request comment
* @param object $
send
erOrgRegNumber
The requesting org
* @param string $
recipient
OrgRegNumber The
recipient
org registration number
* @param object $
request
erOrgRegNumber The requesting org
reg number
* @param string $
archiver
OrgRegNumber
The
archiver
org registration number
* @param string $userName The requester user name
*
* @return The reply message generated
*/
public
function
send
(
$reference
,
$archives
,
$derogation
=
false
,
$comment
=
false
,
$
send
erOrgRegNumber
=
false
,
$
recipient
OrgRegNumber
=
false
,
$userName
=
false
)
public
function
send
(
$reference
,
$archives
,
$derogation
=
false
,
$comment
=
false
,
$
request
erOrgRegNumber
=
false
,
$
archiver
OrgRegNumber
=
false
,
$userName
=
false
)
{
if
(
!
is_array
(
$archives
))
{
$archives
=
array
(
$archives
);
...
...
@@ -195,8 +195,8 @@ class ArchiveDeliveryRequest extends abstractMessage
$message
->
comment
[]
=
$comment
;
$message
->
senderOrgRegNumber
=
$
send
erOrgRegNumber
;
$message
->
recipientOrgRegNumber
=
$
recipient
OrgRegNumber
;
$message
->
senderOrgRegNumber
=
$
request
erOrgRegNumber
;
$message
->
recipientOrgRegNumber
=
$
archiver
OrgRegNumber
;
// read org names, addresses, communications, contacts
$this
->
readOrgs
(
$message
);
...
...
bundle/medona/Controller/ArchiveDestruction.php
View file @
c7c0a408
...
...
@@ -50,7 +50,7 @@ class ArchiveDestruction
{
$archiveList
=
$this
->
archiveController
->
dispose
(
$archiveIds
);
$archiveDestructionController
=
\
laabs
::
newController
(
"medona/ArchiveDestructionRequest"
);
$archiveDestruction
Request
Controller
=
\
laabs
::
newController
(
"medona/ArchiveDestructionRequest"
);
$archivesByOriginator
=
array
();
foreach
(
$archiveList
[
'success'
]
as
$archiveId
)
{
...
...
@@ -61,18 +61,18 @@ class ArchiveDestruction
$archivesByOriginator
[
$archive
->
originatorOrgRegNumber
][]
=
$archive
;
}
$
send
erOrg
=
null
;
if
(
!
$
send
erOrg
)
{
$
send
erOrg
=
\
laabs
::
getToken
(
'ORGANIZATION'
);
if
(
!
$
send
erOrg
)
{
$
request
erOrg
=
null
;
if
(
!
$
request
erOrg
)
{
$
request
erOrg
=
\
laabs
::
getToken
(
'ORGANIZATION'
);
if
(
!
$
request
erOrg
)
{
throw
\
laabs
::
newException
(
'medona/invalidMessageException'
,
"No current organization choosen"
);
}
}
$
senderOrg
=
$send
erOrg
->
registrationNumber
;
$
requesterOrgRegNumber
=
$request
erOrg
->
registrationNumber
;
$i
=
0
;
foreach
(
$archivesByOriginator
as
$originatorOrgRegNumber
=>
$archives
)
{
$recipientOrg
=
$archives
[
0
]
->
archiverOrgRegNumber
;
$recipientOrg
RegNumber
=
$archives
[
0
]
->
archiverOrgRegNumber
;
$i
++
;
if
(
!
$identifier
)
{
...
...
@@ -81,7 +81,7 @@ class ArchiveDestruction
$identifier
.
=
"_"
.
$i
;
}
$archiveDestructionController
->
send
(
$identifier
,
$archives
,
$comment
,
$
senderOrg
,
$recipientOrg
);
$archiveDestruction
Request
Controller
->
send
(
$identifier
,
$archives
,
$comment
,
$
requesterOrgRegNumber
,
$recipientOrgRegNumber
,
$originatorOrgRegNumber
);
}
return
$archiveList
;
...
...
bundle/medona/Controller/ArchiveDestructionRequest.php
View file @
c7c0a408
...
...
@@ -87,15 +87,16 @@ class ArchiveDestructionRequest extends abstractMessage
/**
* Send a new a new delivery request
* @param string $reference The message identifier
* @param array $archives An array of archives
* @param string $comment The request comment
* @param string $senderOrg The requesting org
* @param string $recipientOrg The requesting org
* @param string $reference The message identifier
* @param array $archives An array of archives
* @param string $comment The request comment
* @param string $requesterOrgRegNumber The requesting org reg number
* @param string $archiverOrgRegNumber The recipient archiver org reg number
* @param string $originatorOrgRegNumber The originator org reg number
*
* @return The request message generated
*/
public
function
send
(
$reference
,
$archives
,
$comment
=
null
,
$
senderOrg
=
null
,
$recipientOrg
=
null
)
public
function
send
(
$reference
,
$archives
,
$comment
=
null
,
$
requesterOrgRegNumber
=
null
,
$archiverOrgRegNumber
=
null
,
$originatorOrgRegNumber
=
null
)
{
if
(
!
is_array
(
$archives
))
{
$archives
=
array
(
$archives
);
...
...
@@ -117,8 +118,8 @@ class ArchiveDestructionRequest extends abstractMessage
$message
->
comment
[]
=
$comment
;
$message
->
senderOrgRegNumber
=
$
senderOrg
;
$message
->
recipientOrgRegNumber
=
$
recipientOrg
;
$message
->
senderOrgRegNumber
=
$
requesterOrgRegNumber
;
$message
->
recipientOrgRegNumber
=
$
archiverOrgRegNumber
;
$this
->
readOrgs
(
$message
);
// read org names, addresses, communications, contacts
try
{
...
...
@@ -157,10 +158,12 @@ class ArchiveDestructionRequest extends abstractMessage
throw
$e
;
}
$senderOrg
=
\
laabs
::
getToken
(
'ORGANIZATION'
);
// Requested by archiver: send auth request to originator
if
(
$
message
->
senderOrgReg
Number
!
=
$
archives
[
0
]
->
originatorOrgRegNumber
)
{
if
(
$
senderOrg
->
registration
Number
=
=
$
message
->
recipientOrg
)
{
$authorizationOriginatingAgencyRequestController
=
\
laabs
::
newController
(
'medona/AuthorizationOriginatingAgencyRequest'
);
$authorizationOriginatingAgencyRequestController
->
send
(
$message
,
$
archives
[
0
]
->
originatorOrgRegNumber
);
$authorizationOriginatingAgencyRequestController
->
send
(
$message
,
$originatorOrgRegNumber
);
$message
->
status
==
"originator_authorization_wait"
;
}
else
{
...
...
@@ -171,7 +174,7 @@ class ArchiveDestructionRequest extends abstractMessage
if
(
count
(
$controlAuthorities
))
{
$message
->
status
==
"control_authorization_wait"
;
$authorizationControlAuthorityRequestController
=
\
laabs
::
newController
(
'medona/AuthorizationControlAuthorityRequest'
);
$authorizationControlAuthorityRequestController
->
send
(
$message
,
$
archives
[
0
]
->
originatorOrgRegNumber
);
$authorizationControlAuthorityRequestController
->
send
(
$message
,
$originatorOrgRegNumber
);
}
}
...
...
bundle/medona/Controller/ArchiveRestitutionRequest.php
View file @
c7c0a408
...
...
@@ -80,6 +80,7 @@ class ArchiveRestitutionRequest extends abstractMessage
$registrationNumber
=
$this
->
getCurrentRegistrationNumber
();
$queryParts
[]
=
"type='ArchiveRestitutionRequest'"
;
$queryParts
[]
=
"senderOrgRegNumber=
$registrationNumber
"
;
$queryParts
[]
=
"active=true"
;
return
$this
->
sdoFactory
->
find
(
'medona/message'
,
implode
(
' and '
,
$queryParts
),
null
,
false
,
false
,
300
);
...
...
bundle/medona/Controller/AuthorizationOriginatingAgencyRequest.php
View file @
c7c0a408
...
...
@@ -23,18 +23,19 @@ namespace ext\thirdPartyArchiving\bundle\medona\Controller;
/**
* Class for originating agency request auhorisation message
*
* @author Alexis Ragot <alexis.ragot@maarch.org>
*/
class
AuthorizationOriginatingAgencyRequest
extends
AuthorizationRequest
{
/**
* Send authorization originating agency request
* @param string $requestMessage The request message identifier
* @param string $
recipient
OrgRegNumber The originating agency reg number
* @param string $requestMessage
The request message identifier
* @param string $
originator
OrgRegNumber The originating agency reg number
*
* @return medona/message
*/
public
function
send
(
$requestMessage
,
$
recipient
OrgRegNumber
)
public
function
send
(
$requestMessage
,
$
originator
OrgRegNumber
)
{
if
(
is_scalar
(
$requestMessage
))
{
$requestMessage
=
$this
->
read
(
$requestMessage
);
...
...
@@ -54,7 +55,7 @@ class AuthorizationOriginatingAgencyRequest extends AuthorizationRequest
$message
->
authorizationReason
=
$requestMessage
->
type
;
$message
->
senderOrgRegNumber
=
$requestMessage
->
recipientOrgRegNumber
;
$message
->
recipientOrgRegNumber
=
$
recipient
OrgRegNumber
;
$message
->
recipientOrgRegNumber
=
$
originator
OrgRegNumber
;
$message
->
comment
=
$requestMessage
->
object
->
comment
;
$this
->
readOrgs
(
$message
);
...
...
bundle/medona/Controller/message.php
View file @
c7c0a408
...
...
@@ -93,11 +93,11 @@ class message
$messageDirectory
,
\
dependency\sdo\Factory
$sdoFactory
,
$messageStandard
=
'medona'
,
$parentsDerogation
=
fals
e
,
$parentsDerogation
=
tru
e
,
$removeMessageTask
=
null
,
$autoValidateSize
=
0
,
$autoProcessSize
=
0
)
{
$autoProcessSize
=
0
)
{
$this
->
orgController
=
\
laabs
::
newController
(
'organization/organization'
);
$this
->
archiveController
=
\
laabs
::
newController
(
'recordsManagement/archive'
);
$this
->
archiveRelationshipController
=
\
laabs
::
newController
(
'recordsManagement/archiveRelationship'
);
...
...
@@ -1119,7 +1119,8 @@ class message
*
* @return int The number of messages with this organization
*/
public
function
countByOrg
(
$orgRegNumber
)
{
public
function
countByOrg
(
$orgRegNumber
)
{
$queryString
=
[];
$queryString
[]
=
"senderOrgRegNumber='
$orgRegNumber
'"
;
$queryString
[]
=
"recipientOrgRegNumber='
$orgRegNumber
'"
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment