BSOne.SFC/eCrmHE/EXE_eCrmHomeEdition/Messages/DPrintApproveRst.pas

297 lines
8.9 KiB
Plaintext

unit DPrintApproveRst;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TDlgPrintApproveRst = class(TForm)
pnBottom: TPanel;
btnOk: TButton;
lbMsg: TLabel;
mmReason: TMemo;
procedure btnOkClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
Constructor Create(aOwner: TComponent; nType: Integer; sResp: String);
procedure CreateParams(var Params: TCreateParams); override; // 작업표시줄에 표시
procedure process_WM_SYSCOMMAND(var msg: TWMSysCommand); Message WM_SYSCOMMAND;
end;
var
DlgPrintApproveRst: TDlgPrintApproveRst;
implementation
uses
superobject, ManagerPrint, ManagerService;
resourcestring
RS_NotFoundPrintInfo = '출력 정보를 찾을 수 없습니다. (%s)';
RS_PrintReqReject = '출력 요청이 반려 되었습니다.';
RS_MsgError = '오류가 발생했습니다';
RS_UsbExcept = 'USB 매체 예외';
RS_UsbReqPass = 'USB 매체 예외가 승인 되었습니다.';
RS_UsbReqReject = 'USB 매체 예외 요청이 반려 되었습니다.';
RS_UrlExcept = '브라우저 접근 예외';
RS_UrlReqPass = '브라우저 접근 예외가 승인 되었습니다.';
RS_UrlReqReject = '브라우저 접근 예외 요청이 반려 되었습니다.';
RS_MtpExcept = 'MTP 매체 예외';
RS_MtpReqPass = 'MTP 매체 예외가 승인 되었습니다.';
RS_MtpReqReject = 'MTP 매체 예외 요청이 반려 되었습니다.';
RS_BtExcept = 'Bluetooth 매체 예외';
RS_BtReqPass = 'Bluetooth 매체 예외가 승인 되었습니다.';
RS_BtReqReject = 'Bluetooth 매체 예외 요청이 반려 되었습니다.';
RS_CdExcept = 'CD/DVD 매체 예외';
RS_CdReqPass = 'CD/DVD 매체 예외가 승인 되었습니다.';
RS_CdReqReject = 'CD/DVD 매체 예외 요청이 반려 되었습니다.';
{$R *.dfm}
Constructor TDlgPrintApproveRst.Create(aOwner: TComponent; nType: Integer; sResp: String);
var
O: ISuperObject;
pEnt: PPrtEnt;
begin
Inherited Create(aOwner);
O := nil;
try
O := SO(sResp);
except
// error
end;
if O = nil then
begin
lbMsg.Caption := RS_MsgError;
exit;
end;
mmReason.Text := O.S['reason'];
case nType of
1 : // 출력
begin
if O.S['result'] = 'true' then
begin
// O.S['watermark']
pEnt := gMgSvc.MgPrt.GetPrintInfo(O.S['taskId']);
if pEnt = nil then
begin
lbMsg.Caption := Format(RS_NotFoundPrintInfo, [O.S['taskId']]);
exit;
end;
pEnt.WInfo.bUseWM := O.S['watermark'] = 'true';
if pEnt.dtAprv = 0 then
begin
pEnt.dtAprv := Now;
gMgSvc.MgPrt.Save;
end;
gMgSvc.DoPrint(pEnt);
end else begin
pEnt := gMgSvc.MgPrt.GetPrintInfo(O.S['taskId']);
if pEnt <> nil then
gMgSvc.MgPrt.DelPrintInfo(pEnt.sId, true);
lbMsg.Caption := RS_PrintReqReject;
end;
end;
2 : // USB
begin
Caption := RS_UsbExcept;
if O.S['result'] = 'true' then
begin
lbMsg.Caption := RS_UsbReqPass;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
gMgSvc.PrefModel.IgrUsbSerials := gMgSvc.PrefModel.IgrUsbSerials + ';' + O.S['serial'];
gMgSvc.PrefModel.IgrUsbSerialList.Add(O.S['serial']);
gMgSvc.SleepPolicy.IgrUsbSerials := gMgSvc.SleepPolicy.IgrUsbSerials + ';' + O.S['serial'];
gMgSvc.SleepPolicy.IgrUsbSerialList.Add(O.S['serial']);
if gMgSvc.VulPolicy.Loaded then
begin
gMgSvc.VulPolicy.IgrUsbSerials := gMgSvc.VulPolicy.IgrUsbSerials + ';' + O.S['serial'];
gMgSvc.VulPolicy.IgrUsbSerialList.Add(O.S['serial']);
end;
if gMgSvc.OffPolicy.Loaded then
begin
gMgSvc.OffPolicy.IgrUsbSerials := gMgSvc.OffPolicy.IgrUsbSerials + ';' + O.S['serial'];
gMgSvc.OffPolicy.IgrUsbSerialList.Add(O.S['serial']);
end;
if gMgSvc.ExpPolicy.Loaded then
begin
gMgSvc.ExpPolicy.IgrUsbSerials := gMgSvc.ExpPolicy.IgrUsbSerials + ';' + O.S['serial'];
gMgSvc.ExpPolicy.IgrUsbSerialList.Add(O.S['serial']);
end;
end else begin
lbMsg.Caption := RS_UsbReqReject;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
end;
end;
3 : // 브라우저 접근 차단
begin
Caption := RS_UrlExcept;
if O.S['result'] = 'true' then
begin
lbMsg.Caption := RS_UrlReqPass;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['domain']);
gMgSvc.PrefModel.UrlBlockExcpList := gMgSvc.PrefModel.UrlBlockExcpList + '|' + O.S['domain'];
gMgSvc.SleepPolicy.UrlBlockExcpList := gMgSvc.SleepPolicy.UrlBlockExcpList + '|' + O.S['domain'];
if gMgSvc.VulPolicy.Loaded then
gMgSvc.VulPolicy.UrlBlockExcpList := gMgSvc.VulPolicy.UrlBlockExcpList + '|' + O.S['domain'];
if gMgSvc.OffPolicy.Loaded then
gMgSvc.OffPolicy.UrlBlockExcpList := gMgSvc.OffPolicy.UrlBlockExcpList + '|' + O.S['domain'];
if gMgSvc.ExpPolicy.Loaded then
gMgSvc.ExpPolicy.UrlBlockExcpList := gMgSvc.ExpPolicy.UrlBlockExcpList + '|' + O.S['domain'];
end else begin
lbMsg.Caption := RS_UrlReqReject;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['domain']);
end;
end;
4 : ; // DRM 복호화
5 : ; // 파일 반출
6 : // MTP
begin
Caption := RS_MtpExcept;
if O.S['result'] = 'true' then
begin
lbMsg.Caption := RS_MtpReqPass;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
gMgSvc.PrefModel.MtpExcept := gMgSvc.PrefModel.MtpExcept + ';' + O.S['serial'];
gMgSvc.SleepPolicy.MtpExcept := gMgSvc.SleepPolicy.MtpExcept + ';' + O.S['serial'];
if gMgSvc.VulPolicy.Loaded then
gMgSvc.VulPolicy.MtpExcept := gMgSvc.VulPolicy.MtpExcept + ';' + O.S['serial'];
if gMgSvc.OffPolicy.Loaded then
gMgSvc.OffPolicy.MtpExcept := gMgSvc.OffPolicy.MtpExcept + ';' + O.S['serial'];
if gMgSvc.ExpPolicy.Loaded then
gMgSvc.ExpPolicy.MtpExcept := gMgSvc.ExpPolicy.MtpExcept + ';' + O.S['serial'];
end else begin
lbMsg.Caption := RS_MtpReqReject;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
end;
end;
7 : // 블루투스
begin
Caption := RS_BtExcept;
if O.S['result'] = 'true' then
begin
lbMsg.Caption := RS_BtReqPass;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
gMgSvc.PrefModel.BlueExcept := gMgSvc.PrefModel.BlueExcept + ';' + O.S['serial'];
gMgSvc.SleepPolicy.BlueExcept := gMgSvc.SleepPolicy.BlueExcept + ';' + O.S['serial'];
if gMgSvc.VulPolicy.Loaded then
gMgSvc.VulPolicy.BlueExcept := gMgSvc.VulPolicy.BlueExcept + ';' + O.S['serial'];
if gMgSvc.OffPolicy.Loaded then
gMgSvc.OffPolicy.BlueExcept := gMgSvc.OffPolicy.BlueExcept + ';' + O.S['serial'];
if gMgSvc.ExpPolicy.Loaded then
gMgSvc.ExpPolicy.BlueExcept := gMgSvc.ExpPolicy.BlueExcept + ';' + O.S['serial'];
end else begin
lbMsg.Caption := RS_BtReqReject;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
end;
end;
8 : // CD/DVD
begin
Caption := RS_CdExcept;
if O.S['result'] = 'true' then
begin
lbMsg.Caption := RS_CdReqPass;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
gMgSvc.PrefModel.CdromExcept := gMgSvc.PrefModel.CdromExcept + ';' + O.S['serial'];
gMgSvc.SleepPolicy.CdromExcept := gMgSvc.SleepPolicy.CdromExcept + ';' + O.S['serial'];
if gMgSvc.VulPolicy.Loaded then
gMgSvc.VulPolicy.CdromExcept := gMgSvc.VulPolicy.CdromExcept + ';' + O.S['serial'];
if gMgSvc.OffPolicy.Loaded then
gMgSvc.OffPolicy.CdromExcept := gMgSvc.OffPolicy.CdromExcept + ';' + O.S['serial'];
if gMgSvc.ExpPolicy.Loaded then
gMgSvc.ExpPolicy.CdromExcept := gMgSvc.ExpPolicy.CdromExcept + ';' + O.S['serial'];
end else begin
lbMsg.Caption := RS_CdReqReject;
mmReason.Lines.Add('');
mmReason.Lines.Add(O.S['serial']);
end;
end;
end;
Application.ProcessMessages;
end;
procedure TDlgPrintApproveRst.CreateParams(var Params: TCreateParams);
begin
Inherited CreateParams(Params);
Params.ExStyle := WS_EX_APPWINDOW;
end;
procedure TDlgPrintApproveRst.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := TCloseAction.caFree;
end;
procedure TDlgPrintApproveRst.process_WM_SYSCOMMAND(var msg: TWMSysCommand);
begin
if msg.Msg = SC_CLOSE then
begin
btnOk.Click;
exit;
end;
Inherited;
end;
procedure TDlgPrintApproveRst.btnOkClick(Sender: TObject);
begin
Close;
end;
end.