[cig-commits] r11866 - in cs/portal/trunk/seismo/SeismoWebPortal: . templates/SeismoWebPortal
leif at geodynamics.org
leif at geodynamics.org
Fri Apr 25 13:44:32 PDT 2008
Author: leif
Date: 2008-04-25 13:44:32 -0700 (Fri, 25 Apr 2008)
New Revision: 11866
Modified:
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/seismogram_table.html
cs/portal/trunk/seismo/SeismoWebPortal/views.py
Log:
Partition objects according to type.
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/seismogram_table.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/seismogram_table.html 2008-04-25 17:08:53 UTC (rev 11865)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/seismogram_table.html 2008-04-25 20:44:32 UTC (rev 11866)
@@ -10,7 +10,7 @@
zero half duration
</td>
- <td align=left><a href="settings/">Edit...</a></td>
+ <td align=left><a href="../settings/">Edit...</a></td>
</tr></table>
{% if assist %}
Modified: cs/portal/trunk/seismo/SeismoWebPortal/views.py
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/views.py 2008-04-25 17:08:53 UTC (rev 11865)
+++ cs/portal/trunk/seismo/SeismoWebPortal/views.py 2008-04-25 20:44:32 UTC (rev 11866)
@@ -244,24 +244,29 @@
return folderView(Folder.sharedFolder(), "shared", workspace, url + "shared/", request, path, appWindow, desktop)
-def folderView(folder, slug, workspace, url, request, path, appWindow, desktop):
+def folderView(folder, slug, workspace, url, request, path, appWindow, desktop, ModelClass=None):
if path:
name = path.pop(0)
- return configObject(name, workspace, url, request, path, appWindow, desktop)
+ return configObject(name, workspace, url, request, path, appWindow, desktop, slug)
folderIcon = appWindow.root.index[slug]
appWindow.root.setAnchor(slug)
appWindow.path.append(folderIcon)
child = gui.ChildWindow(url, "View")
- child.content = folderIconView(folder, workspace, url, request, path, appWindow, desktop)
+ child.content = folderIconView(folder, workspace, url, request, path, appWindow, desktop, ModelClass)
desktop.activeWindow.selectWindow(child)
return desktop
-def folderIconView(folder, workspace, url, request, path, appWindow, desktop):
+def folderIconView(folder, workspace, url, request, path, appWindow, desktop, ModelClass = None):
name = folder.fsNode.name
- items = FSNode.objects.filter(parent=folder.fsNode)
+ if ModelClass is None:
+ items = FSNode.objects.filter(parent=folder.fsNode)
+ else:
+ from django.contrib.contenttypes.models import ContentType
+ ctype = ContentType.objects.get_for_model(ModelClass)
+ items = FSNode.objects.filter(parent=folder.fsNode, kind=ctype)
html = StringIO()
@@ -355,19 +360,13 @@
raise Http404
-def configObject(name, workspace, url, request, path, appWindow, desktop):
+def configObject(name, workspace, url, request, path, appWindow, desktop, folderName):
objId = intOr404(name)
parentURL = url
url += "%d/" % objId
fsNode = get_object_or_404(FSNode, id=objId)
- if fsNode.inTrash:
- folderName = "trash"
- elif fsNode.owner:
- folderName = "home"
- else:
- folderName = "shared"
folder = appWindow.root.index[folderName]
appWindow.root.setAnchor(folderName)
appWindow.path.append(folder)
@@ -452,7 +451,7 @@
name = path.pop(0)
if name == "config":
return configFactory(url, request, path, desktop)
- return configObject(name, workspace, url, request, path, appWindow, desktop)
+ return configObject(name, workspace, url, request, path, appWindow, desktop, "home")
appWindow.root.setAnchor("home")
homeFolder = appWindow.root.index["home"]
@@ -1350,16 +1349,24 @@
appWindow = desktop.eventViewers[workspace.id]
appWindow.root.appendNodes([
- gui.Directory("events", "Events", [
- gui.Search("search", "Search", url = url + "events/"),
- ]),
+ gui.Directory("events", "Events", [gui.Search("search", "Search", url = url + "events/"),
+ ]),
+ ###
+ gui.Directory("home", "Home", []),
+ gui.Directory("shared", "Shared", []),
+ ####
+ gui.Directory("stations", "Stations", []),
+ gui.Directory("1dmodels", "1D Models", []),
+ gui.Directory("1dparameters", "1D Parameters", []),
+ gui.Directory("3dmeshes", "3D Meshes", []),
+ gui.Directory("3dmodels", "3D Models", []),
+ gui.Directory("3dparameters", "3D Parameters", []),
+ gui.Directory("trash", "Trash", []),
+ ####
gui.File("seismograms", "Seismograms"),
sources,
gui.Directory("maps", "Maps", [], url = url + "maps/"),
gui.File("settings", "Settings", url = url + "settings/"),
- gui.Directory("home", "Home", []),
- gui.Directory("shared", "Shared", []),
- gui.Directory("trash", "Trash", []),
])
desktop.selectWindow(appWindow)
@@ -1416,6 +1423,19 @@
post_save_redirect = url,
follow = FSNode.follow,
)
+
+ index = Index({
+ "stations": StationList,
+ "1dmodels": MineosModel,
+ "1dparameters": MineosParameters,
+ "3dmeshes": Specfem3DGlobeMesh,
+ "3dmodels": Specfem3DGlobeModel,
+ "3dparameters": Specfem3DGlobeParameters,
+ })
+ ModelClass = index.get(name)
+ if ModelClass:
+ return folderView(Folder.sharedFolder(), name, workspace, url + name + "/", request, path, appWindow, desktop,
+ ModelClass)
if name == "home":
return homeFolder(workspace, url, request, path, appWindow, desktop)
More information about the cig-commits
mailing list