Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The `OrchardCoreContrib.Modules` repository consists of the following modules:
| [Content Localization Module](src/OrchardCoreContrib.ContentLocalization/README.md) | `OrchardCoreContrib.ContentLocalization` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.ContentLocalization.svg)](https://www.nuget.org/packages/OrchardCoreContrib.ContentLocalization) |
| [Content Preview Module](src/OrchardCoreContrib.ContentPreview/README.md) | `OrchardCoreContrib.ContentPreview` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.ContentPreview.svg)](https://www.nuget.org/packages/OrchardCoreContrib.ContentPreview) |
| [Content Permissions Module](src/OrchardCoreContrib.ContentPermissions/README.md) | `OrchardCoreContrib.Permissions` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.ContentPermissions.svg)](https://www.nuget.org/packages/OrchardCoreContrib.ContentPermissions) |
| [Contents Module](src/OrchardCoreContrib.Contents/README.md) | `OrchardCoreContrib.Contents` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.Contents.svg)](https://www.nuget.org/packages/OrchardCoreContrib.Contents) |
| [Data Localization Module](src/OrchardCoreContrib.DataLocalization/README.md) | `OrchardCoreContrib.DataLocalization` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.DataLocalization.svg)](https://www.nuget.org/packages/OrchardCoreContrib.DataLocalization) |
| [Elm Diagnostics Module](src/OrchardCoreContrib.Diagnostics.Elm/README.md) | `OrchardCoreContrib.Diagnostics.Elm` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.Diagnostics.Elm.svg)](https://www.nuget.org/packages/OrchardCoreContrib.Diagnostics.Elm) |
| [Gmail Module](src/OrchardCoreContrib.Email.Gmail/README.md) | `OrchardCoreContrib.Email.Gmail` | [![NuGet](https://img.shields.io/nuget/v/OrchardCoreContrib.Email.Gmail.svg)](https://www.nuget.org/packages/OrchardCoreContrib.Email.Gmail) |
Expand Down
2 changes: 1 addition & 1 deletion src/OrchardCoreContrib.Contents/Manifest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Name = "Contents",
Author = ManifestConstants.Author,
Website = ManifestConstants.Website,
Version = "1.0.0",
Version = "1.0.1",
Category = "Content Management"
)]

Expand Down
25 changes: 21 additions & 4 deletions src/OrchardCoreContrib.Contents/Migrations.cs
Original file line number Diff line number Diff line change
@@ -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<int> CreateAsync()
{
Expand All @@ -17,8 +18,24 @@ await SchemaBuilder.CreateMapIndexTableAsync<SharedDraftLinkIndex>(table => tabl
.Column<DateTime>("CreatedUtc")
);

return 1;
}

public async Task<int> UpdateFrom1Async()
{
var features = await shellFeaturesManager.GetEnabledFeaturesAsync();

if (!features.Any(f => f.Id == "OrchardCore.Notifications"))
{
await SchemaBuilder.AlterIndexTableAsync<SharedDraftLinkIndex>(table =>
{
table.DropIndex("IDX_NotificationIndex_DocumentId");
table.DropIndex("IDX_NotificationIndex_CreatedBy");
});
}

await SchemaBuilder.AlterIndexTableAsync<SharedDraftLinkIndex>(table => table
.CreateIndex("IDX_NotificationIndex_DocumentId",
.CreateIndex("IDX_SharedDraftLinkIndex_DocumentId",
"DocumentId",
"LinkId",
"ContentItemId",
Expand All @@ -29,13 +46,13 @@ await SchemaBuilder.AlterIndexTableAsync<SharedDraftLinkIndex>(table => table
);

await SchemaBuilder.AlterIndexTableAsync<SharedDraftLinkIndex>(table => table
.CreateIndex("IDX_NotificationIndex_CreatedBy",
.CreateIndex("IDX_SharedDraftLinkIndex_CreatedBy",
"DocumentId",
"ContentItemId",
"CreatedBy",
"CreatedUtc")
);

return 1;
return 2;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

<PropertyGroup>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionPrefix>1.0.1</VersionPrefix>
<Authors>The Orchard Core Contrib Team</Authors>
<Company />
<Description>Provides features related to content management.</Description>
<Description>Provides features related to content management, including share draft contents.</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/OrchardCoreContrib/OrchardCoreContrib.Modules/tree/main/src/OrchardCoreContrib.Contents/README.md</PackageProjectUrl>
Expand Down
5 changes: 3 additions & 2 deletions src/OrchardCoreContrib.Contents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ This module has no dependencies.

## NuGet Packages

| Name | Version |
|---------------------------------------------------------------------------------------------------------------------|-------------|
| Name | Version |
|---------------------------------------------------------------------------------------------------------|-------------|
| [`OrchardCoreContrib.Contents`](https://www.nuget.org/packages/OrchardCoreContrib.Contents/1.0.1) | 1.0.1 |
| [`OrchardCoreContrib.Contents`](https://www.nuget.org/packages/OrchardCoreContrib.Contents/1.0.0) | 1.0.0 |

## Get Started
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
@using OrchardCoreContrib.Contents.ViewModels
@model SharedDraftLinkViewModel
@inject IAuthorizationService AuthorizationService

@{
var dateDiff = Model.Link.ExpirationUtc - DateTime.UtcNow;
}
<div class="btn-group mb-1">
<button type="button" class="btn btn-secondary" data-bs-toggle="modal" data-bs-target="#shareDraftModal">
@T["Share Draft"]
Expand Down Expand Up @@ -31,33 +33,24 @@
Copy to Clipboard
</button>
<p class="text-muted mt-2">
Expires in <span id="expiryCountdown"></span>
@if (dateDiff <= TimeSpan.Zero)
{
<span class="text-danger">@T["Expired"]</span>
}
else
{
var days = (int)Math.Round(dateDiff.TotalDays);
<span>@T["Expires in {0} day(s)", days]</span>
}
</p>
</div>
</div>
</div>
</div>

<script at="Foot">
const copyButton = document.getElementById('copyButton');
const expireyCountdown = document.getElementById("expiryCountdown");

const expiryDate = new Date("@Model.Link.ExpirationUtc.ToString("o")");
const now = new Date();
const diff = expiryDate - now;

if (diff <= 0) {
expireyCountdown.parentElement.setAttribute('class', 'text-danger mt-2')
expireyCountdown.parentElement.innerText = "Expired";
copyButton.disabled = true;
}
else {
const days = Math.floor(diff / (1000*60*60*24));

expireyCountdown.innerText = `${days} days`;
}

function copyUrl() {
const copyButton = document.getElementById('copyButton');
const link = document.getElementById('linkInput').value;
navigator.clipboard.writeText(link);

Expand Down
Loading