📄 ufrmcqgpsuseredit.pas
字号:
//==============================================================================
// $修订版本号: 1.0 $
// $日期 : 2007年7月20日 星期五 09:55:00 $
// $版本号 : 1.0.0 Alpha 1 $
//
// 用户管理编辑界面功能实现。
//
//
// $BeginLog$
// $Endlog $
// $Copyright 版权所有 (c)2006 TRANSIT 保留所有权利$
//==============================================================================
{: 实现说明:
I. 编辑窗口显示之前事件(仅处理非高级管理员用户):
1. 权限组只能选择普通用户。
2. 用户类型不可选。
3. 登录用户为自己本身时是否激活不可选。
II. 编辑窗口保存之前事件:
1. 超级管理员不受限制。
2. 不能新建与登录用户所属组相同的用户(由上级用户去新建)。
}
unit ufrmCQGPSUserEdit;
interface
uses
Windows, cxLookAndFeelPainters, cxGraphics, dxStatusBar, StdCtrls,
cxButtons, cxTextEdit, cxControls, cxContainer, cxEdit, cxLabel,
ExtCtrls, RzPanel, dxDockPanel, dxDockControl, Classes, Controls,
uBaseDBEditForm, cxMemo, cxMaskEdit, cxDropDownEdit, ufrmCQGPSUserType,
ComCtrls, TbListView, uBaseDBDataAware, uBaseDBDefs, SysUtils, Menus;
type
TfrmCQGPSUserEdit = class(TBaseDBEditForm)
dxDockSite1: TdxDockSite;
dxLayoutDockSite1: TdxLayoutDockSite;
dxDockPanel1: TdxDockPanel;
btnSave: TcxButton;
btnCancel: TcxButton;
dxStatusBar: TdxStatusBar;
gbPlan: TRzGroupBox;
cxLabel2: TcxLabel;
GroupID: TcxComboBox;
cxLabel3: TcxLabel;
Name: TcxTextEdit;
Password: TcxMaskEdit;
cxLabel4: TcxLabel;
cxLabel1: TcxLabel;
UserTypeID: TcxComboBox;
cxLabel5: TcxLabel;
cxLabel6: TcxLabel;
PurviewGroupID: TcxComboBox;
IsActive: TcxComboBox;
procedure FormCreate(Sender: TObject);
procedure doOnBeforeEditFormDisplayEvent(_sender: TObject);
procedure doOnBeforeEditFormSaveEvent(_sender: TObject; var _save_flag: Boolean;
var _input_hint: string);
end;
implementation
uses
ufrmCQGPSUser, Math, Forms;
{$R *.dfm}
procedure TfrmCQGPSUserEdit.FormCreate(Sender: TObject);
begin
BeforeEditFormDisplayEvent := doOnBeforeEditFormDisplayEvent;
BeforeEditFormSaveEvent := doOnBeforeEditFormSaveEvent;
CaptionControl := dxDockPanel1;
HintControl := dxStatusBar;
ButtonConfirm := btnSave;
ButtonCancel := btnCancel;
end;
procedure TfrmCQGPSUserEdit.doOnBeforeEditFormDisplayEvent(
_sender: TObject);
var
purview_group_id: Integer;
select_user_id : Integer;
begin
if TfrmCQGPSUser(TfrmCQGPSUserEdit(_Sender).Owner).Purview_group_id <> 1 then
begin
purview_group_id := PurviewGroupID.Properties.Items.IndexOf('普通用户');
select_user_id := TBaseDBUtility.ExtractRecordID(EditFieldValueList);
if purview_group_id <> -1 then
PurviewGroupID.ItemIndex := purview_group_id;
UserTypeID.Enabled := False;
PurviewGroupID.Enabled := False;
// 登录用户为自己时屏蔽激活
if TfrmCQGPSUser(TfrmCQGPSUserEdit(_Sender).Owner).User_id = select_user_id then
IsActive.Enabled := False;
end;
end;
procedure TfrmCQGPSUserEdit.doOnBeforeEditFormSaveEvent(_sender: TObject;
var _save_flag: Boolean; var _input_hint: string);
var
login_group_id : Integer;
group_id : Integer;
login_pruview_group_id: Integer;
begin
if Assigned(_sender) then
begin
group_id := ExtractRefComboBoxReferenceID(GroupID);
login_group_id := TfrmCQGPSUser(TfrmCQGPSUserEdit(_Sender).Owner).Group_id;
login_pruview_group_id := TfrmCQGPSUser(TfrmCQGPSUserEdit(_Sender).Owner).Purview_group_id;
// 超级管理员可以任意操作
if login_pruview_group_id = 1 then
begin
_save_flag := True;
exit;
end;
if group_id = -1 then exit;
if login_group_id = group_id then
begin
_input_hint := format('用户组为%s的用户已存在',[GroupID.Text]);
_save_flag := False;
end
else
_save_flag := True;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -