177 lines
4.6 KiB
ObjectPascal
177 lines
4.6 KiB
ObjectPascal
|
|
unit uEditorUsuarios;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, uEditorGridBase, Menus, JvAppStorage, JvAppRegistryStorage, DB,
|
|||
|
|
uDAInterfaces, uDADataTable, JvComponentBase, JvFormPlacement, ImgList,
|
|||
|
|
PngImageList, StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX,
|
|||
|
|
TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
|
|||
|
|
JvExControls, JvNavigationPane, uCustomView, uViewBase, uViewGridBase,
|
|||
|
|
uViewGrid, uViewUsuarios, uIEditorUsuarios, uUsuariosController,
|
|||
|
|
uBizUsuarios;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfEditorUsuarios = class(TfEditorGridBase, IEditorUsuarios)
|
|||
|
|
actCambiarPassword: TAction;
|
|||
|
|
TBXSubmenuItem2: TTBXSubmenuItem;
|
|||
|
|
TBXItem38: TTBXItem;
|
|||
|
|
TBXItem39: TTBXItem;
|
|||
|
|
procedure actEliminarUpdate(Sender: TObject);
|
|||
|
|
procedure actCambiarPasswordUpdate(Sender: TObject);
|
|||
|
|
procedure actCambiarPasswordExecute(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
FUsuarios : IBizUsuario;
|
|||
|
|
FController : IUsuariosController;
|
|||
|
|
protected
|
|||
|
|
function GetController : IUsuariosController;
|
|||
|
|
procedure SetController (const Value : IUsuariosController);
|
|||
|
|
|
|||
|
|
function GetUsuarios: IBizUsuario;
|
|||
|
|
procedure SetUsuarios(const Value: IBizUsuario);
|
|||
|
|
|
|||
|
|
procedure NuevoInterno; override;
|
|||
|
|
procedure EliminarInterno; override;
|
|||
|
|
procedure ModificarInterno; override;
|
|||
|
|
procedure ImprimirInterno; override;
|
|||
|
|
procedure PrevisualizarInterno; override;
|
|||
|
|
procedure DuplicarInterno; override;
|
|||
|
|
|
|||
|
|
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
|||
|
|
//sobreescribir este metodo
|
|||
|
|
procedure AsignarVista; virtual;
|
|||
|
|
public
|
|||
|
|
procedure PonerTitulos(const ATitulo: string = ''); override;
|
|||
|
|
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
|||
|
|
property Controller : IUsuariosController read GetController write SetController;
|
|||
|
|
constructor Create(AOwner: TComponent); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
uDialogUtils;
|
|||
|
|
|
|||
|
|
{ TfEditorUsuarios }
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.actCambiarPasswordExecute(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
FController.CambiarPassword(FUsuarios.ID);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.actCambiarPasswordUpdate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if (Sender as TAction).Enabled then
|
|||
|
|
(Sender as TAction).Enabled := HayDatos;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.actEliminarUpdate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if (Sender as TAction).Enabled then
|
|||
|
|
(Sender as TAction).Enabled := (FUsuarios.PRIVILEGED = 0);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.AsignarVista;
|
|||
|
|
begin
|
|||
|
|
ViewGrid := CreateView(TfrViewUsuarios) as IViewUsuarios;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
constructor TfEditorUsuarios.Create(AOwner: TComponent);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
AsignarVista;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TfEditorUsuarios.Destroy;
|
|||
|
|
begin
|
|||
|
|
FUsuarios := NIL;
|
|||
|
|
FController := NIl;
|
|||
|
|
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.DuplicarInterno;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.EliminarInterno;
|
|||
|
|
begin
|
|||
|
|
if (ShowConfirmMessage('Eliminar un usuario', Format('<27>Desea borrar el usuario %s?', [FUsuarios.USERNAME])) = IDYES) then
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
//Para que en el caso de no poderse realizar la operaci<63>n se refresquen
|
|||
|
|
//los datos y no nos permita eliminar un registro a la segunda
|
|||
|
|
FController.EliminarUsuario(FUsuarios.ID);
|
|||
|
|
actRefrescar.Execute;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfEditorUsuarios.GetController: IUsuariosController;
|
|||
|
|
begin
|
|||
|
|
Result := FController;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfEditorUsuarios.GetUsuarios: IBizUsuario;
|
|||
|
|
begin
|
|||
|
|
Result := FUsuarios;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.ImprimirInterno;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.ModificarInterno;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
FController.VerUsuario(FUsuarios.ID);
|
|||
|
|
actRefrescar.Execute;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.NuevoInterno;
|
|||
|
|
var
|
|||
|
|
ANuevoUsuario : IBizUsuario;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
ANuevoUsuario := FController.NuevoUsuario;
|
|||
|
|
FController.VerUsuario(ANuevoUsuario);
|
|||
|
|
actRefrescar.Execute;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.PonerTitulos(const ATitulo: string);
|
|||
|
|
var
|
|||
|
|
FTitulo : String;
|
|||
|
|
begin
|
|||
|
|
FTitulo := 'Lista de usuarios';
|
|||
|
|
inherited PonerTitulos(FTitulo);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.PrevisualizarInterno;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.SetController(const Value: IUsuariosController);
|
|||
|
|
begin
|
|||
|
|
FController := Value;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfEditorUsuarios.SetUsuarios(const Value: IBizUsuario);
|
|||
|
|
begin
|
|||
|
|
FUsuarios := Value;
|
|||
|
|
dsDataTable.DataTable := FUsuarios.DataTable;
|
|||
|
|
if Assigned(ViewGrid) then
|
|||
|
|
(ViewGrid as IViewUsuarios).Usuarios := FUsuarios;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|