Pārlūkot izejas kodu

Finish general layout for Change Password dialog on HelpDesk detail page

Joseph White 7 gadi atpakaļ
vecāks
revīzija
6b4f7236d6

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 113 - 113
client/package-lock.json


+ 1 - 1
client/src/changepassword/type-change-password.component.html

@@ -70,7 +70,7 @@
                         ng-disabled="!$ctrl.passwordAcceptable">{{ 'Button_ChangePassword' | translate }}
             </ias-button>
             <ias-button ng-click="$ctrl.onClickRandomPasswords()"
-                        ng-if="$ctrl.passwordUiMode === 'BOTH'">{{ 'Title_RandomPasswords' | translate }}
+                        ng-if="$ctrl.passwordUiMode === 'both'">{{ 'Title_RandomPasswords' | translate }}
             </ias-button>
         </div>
 

+ 1 - 4
client/src/changepassword/type-change-password.controller.ts

@@ -142,16 +142,14 @@ export default class TypeChangePasswordController {
         if (this.pendingValidation) {
             return;
         }
-
         this.pendingValidation = true;
 
-
         this.passwordService.validatePassword(this.password1, this.password2, this.personUserKey)
             .then(
                 (data: IValidatePasswordData) => {
                     this.pendingValidation = false;
                     if (data.version !== 2) {
-                        // TODO: error message - '[ unexpected version string from server ]'
+                        throw new Error('[ unexpected version string from server ]');
                     }
 
                     this.passwordAcceptable = data.passed && data.match === 'MATCH';
@@ -181,7 +179,6 @@ export default class TypeChangePasswordController {
                     this.pendingValidation = false;
                     this.$log.error(result);
                     this.message = this.translateFilter('Display_CommunicationError');
-
                 }
             );
 

+ 17 - 30
client/src/helpdesk/helpdesk-detail.component.ts

@@ -41,9 +41,6 @@ const STATUS_WAIT = 'wait';
 const STATUS_CONFIRM = 'confirm';
 const STATUS_SUCCESS = 'success';
 
-declare const PWM_HELPDESK: any;
-declare const PWM_VAR: any;
-
 @Component({
     stylesheetUrl: require('helpdesk/helpdesk-detail.component.scss'),
     templateUrl: require('helpdesk/helpdesk-detail.component.html')
@@ -61,6 +58,7 @@ export default class HelpDeskDetailComponent {
         'IasDialogService',
         'PeopleService'
     ];
+
     constructor(private $state: ui.IStateService,
                 private $stateParams: ui.IStateParamsService,
                 private configService: IHelpDeskConfigService,
@@ -93,28 +91,17 @@ export default class HelpDeskDetailComponent {
         this.configService.getPasswordUiMode()
             .then((passwordUiMode) => {
                 if (passwordUiMode) {
-                    if (document.title === 'PWM Development') {
-                        const pwUiMode: string = passwordUiMode.toUpperCase();
-                        if (pwUiMode === PASSWORD_UI_MODES.TYPE) {
-                            this.changePasswordType();
-                        }
-                        else if (pwUiMode === PASSWORD_UI_MODES.AUTOGEN) {
-                            this.changePasswordAutogen();
-                        }
-                        else if (pwUiMode === PASSWORD_UI_MODES.BOTH) {
-                            // TODO: Need to take into account both autogen and typing in this scenario
-                            this.changePasswordType();
-                        }
-                        else if (pwUiMode === PASSWORD_UI_MODES.RANDOM) {
-                            this.changePasswordRandom();
-                        }
+                    if (passwordUiMode === PASSWORD_UI_MODES.TYPE) {
+                        this.changePasswordType();
+                    }
+                    else if (passwordUiMode === PASSWORD_UI_MODES.AUTOGEN) {
+                        this.changePasswordAutogen();
+                    }
+                    else if (passwordUiMode === PASSWORD_UI_MODES.BOTH) {
+                        this.changePasswordType();
                     }
-                    else {
-                        // Until the new AngularJS version of "Change Password" is finished, we'll just call into the
-                        // old PWM JavaScript functions:
-                        PWM_VAR['helpdesk_obfuscatedDN'] = this.getUserKey();
-                        PWM_VAR['helpdesk_setting_PwUiMode'] = passwordUiMode;
-                        PWM_HELPDESK.initiateChangePasswordDialog();
+                    else if (passwordUiMode === PASSWORD_UI_MODES.RANDOM) {
+                        this.changePasswordRandom();
                     }
                 }
                 else {
@@ -225,8 +212,8 @@ export default class HelpDeskDetailComponent {
                     'HelpDeskService',
                     'translateFilter',
                     ($scope: IScope | any,
-                              helpDeskService: IHelpDeskService,
-                              translateFilter: (id: string) => string) => {
+                     helpDeskService: IHelpDeskService,
+                     translateFilter: (id: string) => string) => {
                         $scope.status = STATUS_CONFIRM;
                         $scope.title = translateFilter('Button_HelpdeskClearOtpSecret');
                         $scope.text = translateFilter('Confirm');
@@ -259,8 +246,8 @@ export default class HelpDeskDetailComponent {
                     'HelpDeskService',
                     'translateFilter',
                     ($scope: IScope | any,
-                              helpDeskService: IHelpDeskService,
-                              translateFilter: (id: string) => string) => {
+                     helpDeskService: IHelpDeskService,
+                     translateFilter: (id: string) => string) => {
                         $scope.status = STATUS_CONFIRM;
                         $scope.title = translateFilter('Button_ClearResponses');
                         $scope.text = translateFilter('Confirm');
@@ -401,8 +388,8 @@ export default class HelpDeskDetailComponent {
                     'HelpDeskService',
                     'translateFilter',
                     ($scope: IScope | any,
-                              helpDeskService: IHelpDeskService,
-                              translateFilter: (id: string) => string) => {
+                     helpDeskService: IHelpDeskService,
+                     translateFilter: (id: string) => string) => {
                         $scope.status = STATUS_CONFIRM;
                         $scope.title = translateFilter('Button_Unlock');
                         $scope.text = translateFilter('Confirm');

+ 5 - 5
client/src/services/helpdesk-config.service.ts

@@ -39,11 +39,11 @@ const VERIFICATION_METHODS_CONFIG = 'verificationMethods';
 export const TOKEN_CHOICE = 'CHOICE_SMS_EMAIL';
 
 export const PASSWORD_UI_MODES = {
-    NONE: 'NONE',
-    AUTOGEN: 'AUTOGEN',
-    RANDOM: 'RANDOM',
-    TYPE: 'TYPE',
-    BOTH: 'BOTH'
+    NONE: 'none',
+    AUTOGEN: 'autogen',
+    RANDOM: 'random',
+    TYPE: 'type',
+    BOTH: 'both'
 };
 
 export const VERIFICATION_METHOD_NAMES = {

+ 2 - 2
client/src/services/helpdesk.service.ts

@@ -192,8 +192,8 @@ export default class HelpDeskService implements IHelpDeskService {
         };
         return this.pwmService
             .httpRequest(url, { data: data })
-            .then((result: IRandomPasswordResponse) => {
-                return this.$q.resolve(result);
+            .then((result: { data: IRandomPasswordResponse }) => {
+                return this.$q.resolve(result.data);
             });
     }
 

+ 1 - 1
client/src/services/password.service.dev.ts

@@ -79,7 +79,7 @@ export default class PasswordService implements IPasswordService {
         let deferredAbort = this.$q.defer();
 
         let timeoutPromise = this.$timeout(() => {
-            deferred.resolve(data);
+            deferred.resolve({ data: data} );
         }, SIMULATED_RESPONSE_TIME);
 
         // To simulate an abortable promise, edit SIMULATED_RESPONSE_TIME

+ 10 - 4
client/src/services/password.service.ts

@@ -21,7 +21,7 @@
  */
 
 
-import {ILogService, IPromise, ITimeoutService, IWindowService} from 'angular';
+import {ILogService, IPromise, IQService, ITimeoutService, IWindowService} from 'angular';
 import {IPwmService} from './pwm.service';
 
 export interface IPasswordService {
@@ -40,8 +40,10 @@ export interface IValidatePasswordData {
 export default class PasswordService implements IPasswordService {
     PWM_MAIN: any;
 
-    static $inject = [ '$log', '$timeout', '$window', 'pwmService', 'translateFilter' ];
+    static $inject = ['$log', '$q', '$timeout', '$window', 'PwmService', 'translateFilter'];
+
     constructor(private $log: ILogService,
+                private $q: IQService,
                 private $timeout: ITimeoutService,
                 private $window: IWindowService,
                 private pwmService: IPwmService,
@@ -58,10 +60,14 @@ export default class PasswordService implements IPasswordService {
         let data = {
             password1: password1,
             password2: password2,
-            userDN: userKey
+            username: userKey
         };
         let url: string = this.pwmService.getServerUrl('checkPassword');
 
-        return this.pwmService.httpRequest(url, { data: data });
+        return this.pwmService
+            .httpRequest(url, {data: data})
+            .then((result: { data: IValidatePasswordData }) => {
+                return this.$q.resolve(result.data);
+            });
     }
 }

+ 0 - 22
npm-debug.log

@@ -1,22 +0,0 @@
-0 info it worked if it ends with ok
-1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
-1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
-1 verbose cli   'start' ]
-2 info using npm@3.10.10
-3 info using node@v6.10.1
-4 verbose stack Error: ENOENT: no such file or directory, open 'D:\deps-dx\pwm\pwm\package.json'
-4 verbose stack     at Error (native)
-5 verbose cwd D:\deps-dx\pwm\pwm
-6 error Windows_NT 10.0.14393
-7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
-8 error node v6.10.1
-9 error npm  v3.10.10
-10 error path D:\deps-dx\pwm\pwm\package.json
-11 error code ENOENT
-12 error errno -4058
-13 error syscall open
-14 error enoent ENOENT: no such file or directory, open 'D:\deps-dx\pwm\pwm\package.json'
-15 error enoent ENOENT: no such file or directory, open 'D:\deps-dx\pwm\pwm\package.json'
-15 error enoent This is most likely not a problem with npm itself
-15 error enoent and is related to npm not being able to find a file.
-16 verbose exit [ -4058, true ]

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels