uUsuariosController: funciones para dar un usuario o todos los usuarios.
git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@234 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
parent
cef8770e88
commit
9b53c49069
@ -48,7 +48,11 @@ type
|
||||
|
||||
function HayUsuarioConPerfil(const AIDPerfil : integer): Boolean;
|
||||
|
||||
function BuscarUsuario(const AIDUser: Integer): IBizUsuario;
|
||||
function BuscarTodosUsuarios: IBizUsuario;
|
||||
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
function DarListaUsuarios: TStringList;
|
||||
|
||||
function ValidarPassword(const APassword : string; const ALogin : String;
|
||||
const ANombre: String; out AMsg : String): boolean;
|
||||
@ -78,6 +82,7 @@ type
|
||||
TUsuariosController = class(TControllerBase, IUsuariosController)
|
||||
private
|
||||
function Eliminar(const AIDUser: integer): Boolean;
|
||||
procedure FiltrarEmpresa(AUsuario: IBizUsuario);
|
||||
protected
|
||||
FDataModule : IDataModuleUsuarios;
|
||||
FUserControl: TUserControl;
|
||||
@ -138,7 +143,12 @@ type
|
||||
function GuardarPerfil(APerfil : IBizPerfilUsuario): Boolean;
|
||||
function GuardarUsuario(AUser : IBizUsuario): Boolean;
|
||||
|
||||
function BuscarUsuario(const AIDUser: Integer): IBizUsuario;
|
||||
function BuscarTodosUsuarios: IBizUsuario;
|
||||
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
function DarListaUsuarios: TStringList;
|
||||
|
||||
function HayUsuarioConPerfil(const AIDPerfil : integer): Boolean;
|
||||
function ValidarPassword(const APassword : string; const ALogin : String;
|
||||
const ANombre: String; out AMsg : String): boolean;
|
||||
@ -263,6 +273,18 @@ begin
|
||||
FDataModule := TDataModuleUsuarios.Create(Nil);
|
||||
end;
|
||||
|
||||
function TUsuariosController.BuscarTodosUsuarios: IBizUsuario;
|
||||
begin
|
||||
Result := FDataModule.GetUsuarios;
|
||||
FiltrarEmpresa(Result);
|
||||
end;
|
||||
|
||||
function TUsuariosController.BuscarUsuario(const AIDUser: Integer): IBizUsuario;
|
||||
begin
|
||||
Result := FDataModule.GetUsuario(AIDUser);
|
||||
FiltrarEmpresa(Result);
|
||||
end;
|
||||
|
||||
function TUsuariosController.CambiarPassword(const AIDUser: Integer;
|
||||
const ANewPassword: String): Boolean;
|
||||
begin
|
||||
@ -301,12 +323,12 @@ end;
|
||||
function TUsuariosController.ComprobarUsuario(const User,
|
||||
Password: String): Boolean;
|
||||
begin
|
||||
Result := FUserControl.VerificaLogin(User, Password);
|
||||
if not Result then
|
||||
begin
|
||||
ComprobarUsuarioInicial;
|
||||
Result := ComprobarUsuario(User, Password);
|
||||
end;
|
||||
Result := FUserControl.VerificaLogin(User, Password);
|
||||
if not Result then
|
||||
begin
|
||||
ComprobarUsuarioInicial;
|
||||
Result := ComprobarUsuario(User, Password);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.ComprobarUsuarioInicial;
|
||||
@ -321,7 +343,6 @@ begin
|
||||
AsignarDataModule;
|
||||
FUserControl := TUserControl.Create(nil);
|
||||
InicializarUserControl;
|
||||
// ComprobarUsuarioInicial; <- Desactivado porque casca cuando el servidor no está lanzado. Hay que arreglarlo.
|
||||
end;
|
||||
|
||||
function TUsuariosController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
@ -345,8 +366,6 @@ begin
|
||||
while not APerfilesUsuario.DataTable.EOF do
|
||||
begin
|
||||
Add(Format('%s=%d', [APerfilesUsuario.USERNAME, APerfilesUsuario.ID]));
|
||||
{i := Add(APerfilesUsuario.USERNAME);
|
||||
ValueFromIndex[i] := IntToStr(APerfilesUsuario.ID);}
|
||||
APerfilesUsuario.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
@ -355,6 +374,30 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.DarListaUsuarios: TStringList;
|
||||
var
|
||||
AUsuarios: IBizUsuario;
|
||||
i : integer;
|
||||
begin
|
||||
AUsuarios := FDataModule.GetUsuarios;
|
||||
AUsuarios.DataTable.Active := True;
|
||||
|
||||
Result := TStringList.Create;
|
||||
try
|
||||
with Result do
|
||||
begin
|
||||
AUsuarios.DataTable.First;
|
||||
while not AUsuarios.DataTable.EOF do
|
||||
begin
|
||||
Add(Format('%s=%d', [AUsuarios.USERNAME, AUsuarios.ID]));
|
||||
AUsuarios.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
AUsuarios := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TUsuariosController.Destroy;
|
||||
begin
|
||||
FreeAndNIL(FUserControl);
|
||||
@ -831,4 +874,30 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.FiltrarEmpresa(AUsuario: IBizUsuario);
|
||||
var
|
||||
Condicion: TDAWhereExpression;
|
||||
begin
|
||||
|
||||
// AQUI HAY QUE TENER EN CUENTA QUE UN USUARIO PUEDE QUE NO TENGA ACCESO
|
||||
// EN UNA DETERMINADA EMPRESA
|
||||
|
||||
|
||||
{ if AUsuario.DataTable.Active then
|
||||
AUsuario.DataTable.Active := False;
|
||||
|
||||
// Filtrar los contactos actuales por empresa
|
||||
with AUsuario.DataTable.DynamicWhere do
|
||||
begin
|
||||
Condicion := NewBinaryExpression(NewField('', fld_U
|
||||
ContactosID_EMPRESA), NewConstant(AppFactuGES.EmpresaActiva.ID, datInteger), dboEqual);
|
||||
|
||||
if IsEmpty then
|
||||
Expression := Condicion
|
||||
else
|
||||
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
||||
end;}
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user