From 225dc136c1c6fba26b2e4f8b763cbd3fc4d596e3 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 13 Jan 2014 12:37:25 +0000
Subject: [PATCH] #394 feature - Added error messages to Admin module
---
securis/src/main/resources/static/js/admin.js | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/securis/src/main/resources/static/js/admin.js b/securis/src/main/resources/static/js/admin.js
index 4cde879..53b2125 100644
--- a/securis/src/main/resources/static/js/admin.js
+++ b/securis/src/main/resources/static/js/admin.js
@@ -2,7 +2,13 @@
'use strict';
var app = angular.module('app', [ 'ngRoute', 'ngResource', 'toaster', 'localytics.directives', 'catalogs' ]);
-
+
+ var HTTP_ERRORS = {
+ 403: "Forbidden action",
+ 500: "Server error",
+ 404: "Element not found"
+ }
+
app.directive(
'catalogField',
function() {
@@ -25,8 +31,9 @@
app.controller('CatalogsCtrl', [
'$scope',
'$http',
+ 'toaster',
'Catalogs',
- function($scope, $http, Catalogs) {
+ function($scope, $http, toaster, Catalogs) {
$scope.showForm = false;
$scope.isNew = false;
$scope.formu = {};
@@ -57,7 +64,7 @@
$scope.isNew = false;
$scope.formu = {}
for (var k in data) {
- if (k.indexOf('$') !== 0 && !Catalogs.getField(k).listingOnly) $scope.formu[k] = data[k]
+ if (k.indexOf('$') !== 0 && k.indexOf('_') !== 0 && !Catalogs.getField(k).listingOnly) $scope.formu[k] = data[k]
}
setTimeout(function() {
@@ -71,13 +78,16 @@
var promise = Catalogs.remove(data).$promise;
promise.then(function(data) {
$scope.list = Catalogs.query();
+ Catalogs.refreshRef($scope.refs, Catalogs.getMetadata().resource, $scope.list);
+ toaster.pop('success', Catalogs.getName(), "Element deleted successfully");
+ },function(error) {
+ console.log(error);
+ toaster.pop('error', Catalogs.getName(), "Error deleting element, reason: " + HTTP_ERRORS[error.status] + ". Details: " + error.headers('X-SECURIS-ERROR'), 12000);
});
}
});
$scope.showForm = false;
$scope.isNew = false;
- // TODO: Load in formu values for Form
- // $scope.formu = {};
}
} ]);
@@ -119,7 +129,7 @@
$scope.saveCatalog = function() {
if ($scope.catalogForm.$invalid) {
- alert(JSON.stringify($scope.catalogForm))
+ toaster.pop('error', Catalogs.getName(), "There are wrong data in current form, please fix it before to save");
} else {
var promise = Catalogs.save($scope.formu).$promise;
promise.then(function(data, otro) {
@@ -130,8 +140,12 @@
$scope.cancel();
}
$scope.$parent.list = Catalogs.query();
+ Catalogs.refreshRef($scope.refs, Catalogs.getMetadata().resource, $scope.$parent.list);
+
+ toaster.pop('success', Catalogs.getName(), "Element saved successfully");
}, function(error) {
console.log(error);
+ toaster.pop('error', Catalogs.getName(), "Error saving element, reason: " + HTTP_ERRORS[error.status] + ". Details: " + error.headers('X-SECURIS-ERROR'), 12000);
});
}
@@ -146,7 +160,7 @@
var type = Catalogs.getField(name).type;
var printedValue = type === 'date' ? $filter('date')(value, 'yyyy-MM-dd') : value;
if (printedValue !== value) // this line is a work around to allow search in formatted fields
- row['$display_'+name] = printedValue;
+ row['_display_'+name] = printedValue;
return printedValue;
}
--
Gitblit v1.3.2