Tecsitel_FactuGES2/Source/ApplicationBase/Usuarios/Views/uEditorPerfilesUsuario.pas

131 lines
3.6 KiB
ObjectPascal
Raw Permalink Blame History

unit uEditorPerfilesUsuario;
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, uIEditorPerfilesUsuario,
uUsuariosController, uBizUsuarios, uViewPerfilesUsuario;
type
TfEditorPerfilesUsuario = class(TfEditorGridBase, IEditorPerfilesUsuario)
private
FPerfiles : IBizPerfilUsuario;
FController : IUsuariosController;
protected
function GetController : IUsuariosController;
procedure SetController (const Value : IUsuariosController);
function GetPerfilesUsuario: IBizPerfilUsuario;
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; 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 PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
property Controller : IUsuariosController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
{$R *.dfm}
uses
uDialogUtils;
{ TfEditorUsuarios }
procedure TfEditorPerfilesUsuario.AsignarVista;
begin
ViewGrid := CreateView(TfrViewPerfilesUsuario) as IViewPerfilesUsuario;
end;
constructor TfEditorPerfilesUsuario.Create(AOwner: TComponent);
begin
inherited;
AsignarVista;
end;
destructor TfEditorPerfilesUsuario.Destroy;
begin
FPerfiles := NIL;
FController := NIl;
inherited;
end;
procedure TfEditorPerfilesUsuario.EliminarInterno;
begin
if (ShowConfirmMessage('Eliminar un perfil', Format('<27>Desea eliminar el perfil %s?', [FPerfiles.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.EliminarPerfil(FPerfiles);
actRefrescar.Execute;
end;
end;
function TfEditorPerfilesUsuario.GetController: IUsuariosController;
begin
Result := FController;
end;
function TfEditorPerfilesUsuario.GetPerfilesUsuario: IBizPerfilUsuario;
begin
Result := FPerfiles;
end;
procedure TfEditorPerfilesUsuario.ModificarInterno;
begin
inherited;
FController.VerPerfil(FPerfiles.ID);
actRefrescar.Execute;
end;
procedure TfEditorPerfilesUsuario.NuevoInterno;
var
ANuevoPerfil : IBizPerfilUsuario;
begin
inherited;
ANuevoPerfil := FController.NuevoPerfil;
FController.VerPerfil(ANuevoPerfil);
actRefrescar.Execute;
end;
procedure TfEditorPerfilesUsuario.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de perfiles de usuario';
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorPerfilesUsuario.SetController(const Value: IUsuariosController);
begin
FController := Value;
end;
procedure TfEditorPerfilesUsuario.SetPerfilesUsuario(
const Value: IBizPerfilUsuario);
begin
FPerfiles := Value;
dsDataTable.DataTable := FPerfiles.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewPerfilesUsuario).PerfilesUsuario := FPerfiles;
end;
end.