Componentes.Terceros.UserCo.../internal/2.20/2/Source/CadPerfil_U.pas
david 630e91ec0c - Recompilado para D2007 UPD3
- Cambiado el formato de fechas 'mm/dd/yyyy' a 'dd/mm/yyyy'.


git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.UserControl@14 970f2627-a9d2-4748-b3d4-b5283c4fe7db
2008-04-14 16:53:35 +00:00

202 lines
5.9 KiB
ObjectPascal

{-----------------------------------------------------------------------------
Unit Name: CadPerfil_U
Author: QmD
Last Change: 25-abr-2005
Purpose: User profile
History: Corrected Bug on Apply XPStyle definitions
-----------------------------------------------------------------------------}
unit CadPerfil_U;
interface
{$I 'UserControl.inc'}
uses
{$IFDEF DELPHI5_UP}
Variants,
{$ENDIF}
Buttons,
Classes,
Controls,
DB,
DBGrids,
Dialogs,
ExtCtrls,
Forms,
Graphics,
Grids,
IncPerfil_U,
Menus,
Messages,
StdCtrls,
SysUtils,
UCBase,
Windows;
type
TfrmCadastrarPerfil = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
lbDescricao: TLabel;
Image1: TImage;
Panel3: TPanel;
btAdic: TBitBtn;
BtAlt: TBitBtn;
BtExclui: TBitBtn;
BtExit: TBitBtn;
DataSource1: TDataSource;
BtAcess: TBitBtn;
procedure BtExitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1DblClick(Sender: TObject);
procedure btAdicClick(Sender: TObject);
procedure BtAltClick(Sender: TObject);
procedure BtExcluiClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
FIncluirPerfil: TfrmIncluirPerfil;
public
FUserControl: TUserControl;
FDataSetPerfilUsuario: TDataset;
procedure SetWindow(Adicionar: Boolean);
end;
implementation
{$R *.dfm}
procedure TfrmCadastrarPerfil.BtExitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmCadastrarPerfil.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCadastrarPerfil.DBGrid1DblClick(Sender: TObject);
begin
BtAlt.Click;
end;
procedure TfrmCadastrarPerfil.btAdicClick(Sender: TObject);
begin
try
FIncluirPerfil := TfrmIncluirPerfil.Create(Self);
FIncluirPerfil.FUserControl := Self.FUserControl;
SetWindow(True);
FIncluirPerfil.ShowModal;
finally
FreeAndNil(FIncluirPerfil);
end;
end;
procedure TfrmCadastrarPerfil.SetWindow(Adicionar: Boolean);
begin
with TUserControl(owner).UserSettings.AddChangeProfile do
begin
FIncluirPerfil.Caption := WindowCaption;
if Adicionar then
FIncluirPerfil.LbDescricao.Caption := LabelAdd
else
FIncluirPerfil.LbDescricao.Caption := LabelChange;
FIncluirPerfil.lbNome.Caption := LabelName;
FIncluirPerfil.btGravar.Caption := BtSave;
FIncluirPerfil.btCancela.Caption := BtCancel;
FIncluirPerfil.Position := Self.FUserControl.UserSettings.WindowsPosition;
end;
end;
procedure TfrmCadastrarPerfil.BtAltClick(Sender: TObject);
begin
if FDataSetPerfilUsuario.IsEmpty then
Exit;
try
FIncluirPerfil := TfrmIncluirPerfil.Create(self);
FIncluirPerfil.FUserControl := Self.FUserControl;
SetWindow(False);
with FIncluirPerfil do
begin
FAltera := True;
EditDescricao.Text := FDataSetPerfilUsuario.FieldByName('Nome').AsString;
ShowModal;
end;
finally
FreeAndNil(FIncluirPerfil);
end;
end;
procedure TfrmCadastrarPerfil.BtExcluiClick(Sender: TObject);
var
TempID: Integer;
CanDelete: Boolean;
ErrorMsg: String;
TempDS: TDataset;
begin
if FDataSetPerfilUsuario.IsEmpty then
Exit;
TempID := FDataSetPerfilUsuario.FieldByName('IDUser').AsInteger;
TempDS := FUserControl.DataConnector.UCGetSQLDataset('Select ' + FUserControl.TableUsers.FieldUserID + ' as IdUser from ' +
FUserControl.TableUsers.TableName +
' Where ' + FUserControl.TableUsers.FieldTypeRec + ' = ' + QuotedStr('U') +
' AND ' + FUserControl.TableUsers.FieldProfile + ' = ' + IntToStr(TempID));
if TempDS.FieldByName('IdUser').AsInteger > 0 then
begin
TempDS.Close;
FreeAndNil(TempDS);
//changed by fduenas: PromptDelete_WindowCaption
if MessageBox(handle, PChar(Format(FUserControl.UserSettings.UsersProfile.PromptDelete, [FDataSetPerfilUsuario.FieldByName('Nome').AsString])),
PChar(FUserControl.UserSettings.UsersProfile.PromptDelete_WindowCaption), MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) <> idYes then
Exit;
end;
TempDS.Close;
FreeAndNil(TempDS);
CanDelete := True;
if Assigned(FUserControl.onDeleteProfile) then
FUserControl.onDeleteProfile(TObject(Owner), TempID, CanDelete, ErrorMsg);
if not CanDelete then
begin
MessageDlg(ErrorMSG, mtWarning, [mbOK], 0);
Exit;
end;
with FUserControl do
begin
DataConnector.UCExecSQL('Delete from ' + TableUsers.TableName + ' where ' + TableUsers.FieldUserID + ' = ' + IntToStr(TempID));
DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + ' where ' + TableRights.FieldUserID + ' = ' + IntToStr(TempID));
DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + 'EX where ' + TableRights.FieldUserID + ' = ' + IntToStr(TempID));
DataConnector.UCExecSQL('Update ' + TableUsers.TableName +
' Set ' + TableUsers.FieldProfile + ' = null where ' + TableUsers.FieldUserID + ' = ' + IntToStr(TempID));
end;
FDataSetPerfilUsuario.Close;
FDataSetPerfilUsuario.Open;
end;
procedure TfrmCadastrarPerfil.FormShow(Sender: TObject);
begin
with FUserControl do
begin
FDataSetPerfilUsuario := DataConnector.UCGetSQLDataset(
Format('Select %s as IdUser, %s as Login, %s as Nome, %s as Tipo from %s Where %s = %s ORDER BY %s',
[TableUsers.FieldUserID,
TableUsers.FieldLogin,
TableUsers.FieldUserName,
TableUsers.FieldTypeRec,
TableUsers.TableName,
TableUsers.FieldTypeRec,
QuotedStr('P'),
TableUsers.FieldUserName]));
DBGrid1.Columns[0].Title.Caption := UserSettings.UsersProfile.ColProfile;
end;
DataSource1.Dataset := FDataSetPerfilUsuario;
end;
end.