|
@@ -99,6 +99,7 @@ type
|
|
|
procedure actnGuestExecute(Sender: TObject);
|
|
|
procedure actnGuestUpdate(Sender: TObject);
|
|
|
procedure actnEpureExecute(Sender: TObject);
|
|
|
+ procedure actnEpureUpdate(Sender: TObject);
|
|
|
private
|
|
|
FProjectManagerData: TProjectManagerData;
|
|
|
|
|
@@ -1906,7 +1907,7 @@ procedure TProjectManagerFrame.actnSignOnlineUpdate(Sender: TObject);
|
|
|
end;
|
|
|
|
|
|
begin
|
|
|
- TAction(Sender).Visible := G_IsCloud and (not IsGuest) and (stdProjects.IDTree.Selected.Rec.ValueByName('WebAuthorID').AsInteger = PHPWeb.UserID);
|
|
|
+ TAction(Sender).Visible := G_IsCloud and (not IsGuest);
|
|
|
TAction(Sender).Enabled := (FSignOnlineSwitch = 1) and
|
|
|
Assigned(stdProjects.IDTree.Selected) and
|
|
|
(stdProjects.IDTree.Selected.Rec.ValueByName('Type').AsInteger = 1) and
|
|
@@ -2003,4 +2004,24 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
+procedure TProjectManagerFrame.actnEpureUpdate(Sender: TObject);
|
|
|
+
|
|
|
+ function HasCompletePhase(ARec: TsdDataRecord): Boolean;
|
|
|
+ begin
|
|
|
+ if (ARec.ValueByName('PhaseCount').AsInteger > 1) then
|
|
|
+ Result := True
|
|
|
+ else if (ARec.ValueByName('PhaseCount').AsInteger < 1) then
|
|
|
+ Result := False
|
|
|
+ else
|
|
|
+ Result := ARec.ValueByName('AuditStatus').AsInteger = -1;
|
|
|
+ end;
|
|
|
+
|
|
|
+begin
|
|
|
+ TAction(Sender).Visible := G_IsCloud and (not IsGuest) and (stdProjects.IDTree.Selected.Rec.ValueByName('WebAuthorID').AsInteger = PHPWeb.UserID);
|
|
|
+ TAction(Sender).Enabled := (FSignOnlineSwitch = 1) and
|
|
|
+ Assigned(stdProjects.IDTree.Selected) and
|
|
|
+ (stdProjects.IDTree.Selected.Rec.ValueByName('Type').AsInteger = 1) and
|
|
|
+ HasCompletePhase(stdProjects.IDTree.Selected.Rec);
|
|
|
+end;
|
|
|
+
|
|
|
end.
|