/
Filters.xxm
51 lines (47 loc) · 1.3 KB
/
Filters.xxm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[[@txDefs,DataLank,txSession,]][[!var
qr:TQueryResult;
aid,bid:integer;
InControl:boolean;
]][[
Context.Include('dHead.xxmi',['Filters Overview']);
<<h2>Filters Overview</h2>>
aid:=-1;
qr:=TQueryResult.Create(Session.DbCon,
'SELECT Flt.*, Obj.objtype_id, Obj.name AS objname, Obj.rlm_id, ObjType.icon, ObjType.name AS typename '+
'FROM Flt '+
'LEFT OUTER JOIN Obj ON Obj.id=Flt.obj_id '+
'LEFT OUTER JOIN ObjType ON ObjType.id=Obj.objtype_id '+
'ORDER BY Obj.m_ts, Obj.name, Flt.m_ts',[]);
try
if qr.EOF then
begin
<<p><i>no stored filters</i></p>>
end
else
while qr.Read and Context.Connected do
begin
bid:=qr.GetInt('obj_id');
if aid<>bid then
begin
if bid=0 then
begin
<<p class="objecttitle">>#txImg(-1)<</p>>
end
else
begin
<<p class="objecttitle"><a href="Item.xxm?x=i[[=bid]]" title="[[.typename]]">>#txImg(qr.GetInt('icon'))]] [[.objname<</a></p>>
end;
aid:=bid;
end;
InControl:=true;
try
Session.HasRealmPermission(bid,qr.GetInt('rlm_id'),rpEdit);
except
on ERealmNotEditableByUser do InControl:=false;
end;
Context.Include('dFilter.xxmi',[InControl,true],[qr]);
end;
finally
qr.Free;
end;
Context.Include('dFoot.xxmi');