syncope-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SYNCOPE-798) Once authenticated to enduser, "Cancel" brings nowhere
Date Mon, 02 May 2016 13:16:12 GMT

    [ 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)

Mime
View raw message