Fixes 301 redirect js naming conventions, fixes URL handling, moves c# classes to the correct/constistent namespaces, fixes up models and N+1 requests, adds model mapping to not return the business logic model, adds controller method to check if it's enabled instead of returning the result as part of the search.
This commit is contained in:
@@ -11,8 +11,6 @@
|
||||
|
||||
function redirectUrlsResource($http, umbRequestHelper) {
|
||||
|
||||
var redirectBaseUrl = "backoffice/api/RedirectUrlManagement/";
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
* @name umbraco.resources.redirectUrlResource#searchRedirectUrls
|
||||
@@ -33,10 +31,24 @@
|
||||
* @param {Int} pageSize The number of items on a page
|
||||
*/
|
||||
function searchRedirectUrls(searchTerm, pageIndex, pageSize) {
|
||||
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(redirectBaseUrl + "SearchRedirectUrls/?searchTerm=" + searchTerm + "&page=" + pageIndex + "&pageSize=" + pageSize),
|
||||
"Failed to retrieve redirects"
|
||||
);
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"redirectUrlManagementApiBaseUrl",
|
||||
"SearchRedirectUrls",
|
||||
{ searchTerm: searchTerm, pageIndex: pageIndex, pageSize: pageSize })),
|
||||
'Failed to retrieve data for searching redirect urls');
|
||||
}
|
||||
|
||||
function isEnabled() {
|
||||
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"redirectUrlManagementApiBaseUrl",
|
||||
"IsEnabled")),
|
||||
'Failed to retrieve data to check if the 301 redirect is enabled');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -58,9 +70,11 @@
|
||||
*/
|
||||
function deleteRedirectUrl(id) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(redirectBaseUrl + "DeleteRedirectUrl/" + id),
|
||||
"Failed to remove redirect"
|
||||
);
|
||||
$http.post(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"redirectUrlManagementApiBaseUrl",
|
||||
"DeleteRedirectUrl", { id: id })),
|
||||
'Failed to remove redirect');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -82,40 +96,18 @@
|
||||
*/
|
||||
function toggleUrlTracker(disable) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(redirectBaseUrl + "ToggleUrlTracker/?disable=" + disable),
|
||||
"Failed to toggle redirect url tracker"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
* @name umbraco.resources.redirectUrlResource#getPublishedUrl
|
||||
* @methodOf umbraco.resources.redirectUrlResource
|
||||
* @function
|
||||
*
|
||||
* @description
|
||||
* Called to get the published url for a content item
|
||||
* ##usage
|
||||
* <pre>
|
||||
* redirectUrlsResource.getPublishedUrl(1234)
|
||||
* .then(function() {
|
||||
*
|
||||
* });
|
||||
* </pre>
|
||||
* @param {Int} contentId The content id of the item to get the published url
|
||||
*/
|
||||
function getPublishedUrl(contentId) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(redirectBaseUrl + "GetPublishedUrl/?id=" + contentId),
|
||||
"Failed to get published url"
|
||||
);
|
||||
$http.post(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"redirectUrlManagementApiBaseUrl",
|
||||
"ToggleUrlTracker", { disable: disable })),
|
||||
'Failed to toggle redirect url tracker');
|
||||
}
|
||||
|
||||
var resource = {
|
||||
searchRedirectUrls: searchRedirectUrls,
|
||||
deleteRedirectUrl: deleteRedirectUrl,
|
||||
toggleUrlTracker: toggleUrlTracker,
|
||||
getPublishedUrl: getPublishedUrl
|
||||
isEnabled: isEnabled
|
||||
};
|
||||
|
||||
return resource;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
vm.dashboard = {
|
||||
searchTerm: "",
|
||||
loading: false,
|
||||
UrlTrackerDisabled: false
|
||||
urlTrackerDisabled: false
|
||||
};
|
||||
|
||||
vm.pagination = {
|
||||
@@ -30,9 +30,20 @@
|
||||
vm.disableUrlTracker = disableUrlTracker;
|
||||
vm.enableUrlTracker = enableUrlTracker;
|
||||
vm.filter = filter;
|
||||
vm.checkEnabled = checkEnabled;
|
||||
|
||||
function activate() {
|
||||
vm.search();
|
||||
function activate() {
|
||||
vm.checkEnabled().then(function() {
|
||||
vm.search();
|
||||
});
|
||||
}
|
||||
|
||||
function checkEnabled() {
|
||||
vm.dashboard.loading = true;
|
||||
return redirectUrlsResource.isEnabled().then(function (response) {
|
||||
vm.dashboard.urlTrackerDisabled = response !== "true";
|
||||
vm.dashboard.loading = false;
|
||||
});
|
||||
}
|
||||
|
||||
function goToPage(pageNumber) {
|
||||
@@ -52,24 +63,13 @@
|
||||
|
||||
redirectUrlsResource.searchRedirectUrls(searchTerm, vm.pagination.pageIndex, vm.pagination.pageSize).then(function(response) {
|
||||
|
||||
vm.redirectUrls = response.SearchResults;
|
||||
vm.redirectUrls = response.searchResults;
|
||||
|
||||
// update pagination
|
||||
vm.pagination.pageIndex = response.CurrentPage;
|
||||
vm.pagination.pageNumber = response.CurrentPage + 1;
|
||||
vm.pagination.pageIndex = response.currentPage;
|
||||
vm.pagination.pageNumber = response.currentPage + 1;
|
||||
vm.pagination.totalPages = response.PageCount;
|
||||
|
||||
// Set enable/disable state for url tracker
|
||||
vm.dashboard.UrlTrackerDisabled = response.UrlTrackerDisabled;
|
||||
|
||||
angular.forEach(vm.redirectUrls, function(redirect) {
|
||||
redirectUrlsResource.getPublishedUrl(redirect.ContentId).then(function(response) {
|
||||
redirect.ContentUrl = response;
|
||||
}, function(error) {
|
||||
notificationsService.error("Redirect Url Error!", "Failed to get published url for " + redirect.Url);
|
||||
});
|
||||
});
|
||||
|
||||
vm.dashboard.loading = false;
|
||||
|
||||
});
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
function removeRedirect(redirectToDelete) {
|
||||
|
||||
redirectUrlsResource.deleteRedirectUrl(redirectToDelete.ContentKey).then(function () {
|
||||
redirectUrlsResource.deleteRedirectUrl(redirectToDelete.redirectId).then(function () {
|
||||
|
||||
var index = vm.redirectUrls.indexOf(redirectToDelete);
|
||||
vm.redirectUrls.splice(index, 1);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<umb-editor-sub-header-section>
|
||||
|
||||
<button
|
||||
ng-if="vm.dashboard.UrlTrackerDisabled === false"
|
||||
ng-if="vm.dashboard.urlTrackerDisabled === false"
|
||||
type="button"
|
||||
class="umb-era-button umb-button--s"
|
||||
ng-click="vm.disableUrlTracker()">
|
||||
@@ -17,7 +17,7 @@
|
||||
</button>
|
||||
|
||||
<button
|
||||
ng-if="vm.dashboard.UrlTrackerDisabled === true"
|
||||
ng-if="vm.dashboard.urlTrackerDisabled === true"
|
||||
type="button"
|
||||
class="umb-era-button umb-button--s -blue"
|
||||
ng-click="vm.enableUrlTracker()">
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
</umb-editor-sub-header-section>
|
||||
|
||||
<umb-editor-sub-header-section ng-if="vm.dashboard.UrlTrackerDisabled === false">
|
||||
<umb-editor-sub-header-section ng-if="vm.dashboard.urlTrackerDisabled === false">
|
||||
|
||||
<input
|
||||
class="-full-width-input"
|
||||
@@ -42,7 +42,7 @@
|
||||
</umb-editor-sub-header>
|
||||
|
||||
|
||||
<div class="umb-table" ng-class="{'umb-table-inactive': vm.dashboard.UrlTrackerDisabled === true}">
|
||||
<div class="umb-table" ng-class="{'umb-table-inactive': vm.dashboard.urlTrackerDisabled === true}">
|
||||
|
||||
<div class="umb-table-head">
|
||||
<div class="umb-table-row">
|
||||
@@ -63,19 +63,19 @@
|
||||
</div>
|
||||
|
||||
<div class="umb-table-cell">
|
||||
<a class="umb-table-body__link" href="{{redirectUrl.Url}}" title="{{redirectUrl.Url}}">{{redirectUrl.Url}}</a>
|
||||
<a class="umb-table-body__link" href="{{redirectUrl.originalUrl}}" title="{{redirectUrl.originalUrl}}">{{redirectUrl.originalUrl}}</a>
|
||||
</div>
|
||||
|
||||
<div class="umb-table-cell">
|
||||
<a class="umb-table-body__link" href="{{redirectUrl.ContentUrl}}" title="{{redirectUrl.ContentUrl}}">{{redirectUrl.ContentUrl}}</a>
|
||||
<a class="umb-table-body__link" href="{{redirectUrl.destinationUrl}}" title="{{redirectUrl.destinationUrl}}">{{redirectUrl.destinationUrl}}</a>
|
||||
</div>
|
||||
|
||||
<div class="umb-table-cell">
|
||||
{{redirectUrl.CreateDateUtc | date:'medium'}}
|
||||
{{redirectUrl.createDateUtc | date:'medium'}}
|
||||
</div>
|
||||
|
||||
<div class="umb-table-cell justify-end">
|
||||
<a href="/umbraco/#/content/content/edit/{{redirectUrl.ContentId}}" class="umb-era-button -gray umb-button--s" style="margin-right: 10px;">Edit</a>
|
||||
<a href="/umbraco/#/content/content/edit/{{redirectUrl.contentId}}" class="umb-era-button -gray umb-button--s" style="margin-right: 10px;">Edit</a>
|
||||
<button class="umb-era-button -gray umb-button--s" ng-click="vm.removeRedirect(redirectUrl)">Remove</button>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user