MCCredentialsRequest.st
author Claus Gittinger <cg@exept.de>
Wed, 29 Aug 2018 15:20:19 +0200
changeset 1081 9f4a608ef9f3
parent 1050 202d91849493
permissions -rw-r--r--
class order

"{ Package: 'stx:goodies/monticello' }"

"{ NameSpace: Smalltalk }"

Notification subclass:#MCCredentialsRequest
	instanceVariableNames:'username password url'
	classVariableNames:''
	poolDictionaries:''
	category:'SCM-Monticello-RemoteRepositories'
!

MCCredentialsRequest comment:'I am used to prompt in a UI indepentent way for a username and a password.
If the user successfully entered the two strings I return an MCServerCredential if not I return nil.'
!


!MCCredentialsRequest class methodsFor:'signalling'!

signalUrl: aUrl
	^ self new 
		url: aUrl;
		signal
!

signalUrl: aUrl username: username password: password
	^ self new 
		url: aUrl;
		username: username;
		password: password;
		signal
! !

!MCCredentialsRequest methodsFor:'accessing'!

password
	^ password
!

password: anObject
	password := anObject
!

passwordMessagePrompt
	^ 'Please enter a password for ', self url asString
!

url
	^ url
!

url: anObject
	url := anObject
!

userMessagePrompt
	^ 'Please enter a username for ', self url asString
!

username
	^ username
!

username: anObject
	username := anObject
! !

!MCCredentialsRequest methodsFor:'exceptiondescription'!

defaultAction
	
	username := UIManager default
			request: self userMessagePrompt
			initialAnswer: self username
			title: 'User' translated.
	(username isNil or: [ username isEmpty ])
		ifTrue: [ ^ nil ].
	password := UIManager default
			requestPassword: self passwordMessagePrompt.
	^ MCServerCredentials user: username password: password
! !

!MCCredentialsRequest class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
! !