git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@212 0c75b7a4-871f-7646-8a2f-f78d34cc349f
102 lines
2.6 KiB
ObjectPascal
102 lines
2.6 KiB
ObjectPascal
unit uEditorCambiarPassword;
|
|
|
|
interface
|
|
|
|
uses
|
|
Forms, UCBase, ExtCtrls, Classes, ActnList, StdCtrls, Controls, Buttons,
|
|
uBizUsuarios, uUsuariosController;
|
|
|
|
type
|
|
TfEditorCambiarPassword = class(TForm)
|
|
lbSenhaAtu: TLabel;
|
|
lbNovaSenha: TLabel;
|
|
lbConfirma: TLabel;
|
|
EditAtu: TEdit;
|
|
EditNova: TEdit;
|
|
EditConfirma: TEdit;
|
|
ActionList1: TActionList;
|
|
actAceptar: TAction;
|
|
actCancelar: TAction;
|
|
Bevel4: TBevel;
|
|
bAceptar: TButton;
|
|
bCancelar: TButton;
|
|
Label1: TLabel;
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
procedure actCancelarExecute(Sender: TObject);
|
|
procedure actAceptarExecute(Sender: TObject);
|
|
public
|
|
Usuario : IBizUsuario;
|
|
Controller : IUsuariosController;
|
|
CambioObligatorio : Boolean;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
uDialogUtils;
|
|
|
|
procedure TfEditorCambiarPassword.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Action := caHide;
|
|
end;
|
|
|
|
procedure TfEditorCambiarPassword.actAceptarExecute(Sender: TObject);
|
|
var
|
|
AuxPass : String;
|
|
AMensaje : String;
|
|
begin
|
|
case Controller.Criptografia of
|
|
ucStandard: AuxPass := EditAtu.Text;
|
|
ucMD5: AuxPass := MD5Sum(EditAtu.Text);
|
|
end;
|
|
|
|
if Usuario.PASS <> AuxPass then
|
|
begin
|
|
ShowWarningMessage('Cambiar la contraseña', 'La contraseña actual no es correcta.' + #10#13 +
|
|
'Asegúrese de que la contraseña actual está bien introduccida.');
|
|
EditAtu.SetFocus;
|
|
Exit;
|
|
end;
|
|
|
|
if (EditNova.Text <> EditConfirma.Text) then
|
|
begin
|
|
ShowWarningMessage('Cambiar la contraseña', 'La contraseña no se confirmó correctamente' + #10#13 +
|
|
'Asegúrese de que la contraseña y su confirmación sean iguales.');
|
|
EditNova.SetFocus;
|
|
Exit;
|
|
end
|
|
else begin
|
|
if not Controller.ValidarPassword(EditNova.Text, Usuario.LOGIN, Usuario.USERNAME, AMensaje) then
|
|
begin
|
|
ShowWarningMessage('Cambiar la contraseña', AMensaje);
|
|
EditNova.SetFocus;
|
|
Exit;
|
|
end
|
|
else begin
|
|
if CambioObligatorio = True then
|
|
CambioObligatorio := False;
|
|
ModalResult := mrOK;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorCambiarPassword.actCancelarExecute(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TfEditorCambiarPassword.FormCloseQuery(Sender: TObject;
|
|
var CanClose: Boolean);
|
|
begin
|
|
if CambioObligatorio then
|
|
begin
|
|
CanClose := False;
|
|
ShowWarningMessage('Cambiar la contraseña', 'El cambio de la contraseña es obligatorio');
|
|
end;
|
|
end;
|
|
|
|
end.
|