2016-01-10 19:47:21 +01:00
|
|
|
<?php
|
|
|
|
App::uses('AppModel', 'Model');
|
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
class EventDelegation extends AppModel
|
|
|
|
{
|
2021-01-22 13:01:23 +01:00
|
|
|
public $actsAs = array('AuditLog', 'Containable');
|
2016-01-10 19:47:21 +01:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public $validate = array(
|
|
|
|
'event_id' => array(
|
|
|
|
'valueNotEmpty' => array(
|
|
|
|
'rule' => array('valueNotEmpty'),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
'org_id' => array(
|
|
|
|
'valueNotEmpty' => array(
|
|
|
|
'rule' => array('valueNotEmpty'),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
);
|
2016-06-04 01:08:16 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public $belongsTo = array(
|
|
|
|
'Event',
|
|
|
|
'Org' => array(
|
|
|
|
'className' => 'Organisation',
|
|
|
|
),
|
|
|
|
'RequesterOrg' => array(
|
|
|
|
'className' => 'Organisation'
|
|
|
|
),
|
|
|
|
'SharingGroup'
|
|
|
|
);
|
2016-06-04 01:08:16 +02:00
|
|
|
|
2018-07-19 11:48:22 +02:00
|
|
|
public function transferEvent($delegation, $user)
|
|
|
|
{
|
2024-03-13 10:57:39 +01:00
|
|
|
$event = $this->Event->fetchEvent($user, array(
|
|
|
|
'eventid' => $delegation['EventDelegation']['event_id'],
|
|
|
|
'includeAttachments' => 1
|
|
|
|
));
|
2018-07-19 11:48:22 +02:00
|
|
|
if (empty($event)) {
|
2019-08-14 21:27:05 +02:00
|
|
|
throw new NotFoundException('Invalid event.');
|
2018-07-19 11:48:22 +02:00
|
|
|
}
|
|
|
|
$event = $event[0];
|
|
|
|
$event['Event']['user_id'] = $user['id'];
|
|
|
|
$event['Event']['orgc_id'] = $delegation['EventDelegation']['org_id'];
|
|
|
|
$event['Event']['org_id'] = $delegation['EventDelegation']['org_id'];
|
|
|
|
$this->Event->delete($delegation['EventDelegation']['event_id']);
|
|
|
|
$event_id = $this->Event->savePreparedEvent($event);
|
|
|
|
return $event_id;
|
|
|
|
}
|
2016-06-06 10:09:55 +02:00
|
|
|
}
|