Skip to content

Commit 166f07d

Browse files
authored
Merge pull request #168 from TechnologyEnhancedLearning/Develop/Fixes/LH-TD-3846-Logs-are-Getting-Saved-in-Production-Log-Resource-Version
TD-3846- Logs are Getting Saved in Production Log-Resource Version
2 parents 3aaeae0 + 4baa333 commit 166f07d

File tree

2 files changed

+73
-63
lines changed

2 files changed

+73
-63
lines changed

LearningHub.Nhs.WebUI/Controllers/LearningSessionsController.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,12 @@ public LearningSessionsController(
5454
public async Task<IActionResult> Scorm(int id)
5555
{
5656
var rv = await this.resourceService.GetItemByIdAsync(id);
57+
if (rv != null)
58+
{
59+
this.ViewBag.FilePath = $"/ScormContent/{rv.ScormDetails.ContentFilePath}/{rv.ScormDetails.ScormManifest.ManifestUrl}";
60+
}
5761

5862
this.ViewBag.ResourceReferenceId = id;
59-
this.ViewBag.FilePath = $"/ScormContent/{rv.ScormDetails.ContentFilePath}/{rv.ScormDetails.ScormManifest.ManifestUrl}";
6063
this.ViewBag.KeepUserSessionAliveInterval = Convert.ToInt32(this.settings.Value.KeepUserSessionAliveIntervalMins) * 60000;
6164
this.ViewBag.UseTraceWindow = await this.userGroupService.UserHasPermissionAsync("Scorm_Trace_Window");
6265

WebAPI/LearningHub.Nhs.Services/ResourceService.cs

Lines changed: 69 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1646,64 +1646,71 @@ public async Task<ResourceItemViewModel> GetResourceItemViewModelAsync(int resou
16461646
// - set field ResourceVersionIdInEdit / ResourceVersionIdPublishing for this scenario, required for UI rendering
16471647
var rv = await this.resourceVersionRepository.GetCurrentForResourceReferenceIdAsync(resourceReferenceId);
16481648

1649-
int resourceVersionIdInEdit = 0;
1650-
int resourceVersionIdPublishing = 0;
1651-
1652-
if (rv.VersionStatusEnum == VersionStatusEnum.Draft || rv.VersionStatusEnum == VersionStatusEnum.Publishing)
1649+
if (rv != null)
16531650
{
1654-
var rvp = await this.resourceVersionRepository.GetCurrentPublicationForResourceReferenceIdAsync(resourceReferenceId);
1651+
int resourceVersionIdInEdit = 0;
1652+
int resourceVersionIdPublishing = 0;
16551653

1656-
if (rvp != null && rv.VersionStatusEnum == VersionStatusEnum.Draft)
1654+
if (rv.VersionStatusEnum == VersionStatusEnum.Draft || rv.VersionStatusEnum == VersionStatusEnum.Publishing)
16571655
{
1658-
resourceVersionIdInEdit = rv.Id;
1659-
}
1656+
var rvp = await this.resourceVersionRepository.GetCurrentPublicationForResourceReferenceIdAsync(resourceReferenceId);
16601657

1661-
if (rvp != null && rv.VersionStatusEnum == VersionStatusEnum.Publishing)
1662-
{
1663-
resourceVersionIdPublishing = rv.Id;
1658+
if (rvp != null && rv.VersionStatusEnum == VersionStatusEnum.Draft)
1659+
{
1660+
resourceVersionIdInEdit = rv.Id;
1661+
}
1662+
1663+
if (rvp != null && rv.VersionStatusEnum == VersionStatusEnum.Publishing)
1664+
{
1665+
resourceVersionIdPublishing = rv.Id;
1666+
}
1667+
1668+
rv = rvp;
16641669
}
16651670

1666-
rv = rvp;
1667-
}
1671+
var erv = await this.GetResourceVersionExtendedViewModelAsync(rv.Id, userId);
1672+
1673+
var retVal = new ResourceItemViewModel(erv);
1674+
retVal.Id = resourceReferenceId;
1675+
var bookmark = this.bookmarkRepository.GetAll().Where(b => b.ResourceReferenceId == resourceReferenceId && b.UserId == userId).FirstOrDefault();
1676+
retVal.BookmarkId = bookmark?.Id;
1677+
retVal.IsBookmarked = !bookmark?.Deleted ?? false;
1678+
retVal.ReadOnly = readOnly;
1679+
retVal.DisplayForContributor = await this.UserCanEditResourceVersion(rv.CreateUserId, rv.Id, userId);
1680+
retVal.ResourceVersionIdInEdit = resourceVersionIdInEdit;
1681+
retVal.ResourceVersionIdPublishing = resourceVersionIdPublishing;
1682+
retVal.ResourceAccessibilityEnum = rv.ResourceAccessibilityEnum;
1683+
1684+
// Obtain catalogue associated with the supplied Resource Reference.
1685+
var rr = await this.resourceReferenceRepository.GetByOriginalResourceReferenceIdAsync(resourceReferenceId, true);
1686+
var catalogueNodeVersion = this.catalogueNodeVersionRepository.GetBasicCatalogue(rr.NodePath.CatalogueNode.Id);
1687+
retVal.Catalogue = this.mapper.Map<CatalogueViewModel>(catalogueNodeVersion);
1688+
retVal.NodePathId = rr.NodePathId.Value;
16681689

1669-
var erv = await this.GetResourceVersionExtendedViewModelAsync(rv.Id, userId);
1690+
switch (rv.Resource.ResourceTypeEnum)
1691+
{
1692+
case ResourceTypeEnum.Case:
1693+
retVal.CaseDetails = erv.CaseDetails;
1694+
break;
16701695

1671-
var retVal = new ResourceItemViewModel(erv);
1672-
retVal.Id = resourceReferenceId;
1673-
var bookmark = this.bookmarkRepository.GetAll().Where(b => b.ResourceReferenceId == resourceReferenceId && b.UserId == userId).FirstOrDefault();
1674-
retVal.BookmarkId = bookmark?.Id;
1675-
retVal.IsBookmarked = !bookmark?.Deleted ?? false;
1676-
retVal.ReadOnly = readOnly;
1677-
retVal.DisplayForContributor = await this.UserCanEditResourceVersion(rv.CreateUserId, rv.Id, userId);
1678-
retVal.ResourceVersionIdInEdit = resourceVersionIdInEdit;
1679-
retVal.ResourceVersionIdPublishing = resourceVersionIdPublishing;
1680-
retVal.ResourceAccessibilityEnum = rv.ResourceAccessibilityEnum;
1681-
1682-
// Obtain catalogue associated with the supplied Resource Reference.
1683-
var rr = await this.resourceReferenceRepository.GetByOriginalResourceReferenceIdAsync(resourceReferenceId, true);
1684-
var catalogueNodeVersion = this.catalogueNodeVersionRepository.GetBasicCatalogue(rr.NodePath.CatalogueNode.Id);
1685-
retVal.Catalogue = this.mapper.Map<CatalogueViewModel>(catalogueNodeVersion);
1686-
retVal.NodePathId = rr.NodePathId.Value;
1687-
1688-
switch (rv.Resource.ResourceTypeEnum)
1689-
{
1690-
case ResourceTypeEnum.Case:
1691-
retVal.CaseDetails = erv.CaseDetails;
1692-
break;
1696+
case ResourceTypeEnum.Assessment:
1697+
retVal.AssessmentDetails = erv.AssessmentDetails;
1698+
break;
16931699

1694-
case ResourceTypeEnum.Assessment:
1695-
retVal.AssessmentDetails = erv.AssessmentDetails;
1696-
break;
1700+
case ResourceTypeEnum.Html:
1701+
retVal.HtmlDetails = erv.HtmlDetails;
1702+
break;
16971703

1698-
case ResourceTypeEnum.Html:
1699-
retVal.HtmlDetails = erv.HtmlDetails;
1700-
break;
1704+
default:
1705+
break;
1706+
}
17011707

1702-
default:
1703-
break;
1708+
return retVal;
1709+
}
1710+
else
1711+
{
1712+
return null;
17041713
}
1705-
1706-
return retVal;
17071714
}
17081715

17091716
/// <summary>
@@ -3225,30 +3232,30 @@ await strategy.Execute(
32253232
/// <returns>The <see cref="Task{LearningHubValidationResult}"/>.</returns>
32263233
public async Task CheckAndRemoveResourceVersionProviderAsync(int resourceVersionId, int userId)
32273234
{
3228-
List<int> userProviderList = new List<int>();
3235+
List<int> userProviderList = new List<int>();
32293236

3230-
// list of resource version provider
3231-
var resourceProviderList = await this.providerService.GetByResourceVersionIdAsync(resourceVersionId);
3237+
// list of resource version provider
3238+
var resourceProviderList = await this.providerService.GetByResourceVersionIdAsync(resourceVersionId);
32323239

3233-
// list of user providers
3234-
var userProviders = await this.providerService.GetByUserIdAsync(userId);
3240+
// list of user providers
3241+
var userProviders = await this.providerService.GetByUserIdAsync(userId);
32353242

3236-
if (userProviders != null && userProviders.Count > 0)
3237-
{
3238-
userProviderList.AddRange(userProviders.Select(n => n.Id).ToList());
3239-
}
3243+
if (userProviders != null && userProviders.Count > 0)
3244+
{
3245+
userProviderList.AddRange(userProviders.Select(n => n.Id).ToList());
3246+
}
32403247

3241-
// delete provider from resource version if user do not have permission.
3242-
if (resourceProviderList != null && resourceProviderList.Count > 0)
3248+
// delete provider from resource version if user do not have permission.
3249+
if (resourceProviderList != null && resourceProviderList.Count > 0)
3250+
{
3251+
foreach (ProviderViewModel resourceProvider in resourceProviderList)
32433252
{
3244-
foreach (ProviderViewModel resourceProvider in resourceProviderList)
3253+
if (!userProviderList.Contains(resourceProvider.Id))
32453254
{
3246-
if (!userProviderList.Contains(resourceProvider.Id))
3247-
{
3248-
await this.resourceVersionProviderRepository.DeleteAsync(resourceVersionId, resourceProvider.Id, userId);
3249-
}
3255+
await this.resourceVersionProviderRepository.DeleteAsync(resourceVersionId, resourceProvider.Id, userId);
32503256
}
32513257
}
3258+
}
32523259
}
32533260

32543261
/// <summary>

0 commit comments

Comments
 (0)