From 8767ef606b6c897c8e731694eb296ce1a312b29c Mon Sep 17 00:00:00 2001 From: Lio Novelli Date: Mon, 1 Apr 2024 20:00:31 +0200 Subject: [PATCH] Fixanje posiljanja prek mailov. Izkljuci yufu admin --- ...nt_moderation_notification.nov_osnutek.yml | 2 +- ...ration_notification.spremembe_sprejete.yml | 2 +- .../custom/yufu_admin/yufu_admin.module | 78 +++++++++++-------- .../src/Plugin/rest/resource/AddConcept.php | 5 ++ 4 files changed, 52 insertions(+), 35 deletions(-) diff --git a/config/sync/content_moderation_notifications.content_moderation_notification.nov_osnutek.yml b/config/sync/content_moderation_notifications.content_moderation_notification.nov_osnutek.yml index f401b71..34a5339 100644 --- a/config/sync/content_moderation_notifications.content_moderation_notification.nov_osnutek.yml +++ b/config/sync/content_moderation_notifications.content_moderation_notification.nov_osnutek.yml @@ -12,7 +12,7 @@ roles: author: false site_mail: false emails: '' -subject: 'New draft [node:title]' +subject: '[YUFU] New draft [node:title]' body: value: "New draft pedning moderation: [node:title] ([node:nid]) by [node:author:email].\r\n\r\n[node:url]\r\n\r\n[node:body]" format: plain_text diff --git a/config/sync/content_moderation_notifications.content_moderation_notification.spremembe_sprejete.yml b/config/sync/content_moderation_notifications.content_moderation_notification.spremembe_sprejete.yml index 886444f..fac0338 100644 --- a/config/sync/content_moderation_notifications.content_moderation_notification.spremembe_sprejete.yml +++ b/config/sync/content_moderation_notifications.content_moderation_notification.spremembe_sprejete.yml @@ -10,7 +10,7 @@ roles: { } author: true site_mail: false emails: '' -subject: 'Yufu changes approved' +subject: '[YUFU] Changes approved' body: value: 'Your proposed changes to [node:title] ([node:url]) were approved.' format: plain_text diff --git a/web/modules/custom/yufu_admin/yufu_admin.module b/web/modules/custom/yufu_admin/yufu_admin.module index 95a9531..fe38e69 100644 --- a/web/modules/custom/yufu_admin/yufu_admin.module +++ b/web/modules/custom/yufu_admin/yufu_admin.module @@ -57,39 +57,39 @@ function yufu_admin_mail($key, &$message, $params) { /** * Implements hook_ENTITY_TYPE_presave(). */ -function yufu_admin_node_presave(EntityInterface $entity) { - if ($entity instanceOf NodeInterface && $entity->bundle() == 'concept') { - // Get transition: concept_drafted, concept_approved, concept_rejected. - if ($entity->isNew()) { - $transition = 'concept_drafted'; - } - else { - $transition = _yufu_admin_get_node_transition($entity); - } - switch ($transition) { - case 'stay_draft': - case 'concept_drafted': - // Send email to editors. - $params = _yufu_admin_concept_drafted_mail($entity); - $result = _yufu_admin_send_email($transition, $params['to'], $params); - _yufu_admin_status_message($result['result'], $transition, $entity, $params['to']); - break; - case 'concept_approved': - // Send email to revision creator (user). - // @TODO Maybe notify other editors. - $params = _yufu_admin_concept_approved_get_message($entity); - $result = _yufu_admin_send_email($transition, $params['to'], $params); - _yufu_admin_status_message($result['result'], $transition, $entity, $params['to']); - break; - case 'concept_rejectd': - // Send email to revision creator (user). - // This transition happens on revision delete. - // Curently it is dead. - // @TODO https://git.kompot.si/yufu/manifest/issues/45 - break; - } - } -} +// function yufu_admin_node_presave(EntityInterface $entity) { +// if ($entity instanceOf NodeInterface && $entity->bundle() == 'concept') { +// // Get transition: concept_drafted, concept_approved, concept_rejected. +// if ($entity->isNew()) { +// $transition = 'concept_drafted'; +// } +// else { +// $transition = _yufu_admin_get_node_transition($entity); +// } +// switch ($transition) { +// case 'stay_draft': +// case 'concept_drafted': +// // Send email to editors. +// $params = _yufu_admin_concept_drafted_mail($entity); +// $result = _yufu_admin_send_email($transition, $params['to'], $params); +// _yufu_admin_status_message($result['result'], $transition, $entity, $params['to']); +// break; +// case 'concept_approved': +// // Send email to revision creator (user). +// // @TODO Maybe notify other editors. +// $params = _yufu_admin_concept_approved_get_message($entity); +// $result = _yufu_admin_send_email($transition, $params['to'], $params); +// _yufu_admin_status_message($result['result'], $transition, $entity, $params['to']); +// break; +// case 'concept_rejectd': +// // Send email to revision creator (user). +// // This transition happens on revision delete. +// // Curently it is dead. +// // @TODO https://git.kompot.si/yufu/manifest/issues/45 +// break; +// } +// } +//} /** * Compare original node moderation state with current state. @@ -276,3 +276,15 @@ function _yufu_admin_get_all_pioneer_emails() { // @TODO: Think it through if it is really needed. return []; } + +/** + * Invoke hook_content_moderation_notification_mail_data_alter(). + */ +// function yufu_admin_content_moderation_notification_mail_data_alter(EntityInterface $entity, array &$data) { +// // Add an extra email address to the list. +// if ($entity instanceOf NodeInterface) { +// if ($email = _yufu_admin_get_pioneer_email($entity)) { +// $data['to'][] = $email; +// } +// } +// } diff --git a/web/modules/custom/yufu_concept/src/Plugin/rest/resource/AddConcept.php b/web/modules/custom/yufu_concept/src/Plugin/rest/resource/AddConcept.php index ca66cde..8b51672 100644 --- a/web/modules/custom/yufu_concept/src/Plugin/rest/resource/AddConcept.php +++ b/web/modules/custom/yufu_concept/src/Plugin/rest/resource/AddConcept.php @@ -124,6 +124,11 @@ class AddConcept extends ResourceBase { $concept->setRevisionUserId($uid); $concept->set('title', $data['title']); $concept->set('body', $data['text'] ?? $concept->body->value); + if ($uid) { + $uids = $concept->get('uid')->getValue(); + $uids[] = ['target_id' => $uid]; + $concept->set('uid', $uids); + } $concept->isDefaultRevision(FALSE); $concept->setRevisionLogMessage('New revision by concept endpoint.'); $concept->set('moderation_state', 'draft');