git-svn-id: https://192.168.0.254/svn/Proyectos.Varela_PuntosVenta/trunk@108 1c943782-d109-9647-9548-93b3ac332352
200 lines
5.2 KiB
ObjectPascal
200 lines
5.2 KiB
ObjectPascal
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)
|
||
procedure actNuevoExecute(Sender: TObject);
|
||
procedure actModificarExecute(Sender: TObject);
|
||
procedure actEliminarExecute(Sender: TObject);
|
||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||
procedure FormShow(Sender: TObject);
|
||
private
|
||
FPerfiles : IBizPerfilUsuario;
|
||
FController : IUsuariosController;
|
||
protected
|
||
function GetController : IUsuariosController;
|
||
procedure SetController (const Value : IUsuariosController);
|
||
|
||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||
|
||
procedure NuevoInterno;
|
||
procedure EliminarInterno;
|
||
procedure ModificarInterno;
|
||
procedure ActualizarEstadoEditor;
|
||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||
//sobreescribir este metodo
|
||
procedure AsignarVista; virtual;
|
||
public
|
||
procedure PonerTitulos(const ATitulo: string = '');
|
||
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.actEliminarExecute(Sender: TObject);
|
||
begin
|
||
if actEliminar.Enabled then
|
||
begin
|
||
EliminarInterno;
|
||
ActualizarEstadoEditor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorPerfilesUsuario.actModificarExecute(Sender: TObject);
|
||
begin
|
||
if actModificar.Enabled then
|
||
begin
|
||
ModificarInterno;
|
||
ActualizarEstadoEditor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorPerfilesUsuario.actNuevoExecute(Sender: TObject);
|
||
begin
|
||
if actNuevo.Enabled then
|
||
begin
|
||
NuevoInterno;
|
||
ActualizarEstadoEditor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorPerfilesUsuario.ActualizarEstadoEditor;
|
||
begin
|
||
PonerTitulos;
|
||
end;
|
||
|
||
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.dsDataTableDataChange(Sender: TObject;
|
||
Field: TField);
|
||
begin
|
||
inherited;
|
||
ActualizarEstadoEditor
|
||
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;
|
||
|
||
procedure TfEditorPerfilesUsuario.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ActualizarEstadoEditor;
|
||
if Assigned(Parent) then
|
||
begin
|
||
StatusBar.Visible := False;
|
||
actCerrar.ShortCut := 0
|
||
end
|
||
else begin
|
||
StatusBar.Visible := True;
|
||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||
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';
|
||
|
||
if ReadOnly then
|
||
begin
|
||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||
end
|
||
else
|
||
begin
|
||
JvNavPanelHeader.Caption := FTitulo;
|
||
Caption := FTitulo;
|
||
end;
|
||
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.
|