Commit 24a5ce95 authored by 's avatar

Added Find

parent f2d507de
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
<IMG ALIGN="RIGHT" HSPACE="0" SRC="<!--#var SCRIPT_NAME-->/p_/rtab"> <IMG ALIGN="RIGHT" HSPACE="0" SRC="<!--#var SCRIPT_NAME-->/p_/rtab">
<STRONG> <STRONG>
<!--#if action--> <!--#if action-->
<A HREF="<!--#var action-->"><!--#var label--></A> <A HREF="<!--#var action-->"<!--#if target--> TARGET="<!--#var target-->"<!--#/if-->><!--#var label--></A>
<!--#else action--> <!--#else action-->
<A HREF="<!--#var URL1-->"><!--#var label--></A> <A HREF="<!--#var URL1-->"<!--#if target--> TARGET="<!--#var target-->"<!--#/if-->><!--#var label--></A>
<!--#/if action--> <!--#/if action-->
</STRONG> </STRONG>
...@@ -24,15 +24,17 @@ ...@@ -24,15 +24,17 @@
<IMG ALIGN="LEFT" HSPACE="0" SRC="<!--#var SCRIPT_NAME-->/p_/ltab"> <IMG ALIGN="LEFT" HSPACE="0" SRC="<!--#var SCRIPT_NAME-->/p_/ltab">
<IMG ALIGN="RIGHT" HSPACE="0" SRC="<!--#var SCRIPT_NAME-->/p_/rtab"> <IMG ALIGN="RIGHT" HSPACE="0" SRC="<!--#var SCRIPT_NAME-->/p_/rtab">
<!--#if action--> <!--#if action-->
<A HREF="<!--#var action-->"><!--#var label--></A> <A HREF="<!--#var action-->"<!--#if target--> TARGET="<!--#var target-->"<!--#/if-->><!--#var label--></A>
<!--#else action--> <!--#else action-->
<A HREF="<!--#var URL1-->"><!--#var label--></A> <A HREF="<!--#var URL1-->"<!--#if target--> TARGET="<!--#var target-->"<!--#/if-->><!--#var label--></A>
<!--#/if action--> <!--#/if action-->
</FONT> </FONT>
</TD> </TD>
<!--#/if--> <!--#/if-->
<!--#/if sequence-item--> <!--#/if sequence-item-->
<!--#/in manage_options--> <!--#/in manage_options-->
</TR> </TR>
</TABLE> </TABLE>
<!--#/if manage_options--> <!--#/if manage_options-->
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
__doc__='''Application support __doc__='''Application support
$Id: Application.py,v 1.68 1998/08/03 13:58:32 jim Exp $''' $Id: Application.py,v 1.69 1998/08/05 21:04:04 brian Exp $'''
__version__='$Revision: 1.68 $'[11:-2] __version__='$Revision: 1.69 $'[11:-2]
import Globals,Folder,os,regex,sys,App.Product, App.ProductRegistry import Globals,Folder,os,regex,sys,App.Product, App.ProductRegistry
...@@ -22,6 +22,7 @@ from DateTime import DateTime ...@@ -22,6 +22,7 @@ from DateTime import DateTime
from AccessControl.User import UserFolder from AccessControl.User import UserFolder
from App.ApplicationManager import ApplicationManager from App.ApplicationManager import ApplicationManager
from Persistence import Persistent from Persistence import Persistent
from FindSupport import FindSupport
from ImageFile import ImageFile from ImageFile import ImageFile
from urllib import quote from urllib import quote
...@@ -55,8 +56,9 @@ page. Thank you for your patience.</P> ...@@ -55,8 +56,9 @@ page. Thank you for your patience.</P>
<!--#endif--> <!--#endif-->
<!--#var standard_html_footer-->''' <!--#var standard_html_footer-->'''
class Application(Globals.ApplicationDefaultPermissions, Folder.Folder, class Application(Globals.ApplicationDefaultPermissions, Folder.Folder,
App.ProductRegistry.ProductRegistry): App.ProductRegistry.ProductRegistry, FindSupport):
title ='Principia' title ='Principia'
__roles__=['Manager', 'Anonymous'] __roles__=['Manager', 'Anonymous']
__defined_roles__=('Manager','Anonymous') __defined_roles__=('Manager','Anonymous')
...@@ -108,6 +110,8 @@ class Application(Globals.ApplicationDefaultPermissions, Folder.Folder, ...@@ -108,6 +110,8 @@ class Application(Globals.ApplicationDefaultPermissions, Folder.Folder,
'action':'manage_access', 'target':'manage_main'}, 'action':'manage_access', 'target':'manage_main'},
{'icon':'App/undo_icon.gif', 'label':'Undo', {'icon':'App/undo_icon.gif', 'label':'Undo',
'action':'manage_UndoForm', 'target':'manage_main'}, 'action':'manage_UndoForm', 'target':'manage_main'},
{'label':'Find', 'action':'manage_findFrame',
'target':'manage_main'},
) )
_reserved_names=('standard_html_header', _reserved_names=('standard_html_header',
...@@ -184,35 +188,6 @@ class Application(Globals.ApplicationDefaultPermissions, Folder.Folder, ...@@ -184,35 +188,6 @@ class Application(Globals.ApplicationDefaultPermissions, Folder.Folder,
"""Utility function to return current date/time""" """Utility function to return current date/time"""
return DateTime() return DateTime()
def PrincipiaFind(self, start, _initial=None, prefix='',
type=None, substring=None, name=None,
):
if _initial is None: _initial=[]
if hasattr(start,'aq_base'): start=start.aq_base
if not hasattr(start, 'objectItems'): return _initial
try: items=start.objectItems()
except: return _initial
for oname, o in items:
if prefix: p="%s/%s" % (prefix, oname)
else: p=oname
if hasattr(o,'aq_base'): o=o.aq_base
if (
(type is None or not hasattr(o,'meta_type') or
type==o.meta_type)
and
(name is None or oname==name)
and
(substring is None or
(hasattr(o,'PrincipiaSearchSource') and
find(o.PrincipiaSearchSource(),substring) >= 0
))
):
_initial.append(p)
if hasattr(o, 'objectItems'):
self.PrincipiaFind(o,_initial,p,type,substring,name)
return _initial
class Expired(Persistent): class Expired(Persistent):
icon='p_/broken' icon='p_/broken'
...@@ -231,6 +206,8 @@ class Expired(Persistent): ...@@ -231,6 +206,8 @@ class Expired(Persistent):
__inform_commit__=__save__ __inform_commit__=__save__
def open_bobobase(): def open_bobobase():
# Open the application database # Open the application database
...@@ -442,6 +419,9 @@ class Misc_: ...@@ -442,6 +419,9 @@ class Misc_:
############################################################################## ##############################################################################
# #
# $Log: Application.py,v $ # $Log: Application.py,v $
# Revision 1.69 1998/08/05 21:04:04 brian
# Added Find
#
# Revision 1.68 1998/08/03 13:58:32 jim # Revision 1.68 1998/08/03 13:58:32 jim
# Took out debugging code. # Took out debugging code.
# #
......
__doc__="""Principia Find support"""
__version__='$Revision: 1.1 $'[11:-2]
import sys, os, string, time, Globals
from DocumentTemplate.DT_Util import Eval, expr_globals
from AccessControl.Permission import name_trans
from cDocumentTemplate import *
from DateTime import DateTime
from string import find
class FindSupport:
def PrincipiaFind(self, obj, obj_ids=None, obj_metatypes=None,
obj_searchterm=None, obj_expr=None,
obj_mtime=None, obj_mspec=None,
obj_permission=None, obj_roles=None,
REQUEST=None, result=None, pre=''):
"""Principia Find interface"""
if result is None:
result=[]
if obj_metatypes and 'all' in obj_metatypes:
obj_metatypes=None
if obj_mtime and type(obj_mtime)==type('s'):
obj_mtime=DateTime(obj_mtime).timeTime()
if obj_permission:
obj_permission=p_name(obj_permission)
if obj_expr:
# Setup expr machinations
md=td()
if hasattr(REQUEST, 'AUTHENTICATED_USER'):
md.AUTHENTICATED_USER=REQUEST.AUTHENTICATED_USER
obj_expr=(Eval(obj_expr, expr_globals), md, md._push, md._pop)
base=obj
if hasattr(obj, 'aq_base'):
base=obj.aq_base
if not hasattr(base, 'objectItems'):
return result
try: items=base.objectItems()
except: return result
try: add_result=result.append
except:
raise AttributeError, `result`
for id, ob in items:
if pre: p="%s/%s" % (pre, id)
else: p=id
dflag=0
if hasattr(ob, '_p_changed') and (ob._p_changed == None):
dflag=1
if hasattr(ob, 'aq_base'):
bs=ob.aq_base
if (
(not obj_ids or absattr(bs.id) in obj_ids)
and
(not obj_metatypes or (hasattr(bs, 'meta_type') and
bs.meta_type in obj_metatypes))
and
(not obj_searchterm or
(hasattr(ob, 'PrincipiaSearchSource') and
find(ob.PrincipiaSearchSource(), obj_searchterm) >= 0
))
and
(not obj_expr or expr_match(ob, obj_expr))
and
(not obj_mtime or mtime_match(ob, obj_mtime, obj_mspec))
# (obj_modspec=='<' and hasattr(ob, '_p_mtime') and \
# ob._p_mtime < obj_modtime) or
# (obj_modspec=='>' and hasattr(ob, '_p_mtime') and \
# ob._p_mtime > obj_modtime)
# )
and
( (not obj_permission or not obj_roles) or \
role_match(ob, obj_permission, obj_roles)
)
):
add_result((p, ob))
dflag=0
if hasattr(bs, 'objectItems'):
self.PrincipiaFind(ob, obj_ids, obj_metatypes,
obj_searchterm, obj_expr,
obj_mtime, obj_mspec,
obj_permission, obj_roles,
REQUEST, result, p)
if dflag: ob._p_deactivate()
return result
class td(TemplateDict, cDocument):
pass
def expr_match(ob, ed, c=InstanceDict, r=0):
e, md, push, pop=ed
push(c(ob, md))
try: r=e.eval(md)
finally:
pop()
return r
def mtime_match(ob, t, q, fn=hasattr):
if not fn(ob, '_p_mtime'):
return 0
return q=='<' and (ob._p_mtime < t) or (ob._p_mtime > t)
def role_match(ob, permission, roles, lt=type([]), tt=type(())):
# ob=obj
pr=[]
fn=pr.append
while 1:
if hasattr(ob, permission):
p=getattr(ob, permission)
if type(p) is lt:
map(fn, p)
if hasattr(ob, 'aq_parent'):
ob=ob.aq_parent
continue
break
if type(p) is tt:
map(fn, p)
break
if p is None:
map(fn, ('Manager', 'Anonymous'))
break
if hasattr(ob, 'aq_parent'):
ob=ob.aq_parent
continue
break
for role in roles:
if not (role in pr):
return 0
return 1
# Helper functions
def absattr(attr):
if callable(attr): return attr()
return attr
def p_name(name):
return '_' + string.translate(name, name_trans) + '_Permission'
## def oldpermission_match(obj, permission, roles):
## # if not hasattr(obj, '__ac_permissions__'):
## # return 0
## r=proles(obj, permission)
## for role in roles:
## if not (role in r):
## return 0
## return 1
## def pldproles(obj, permission):
## for p in obj.__ac_permissions__:
## name, value = p[:2]
## if name==permission:
## p=Permission(name,value,obj)
## r=p.getRoles()
## if r is None: r=['Anonymous']
## if type(r) is type(()):
## r=list(r)
## if hasattr(obj, 'aq_parent'):
## o=obj.aq_parent
## n=p._p
## while 1:
## if hasattr(o, n):
## roles=getattr(o, n)
## if roles is None:
## if not ('Anonymous' in r):
## r.append('Anonymous')
## return r
## if type(roles) is type(()):
## return r+list(roles)
## r=r+list(roles)
## if hasattr(o, 'aq_parent'):
## o=o.aq_parent
## else: break
## return r
## return []
## def PrincipiaFind1(self, start, _initial=None, prefix='',
## type=None, substring=None, name=None,
## ):
## if _initial is None: _initial=[]
## if hasattr(start,'aq_base'): start=start.aq_base
## if not hasattr(start, 'objectItems'): return _initial
## try: items=start.objectItems()
## except: return _initial
## for oname, o in items:
## if prefix: p="%s/%s" % (prefix, oname)
## else: p=oname
## if hasattr(o,'aq_base'): o=o.aq_base
## if (
## (type is None or not hasattr(o,'meta_type') or
## type==o.meta_type)
## and
## (name is None or oname==name)
## and
## (substring is None or
## (hasattr(o,'PrincipiaSearchSource') and
## find(o.PrincipiaSearchSource(),substring) >= 0
## ))
## ):
## _initial.append(p)
## if hasattr(o, 'objectItems'):
## self.PrincipiaFind(o,_initial,p,type,substring,name)
## return _initial
"""Folder object """Folder object
$Id: Folder.py,v 1.49 1998/08/03 13:30:57 jim Exp $""" $Id: Folder.py,v 1.50 1998/08/05 21:04:04 brian Exp $"""
__version__='$Revision: 1.49 $'[11:-2] __version__='$Revision: 1.50 $'[11:-2]
from Globals import HTMLFile from Globals import HTMLFile
...@@ -62,8 +62,8 @@ class Folder(ObjectManager,RoleManager,DocumentHandler, ...@@ -62,8 +62,8 @@ class Folder(ObjectManager,RoleManager,DocumentHandler,
'target':'manage_main'}, 'target':'manage_main'},
{'label':'Undo', 'action':'manage_UndoForm', {'label':'Undo', 'action':'manage_UndoForm',
'target':'manage_main'}, 'target':'manage_main'},
# {'label':'Help', 'action':'manage_help', {'label':'Find', 'action':'manage_findFrame',
# 'target':'_new'}, 'target':'manage_main'},
) )
__ac_permissions__=( __ac_permissions__=(
...@@ -71,8 +71,9 @@ class Folder(ObjectManager,RoleManager,DocumentHandler, ...@@ -71,8 +71,9 @@ class Folder(ObjectManager,RoleManager,DocumentHandler,
('View management screens', ('View management screens',
('manage','manage_menu','manage_main','manage_copyright', ('manage','manage_menu','manage_main','manage_copyright',
'manage_tabs','manage_propertiesForm','manage_UndoForm', 'manage_tabs','manage_propertiesForm','manage_UndoForm',
'manage_copyObject', 'manage_pasteObject' 'manage_copyObject', 'manage_pasteObject',
)), 'manage_findFrame', 'manage_findForm', 'manage_findAdv',
'manage_findResult', 'manage_findOpt')),
('Access contents information', ('Access contents information',
('objectIds', 'objectValues', 'objectItems','hasProperty', ('objectIds', 'objectValues', 'objectItems','hasProperty',
'propertyIds', 'propertyValues','propertyItems',''), 'propertyIds', 'propertyValues','propertyItems',''),
......
# install Application.py # install Application.py
# install CopySupport.py # install CopySupport.py
# install FindSupport.py
# install Document.py # install Document.py
# install Folder.py # install Folder.py
# install Image.py # install Image.py
...@@ -25,3 +26,8 @@ ...@@ -25,3 +26,8 @@
# install www # install www
# install Uninstalled.py # install Uninstalled.py
# install brokenEdit.dtml # install brokenEdit.dtml
# install findAdv.dtml
# install findForm.dtml
# install findFrame.dtml
# install findOpt.dtml
# install findResult.dtml
<HTML>
<HEAD>
<TITLE>Advanced Find</TITLE>
<SCRIPT LANGUAGE="javascript">
<!--
function show_smp()
{ document.location.href="<!--#var URL1-->/manage_findForm";
}
function show_adv()
{ document.location.href="<!--#var URL1-->/manage_findAdv";
}
function show_opt()
{ wnd=window.open("<!--#var URL1-->/manage_findOpt","wnd_find_options","width=400,height=200");
if (document.layers || document.all) {
wnd.focus()
}
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<!--#var manage_tabs-->
<P>
<FORM ACTION="manage_findResult" METHOD="GET" TARGET="findResult">
<TABLE>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>Find objects of type:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="obj_metatypes:list" SIZE="4" MULTIPLE>
<OPTION VALUE="all" SELECTED> All types
<!--#in all_meta_types mapping-->
<OPTION VALUE="<!--#var name-->"> <!--#var name-->
<!--#/in-->
</SELECT>
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>with ids:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="obj_ids:tokens" SIZE="30">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>containing:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="obj_searchterm" SIZE="30">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>expr:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<TEXTAREA NAME="obj_expr" ROWS="4" COLS="30"></TEXTAREA>
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>modified:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="obj_mspec">
<OPTION VALUE="<"> before
<OPTION VALUE=">"> after
</SELECT>
<INPUT TYPE="TEXT" NAME="obj_mtime" SIZE="22">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>where the roles:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="obj_roles:list" SIZE="3" MULTIPLE>
<!--#in valid_roles-->
<OPTION VALUE="<!--#var sequence-item-->"> <!--#var sequence-item-->
<!--#/in-->
</SELECT>
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>have permission:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="obj_permission">
<!--#in permission_settings mapping-->
<OPTION VALUE="<!--#var name-->"> <!--#var name-->
<!--#/in-->
</SELECT>
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="SUBMIT" NAME="btn_submit" VALUE="Find">
<INPUT TYPE="BUTTON" NAME="btn_opt" VALUE="Options..."
onClick="show_opt()">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Find</TITLE>
<SCRIPT LANGUAGE="javascript">
<!--
function show_smp()
{ document.location.href="<!--#var URL1-->/manage_findForm";
}
function show_adv()
{ document.location.href="<!--#var URL1-->/manage_findAdv";
}
function show_opt()
{ wnd=window.open("<!--#var URL1-->/manage_findOpt","wnd_find_options","width=400,height=200");
if (document.layers || document.all) {
wnd.focus()
}
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<!--#var manage_tabs-->
<P>
<FORM ACTION="manage_findResult" METHOD="GET" TARGET="findResult">
<TABLE>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>Find objects of type:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="obj_metatypes:list" SIZE="4" MULTIPLE>
<OPTION VALUE="all" SELECTED> All types
<!--#in all_meta_types mapping-->
<OPTION VALUE="<!--#var name-->"> <!--#var name-->
<!--#/in-->
</SELECT>
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>with ids:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="obj_ids:tokens" SIZE="30">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>containing:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="obj_searchterm" SIZE="30">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>modified:</STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="obj_mspec">
<OPTION VALUE="<"> before
<OPTION VALUE=">"> after
</SELECT>
<INPUT TYPE="TEXT" NAME="obj_mtime" SIZE="22">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="SUBMIT" NAME="btn_submit" VALUE="Find">
<INPUT TYPE="BUTTON" NAME="btn_opt" VALUE="Options..."
onClick="show_opt()">
<INPUT TYPE="BUTTON" NAME="btn_adv" VALUE="Advanced..."
onClick="show_adv()">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Find</TITLE>
</HEAD>
<FRAMESET ROWS="52%,*">
<!--#if cv_ffaf-->
<FRAME SRC="manage_findAdv" NAME="findForm"
<!--#else-->
<FRAME SRC="manage_findForm" NAME="findForm"
<!--#/if-->
MARGINWIDTH="2" MARGINHEIGHT="2" SCROLLING="auto">
<FRAME SRC="manage_findResult" NAME="findResult"
MARGINWIDTH="2" MARGINHEIGHT="0" SCROLLING="auto">
</FRAMESET>
<NOFRAMES>
Management interfaces require the use of a <B>frames-capable</B> web browser.
</NOFRAMES>
</HTML>
<HTML>
<HEAD>
<TITLE>Find Options</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<!--#if btn_submit-->
<!--#in expr="('ffnw', 'ffaf')"-->
<!--#if expr="_.hasattr(REQUEST, 'fv_'+_['sequence-item']) and _.getattr(REQUEST, 'fv_'+_['sequence-item']) and not _.hasattr(REQUEST, 'cv_'+_['sequence-item'])"-->
<!--#call expr="REQUEST.RESPONSE.setCookie('cv_'+_['sequence-item'], _.getattr(REQUEST, 'fv_'+_['sequence-item']), path='/', expires='Friday, 31-Dec-99 23:59:59 GMT')"-->
<!--#elif expr="_.hasattr(REQUEST, 'cv_'+_['sequence-item']) and _.getattr(REQUEST, 'cv_'+_['sequence-item']) and not _.hasattr(REQUEST, 'fv_'+_['sequence-item'])"-->
<!--#call expr="REQUEST.RESPONSE.expireCookie('cv_'+_['sequence-item'], path='/')"-->
<!--#/if-->
<!--#/in-->
<P>
<BR><BR>
<CENTER>
<FORM>
Your preferences have been saved.
<P>
<INPUT TYPE="BUTTON" NAME="btn_close" VALUE=" Ok " onClick="window.close()">
</FORM>
<!--#else-->
<H2>Find Options</H2>
<P>
<FORM ACTION="manage_findOpt" METHOD="POST">
<TABLE>
<!--
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="CHECKBOX" NAME="fv_ffnw" VALUE="1"<!--#if cv_ffnw--> CHECKED<!--#/if-->>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>Open results in new window</STRONG>
</TD>
</TR>
-->
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="CHECKBOX" NAME="fv_ffaf" VALUE="1"<!--#if cv_ffaf--> CHECKED<!--#/if-->>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>Always use advanced find</STRONG>
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="SUBMIT" NAME="btn_submit" VALUE=" Ok ">
<INPUT TYPE="BUTTON" NAME="btn_cancel" VALUE="Cancel" onClick="window.close()">
</TD>
</TR>
</TABLE>
</FORM>
<!--#/if-->
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Find Results</TITLE>
<SCRIPT LANGUAGE="javascript">
<!--
function new_wnd()
{ wnd=window.open("<!--#var URL-->?<!--#var QUERY_STRING-->","find_result");
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<P>
<!--#in expr="('obj_ids', 'obj_metatypes', 'obj_searchterm', 'obj_expr', 'obj_mtime', 'obj_mspec', 'obj_permission', 'obj_roles')"-->
<!--#else expr="_.hasattr(REQUEST, _['sequence-item'])"-->
<!--#call expr="REQUEST.set(_['sequence-item'], _.None)"-->
<!--#/else-->
<!--#/in-->
<!--#if btn_submit-->
<!--#call expr="REQUEST.set('results', PrincipiaFind(this(), obj_ids=obj_ids, obj_metatypes=obj_metatypes, obj_searchterm=obj_searchterm, obj_expr=obj_expr, obj_mtime=obj_mtime, obj_mspec=obj_mspec, obj_permission=obj_permission, obj_roles=obj_roles, REQUEST=REQUEST))"-->
<!--#call expr="REQUEST.set('result_len', _.len(results))"-->
<!--#if results-->
<HR>
<STRONG>
Found <!--#var result_len--> item<!--#if expr="result_len != 1"-->s<!--#/if-->.
</STRONG>
<HR>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2">
<!--#in results-->
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<A HREF="<!--#var sequence-key-->/manage_main" TARGET="manage_main">
<IMG SRC="<!--#var SCRIPT_NAME-->/<!--#var icon-->"
ALT="Click to open this item" BORDER="0"></A>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<A HREF="<!--#var sequence-key-->/manage_main" TARGET="manage_main">
<!--#var sequence-key-->
<!--#if title-->
(<!--#var title-->)
<!--#/if-->
</A>
</TD>
</TR>
<!--#/in-->
</TABLE>
<!--#else-->
<HR>
<STRONG>
No items were found matching this query.
</STRONG>
<HR>
<!--#/if-->
<!--#/if-->
</BODY>
</HTML>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
</HEAD> </HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555"> <BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<!--#var manage_tabs--> <!--#var manage_tabs-->
<P>
<!--#if Principia-Session--> <!--#if Principia-Session-->
<EM>You are currently working in session <!--#var Principia-Session--></EM> <EM>You are currently working in session <!--#var Principia-Session--></EM>
<P> <P>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment