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<73>a', 'La contrase<73>a actual no es correcta.' + #10#13 +
|
|||
|
|
'Aseg<65>rese de que la contrase<73>a actual est<73> bien introduccida.');
|
|||
|
|
EditAtu.SetFocus;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if (EditNova.Text <> EditConfirma.Text) then
|
|||
|
|
begin
|
|||
|
|
ShowWarningMessage('Cambiar la contrase<73>a', 'La contrase<73>a no se confirm<72> correctamente' + #10#13 +
|
|||
|
|
'Aseg<65>rese de que la contrase<73>a y su confirmaci<63>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<73>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<73>a', 'El cambio de la contrase<73>a es obligatorio');
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|