make resource for all redirect url end points
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
/**
|
||||
* @ngdoc service
|
||||
* @name umbraco.resources.redirectUrlResource
|
||||
* @function
|
||||
*
|
||||
* @description
|
||||
* Used by the redirect url dashboard to get urls and send requests to remove redirects.
|
||||
*/
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function redirectUrlsResource($http, umbRequestHelper) {
|
||||
|
||||
var redirectBaseUrl = "backoffice/api/RedirectUrlManagement/";
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
* @name umbraco.resources.redirectUrlResource#searchRedirectUrls
|
||||
* @methodOf umbraco.resources.redirectUrlResource
|
||||
* @function
|
||||
*
|
||||
* @description
|
||||
* Called to search redirects
|
||||
* ##usage
|
||||
* <pre>
|
||||
* redirectUrlsResource.searchRedirectUrls("", 0, 20)
|
||||
* .then(function(response) {
|
||||
*
|
||||
* });
|
||||
* </pre>
|
||||
* @param {String} searchTerm Searh term
|
||||
* @param {Int} pageIndex index of the page to retrive items from
|
||||
* @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"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
* @name umbraco.resources.redirectUrlResource#deleteRedirectUrl
|
||||
* @methodOf umbraco.resources.redirectUrlResource
|
||||
* @function
|
||||
*
|
||||
* @description
|
||||
* Called to delete a redirect
|
||||
* ##usage
|
||||
* <pre>
|
||||
* redirectUrlsResource.deleteRedirectUrl(1234)
|
||||
* .then(function() {
|
||||
*
|
||||
* });
|
||||
* </pre>
|
||||
* @param {Int} id Id of the redirect
|
||||
*/
|
||||
function deleteRedirectUrl(id) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(redirectBaseUrl + "DeleteRedirectUrl/" + id),
|
||||
"Failed to remove redirect"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
* @name umbraco.resources.redirectUrlResource#toggleUrlTracker
|
||||
* @methodOf umbraco.resources.redirectUrlResource
|
||||
* @function
|
||||
*
|
||||
* @description
|
||||
* Called to enable or disable redirect url tracker
|
||||
* ##usage
|
||||
* <pre>
|
||||
* redirectUrlsResource.toggleUrlTracker(true)
|
||||
* .then(function() {
|
||||
*
|
||||
* });
|
||||
* </pre>
|
||||
* @param {Bool} disable true/false to disable/enable the url tracker
|
||||
*/
|
||||
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"
|
||||
);
|
||||
}
|
||||
|
||||
var resource = {
|
||||
searchRedirectUrls: searchRedirectUrls,
|
||||
deleteRedirectUrl: deleteRedirectUrl,
|
||||
toggleUrlTracker: toggleUrlTracker,
|
||||
getPublishedUrl: getPublishedUrl
|
||||
};
|
||||
|
||||
return resource;
|
||||
|
||||
}
|
||||
|
||||
angular.module('umbraco.resources').factory('redirectUrlsResource', redirectUrlsResource);
|
||||
|
||||
})();
|
||||
@@ -1,4 +1,4 @@
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.RedirectUrlsController", function($scope, $http, angularHelper, notificationsService, entityResource, $routeParams, $q) {
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.RedirectUrlsController", function($scope, redirectUrlsResource, notificationsService, $q) {
|
||||
//...todo
|
||||
//search by url or url part
|
||||
//search by domain
|
||||
@@ -39,23 +39,23 @@ angular.module("umbraco").controller("Umbraco.Dashboard.RedirectUrlsController",
|
||||
searchTerm = "";
|
||||
}
|
||||
|
||||
$http.get("backoffice/api/RedirectUrlManagement/SearchRedirectUrls/?searchTerm=" + searchTerm + "&page=" + $scope.pagination.pageIndex + "&pageSize=" + $scope.pagination.pageSize).then(function(response) {
|
||||
redirectUrlsResource.searchRedirectUrls(searchTerm, $scope.pagination.pageIndex, $scope.pagination.pageSize).then(function(response) {
|
||||
|
||||
console.log(response);
|
||||
|
||||
$scope.redirectUrls = response.data.SearchResults;
|
||||
$scope.redirectUrls = response.SearchResults;
|
||||
|
||||
// update pagination
|
||||
$scope.pagination.pageIndex = response.data.CurrentPage;
|
||||
$scope.pagination.pageNumber = response.data.CurrentPage + 1;
|
||||
$scope.pagination.totalPages = response.data.PageCount;
|
||||
$scope.pagination.pageIndex = response.CurrentPage;
|
||||
$scope.pagination.pageNumber = response.CurrentPage + 1;
|
||||
$scope.pagination.totalPages = response.PageCount;
|
||||
|
||||
// Set enable/disable state for url tracker
|
||||
$scope.dashboard.UrlTrackerDisabled = response.data.UrlTrackerDisabled;
|
||||
$scope.dashboard.UrlTrackerDisabled = response.UrlTrackerDisabled;
|
||||
|
||||
angular.forEach($scope.redirectUrls, function(item) {
|
||||
$http.get("backoffice/api/RedirectUrlManagement/GetPublishedUrl/?id=" + item.ContentId).then(function(response) {
|
||||
item.ContentUrl = response.data;
|
||||
angular.forEach($scope.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);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -65,44 +65,42 @@ angular.module("umbraco").controller("Umbraco.Dashboard.RedirectUrlsController",
|
||||
};
|
||||
|
||||
$scope.removeRedirect = function(redirectToDelete) {
|
||||
$http.post("backoffice/api/RedirectUrlManagement/DeleteRedirectUrl/" + redirectToDelete.Id).then(function(response) {
|
||||
if (response.status === 200) {
|
||||
|
||||
var index = $scope.redirectUrls.indexOf(redirectToDelete);
|
||||
$scope.redirectUrls.splice(index, 1);
|
||||
redirectUrlsResource.deleteRedirectUrl(redirectToDelete.Id).then(function() {
|
||||
|
||||
var index = $scope.redirectUrls.indexOf(redirectToDelete);
|
||||
$scope.redirectUrls.splice(index, 1);
|
||||
notificationsService.success("Redirect Url Removed!", "Redirect Url " + redirectToDelete.Url + " has been deleted");
|
||||
|
||||
}, function(error) {
|
||||
|
||||
notificationsService.error("Redirect Url Error!", "Redirect Url " + redirectToDelete.Url + " was not deleted");
|
||||
|
||||
notificationsService.success("Redirect Url Removed!", "Redirect Url " + redirectToDelete.Url + " has been deleted");
|
||||
} else {
|
||||
notificationsService.warning("Redirect Url Error!", "Redirect Url " + redirectToDelete.Url + " was not deleted");
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$scope.disableUrlTracker = function() {
|
||||
var toggleConfirm = confirm("Are you sure you want to disable the URL tracker?");
|
||||
if (toggleConfirm) {
|
||||
$http.post("backoffice/api/RedirectUrlManagement/ToggleUrlTracker/?disable=true").then(function(response) {
|
||||
if (response.status === 200) {
|
||||
notificationsService.success("URL Tracker has now been disabled");
|
||||
activate();
|
||||
} else {
|
||||
notificationsService.warning("Error disabling the URL Tracker, more information can be found in your log file.");
|
||||
}
|
||||
|
||||
redirectUrlsResource.toggleUrlTracker(true).then(function() {
|
||||
activate();
|
||||
notificationsService.success("URL Tracker has now been disabled");
|
||||
}, function(error) {
|
||||
notificationsService.warning("Error disabling the URL Tracker, more information can be found in your log file.");
|
||||
});
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$scope.enableUrlTracker = function() {
|
||||
if (toggleConfirm) {
|
||||
$http.post("backoffice/api/RedirectUrlManagement/ToggleUrlTracker/?disable=false").then(function(response) {
|
||||
if (response.status === 200) {
|
||||
notificationsService.success("URL Tracker has now been enabled");
|
||||
activate();
|
||||
} else {
|
||||
notificationsService.warning("Error enabling the URL Tracker, more information can be found in your log file.");
|
||||
}
|
||||
});
|
||||
}
|
||||
redirectUrlsResource.toggleUrlTracker(false).then(function() {
|
||||
activate();
|
||||
notificationsService.success("URL Tracker has now been enabled");
|
||||
}, function(error) {
|
||||
notificationsService.warning("Error enabling the URL Tracker, more information can be found in your log file.");
|
||||
});
|
||||
};
|
||||
|
||||
var filterDebounced = _.debounce(function(e) {
|
||||
|
||||
Reference in New Issue
Block a user