diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java index 7fa0f333..cdfc1e2b 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java @@ -331,7 +331,7 @@ public class UserResource extends BaseResource { // Get the user UserDao userDao = new UserDao(); User user = null; - if (username.equals(Constants.GUEST_USER_ID)) { + if (Constants.GUEST_USER_ID.equals(username)) { if (ConfigUtil.getConfigBooleanValue(ConfigType.GUEST_LOGIN)) { // Login as guest user = userDao.getActiveByUsername(Constants.GUEST_USER_ID); diff --git a/docs-web/src/main/webapp/src/app/docs/app.js b/docs-web/src/main/webapp/src/app/docs/app.js index f68b8b72..62df4bb1 100644 --- a/docs-web/src/main/webapp/src/app/docs/app.js +++ b/docs-web/src/main/webapp/src/app/docs/app.js @@ -106,12 +106,12 @@ angular.module('docs', } } }) - .state('settings.theme', { - url: '/theme', + .state('settings.config', { + url: '/config', views: { 'settings': { - templateUrl: 'partial/docs/settings.theme.html', - controller: 'SettingsTheme' + templateUrl: 'partial/docs/settings.config.html', + controller: 'SettingsConfig' } } }) diff --git a/docs-web/src/main/webapp/src/app/docs/controller/Login.js b/docs-web/src/main/webapp/src/app/docs/controller/Login.js index 9a5fb7ce..28faf4bf 100644 --- a/docs-web/src/main/webapp/src/app/docs/controller/Login.js +++ b/docs-web/src/main/webapp/src/app/docs/controller/Login.js @@ -3,12 +3,24 @@ /** * Login controller. */ -angular.module('docs').controller('Login', function($scope, $rootScope, $state, $dialog, User) { +angular.module('docs').controller('Login', function(Restangular, $scope, $rootScope, $state, $dialog, User) { $scope.codeRequired = false; - /** - * Login. - */ + // Get the app configuration + Restangular.one('app').get().then(function(data) { + $scope.app = data; + }); + + // Login as guest + $scope.loginAsGuest = function() { + $scope.user = { + username: 'guest', + password: '' + }; + $scope.login(); + }; + + // Login $scope.login = function() { User.login($scope.user).then(function() { User.userInfo(true).then(function(data) { diff --git a/docs-web/src/main/webapp/src/app/docs/controller/settings/SettingsTheme.js b/docs-web/src/main/webapp/src/app/docs/controller/settings/SettingsConfig.js similarity index 72% rename from docs-web/src/main/webapp/src/app/docs/controller/settings/SettingsTheme.js rename to docs-web/src/main/webapp/src/app/docs/controller/settings/SettingsConfig.js index 01733743..2c533851 100644 --- a/docs-web/src/main/webapp/src/app/docs/controller/settings/SettingsTheme.js +++ b/docs-web/src/main/webapp/src/app/docs/controller/settings/SettingsConfig.js @@ -1,9 +1,23 @@ 'use strict'; /** - * Settings theme page controller. + * Settings config page controller. */ -angular.module('docs').controller('SettingsTheme', function($scope, $rootScope, Restangular) { +angular.module('docs').controller('SettingsConfig', function($scope, $rootScope, Restangular) { + // Get the app configuration + Restangular.one('app').get().then(function(data) { + $scope.app = data; + }); + + // Enable/disable guest login + $scope.changeGuestLogin = function(enabled) { + Restangular.one('app').post('guest_login', { + enabled: enabled + }).then(function() { + $scope.app.guest_login = enabled; + }); + }; + // Fetch the current theme configuration Restangular.one('theme').get().then(function(data) { $scope.theme = data; diff --git a/docs-web/src/main/webapp/src/index.html b/docs-web/src/main/webapp/src/index.html index a5a6d8ce..c9f40a41 100644 --- a/docs-web/src/main/webapp/src/index.html +++ b/docs-web/src/main/webapp/src/index.html @@ -60,7 +60,7 @@ - + @@ -125,12 +125,13 @@
  • - + {{ userInfo.username }}
  • -
  • +
  • Settings diff --git a/docs-web/src/main/webapp/src/partial/docs/login.html b/docs-web/src/main/webapp/src/partial/docs/login.html index d03c33ed..725c3238 100644 --- a/docs-web/src/main/webapp/src/partial/docs/login.html +++ b/docs-web/src/main/webapp/src/partial/docs/login.html @@ -35,6 +35,12 @@ + +

     

    + + \ No newline at end of file diff --git a/docs-web/src/main/webapp/src/partial/docs/settings.theme.html b/docs-web/src/main/webapp/src/partial/docs/settings.config.html similarity index 77% rename from docs-web/src/main/webapp/src/partial/docs/settings.theme.html rename to docs-web/src/main/webapp/src/partial/docs/settings.config.html index 5f046bc5..b909bbe1 100644 --- a/docs-web/src/main/webapp/src/partial/docs/settings.theme.html +++ b/docs-web/src/main/webapp/src/partial/docs/settings.config.html @@ -1,3 +1,18 @@ +

    + Guest access + + {{ app.guest_login ? 'Enabled' : 'Disabled' }} + +

    +

    + Guest access is a mode where anyone can access {{ appName }} without password.
    + Like a normal user, the guest user can only access its documents and those accessible through permissions.
    +

    +
    + + +
    +

    Theme customization

    diff --git a/docs-web/src/main/webapp/src/partial/docs/settings.html b/docs-web/src/main/webapp/src/partial/docs/settings.html index 6594764f..6c574a65 100644 --- a/docs-web/src/main/webapp/src/partial/docs/settings.html +++ b/docs-web/src/main/webapp/src/partial/docs/settings.html @@ -9,14 +9,14 @@
    -
    -
    General settings
    +
    diff --git a/docs-web/src/main/webapp/src/partial/docs/settings.user.edit.html b/docs-web/src/main/webapp/src/partial/docs/settings.user.edit.html index d9033895..88d44636 100644 --- a/docs-web/src/main/webapp/src/partial/docs/settings.user.edit.html +++ b/docs-web/src/main/webapp/src/partial/docs/settings.user.edit.html @@ -62,7 +62,7 @@ Number required -
    +
    @@ -76,7 +76,7 @@ Too long
    -
    +
    @@ -94,7 +94,7 @@ -