[cig-commits] r11592 - in cs/portal/trunk/seismo/SeismoWebPortal: . templates/SeismoWebPortal
leif at geodynamics.org
leif at geodynamics.org
Wed Mar 26 12:21:40 PDT 2008
Author: leif
Date: 2008-03-26 12:21:39 -0700 (Wed, 26 Mar 2008)
New Revision: 11592
Removed:
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_list.html
Modified:
cs/portal/trunk/seismo/SeismoWebPortal/models.py
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_confirm_delete.html
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_detail.html
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_search_results.html
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_upload.html
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/object_lists.html
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_confirm_delete.html
cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_form.html
cs/portal/trunk/seismo/SeismoWebPortal/views.py
Log:
Treat events just like any other user object.
Modified: cs/portal/trunk/seismo/SeismoWebPortal/models.py
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/models.py 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/models.py 2008-03-26 19:21:39 UTC (rev 11592)
@@ -190,7 +190,7 @@
return 2.0 * (log10(self.scalarSeismicMoment()) - 16.1)/3.0
def beachball(self):
- src = "/specfem3dglobe/events/sources/%d/beachball.gif" % self.id
+ src = "/specfem3dglobe/config/events/sources/%d/beachball.gif" % self.id
return """<img class=beachball src="%s">""" % src
def cmtSolution(self):
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_confirm_delete.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_confirm_delete.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_confirm_delete.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -1,7 +1,7 @@
<h2>delete event</h2>
-<form method="post" action="/specfem3dglobe/events/{{ object.id }}/delete/">
+<form method="post" action="/specfem3dglobe/config/events/{{ object.id }}/delete/">
<p>Are you sure you want to delete the event "{{ object }}"?
<p><input type="submit" value="Delete" />
</form>
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_detail.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_detail.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_detail.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -22,7 +22,7 @@
<p class=infobar>{{ object.source_set.count }} source{{ object.source_set.count|pluralize }}
{% if object.source_set.count %}
- <table border=1 rules=groups>
+ <table border=1 rules=groups class="cool">
<colgroup><col class=odd><col class=even><col class=odd><col class=even><col class=odd><col class=even><col class=odd></colgroup>
<thead>
Deleted: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_list.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_list.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_list.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -1,57 +0,0 @@
-
-<h2>events</h2>
-
-<div class=toolbar>
- <form action="search/" method="get"><input type="submit" value="Search..." /></form>
- <form action="new/" method="get"><input type="submit" value="New..." /></form>
- <form action="upload/" method="get"><input type="submit" value="Upload..." /></form>
-</div>
-
-{% if object_list %}
- <table rules=groups class="cool">
- <colgroup><col class=odd><col class=even><col class=odd><col class=even><col class=odd><col class=even><col class=odd><col class=even></colgroup>
-
- <thead>
- <tr>
- <th>name</th>
- <th>type</th>
- <th>CMT</th>
- <th>M<sub>w</sub></th>
- <th>latitude</th>
- <th>longitude</th>
- <th>depth</th>
- <th>downloads</th>
- </tr>
- </thead>
-
- <tbody>
- {% for object in object_list %}
- <tr>
- <th><a href="{{ object.id }}/">{{ object }}</a></th>
- {% if object.singleSource %}
- <td>point-source</td>
- <td>{{ object.singleSource.beachball }}</td>
- <td class=float>{{ object.singleSource.momentMagnitude|stringformat:".2f" }}</td>
- <td class=float>{{ object.singleSource.latitude|stringformat:".4f" }}°</td>
- <td class=float>{{ object.singleSource.longitude|stringformat:".4f" }}°</td>
- <td class=float>{{ object.singleSource.depth|stringformat:".4f" }}</td>
- {% else %}
- <td>finite-source<br><span class=inlineInfo>N<sub>sources</sub> = {{ object.source_set.count }}</span></td>
- <td class=notApplicable>-</td>
- <td class=notApplicable>-</td>
- <td class=notApplicable>-</td>
- <td class=notApplicable>-</td>
- <td class=notApplicable>-</td>
- {% endif %}
- <td>
- <a href="{{ object.id }}/gearth.kml"><img src="/specfem3dglobe/pics/kml.icon.gif" title="View in Google Earth" alt="View in Google Earth"></a>
- [<a href="{{ object.id }}/CMTSOLUTION.txt">text</a>]
- </td>
- </tr>
- {% endfor %}
- </tbody>
-
- </table>
-{% else %}
- <p>You have no events.
-{% endif %}
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_search_results.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_search_results.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_search_results.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -22,7 +22,7 @@
<tr>
<td>
<!-- an inline events/add form, already filled-out -->
- <form method="post" action="../new/">
+ <form method="post" action="/specfem3dglobe/config/events/new/">
<input type="hidden" name="name" value="{{ event.eventName }}"/>
<input type="hidden" name="dataSource" value="{{ event.dataSource }}"/>
<input type="hidden" name="when_date" value="{{ event.year }}-{{ event.month }}-{{ event.day }}"/>
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_upload.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_upload.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/event_upload.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -1,7 +1,7 @@
<h2>upload event</h2>
-<form action="/specfem3dglobe/events/upload/" method="post" enctype="multipart/form-data">
+<form action="/specfem3dglobe/config/events/upload/" method="post" enctype="multipart/form-data">
{% if form.has_errors %}
<p><span class=error>Please correct the following error{{ form.error_dict|pluralize }}.</span>
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/object_lists.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/object_lists.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/object_lists.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -2,6 +2,56 @@
<h2>Configuration</h2>
<p>
+{% if event_list %}
+ <table rules=groups class="cool">
+ <colgroup><col class=odd><col class=even><col class=odd><col class=even><col class=odd><col class=even><col class=odd><col class=even></colgroup>
+
+ <thead>
+ <tr>
+ <th>name</th>
+ <th>type</th>
+ <th>CMT</th>
+ <th>M<sub>w</sub></th>
+ <th>latitude</th>
+ <th>longitude</th>
+ <th>depth</th>
+ <th>downloads</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ {% for object in event_list %}
+ <tr>
+ <th><a href="events/{{ object.id }}/">{{ object }}</a></th>
+ {% if object.singleSource %}
+ <td>point-source</td>
+ <td>{{ object.singleSource.beachball }}</td>
+ <td class=float>{{ object.singleSource.momentMagnitude|stringformat:".2f" }}</td>
+ <td class=float>{{ object.singleSource.latitude|stringformat:".4f" }}°</td>
+ <td class=float>{{ object.singleSource.longitude|stringformat:".4f" }}°</td>
+ <td class=float>{{ object.singleSource.depth|stringformat:".4f" }}</td>
+ {% else %}
+ <td>finite-source<br><span class=inlineInfo>N<sub>sources</sub> = {{ object.source_set.count }}</span></td>
+ <td class=notApplicable>-</td>
+ <td class=notApplicable>-</td>
+ <td class=notApplicable>-</td>
+ <td class=notApplicable>-</td>
+ <td class=notApplicable>-</td>
+ {% endif %}
+ <td>
+ <a href="events/{{ object.id }}/gearth.kml"><img src="/specfem3dglobe/pics/kml.icon.gif" title="View in Google Earth" alt="View in Google Earth"></a>
+ [<a href="events/{{ object.id }}/CMTSOLUTION.txt">text</a>]
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+
+ </table>
+{% else %}
+ <p>You have no events.
+{% endif %}
+
+<p>
{% if specfem3dglobe_parameters_list %}
<table rules=groups class="cool">
<caption>Specfem 3D Globe Parameter Sets</caption>
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_confirm_delete.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_confirm_delete.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_confirm_delete.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -1,7 +1,7 @@
<h2>delete source</h2>
-<form method="post" action="/specfem3dglobe/events/sources/{{ object.id }}/delete/">
+<form method="post" action="/specfem3dglobe/config/events/sources/{{ object.id }}/delete/">
<p>Are you sure you want to delete the source "{{ object }}"?
<p><input type="submit" value="Delete" />
</form>
Modified: cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_form.html
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_form.html 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/templates/SeismoWebPortal/source_form.html 2008-03-26 19:21:39 UTC (rev 11592)
@@ -5,7 +5,7 @@
<p><span class=error>Please correct the following error{{ form.error_dict|pluralize }}.</span>
{% endif %}
-<form method="post" action="/specfem3dglobe/events/sources/{{ object.id }}/edit/">
+<form method="post" action="/specfem3dglobe/config/events/sources/{{ object.id }}/edit/">
<div class=tab30ex>
Modified: cs/portal/trunk/seismo/SeismoWebPortal/views.py
===================================================================
--- cs/portal/trunk/seismo/SeismoWebPortal/views.py 2008-03-26 16:15:19 UTC (rev 11591)
+++ cs/portal/trunk/seismo/SeismoWebPortal/views.py 2008-03-26 19:21:39 UTC (rev 11592)
@@ -10,6 +10,7 @@
from django.template.context import RequestContext
from create_update import create_object, update_object
from forms import RegistrationAddManipulator, RegistrationChangeManipulator
+from models import Event, Source
from models import Station, StationList, StationNetwork, DataSource, Region
from models import Specfem3DGlobeModel, Specfem3DGlobeMesh, Specfem3DGlobeParameters
from models import MineosModeCatalog, MineosParameters
@@ -105,7 +106,7 @@
index = Index({
"config": config,
- "events": events,
+ "events": event_search,
"profile": registration,
"logout": logout,
"help": help,
@@ -156,6 +157,8 @@
if path:
name = path.pop(0)
+ if name == "events":
+ return config_events(request, path, desktop)
if name == "stations":
return config_stations(request, path, desktop)
index = Index({
@@ -229,7 +232,8 @@
child = gui.ChildWindow("/specfem3dglobe/config/", "View")
child.menuBar = [
gui.Menu("newMenu", "new", "New",
- [gui.MenuItem("specfem3dglobe/models/new/", "Specfem 3D Globe Model"),
+ [gui.MenuItem("events/new/", "Event"),
+ gui.MenuItem("specfem3dglobe/models/new/", "Specfem 3D Globe Model"),
gui.MenuItem("specfem3dglobe/meshes/new/1/", "Specfem 3D Globe 1-chunk Regional Mesh"),
gui.MenuItem("specfem3dglobe/meshes/new/2/", "Specfem 3D Globe 2-chunk Regional Mesh"),
gui.MenuItem("specfem3dglobe/meshes/new/3/", "Specfem 3D Globe 3-chunk Regional Mesh"),
@@ -240,13 +244,15 @@
]
),
gui.Menu("uploadMenu", "upload", "Upload",
- [gui.MenuItem("stations/upload/", "Station List"),
+ [gui.MenuItem("events/upload/", "Event"),
+ gui.MenuItem("stations/upload/", "Station List"),
]
)
]
home = Folder.homeFolder(request.user)
html = loader.render_to_string('SeismoWebPortal/object_lists.html',
- {'specfem3dglobe_parameters_list': Specfem3DGlobeParameters.objects.filter(fsNode__owner=request.user),
+ {'event_list': Event.objects.filter(fsNode__owner=request.user),
+ 'specfem3dglobe_parameters_list': Specfem3DGlobeParameters.objects.filter(fsNode__owner=request.user),
'mesh_list': Specfem3DGlobeMesh.objects.filter(fsNode__owner=request.user),
'model_list': Specfem3DGlobeModel.objects.filter(fsNode__owner=request.user),
'mode_catalog_list': MineosModeCatalog.objects.filter(fsNode__owner=request.user),
@@ -934,36 +940,31 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-def events(request, path, desktop):
- from models import Event
- from list_detail import object_list, object_detail
+def junk():
+ node = gui.File(name, event.fsNode.name)
+ eventsDir.appendNode(node)
+ fileBrowser.path.append(node)
+
+
+def config_events(request, path, desktop):
+ from list_detail import object_detail
from create_update import delete_object
- fileBrowser = desktop.windowList[0]
- eventsDir = fileBrowser.root.index["events"]
- fileBrowser.path.append(eventsDir)
-
- if not path:
- view = gui.ChildWindow("/specfem3dglobe/events/", "View")
- return object_list(request, desktop, view, queryset = Event.objects.filter(fsNode__owner=request.user), allow_empty = True)
+ if not path: raise Http404
+ name = path.pop(0)
- name = path.pop(0)
index = Index({
- "search": event_search,
"new": lambda request, path, desktop: manipulate_event(request, path, desktop, action='new'),
"upload": upload_event,
- "sources": sources,
+ "sources": config_events_sources,
})
view = index.get(name)
if view:
return view(request, path, desktop)
objId = intOr404(name)
- url = "/specfem3dglobe/events/%d/" % objId
+ url = "/specfem3dglobe/config/events/%d/" % objId
event = get_object_or_404(Event, id=objId) # Ouch!
- node = gui.File(name, event.fsNode.name)
- eventsDir.appendNode(node)
- fileBrowser.path.append(node)
view = gui.ChildWindow(url, "View")
edit = gui.ChildWindow(url + "edit/", "Edit")
@@ -998,7 +999,7 @@
return delete_object(request,
desktop,
Event,
- "/specfem3dglobe/events/",
+ "/specfem3dglobe/config/",
object_id = objId,
)
index = Index({
@@ -1010,7 +1011,7 @@
return view(request, *args, **kwds)
-def sources(request, path, desktop):
+def config_events_sources(request, path, desktop):
from models import Source
from list_detail import object_detail
from create_update import update_object, delete_object
@@ -1020,7 +1021,7 @@
name = path.pop(0)
objId = intOr404(name)
- url = "/specfem3dglobe/events/sources/%d/" % objId
+ url = "/specfem3dglobe/config/events/sources/%d/" % objId
view = gui.ChildWindow(url, "View")
edit = gui.ChildWindow(url + "edit/", "Edit")
@@ -1056,7 +1057,7 @@
desktop,
Source,
object_id = objId,
- post_delete_redirect = "/specfem3dglobe/events/",
+ post_delete_redirect = "/specfem3dglobe/config/",
)
index = Index({
@@ -1072,7 +1073,11 @@
if path: raise Http404
- search = gui.ChildWindow("/specfem3dglobe/events/search/", "Search")
+ fileBrowser = desktop.windowList[0]
+ eventsDir = fileBrowser.root.index["events"]
+ fileBrowser.path.append(eventsDir)
+
+ search = gui.ChildWindow("/specfem3dglobe/events/", "Search")
desktop.activeWindow.insertWindow(search)
if not request.GET:
html = loader.render_to_string('SeismoWebPortal/event_search.html')
@@ -1117,7 +1122,6 @@
def manipulate_event(request, path, desktop, action=None, object_id=None, window=None):
- from models import Event
from forms import SingleSourceEventAddManipulator, SingleSourceEventChangeManipulator
if path: raise Http404
@@ -1125,7 +1129,7 @@
if action == "new":
manipulator = SingleSourceEventAddManipulator()
event = None
- window = gui.ChildWindow("/specfem3dglobe/events/new/", "New")
+ window = gui.ChildWindow("/specfem3dglobe/config/events/new/", "New")
desktop.activeWindow.insertWindow(window)
elif action == "edit":
event = get_object_or_404(Event, id=object_id)
@@ -1156,7 +1160,7 @@
if name:
new_event.fsNode.name = name
new_event.fsNode.save()
- url = "/specfem3dglobe/events/%i/" % new_event.id
+ url = "/specfem3dglobe/config/events/%i/" % new_event.id
return HttpResponseRedirect(url)
else:
new_data = manipulator.flatten_data()
@@ -1202,7 +1206,7 @@
else:
errors = new_data = {}
- child = gui.ChildWindow("/specfem3dglobe/events/upload/", "Upload")
+ child = gui.ChildWindow("/specfem3dglobe/config/events/upload/", "Upload")
child.buttons.append(helpButton(request))
form = forms.FormWrapper(manipulator, new_data, errors)
html = loader.render_to_string('SeismoWebPortal/event_upload.html',
@@ -1213,16 +1217,14 @@
return desktop
def event_detail_gearth(request, object_id):
- from models import Event
event = get_object_or_404(Event, id=object_id)
return gearth_object_list(request,
queryset = event.source_set.all(),
template_name = 'SeismoWebPortal/event_detail_gearth.kml',
- extra_context = {'name': event.name},
+ extra_context = {'name': event.fsNode.name},
)
def beachball_gif(request, event_id=None, source_id=None):
- from models import Event, Source
from gmt import psmeca
import shutil
@@ -1250,7 +1252,6 @@
response = HttpResponse(mimetype='text/plain')
- from models import Event
event = get_object_or_404(Event, id=object_id)
count = event.source_set.count()
More information about the cig-commits
mailing list