From 3879b55f13e7165d8117a66fd42d8900b2170a26 Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Sun, 29 Mar 2026 00:32:08 +0300 Subject: [PATCH 1/4] Fix SharedDraftLink indexes --- src/OrchardCoreContrib.Contents/Migrations.cs | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/OrchardCoreContrib.Contents/Migrations.cs b/src/OrchardCoreContrib.Contents/Migrations.cs index 577d38f..7a0b427 100644 --- a/src/OrchardCoreContrib.Contents/Migrations.cs +++ b/src/OrchardCoreContrib.Contents/Migrations.cs @@ -1,10 +1,11 @@ using OrchardCore.Data.Migration; +using OrchardCore.Environment.Shell; using OrchardCoreContrib.Contents.Indexes; using YesSql.Sql; namespace OrchardCoreContrib.Contents; -public class Migrations : DataMigration +public class Migrations(IShellFeaturesManager shellFeaturesManager) : DataMigration { public async Task CreateAsync() { @@ -17,8 +18,24 @@ await SchemaBuilder.CreateMapIndexTableAsync(table => tabl .Column("CreatedUtc") ); + return 1; + } + + public async Task UpdateFrom1Async() + { + var features = await shellFeaturesManager.GetEnabledFeaturesAsync(); + + if (!features.Any(f => f.Id == "OrchardCore.Notifications")) + { + await SchemaBuilder.AlterIndexTableAsync(table => + { + table.DropIndex("IDX_NotificationIndex_DocumentId"); + table.DropIndex("IDX_NotificationIndex_CreatedBy"); + }); + } + await SchemaBuilder.AlterIndexTableAsync(table => table - .CreateIndex("IDX_NotificationIndex_DocumentId", + .CreateIndex("IDX_SharedDraftLinkIndex_DocumentId", "DocumentId", "LinkId", "ContentItemId", @@ -29,13 +46,13 @@ await SchemaBuilder.AlterIndexTableAsync(table => table ); await SchemaBuilder.AlterIndexTableAsync(table => table - .CreateIndex("IDX_NotificationIndex_CreatedBy", + .CreateIndex("IDX_SharedDraftLinkIndex_CreatedBy", "DocumentId", "ContentItemId", "CreatedBy", "CreatedUtc") ); - return 1; + return 2; } } From 9f86df6c0f3f83fc1850680ecc33ecbbcafc35d4 Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Sun, 29 Mar 2026 00:52:18 +0300 Subject: [PATCH 2/4] Fix remaining expire days --- .../Views/Content_ShareDraftButton.cshtml | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/OrchardCoreContrib.Contents/Views/Content_ShareDraftButton.cshtml b/src/OrchardCoreContrib.Contents/Views/Content_ShareDraftButton.cshtml index ff9cbf4..d6368c1 100644 --- a/src/OrchardCoreContrib.Contents/Views/Content_ShareDraftButton.cshtml +++ b/src/OrchardCoreContrib.Contents/Views/Content_ShareDraftButton.cshtml @@ -3,7 +3,9 @@ @using OrchardCoreContrib.Contents.ViewModels @model SharedDraftLinkViewModel @inject IAuthorizationService AuthorizationService - +@{ + var dateDiff = Model.Link.ExpirationUtc - DateTime.UtcNow; +}

- Expires in + @if (dateDiff <= TimeSpan.Zero) + { + @T["Expired"] + } + else + { + var days = (int)Math.Round(dateDiff.TotalDays); + @T["Expires in {0} day(s)", days] + }

@@ -39,25 +49,8 @@