Skip to content

Commit 70bdda1

Browse files
committed
Merge branch 'master' of github.com:chamilo/chamilo-lms
2 parents 5a59f04 + 20e287e commit 70bdda1

25 files changed

+84
-35
lines changed

assets/vue/views/message/MessageList.vue

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
receiverType: showingInbox ? MESSAGE_TYPE_INBOX : MESSAGE_TYPE_SENDER,
149149
},
150150
}"
151-
class="text-primary"
151+
:class="['text-primary', { 'font-bold': showingInbox && !findMyReceiver(slotProps.data)?.read }]"
152152
>
153153
{{ slotProps.data.title }}
154154
</BaseAppLink>
@@ -223,8 +223,14 @@
223223
<div class="mt-4">
224224
<div class="text-sm font-bold">{{ t("Title") }}:</div>
225225
<BaseAppLink
226-
:to="{ name: 'MessageShow', query: { id: item['@id'] } }"
227-
class="text-base text-blue-600"
226+
:to="{
227+
name: 'MessageShow',
228+
query: {
229+
id: item['@id'],
230+
receiverType: showingInbox ? MESSAGE_TYPE_INBOX : MESSAGE_TYPE_SENDER,
231+
},
232+
}"
233+
:class="['text-base text-blue-600', { 'font-bold': showingInbox && !findMyReceiver(item)?.read }]"
228234
>
229235
{{ item.title }}
230236
</BaseAppLink>
@@ -279,7 +285,7 @@
279285
</template>
280286

281287
<script setup>
282-
import { computed, onMounted, ref } from "vue"
288+
import { computed, onBeforeUnmount, onMounted, ref } from "vue"
283289
import { useStore } from "vuex"
284290
import { useI18n } from "vue-i18n"
285291
import { useRoute, useRouter } from "vue-router"
@@ -499,6 +505,7 @@ function showInboxByTag(tag) {
499505
500506
fetchPayload = {
501507
"order[sendDate]": "desc",
508+
"receivers.receiver": securityStore.user["@id"],
502509
itemsPerPage: initialRowsPerPage,
503510
page: 1,
504511
"receivers.receiverType": MESSAGE_TYPE_INBOX,
@@ -515,6 +522,7 @@ function showUnread() {
515522
516523
fetchPayload = {
517524
"order[sendDate]": "desc",
525+
"receivers.receiver": securityStore.user["@id"],
518526
"receivers.read": false,
519527
itemsPerPage: initialRowsPerPage,
520528
page: 1,
@@ -653,4 +661,27 @@ function onResetSearch() {
653661
654662
loadMessages()
655663
}
664+
665+
let onMessageRead
666+
667+
onMounted(() => {
668+
onMessageRead = (ev) => {
669+
const { iri, receiverId, receiverType } = ev.detail || {}
670+
const msg = items.value?.find?.((m) => m["@id"] === iri)
671+
if (!msg) return
672+
673+
const receivers = [...msg.receiversTo, ...msg.receiversCc, ...msg.receiversSender]
674+
const mine = receivers.find((r) => r.receiver?.["@id"] === receiverId && r.receiverType === receiverType)
675+
if (mine) {
676+
mine.read = true
677+
}
678+
}
679+
window.addEventListener("message:read", onMessageRead)
680+
})
681+
682+
onBeforeUnmount(() => {
683+
if (onMessageRead) {
684+
window.removeEventListener("message:read", onMessageRead)
685+
}
686+
})
656687
</script>

assets/vue/views/message/MessageShow.vue

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,29 @@ const receiverType = route.query.receiverType ? parseInt(route.query.receiverTyp
179179
store.dispatch("message/load", id).then((responseItem) => {
180180
item.value = responseItem
181181
182-
myReceiver.value = findMyReceiver(responseItem, receiverType)
182+
const rawRt = route.query.receiverType ? Number(route.query.receiverType) : undefined
183+
myReceiver.value = rawRt
184+
? findMyReceiver(responseItem, rawRt)
185+
: findMyReceiver(responseItem, MESSAGE_TYPE_INBOX)
186+
187+
if (!myReceiver.value) {
188+
const all = [...responseItem.receiversTo, ...responseItem.receiversCc, ...responseItem.receiversSender]
189+
myReceiver.value = all.find(({ receiver }) => receiver["@id"] === securityStore.user["@id"])
190+
}
183191
184192
if (myReceiver.value && !myReceiver.value.read) {
185193
messageRelUserService
186194
.update(myReceiver.value["@id"], { read: true })
187-
.then(() => messageRelUserStore.findUnreadCount())
195+
.then(() => {
196+
messageRelUserStore.findUnreadCount()
197+
window.dispatchEvent(new CustomEvent("message:read", {
198+
detail: {
199+
iri: responseItem["@id"],
200+
receiverId: myReceiver.value.receiver["@id"],
201+
receiverType: myReceiver.value.receiverType,
202+
},
203+
}))
204+
})
188205
}
189206
})
190207

public/main/inc/lib/AnnouncementManager.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public static function parseContent(
9797

9898
$session->getGeneralCoaches()
9999
->forAll(function (int $key, User $user) use (&$generalCoachName, &$generalCoachEmail) {
100-
$generalCoachName .= $user->getFullname().PHP_EOL;
100+
$generalCoachName .= $user->getFullName().PHP_EOL;
101101
$generalCoachEmail .= $user->getEmail().PHP_EOL;
102102

103103
return true;

public/main/inc/lib/CoursesAndSessionsCatalog.class.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1659,7 +1659,7 @@ public static function getFormattedSessionsBlock(array $sessions)
16591659
'id' => $coach->getId(),
16601660
'url' => api_get_path(WEB_AJAX_PATH).'user_manager.ajax.php?'
16611661
.http_build_query(['a' => 'get_user_popup', 'user_id' => $coach->getId()]),
1662-
'name' => $coach->getFullname(),
1662+
'name' => $coach->getFullName(),
16631663
'avatar' => UserManager::getUserPicture($coach->getId(), USER_IMAGE_SIZE_SMALL),
16641664
]
16651665
),

public/main/inc/lib/ScheduledAnnouncement.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ public function sendPendingMessages($urlId = 0)
384384
$generalCoachEmail = [];
385385
/** @var User $generalCoach */
386386
foreach ($generalCoaches as $generalCoach) {
387-
$generalCoachName[] = $generalCoach->getFullname();
387+
$generalCoachName[] = $generalCoach->getFullName();
388388
$generalCoachEmail[] = $generalCoach->getEmail();
389389
}
390390

public/main/inc/lib/TicketManager.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,7 @@ public static function sendNotification($ticketId, $title, $message, $onlyToUser
14361436
self::isUserSubscribedToTicket($ticketId, $follower->getId())
14371437
)
14381438
) {
1439-
$recipients[$follower->getId()] = $follower->getFullname();
1439+
$recipients[$follower->getId()] = $follower->getFullName();
14401440
}
14411441
}
14421442
}

public/main/inc/lib/sessionmanager.lib.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2405,7 +2405,7 @@ public static function notifyBossOfInscription(User $boss, Session $session, int
24052405
'@ChamiloCore/Mailer/Legacy/subject_subscription_to_boss_notification.html.twig',
24062406
[
24072407
'locale' => $boss->getLocale(),
2408-
'boss_name' => $boss->getFullname(),
2408+
'boss_name' => $boss->getFullName(),
24092409
'student_name' => $user_info['complete_name'],
24102410
'session_name' => $session->getTitle(),
24112411
]
@@ -2415,15 +2415,15 @@ public static function notifyBossOfInscription(User $boss, Session $session, int
24152415
'@ChamiloCore/Mailer/Legacy/content_subscription_to_boss_notification.html.twig',
24162416
[
24172417
'locale' => $boss->getLocale(),
2418-
'boss_name' => $boss->getFullname(),
2418+
'boss_name' => $boss->getFullName(),
24192419
'student_name' => $user_info['complete_name'],
24202420
'session_name' => $session->getTitle(),
24212421
]
24222422
);
24232423

24242424
// Send email
24252425
api_mail_html(
2426-
$boss->getFullname(),
2426+
$boss->getFullName(),
24272427
$boss->getEmail(),
24282428
$subject,
24292429
$content,
@@ -10632,7 +10632,7 @@ public static function getGeneralCoachesNamesForSession(int $sessionId): array
1063210632
{
1063310633
return api_get_session_entity($sessionId)
1063410634
->getGeneralCoaches()
10635-
->map(fn(User $user) => $user->getFullname())
10635+
->map(fn(User $user) => $user->getFullName())
1063610636
->getValues();
1063710637
}
1063810638

public/plugin/BuyCourses/src/buy_course_plugin.class.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ public function getCatalogSessionList($start, $end, $name = null, $min = 0, $max
625625
}
626626

627627
$sessionData = $this->getSessionInfo($session->getId());
628-
$sessionData['coaches'] = $session->getGeneralCoaches()->map(fn(User $coach) => $coach->getFullname());
628+
$sessionData['coaches'] = $session->getGeneralCoaches()->map(fn(User $coach) => $coach->getFullName());
629629
$sessionData['enrolled'] = $this->getUserStatusForSession(
630630
api_get_user_id(),
631631
$session

public/plugin/BuyCourses/src/configure_course.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112

113113
foreach ($generalCoaches as $generalCoach) {
114114
$generalCoachesOptions[] = [
115-
'text' => $generalCoach->getFullname(),
115+
'text' => $generalCoach->getFullName(),
116116
'value' => $generalCoach->getId(),
117117
];
118118
$defaultBeneficiaries[] = $generalCoach->getId();

public/plugin/ImsLti/auth.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111

112112
// User info
113113
if ($tool->isSharingName()) {
114-
$jwtContent['name'] = $user->getFullname();
114+
$jwtContent['name'] = $user->getFullName();
115115
$jwtContent['given_name'] = $user->getFirstname();
116116
$jwtContent['family_name'] = $user->getLastname();
117117
}

0 commit comments

Comments
 (0)