--- OSAS/OSA_system/OSAS_search.py 2004/07/09 16:55:19 1.3 +++ OSAS/OSA_system/OSAS_search.py 2004/07/29 16:14:21 1.6 @@ -8,6 +8,8 @@ from Globals import InitializeClass from Globals import Persistent, package_home from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate +from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate +from OFS.Folder import Folder from OFS.SimpleItem import SimpleItem #from pyPgSQL import PgSQL import psycopg as PgSQL @@ -17,11 +19,14 @@ import os MAXHITS = 1000 -class OSAS_search(SimpleItem): +class OSAS_search(Folder): """Object for global metadata search""" meta_type="OSAS_search" + manage_options=Folder.manage_options+( + {'label':'Main config','action':'manage_ChangeOSAS_searchForm'}, + ) def __init__(self,id,title,dsn=None): @@ -190,10 +195,10 @@ class OSAS_search(SimpleItem): res.append(r) else: res = results - # filter on count - resgroup = res[start:end] # new total count (because of filter) rescnt = len(res) + # filter on count + resgroup = res[start:end] return (resgroup, rescnt) @@ -236,6 +241,7 @@ class OSAS_search(SimpleItem): (resgroup, nres) = self.filterResults(self.REQUEST.SESSION['results'], sres, lres, restypefilter) lres = min(lres, nres) + sres = min(sres, nres) self.REQUEST.SESSION['resultgroup'] = resgroup self.REQUEST.SESSION['res_indexes'] = (sres+1, lres, nres, int(count)) self.REQUEST.SESSION['res_type_filter'] = restypefilter @@ -318,6 +324,19 @@ class OSAS_search(SimpleItem): return self.search(start=first, count=count) + def manage_ChangeOSAS_searchForm(self): + """create Search form""" + pt=PageTemplateFile(os.path.join(package_home(globals()), "zpt/ChangeOSAS_search.zpt")).__of__(self) + return pt() + + def manage_ChangeOSAS_search(self,id,title=None,dsn=None,RESPONSE=None): + """add the OSAS_root""" + self.id = id + self.title = title + self.dsn = dsn + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + def manage_AddOSAS_searchForm(self): """create Search form""" @@ -589,6 +608,11 @@ def storageURL(filename): if r: url = "http://content.mpiwg-berlin.mpg.de/mpistorage/storage/ShowOnline/index_html?path=%s"%r.group(1) name = "Storage System" + + elif filename.startswith('http://'): + #print "URLFORFILE: url ", filename + url = filename + name = "Online Database" if name and url: return (url, name)