Changeset 8211 for mauRepo


Ignore:
Timestamp:
03/04/12 13:33:26 (8 years ago)
Author:
gparton
Message:

Adding in Graham's amendments to ceda Obs views and js, plus search page content

Location:
mauRepo/MolesManager/trunk
Files:
5 added
10 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/.pydevproject

    r8180 r8211  
    33 
    44<pydev_project> 
    5 <pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">MolesManagerEnv</pydev_property> 
     5<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">python.exe</pydev_property> 
    66<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property> 
    77<pydev_variables_property name="org.python.pydev.PROJECT_VARIABLE_SUBSTITUTION"> 
  • mauRepo/MolesManager/trunk/src/MolesManager/molesSessionMiddleware.py

    r8206 r8211  
    2929 
    3030            # This indexes the tsvector column 
     31 
    3132            db_manager._engine.execute("create index md_identifier_code_search_index on md_identifier using gin(code_search_vector)") 
    3233 
  • mauRepo/MolesManager/trunk/src/MolesManager/settings.py

    r8138 r8211  
    2727    'default': { 
    2828        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     29        #'NAME': 'c:/virtualenvs/www/MolesManager/src/sqlite.db', #'/misc/frigid3/humid1/mnagni/workspaces/moles3/MolesManager/src/sqlite.db',                      # Or path to database file if using sqlite3. 
    2930        'NAME': '/misc/frigid3/humid1/mnagni/workspaces/moles3/MolesManager/src/sqlite.db',                      # Or path to database file if using sqlite3. 
    3031        'USER': '',                      # Not used with sqlite3. 
     
    4647# Language code for this installation. All choices can be found here: 
    4748# http://www.i18nguy.com/unicode/language-identifiers.html 
    48 LANGUAGE_CODE = 'en-us' 
     49LANGUAGE_CODE = 'en-gb' 
    4950 
    5051SITE_ID = 1 
     
    7778# Example: "http://media.lawrence.com/static/" 
    7879 
    79 #Deployment parametrized version 
    80 STATIC_URL = 'http://localhost' 
     80#Deployment parameterized version 
     81#STATIC_URL = 'http://localhost' 
     82STATIC_URL = 'http://127.0.0.1:8000/static/' 
     83#STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL) 
     84#STATIC_URL = '/static/' 
     85#STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL) 
    8186 
    8287# URL prefix for admin static files -- CSS, JavaScript and images. 
     
    199204MIGRATION_DB_SCRIPT = doMigration 
    200205 
    201 RUN_MIGRATION = True 
     206RUN_MIGRATION = False 
    202207#Default to one day 
    203208MIGRATION_INTERVAL = 86400 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/js/cedaObservation.js

    r8200 r8211  
    66   //    return(<value>); 
    77   //      } 
    8         function createCitation(coObs){ 
    9                 var loopVal; 
    10                 var author; 
    11                 var co_author; 
    12                 alert(coObs.relatedParty.length); 
    13                 for (loopVal=0; loopVal<coObs.relatedParty.length; loopVal++) {  
    14                         //temporarily make safe the loop 
    15                         if (coObs.relatedParty[loopVal].role == null) { 
    16                                 continue; 
     8 
     9        function getIDs(coObs) 
     10        { 
     11                var idDict = {}; 
     12                for (loopVal=0; loopVal<coObs.identifier.length; loopVal++){ 
     13                        idDict[coObs.identifier[loopVal].authority.title] = coObs.identifier[loopVal].code; 
    1714                        } 
    18                         //alert(coObs.relatedParty[loopVal]); 
    19                            
    20                         //alert(coObs.relatedParty[loopVal].party); 
    21                         //alert(coObs.relatedParty[loopVal].party.length); 
    22                         if (coObs.relatedParty[loopVal].role.name == 'cl_author') { 
    23                                 author = coObs.relatedParty[loopVal].party[0].name; 
    24                         } 
    25                  
    26                         else if (coObs.relatedParty[loopVal].role.name == 'cl_coinvestigator') { 
    27                                 alert(coObs.relatedParty[loopVal].role.name); 
    28                                 alert(coObs.relatedParty[loopVal].party);                                
    29                                 if (coObs.relatedParty[loopVal].party != ''){ 
    30                                         for (coAuth = 0; coAuth<coObs.relatedParty[loopVal].party.length; coAuth++)     {  
    31                                                 co_author = coObs.relatedParty[loopVal].party[coAuth].name; 
     15                if (!('doi' in idDict)){ 
     16                        idDict['doi'] = 'test/doi.string.123456' 
     17                } 
     18                return idDict 
     19        } 
     20 
     21        function getRelatedParties(coObs){ 
     22                var relatedPartyDict = {}; 
     23                for (loopVal=0; loopVal<coObs.relatedParty.length; loopVal++) 
     24                        { 
     25                        var names=[]; 
     26                        if (typeof coObs.relatedParty[loopVal].role !='undefined') 
     27                                { 
     28                                if (typeof coObs.relatedParty[loopVal].role.name !='undefined') 
     29                                        { 
     30                                        for (loopInner=0; loopInner<coObs.relatedParty[loopVal].party.length; loopInner++) 
     31                                                { 
     32                                                        names.push(coObs.relatedParty[loopVal].party[0].name) 
     33                                                } 
     34                                        relatedPartyDict[coObs.relatedParty[loopVal].role.name] = names; 
    3235                                        } 
    33                                 } else { 
    34                                         co_author = ['']; 
     36                                         
    3537                                } 
    3638                        } 
     39                return relatedPartyDict 
     40        } 
     41 
     42        function createCitation(coObs,ids,rps){ 
     43                var citationString =''; 
     44                citationString += rps['cl_author']; 
     45                if (rps.hasOwnProperty('cl_coinvestigator')){ 
     46                        for (loopVal=0; loopVal<rps['cl_coinvestigator'].length; loopVal++) 
     47                                { citationString += ', ' + rps['cl_coinvestigator'][loopVal] 
     48                                } 
    3749                } 
    38                 //author = coObs.relatedParty[0].party[0].name; 
    39                 //co_author.push(coObs.relatedParty[2].party[0].name); 
    40                 var citationString =  '' + author.toString() + ', ' + co_author.toString();//.toString()//+ ' sub_author_list ' + 'title' 
    41                 //var citationString = typeof coObs.relatedParty[0].role.name; 
     50                citationString += '. ' + ids['ceda_title'] + '. ' + 'Centre for Environmental Data Archival.'; 
     51                if ('doi' in ids){ 
     52                        citationString += ' ' + ids['doi']; 
     53                } 
    4254                return citationString 
    4355        } 
    44          
    45          
    46          
    47         console.log("loads the page") 
     56 
    4857        require(['dojo/ready', 'dojo/parser', 'dijit/registry', 'dojo/_base/json', 'dojo/store/Memory', 
    4958                 'dijit/Tree', 'dijit/form/Button'], function(ready, parser, registry, Tree){ 
    50                  ready(function () { 
     59                 ready(function ()  
     60                         { 
    5161                          
    5262                         //---------------------------------------------- 
     
    5868                         //obs_id.startup(); 
    5969                          
    60                          var button = new dijit.form.Button({ 
     70                         var button = new dijit.form.Button( 
     71                                 { 
    6172                                 type: "submit", 
    6273                         label: "Search", 
     
    6576                     button.startup(); 
    6677                          
    67                          var records_dataLineage = new dijit.form.Textarea({ 
     78                         var records_dataLineage = new dijit.form.Textarea( 
     79                                 { 
    6880                                 value: "" 
    6981                         }, "records_dataLineage"); 
    7082                         records_dataLineage.startup();  
    7183 
    72                          var description_id = new dijit.form.Textarea({ 
     84                         var description_id = new dijit.form.Textarea( 
     85                                 { 
    7386                                 value: "" 
    7487                         }, "description_id"); 
    7588                         description_id.startup();                        
    7689                          
    77                          var title_id = new dijit.form.TextBox({ 
     90                         var title_id = new dijit.form.Textarea( 
     91                                 { 
    7892                                 value: "", 
    7993                         }, "title_id"); 
    8094                         title_id.startup(); 
    8195                          
    82                          var citation_id = new dijit.form.TextBox({ 
     96                         var citation_id = new dijit.form.Textarea( 
     97                                 { 
    8398                                 value: "" 
    8499                         }, "citation_id"); 
    85100                         citation_id.startup(); 
    86101 
    87                          var keywords_id = new dijit.form.TextBox({ 
     102                         var keywords_id = new dijit.form.TextBox( 
     103                                 { 
    88104                                 value: "" 
    89105                         }, "keywords_id"); 
     
    92108                         //---------------------------------------------- 
    93109                         //---------- Loads the widgets values ---------- 
    94                          //----------------------------------------------                         
    95                           
     110                         //---------------------------------------------- 
     111                                  
    96112                         var json = dojo.byId('coObs_id').value; 
    97113                                 var coObs = dojo.fromJson(json); 
     114 
     115                                 console.log(coObs.identifier.length) 
     116 
    98117                                 console.log(coObs) 
    99                                   
    100                                  dojo.attr("title_id", 'value', coObs.title); 
    101                                  dojo.attr("citation_id", 'value', createCitation(coObs)); 
     118                                 var ids = getIDs(coObs); 
     119                                 var rps = getRelatedParties(coObs); 
     120 
     121                                 dojo.attr("title_id", 'value', ids['ceda_title']); 
     122                                 dojo.attr("citation_id", 'value', createCitation(coObs,ids,rps)); 
    102123                                 dojo.attr("records_dataLineage", 'value', coObs.dataLineage); 
    103124                                 dojo.attr("description_id", 'value', coObs.description); 
    104125                                 dojo.attr("keywords_id", 'value', coObs.keywords); 
    105                                   
    106                                  rp = new dojo.store.Memory(coObs.relatedParty); 
    107                                                                   
    108                                  console.log(rp) 
     126                                 coords = new dojo.store.Memory(coObs.geographicalExtent); 
     127                                 rp = new dojo.store.Memory(coObs.relatedParty[0]); 
    109128                 });                                       
    110129        }); 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/templates/base.html

    r8200 r8211  
    3030  <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/layout/TabContainer.css" /> 
    3131 
    32 <body class="claro"> 
    33  
    34          
    3532        <script type="text/javascript"> 
    3633                console.log("load dojoConfig"); 
     
    5956<!--[if IE]><style type="text/css"> body {word-wrap: break-word;}</style><![endif]--> 
    6057 
    61 <body> 
     58<body class="claro"> 
    6259  <!-- CONTAINER FOR ENTIRE PAGE --> 
    6360  <div class="container_12 fill" id="headerContainer"> 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/templates/cedaObservation.html

    r8141 r8211  
    11{% extends "base.html" %}  
    22        {% block extra_head %} 
    3          
    4         {% endblock %} 
     3        <script src="http://openlayers.org/api/OpenLayers.js"></script> 
     4        <link rel="stylesheet" href="http://openlayers.org/dev/theme/default/style.css" type="text/css"> 
     5 
     6    <script type="text/javascript"> 
     7                var box_extents = [[-10,50,4,62]]; 
     8        var map; 
     9                var vectorLayer = new OpenLayers.Layer.Vector("Overlay",{isBaseLayer:false}); 
     10            function init() { 
     11                        map = new OpenLayers.Map('map'); 
     12                        var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'} ); 
     13                         
     14                        var boxes  = new OpenLayers.Layer.Vector( "Boxes" ); 
     15     
     16            for (var i = 0; i < box_extents.length; i++) { 
     17                    ext = box_extents[i]; 
     18                                        console.log(ext[0],ext[1]) 
     19                    bounds = new OpenLayers.Bounds(ext[0],ext[1],ext[2],ext[3]); 
     20                                 
     21 
     22                    box = new OpenLayers.Feature.Vector(bounds.toGeometry()); 
     23                                         
     24                    boxes.addFeatures(box); 
     25 
     26                } 
     27                                 
     28        map.addLayer([ol_wms,boxes]); 
     29                                                                console.log('ere') 
     30        map.addControl(new OpenLayers.Control.LayerSwitcher()); 
     31        var sf = new OpenLayers.Control.SelectFeature(boxes); 
     32        map.addControl(sf); 
     33        sf.activate(); 
     34                var proj = new OpenLayers.Projection("EPSG:4326"); 
     35                var point = new OpenLayers.LonLat(ext[0], ext[1]); 
     36                point.transform(proj, map.getProjectionObject()); 
     37 
     38                map.setCenter(point,3); 
     39        map.zoomToMaxExtent(); 
     40                } 
     41                window.onload = init; 
     42      </script> 
     43 
     44         
     45    {% endblock %} 
    546 
    647{% block title %} CEDA Observation Record {% endblock %} 
     
    1859         
    1960        <div class="grid_8 alpha cedaObs" id="upper_middle_top"> 
    20                 <label for="title">Title</label><div id="title_id"></div>       <br /> 
     61                <label for="title">Title</label><div id="title_id" class = "coObs_cite"></div>  <br /> 
    2162                <label for="citation">Citation</label><div id="citation_id"></div><br /> 
    2263                <label for="keywords">Keywords</label><div id="keywords_id"></div><br /> 
     
    2768 
    2869 
    29  
    3070<div id = "middle_section" class="grid_12 whiteFill"> 
    31         <div id="middleLeft cedaObs" class=grid_3> 
     71        <div class="grid_3 cedaobs alpha" id="middleLeft cedaObs"> 
    3272                <script type="text/javascript"> 
    3373                        require(["dojo/parser", "dijit/layout/AccordionContainer", "dijit/layout/ContentPane"]); 
     
    4989                </div> 
    5090        </div>   
    51         <div class="grid_6 cedaObs" id="middleMiddle"> 
    52                 <div class="grid_6 alpha" id="description"> 
     91        <div class="grid_5 cedaObs" id="middleMiddle"> 
     92                <div class="grid_5 alpha" id="description"> 
    5393                        <label for="description">Description</label><div id="description_id"></div> 
    5494                        <br /> 
    5595                </div><!-- End of div description --> 
    56                 <div class="grid_6 omega" id="news"> 
     96                <div class="grid_5 omega" id="news"> 
    5797                         <p>News bar</p> 
    5898                </div><!-- End of div news --> 
    5999        </div>     
     100        <div class="grid_3 cedaObs omega" id="middleRight"> 
     101                <label for="geographicExtent">Geographic Extent</label><div id="geographicalExtent_id"></div> <br /> 
     102                <!-- begin map test --> 
     103        <div style="width:220px; height:150px" id="map" class="smallmap"></div> 
    60104 
    61    <div class="grid_3 cedaObs" id="middleRight"> 
    62                 <label for="geographicExtent">Geographic Extent</label><div id="geographicalExtent_id"></div> <br /> 
     105                <!-- end map test --> 
     106 
    63107                <label for="resolution">Resolution</label><div id="resolution_id"></div> <br />  
    64108   </div> <!-- End of div upper_right --> 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/templates/cedaSearch.html

    r8120 r8211  
    44        {% endblock %} 
    55 
    6 {% block title %} CEDA Observation Record {% endblock %} 
     6{% block title %} CEDA Search Page {% endblock %} 
    77     
    88{% block main %} 
     
    1313<div class="grid_12 claro fillWhite"> 
    1414        <script type="text/javascript"> 
    15                 require(['dijit/form/Form', 'dijit/form/TextBox', 'ceda/cedaObservation']); 
     15                require(['dijit/form/Form', 'dijit/form/TextBox']); 
    1616        </script> 
    1717 
    18         <input type="hidden" name="coObs" id="coObs_id" value="{{ coObs }}" /> 
     18        <input type="hidden" name="coSearchTerm" id="coSearchTerm" value="{{ coSearchTerm }}" /> 
    1919 
    20         <div data-dojo-type="dijit.form.Form" id="myForm" data-dojo-id="myForm" encType="multipart/form-data" action="." method="POST"> 
     20        <div data-dojo-type="dijit.form.Form" id="searchForm" data-dojo-id="searchForm" encType="multipart/form-data" action="." method="POST"> 
    2121         
    2222            <script type="dojo/method" data-dojo-event="onSubmit"> 
     
    3333         
    3434                <div class="fieldWrapper"> 
    35                         <label for="id_obj_id">ID</label> 
    36                         <input type="text" name="obs_id" value= "" 
    37                         data-dojo-type="dijit.form.TextBox" 
    38                         data-dojo-props="trim:true, propercase:true" id="obs_id"/> 
     35                        <label for="id_obj_id">SearchTerm</label> 
     36                        <input type="text" name="searchTerm" value= "" data-dojo-type="dijit.form.TextBox" data-dojo-props="trim:true, propercase:true" id="coSearchTerm"/> 
    3937                </div> <!-- End of div fieldWrapper --> 
    4038                <button id="search_obs" type="submit"></button> 
  • mauRepo/MolesManager/trunk/src/MolesManager/urls.py

    r8142 r8211  
    3333) 
    3434 
     35# comment out all  below 
     36 
    3537#urlpatterns += patterns('', 
    3638#    url(r'css/(?P<path>.*)$', 'django.views.static.serve', {'document_root': STATIC_ROOT+'/css' , 'show_indexes': True}), 
  • mauRepo/MolesManager/trunk/src/MolesManager/views/cedaObservationView.py

    r8200 r8211  
    1616    ''' 
    1717    @param request: an HttpRequest 
    18     @param objectId: an istance of ObjectById   
     18    @param objectId: an instance of ObjectById   
    1919    ''' 
    2020    if request.POST.has_key('obs_id'): 
    2121        dp = Moles3EPB.searchEager(CEDA_Observation, request.POST['obs_id'], request.moles_session) 
    2222        c['records'] = dp 
     23 
    2324 
    2425def coView(request): 
  • mauRepo/MolesManager/trunk/src/MolesManager/views/cedaSearch.py

    r8120 r8211  
    1717    @param objectId: an instance of ObjectById   
    1818    ''' 
    19     if request.POST.has_key('obs_id'): 
    20         dp = Moles3EPB.search(CEDA_Observation, request.POST['obs_id'], request.moles_session) 
    21         c['records'] = dp 
     19     
     20    if request.POST.has_key('searchTerm'): 
     21        print "got the post term. now to search" 
     22        title = '%' + ''  + '%' 
     23        obs_with_title = request.moles_session.query(CEDA_Observation).filter(CEDA_Observation.identifier.code.like(title)) 
     24         
     25        c['records'] = obs_with_title 
     26 
    2227 
    2328def coSearch(request): 
     
    2530    __getSample(request, c) 
    2631    if c.has_key('records'): 
    27         c['coObs'] = DJEncoder().encode(c['records']) 
    28         print c['coObs']  
    29      
    30     c.update(csrf(request)) 
    31     return render_to_response('cedaObservation.html', c) 
     32        c.update(csrf(request)) 
     33    c.update(csrf(request))    
     34    return render_to_response('cedaSearch.html', c) 
Note: See TracChangeset for help on using the changeset viewer.