[
https://issues.apache.org/jira/browse/SYNCOPE-798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15266583#comment-15266583
]
ASF GitHub Bot commented on SYNCOPE-798:
----------------------------------------
Github user ilgrosso commented on a diff in the pull request:
https://github.com/apache/syncope/pull/13#discussion_r61736403
--- Diff:
client/enduser/src/main/resources/META-INF/resources/app/js/app.js ---
@@ -27,394 +29,409 @@ angular.module('info', []);
// Declare app level module which depends on views, and components
var app = angular.module('SyncopeEnduserApp', [
- 'ui.router',
- 'ui.bootstrap',
- 'ui.select',
- 'ngSanitize',
- 'ngAnimate',
- 'ngResource',
- 'ngCookies',
- 'treasure-overlay-spinner',
- 'ngPasswordStrength',
- 'kendo.directives',
- 'home',
- 'login',
- 'language',
- 'self',
- 'info'
+ 'ui.router',
+ 'ui.bootstrap',
+ 'ui.select',
+ 'ngSanitize',
+ 'ngAnimate',
+ 'ngResource',
+ 'ngCookies',
+ 'treasure-overlay-spinner',
+ 'ngPasswordStrength',
+ 'kendo.directives',
+ 'home',
+ 'login',
+ 'language',
+ 'self',
+ 'info'
]);
app.config(['$stateProvider', '$urlRouterProvider', '$httpProvider',
- function ($stateProvider, $urlRouterProvider, $httpProvider) {
- // route configuration
- $stateProvider
- .state('home', {
- url: '/',
- templateUrl: 'views/self.html'
- })
- .state('self', {
- url: '/self',
- templateUrl: 'views/self.html'
- })
- .state('user-self-update', {
- url: '/user-self-update',
- templateUrl: 'views/home.html',
- controller: 'HomeController',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('create', {
- url: '/self/create',
- templateUrl: 'views/editUser.html'
- })
- // nested states
- // each of these sections will have their own view
- // url will be nested (/self/create)
- .state('create.credentials', {
- url: '/credentials',
- templateUrl: 'views/user-credentials.html'
- })
- .state('create.groups', {
- url: '/groups',
- templateUrl: 'views/user-groups.html'
- })
- .state('create.plainSchemas', {
- url: '/plainSchemas',
- templateUrl: 'views/user-plain-schemas.html'
- })
- .state('create.derivedSchemas', {
- url: '/derivedSchemas',
- templateUrl: 'views/user-derived-schemas.html'
- })
- .state('create.virtualSchemas', {
- url: '/virtualSchemas',
- templateUrl: 'views/user-virtual-schemas.html'
- })
- .state('create.resources', {
- url: '/resources',
- templateUrl: 'views/user-resources.html'
- })
- .state('create.finish', {
- url: '/finish',
- templateUrl: 'views/user-form-finish.html'
- })
- .state('update', {
- url: '/self/update',
- templateUrl: 'views/editUser.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- // nested states
- // each of these sections will have their own view
- // url will be nested (/self/update)
- .state('update.credentials', {
- url: '/credentials',
- templateUrl: 'views/user-credentials.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('update.plainSchemas', {
- url: '/plainSchemas',
- templateUrl: 'views/user-plain-schemas.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('update.derivedSchemas', {
- url: '/derivedSchemas',
- templateUrl: 'views/user-derived-schemas.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('update.virtualSchemas', {
- url: '/virtualSchemas',
- templateUrl: 'views/user-virtual-schemas.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('update.groups', {
- url: '/groups',
- templateUrl: 'views/user-groups.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('update.resources', {
- url: '/resources',
- templateUrl: 'views/user-resources.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('update.finish', {
- url: '/finish',
- templateUrl: 'views/user-form-finish.html',
- resolve: {
- 'authenticated': function (AuthenticationHelper) {
- return AuthenticationHelper.authenticated();
- }
- }
- })
- .state('passwordreset', {
- url: '/passwordreset',
- templateUrl: 'views/passwordreset.html'
- })
- .state('confirmpasswordreset', {
- url: '/confirmpasswordreset?token',
- templateUrl: 'views/confirmpasswordreset.html'
- })
- .state('mustchangepassword', {
- url: '/mustchangepassword',
- templateUrl: 'views/mustchangepassword.html'
- });
+ function ($stateProvider, $urlRouterProvider, $httpProvider) {
+ // route configuration
+ $stateProvider
+ .state('home', {
+ url: '/',
+ templateUrl: 'views/self.html'
+ })
+ .state('self', {
+ url: '/self',
+ templateUrl: 'views/self.html'
+ })
+ .state('user-self-update', {
+ url: '/user-self-update',
+ templateUrl: 'views/home.html',
+ controller: 'HomeController',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged()
+ }]
+ }
+ })
+ .state('create', {
+ url: '/self/create',
+ templateUrl: 'views/editUser.html'
+ })
+ // nested states
+ // each of these sections will have their own view
+ // url will be nested (/self/create)
+ .state('create.credentials', {
+ url: '/credentials',
+ templateUrl: 'views/user-credentials.html'
+ })
+ .state('create.groups', {
+ url: '/groups',
+ templateUrl: 'views/user-groups.html'
+ })
+ .state('create.plainSchemas', {
+ url: '/plainSchemas',
+ templateUrl: 'views/user-plain-schemas.html'
+ })
+ .state('create.derivedSchemas', {
+ url: '/derivedSchemas',
+ templateUrl: 'views/user-derived-schemas.html'
+ })
+ .state('create.virtualSchemas', {
+ url: '/virtualSchemas',
+ templateUrl: 'views/user-virtual-schemas.html'
+ })
+ .state('create.resources', {
+ url: '/resources',
+ templateUrl: 'views/user-resources.html'
+ })
+ .state('create.finish', {
+ url: '/finish',
+ templateUrl: 'views/user-form-finish.html'
+ })
+ .state('update', {
+ url: '/self/update',
+ templateUrl: 'views/editUser.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ // nested states
+ // each of these sections will have their own view
+ // url will be nested (/self/update)
+ .state('update.credentials', {
+ url: '/credentials',
+ templateUrl: 'views/user-credentials.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('update.plainSchemas', {
+ url: '/plainSchemas',
+ templateUrl: 'views/user-plain-schemas.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('update.derivedSchemas', {
+ url: '/derivedSchemas',
+ templateUrl: 'views/user-derived-schemas.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('update.virtualSchemas', {
+ url: '/virtualSchemas',
+ templateUrl: 'views/user-virtual-schemas.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('update.groups', {
+ url: '/groups',
+ templateUrl: 'views/user-groups.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('update.resources', {
+ url: '/resources',
+ templateUrl: 'views/user-resources.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('update.finish', {
+ url: '/finish',
+ templateUrl: 'views/user-form-finish.html',
+ resolve: {
+ 'authenticated': ['AuthService',
+ function (AuthService) {
+ return AuthService.islogged();
+ }]
+ }
+ })
+ .state('passwordreset', {
+ url: '/passwordreset',
+ templateUrl: 'views/passwordreset.html'
+ })
+ .state('confirmpasswordreset', {
+ url: '/confirmpasswordreset?token',
+ templateUrl: 'views/confirmpasswordreset.html'
+ })
+ .state('mustchangepassword', {
+ url: '/mustchangepassword',
+ templateUrl: 'views/mustchangepassword.html'
+ });
- // catch all other routes
- // send users to the home page
- $urlRouterProvider.otherwise('/');
+ // catch all other routes
+ // send users to the home page
+ $urlRouterProvider.otherwise('/');
- // HTTP service configuration
- $httpProvider.defaults.withCredentials = true;
- $httpProvider.defaults.xsrfCookieName = 'XSRF-TOKEN';
- $httpProvider.defaults.xsrfHeaderName = 'X-XSRF-TOKEN';
-
- //SYNCOPE-780
- $httpProvider.defaults.headers.common["If-Modified-Since"] = "0";
+ // HTTP service configuration
+ $httpProvider.defaults.withCredentials = true;
+ $httpProvider.defaults.xsrfCookieName = 'XSRF-TOKEN';
+ $httpProvider.defaults.xsrfHeaderName = 'X-XSRF-TOKEN';
- $httpProvider.interceptors.push(function ($q, $rootScope, $location) {
- var numLoadings = 0;
- return {
- 'request': function (config, a, b) {
- //if the url is an html, we're changing page
- if (config.url.indexOf('.html', config.url.length - 5) == -1) {
- $rootScope.$broadcast("xhrStarted");
- }
- $rootScope.spinner.on();
- return config || $q.when(config);
- },
- 'response': function (response) {
- //$http.pendingRequests.length
- $rootScope.spinner.off();
- return response || $q.when(response);
- },
- 'responseError': function (response) {
- $rootScope.spinner.off();
- if (response.config.url.indexOf("acceptError=true") == -1) {
- var status = response.status;
- if (status == 401) {
- console.log("ERROR " + status);
- }
- if (status == 403) {
- console.log("UNAUTHORIZED " + status);
- }
- if (status == 400 || status == 404 || status == 412 || status
== 500) {
- console.log("GENERIC ERROR " + status);
- }
- }
- return $q.reject(response);
- }
- };
- });
+ //SYNCOPE-780
+ $httpProvider.defaults.headers.common["If-Modified-Since"] = "0";
+
+ $httpProvider.interceptors.push(function ($q, $rootScope,
$location) {
+ var numLoadings = 0;
+ return {
+ 'request': function (config, a, b) {
+ //if the url is an html, we're changing page
+ if (config.url.indexOf('.html', config.url.length - 5)
== -1) {
+ $rootScope.$broadcast("xhrStarted");
+ }
+ $rootScope.spinner.on();
+ return config || $q.when(config);
+ },
+ 'response': function (response) {
+ //$http.pendingRequests.length
+ $rootScope.spinner.off();
+ return response || $q.when(response);
+ },
+ 'responseError': function (response) {
+ $rootScope.spinner.off();
+ if (response.config.url.indexOf("acceptError=true") ==
-1) {
+ var status = response.status;
+ if (status == 401) {
+ console.log("ERROR " + status);
+ }
+ if (status == 403) {
+ console.log("UNAUTHORIZED " + status);
+ }
+ if (status == 400 || status == 404 || status ==
412 || status == 500) {
+ console.log("GENERIC ERROR " + status);
+ }
+ }
+ return $q.reject(response);
+ }
+ };
+ });
- }]);
+ }]);
-app.run(['$rootScope', '$location', '$cookies', '$state',
- function ($rootScope, $location, $cookies, $state) {
- // main program
- // keep user logged in after page refresh
- // check if user is logged or not
- $rootScope.currentUser = $cookies.get('currentUser') || null;
- //If the route change failed due to authentication error, redirect
them out
- $rootScope.$on('$routeChangeError', function (event, current,
previous, rejection) {
- if (rejection === 'Not Authenticated') {
- $location.path('/self');
- }
- });
+app.run(['$rootScope', '$location', '$cookies', '$state', 'AuthService',
+ function ($rootScope, $location, $cookies, $state, AuthService) {
+ // main program
+ // keep user logged in after page refresh
+ //If the route change failed due to authentication error, redirect
them out
+ $rootScope.$on('$routeChangeError', function (event, current,
previous, rejection) {
+ if (rejection === 'Not Authenticated') {
+ $location.path('/self');
+ }
+ });
- $rootScope.$on('$stateChangeSuccess', function (event, toState) {
- if (toState.name === 'create') {
- $state.go('create.credentials');
- } else if (toState.name === 'update') {
- $state.go('update.credentials');
- }
- else {
- $state.go(toState);
- }
- });
+ $rootScope.$on('$stateChangeSuccess', function (event, toState) {
+ if (toState.name === 'create') {
+ $state.go('create.credentials');
+
+ }else if (toState.name === 'update') {
+ $state.go('update.credentials');
+
+ } else if (toState.name.indexOf("update") > -1) {
+ AuthService.islogged().then(function (response) {
+ if (response === "true") {
+ $state.go(toState);
+ } else {
+ $state.go('self');
+ }
+ }, function (response) {
+ console.log("not logged");
+ $state.go('self');
+ }
+ );
+
+ } else if (toState.name === 'home' || toState.name === 'self'
) {
+ AuthService.islogged().then(function (response) {
--- End diff --
Also here: rename `AuthService`.
> Once authenticated to enduser, "Cancel" brings nowhere
> -------------------------------------------------------
>
> Key: SYNCOPE-798
> URL: https://issues.apache.org/jira/browse/SYNCOPE-798
> Project: Syncope
> Issue Type: Bug
> Components: enduser
> Affects Versions: 2.0.0-M2
> Reporter: Francesco Chicchiriccò
> Assignee: Matteo Di Carlo
> Fix For: 2.0.0
>
> Attachments: pointless page.png
>
>
> How to reproduce:
> # log into enduser
> # hit the red button Cancel on the bottom
> # you are redirected to an empty page (see screenshot attached)
> Cancel should be equivalent to Logout (so it is really needed? The logout
> button is already there).
> Incidentally, the same pointless page is returned when accessing
> /syncope-enduser if authenticated - which looks wrong, the excepted landing
> page should be first one, e.g. "crendentials".
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)