[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" }}&deg;</td>
-            <td class=float>{{ object.singleSource.longitude|stringformat:".4f" }}&deg;</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" }}&deg;</td>
+            <td class=float>{{ object.singleSource.longitude|stringformat:".4f" }}&deg;</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