Changeset 8249 for mauRepo


Ignore:
Timestamp:
18/04/12 12:24:32 (8 years ago)
Author:
gparton
Message:

latest amendments to cedaObservation.js to render author and co-author names properly in citation

Location:
mauRepo/MolesManager/trunk/src/MolesManager
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/src/MolesManager/settings.py

    r8238 r8249  
    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. 
     30        #'NAME': '/misc/frigid3/humid1/mnagni/workspaces/moles3/MolesManager/src/sqlite.db',                      # Or path to database file if using sqlite3. 
    2931        'NAME': PROJECT_ROOT+'/sqlite.db',                      # Or path to database file if using sqlite3. 
    3032        'USER': '',                      # Not used with sqlite3. 
     
    208210MOLES3 = 'moles3' 
    209211#MOLES3_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 
    210 MOLES3_DB_CONNECTION = 'PG_MOLES3_DB_CONNECTION' 
     212MOLES3_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MOLES3_DB_CONNECTION' 
    211213from sqlTables import doTables as doMoles, attachEvents 
    212214MOLES3_DB_SCRIPT = doMoles 
     
    217219MIGRATION = 'migration' 
    218220#MIGRATION_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 
    219 MIGRATION_DB_CONNECTION = 'PG_MIGRATION_DB_CONNECTION' 
     221MIGRATION_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MIGRATION_DB_CONNECTION' 
    220222from libs.migration.db.migrationTables import doTables as doMigration 
    221223MIGRATION_DB_SCRIPT = doMigration 
    222224 
    223225#INFO_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 
    224 INFO_DB_CONNECTION = 'PG_INFO_DB_CONNECTION' 
    225  
    226  
    227 RUN_MIGRATION = True 
     226INFO_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_INFO_DB_CONNECTION' 
     227 
     228 
     229RUN_MIGRATION = False 
    228230#Default to one day 
    229231MIGRATION_INTERVAL = 86400 
    230232 
    231233# Set this boolean to include static URL patterns for CSS, JS, etc. in urls.py 
    232 SERVE_STATIC_CONTENT = False 
     234SERVE_STATIC_CONTENT = True 
    233235 
    234236# Local modifications to settings are imported from settings_local.py 
  • mauRepo/MolesManager/trunk/src/MolesManager/settings_local.py

    r8241 r8249  
    22# Override settings.py for local configuration here 
    33# 
     4# Django settings for MolesManager project. 
     5import os 
     6 
     7def decodeRelativePath(relPath): 
     8    return os.path.join(os.path.dirname(__file__), relPath).replace('\\', '/')     
     9     
     10DJANGO_PROJECT = os.path.dirname(decodeRelativePath('')) 
     11SRC = os.path.dirname(DJANGO_PROJECT) 
     12PROJECT = os.path.dirname(SRC) 
     13 
     14 
     15DEBUG = True 
     16TEMPLATE_DEBUG = DEBUG 
     17 
     18ADMINS = ( 
     19    # ('Your Name', 'your_email@example.com'), 
     20) 
     21 
     22PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 
     23 
     24PROJECT_DIRNAME = PROJECT_ROOT.split(os.sep)[-1] 
     25 
     26 
     27MANAGERS = ADMINS 
     28 
     29DATABASES = { 
     30    'default': { 
     31        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     32        '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. 
     33        #'NAME': '/misc/frigid3/humid1/mnagni/workspaces/moles3/MolesManager/src/sqlite.db',                      # Or path to database file if using sqlite3. 
     34        'USER': '',                      # Not used with sqlite3. 
     35        'PASSWORD': '',                  # Not used with sqlite3. 
     36        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3. 
     37        'PORT': '',                      # Set to empty string for default. Not used with sqlite3. 
     38    } 
     39} 
     40 
     41# Local time zone for this installation. Choices can be found here: 
     42# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name 
     43# although not all choices may be available on all operating systems. 
     44# On Unix systems, a value of None will cause Django to use the same 
     45# timezone as the operating system. 
     46# If running in a Windows environment this must be set to the same as your 
     47# system time zone. 
     48TIME_ZONE = 'America/Chicago' 
     49 
     50# Language code for this installation. All choices can be found here: 
     51# http://www.i18nguy.com/unicode/language-identifiers.html 
     52LANGUAGE_CODE = 'en-gb' 
     53 
     54SITE_ID = 1 
     55 
     56# If you set this to False, Django will make some optimizations so as not 
     57# to load the internationalization machinery. 
     58USE_I18N = True 
     59 
     60# If you set this to False, Django will not format dates, numbers and 
     61# calendars according to the current locale 
     62USE_L10N = True 
     63 
     64# Absolute filesystem path to the directory that will hold user-uploaded files. 
     65# Example: "/home/media/media.lawrence.com/media/" 
     66MEDIA_ROOT = '' 
     67 
     68 
     69# URL that handles the media served from MEDIA_ROOT. Make sure to use a 
     70# trailing slash. 
     71# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" 
     72MEDIA_URL = '' 
     73  
     74# Absolute path to the directory static files should be collected to. 
     75# Don't put anything in this directory yourself; store your static files 
     76# in apps' "static/" subdirectories and in STATICFILES_DIRS. 
     77# Example: "/home/media/media.lawrence.com/static/" 
     78STATIC_ROOT = os.path.join(DJANGO_PROJECT, 'static') 
     79 
     80# URL prefix for static files. 
     81# Example: "http://media.lawrence.com/static/" 
     82 
     83#Deployment parameterized version 
     84#STATIC_URL = 'http://localhost' 
     85STATIC_URL = 'http://127.0.0.1:8000/static/' 
     86#STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL) 
     87#STATIC_URL = '/static/' 
     88#STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL) 
     89 
     90# URL prefix for admin static files -- CSS, JavaScript and images. 
     91# Make sure to use a trailing slash. 
     92# Examples: "http://foo.com/static/admin/", "/static/admin/". 
     93ADMIN_MEDIA_PREFIX = '/static/admin/' 
     94 
     95# Additional locations of static files 
     96STATICFILES_DIRS = ( 
     97    () 
     98    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
     99    # Always use forward slashes, even on Windows. 
     100    # Don't forget to use absolute paths, not relative paths. 
     101) 
     102 
     103# List of finder classes that know how to find static files in 
     104# various locations. 
     105STATICFILES_FINDERS = ( 
     106    'django.contrib.staticfiles.finders.FileSystemFinder', 
     107    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
     108    'django.contrib.staticfiles.finders.DefaultStorageFinder', 
     109) 
     110 
     111 
     112 
     113 
     114# Make this unique, and don't share it with anybody. 
     115SECRET_KEY = '2ttix#hi63qnw0derz&0(60&65@v=@#5gg9$9r2jw5v)nccfg+' 
     116 
     117# List of callables that know how to import templates from various sources. 
     118TEMPLATE_LOADERS = ( 
     119    'django.template.loaders.filesystem.Loader', 
     120    'django.template.loaders.app_directories.Loader', 
     121#     'django.template.loaders.eggs.Loader', 
     122) 
     123 
     124 
     125 
     126MIDDLEWARE_CLASSES = ( 
     127    'django.middleware.common.CommonMiddleware', 
     128    'django.contrib.sessions.middleware.SessionMiddleware', 
     129    'django.middleware.csrf.CsrfViewMiddleware', 
     130    'django.contrib.auth.middleware.AuthenticationMiddleware', 
     131    'django.contrib.messages.middleware.MessageMiddleware', 
     132    'molesSessionMiddleware.MolesSessionMiddleware', 
     133) 
     134ROOT_URLCONF = 'MolesManager.urls' 
     135 
     136TEMPLATE_CONTEXT_PROCESSORS = ( 
     137    "django.contrib.auth.context_processors.auth", 
     138    "django.core.context_processors.debug", 
     139    "django.core.context_processors.i18n", 
     140    "django.core.context_processors.media", 
     141    "django.core.context_processors.request", 
     142    "django.core.context_processors.static", 
     143) 
     144 
     145 
     146TEMPLATE_DIRS = ( 
     147    decodeRelativePath('static/templates')                   
     148    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
     149    # Always use forward slashes, even on Windows. 
     150    # Don't forget to use absolute paths, not relative paths. 
     151) 
     152 
     153INSTALLED_APPS = ( 
     154    'django.contrib.auth', 
     155    'django.contrib.contenttypes', 
     156    'django.contrib.sessions', 
     157    'django.contrib.sites', 
     158    'django.contrib.messages', 
     159    'django.contrib.staticfiles', 
     160    'ea_model', 
     161    # Uncomment the next line to enable the admin: 
     162    # 'django.contrib.admin', 
     163    # Uncomment the next line to enable admin documentation: 
     164    # 'django.contrib.admindocs', 
     165        #This line defines where catch the /static/ folder 
     166) 
     167 
     168SITE_ROOT = DJANGO_PROJECT 
     169 
     170# A sample logging configuration. The only tangible logging 
     171# performed by this configuration is to send an email to 
     172# the site admins on every HTTP 500 error. 
     173# See http://docs.djangoproject.com/en/dev/topics/logging for 
     174# more details on how to customize your logging configuration. 
     175LOGGING = { 
     176    'version': 1, 
     177    'disable_existing_loggers': True, 
     178    'formatters': { 
     179        'verbose': { 
     180            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' 
     181        }, 
     182        'simple': { 
     183            'format': '%(levelname)s %(message)s' 
     184        }, 
     185    },     
     186    'handlers': { 
     187        'mail_admins': { 
     188            'level': 'ERROR', 
     189            'class': 'django.utils.log.AdminEmailHandler' 
     190        }, 
     191        'console':{ 
     192            'level':'DEBUG', 
     193            'class':'logging.StreamHandler', 
     194            'formatter': 'verbose' 
     195        } 
     196    }, 
     197    'loggers': { 
     198        'django.request': { 
     199            'handlers': ['mail_admins'], 
     200            'level': 'ERROR', 
     201            'propagate': True, 
     202        }, 
     203        'sqlalchemy.engine': { 
     204            'handlers': ['console'], 
     205            'level': 'WARN', 
     206            'propagate': True, 
     207        } 
     208    } 
     209} 
     210 
     211#moles3 database connection 
     212MOLES3 = 'moles3' 
     213#MOLES3_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 
     214MOLES3_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MOLES3_DB_CONNECTION' 
     215from sqlTables import doTables as doMoles, attachEvents 
     216MOLES3_DB_SCRIPT = doMoles 
     217EVENTS_DB = attachEvents 
     218 
     219 
     220#moles2 to moles3 migration database connection 
     221MIGRATION = 'migration' 
     222#MIGRATION_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 
     223MIGRATION_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MIGRATION_DB_CONNECTION' 
     224from libs.migration.db.migrationTables import doTables as doMigration 
     225MIGRATION_DB_SCRIPT = doMigration 
     226 
     227#INFO_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 
     228INFO_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_INFO_DB_CONNECTION' 
     229 
     230 
     231RUN_MIGRATION = False 
     232#Default to one day 
     233MIGRATION_INTERVAL = 86400 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/js/cedaObservation.js

    r8244 r8249  
    66   //    return(<value>); 
    77   //      } 
    8         function publicationDetails(coObs){ 
    9                 var pubDetails = {}; 
    10          
    11                 pubDetails['pubType'] = coObs.publicationState.value; 
    12                 pubDetails['pubYear'] = coObs.resultTime.position.dateTime8601.year; 
    13                  
    14                 if (coObs.resultTime.position.dateTime8601.month.length == 1){ 
    15                         pubDetails['pubMonth'] = '0' + coObs.resultTime.position.dateTime8601.month; 
    16                 }  
    17                 else{ 
    18                         pubDetails['pubMonth'] = coObs.resultTime.position.dateTime8601.month; 
    19                 } 
    20                 if (coObs.resultTime.position.dateTime8601.day.length == 1){ 
    21                         pubDetails['pubDay'] = '0' + coObs.resultTime.position.dateTime8601.day; 
    22                 }  
    23                 else{ 
    24                         pubDetails['pubDay'] = coObs.resultTime.position.dateTime8601.day; 
    25                 } 
    26                  
    27                 pubDetails['pubString'] = '<p> Record Status: <b>'+ pubDetails['pubType'] +'</b><br /> Created: <b>' + pubDetails['pubYear'] +'-'+ pubDetails['pubMonth'] + '-' + pubDetails['pubDay']+'</b></p>'; 
    28                 return pubDetails 
    29         } 
    30          
     8 
    319        function getIDs(coObs){ 
    3210                var idDict = {}; 
     
    3715        } 
    3816 
    39         function getRelatedParties(coObs){ 
    40                 var relatedPartyDict = {}; 
    41                 for (loopVal=0; loopVal<coObs.relatedParty.length; loopVal++){ 
    42                         var names=[]; 
    43                         var types=[]; 
    44                         if (typeof coObs.relatedParty[loopVal].role !='undefined'){ 
    45                                  
    46                                 if (typeof coObs.relatedParty[loopVal].role.name !='undefined'){ 
    47                                         console.log(coObs.relatedParty[loopVal].role.name,loopVal) 
    48                                         for (loopInner=0; loopInner<coObs.relatedParty[loopVal].party.length; loopInner++){ 
    49                                                         names.push(coObs.relatedParty[loopVal].party[0].name) 
    50                                                 } 
    51                                                  
    52                                                 if (coObs.relatedParty[loopVal].role.name == 'cl_pointofcontact'){ 
    53                                                         try{ 
    54                                                                 var helpEmail = coObs.relatedParty[loopVal].party[0].contactInfo[0].address.electronicMailAddress[0]; 
    55                                                         //helpEmail = "badc@rl.ac.uk" 
    56                                                                 var helpString = '<p>For assistance please contact <a href="mailto:' + helpEmail + '">'+ coObs.relatedParty[loopVal].party[0].name +'</a>.</p>' 
    57                                                         } 
    58                                                         catch(err){ 
    59                                                                 helpString = '<p>For assistance email <a href="mailto:badc@rl.ac.uk"> BADC Support</a>.</p>' 
    60                                                         } 
    61                                                 } 
    62                                         relatedPartyDict[coObs.relatedParty[loopVal].role.name] = names; 
    63                                         } 
    64                                 } 
    65                         } 
    66                 return [relatedPartyDict, helpString] 
    67         } 
    68  
    69          
    7017        function docLinkObj(moles2url){ 
    7118                var docLinkString = '<p>For further details see the following links: </p><ol><li>' ; 
     
    9037                 
    9138        } 
    92          
     39        function publicationDetails(coObs){ 
     40                var pubDetails = {}; 
     41         
     42                pubDetails['pubType'] = coObs.publicationState.value; 
     43                pubDetails['pubYear'] = coObs.resultTime.position.dateTime8601.year; 
     44                pubDetails['pubMonth'] = timeLead0(coObs.resultTime.position.dateTime8601.month) 
     45                pubDetails['pubDay'] = timeLead0(coObs.resultTime.position.dateTime8601.day) 
     46                 
     47                pubDetails['pubString'] = '<p> Record Status: <b>'+ pubDetails['pubType'] +'</b><br /> Created: <b>' + pubDetails['pubYear'] +'-'+ pubDetails['pubMonth'] + '-' + pubDetails['pubDay']+'</b></p>'; 
     48                return pubDetails 
     49        } 
     50                 
    9351        function resultTime(timeDetails){ 
    9452                timeArray = {}; 
    9553                console.log(timeDetails); 
    96                  if (timeDetails.hasOwnProperty('begin')){ 
    97                         timeArray['startYear'] = timeDetails.begin.position.date8601.year; 
    98                         timeArray['startMonth'] = timeLead0(timeDetails.begin.position.date8601.month); 
    99                         timeArray['startDay'] = timeLead0(timeDetails.begin.position.date8601.day); 
    100                         //timeArray['startHour'] = timeLead0(timeDetails.begin.position.date8601.hour); 
    101                         //timeArray['startMinute'] = timeLead0(timeDetails.begin.position.date8601.minute); 
    102                         //timeArray['startSecond'] = timeLead0(timeDetails.begin.position.date8601.second); 
    103                         timeArray['startDate'] = timeArray['startYear'] + '-' + timeArray['startMonth'] + '-' + timeArray['startDay'] //+ 
    104                                                                         //timeArray['startHour'] + ':' + timeArray['startMinute'] + ':' + timeArray['startSecond'] 
    105                 }  
    106                 if (timeDetails.hasOwnProperty('end')){ 
    107                         timeArray['endYear'] = timeDetails.end.position.date8601.year; 
    108                         timeArray['endMonth'] = timeLead0(timeDetails.end.position.date8601.month); 
    109                         timeArray['endDay'] = timeLead0(timeDetails.end.position.date8601.day); 
    110                         //timeArray['endHour'] = timeLead0(timeDetails.end.position.date8601.hour); 
    111                         //timeArray['endMinute'] = timeLead0(timeDetails.end.position.date8601.minute); 
    112                         //timeArray['endSecond'] = timeLead0(timeDetails.end.position.date8601.second); 
    113                         timeArray['endDate'] = timeArray['endYear'] + '-' + timeArray['endMonth'] + '-' + timeArray['endDay']// + 
    114                                                                 //      timeArray['endHour'] + ':' + timeArray['endMinute'] + ':' + timeArray['endSecond'] 
    115                          
     54                if (timeDetails != null){ 
     55                         
     56                        if (timeDetails.hasOwnProperty('begin')){ 
     57                                timeArray['startYear'] = timeDetails.begin.position.date8601.year; 
     58                                timeArray['startMonth'] = timeLead0(timeDetails.begin.position.date8601.month); 
     59                                timeArray['startDay'] = timeLead0(timeDetails.begin.position.date8601.day); 
     60                                //timeArray['startHour'] = timeLead0(timeDetails.begin.position.date8601.hour); 
     61                                //timeArray['startMinute'] = timeLead0(timeDetails.begin.position.date8601.minute); 
     62                                //timeArray['startSecond'] = timeLead0(timeDetails.begin.position.date8601.second); 
     63                                timeArray['startDate'] = timeArray['startYear'] + '-' + timeArray['startMonth'] + '-' + timeArray['startDay'] //+ 
     64                                                                                //timeArray['startHour'] + ':' + timeArray['startMinute'] + ':' + timeArray['startSecond'] 
     65                        }  
     66                        if (timeDetails.hasOwnProperty('end')){ 
     67                                timeArray['endYear'] = timeDetails.end.position.date8601.year; 
     68                                timeArray['endMonth'] = timeLead0(timeDetails.end.position.date8601.month); 
     69                                timeArray['endDay'] = timeLead0(timeDetails.end.position.date8601.day); 
     70                                //timeArray['endHour'] = timeLead0(timeDetails.end.position.date8601.hour); 
     71                                //timeArray['endMinute'] = timeLead0(timeDetails.end.position.date8601.minute); 
     72                                //timeArray['endSecond'] = timeLead0(timeDetails.end.position.date8601.second); 
     73                                timeArray['endDate'] = timeArray['endYear'] + '-' + timeArray['endMonth'] + '-' + timeArray['endDay']// + 
     74                                                                        //      timeArray['endHour'] + ':' + timeArray['endMinute'] + ':' + timeArray['endSecond'] 
     75                                 
     76                        } 
     77                        timeArray['timeString'] = '<p>Data Start Date: <b>'+ timeArray['startDate'] + '</b></p><p>Data End Date: <b>' + timeArray['endDate']  
     78                        //timeArray['timeString'] = '<p>Test time string</p>' 
     79                } 
     80                else { 
     81                timeArray['startDate'] = 'not defined' 
     82                timeArray['endDate'] = 'not defined' 
    11683                } 
    11784                timeArray['timeString'] = '<p>Data Start Date: <b>'+ timeArray['startDate'] + '</b></p><p>Data End Date: <b>' + timeArray['endDate']  
    118                 //timeArray['timeString'] = '<p>Test time string</p>' 
     85 
    11986                return timeArray 
    12087        } 
    121          
    122         function citeNameArrange(nameIn){ 
     88        function getRelatedParties(coObs){ 
     89                var relatedPartyDict = {}; 
     90                for (loopVal=0; loopVal<coObs.relatedParty.length; loopVal++){ 
     91                        //var names=[]; 
     92                        var innerDetails = {}; 
     93                        var details = {} ; 
     94                        if (typeof coObs.relatedParty[loopVal].role !='undefined'){ 
     95                                 
     96                                if (typeof coObs.relatedParty[loopVal].role.name !='undefined'){ 
     97                                                console.log(coObs.relatedParty[loopVal].role.name,loopVal) 
     98                                        for (loopInner=0; loopInner<coObs.relatedParty[loopVal].party.length; loopInner++){ 
     99                                                        innerDetails['type'] = coObs.relatedParty[loopVal].party[0].__class__ 
     100                                                        //names.push(coObs.relatedParty[loopVal].party[0].name) 
     101                                                } 
     102                                                 
     103                                                if (coObs.relatedParty[loopVal].role.name == 'cl_pointofcontact'){ 
     104                                                        try{ 
     105                                                                innerDetails['helpEmail'] = coObs.relatedParty[loopVal].party[0].contactInfo[0].address.electronicMailAddress[0]; 
     106                                                        //helpEmail = "badc@rl.ac.uk" 
     107                                                                innerDetails['helpString'] = '<p>For assistance please contact <a href="mailto:' + innerDetails['helpEmail'] + '">'+ coObs.relatedParty[loopVal].party[0].name +'</a>.</p>' 
     108                                                        } 
     109                                                        catch(err){ 
     110                                                                innerDetails['helpString'] = '<p>For assistance email <a href="mailto:badc@rl.ac.uk"> BADC Support</a>.</p>' 
     111                                                        } 
     112                                                } 
     113                                                 
     114                                                details[coObs.relatedParty[loopVal].party[0].name] = innerDetails  
     115                         
     116                                        relatedPartyDict[coObs.relatedParty[loopVal].role.name] = details;//names; 
     117                                        } 
     118                                } 
     119                        } 
     120                return relatedPartyDict 
     121        } 
     122 
     123         
     124        function citeNameArrange(nameIn,type){ 
    123125        // function to strip off additional info from the name and then to prepare the name if individual for citation, e.g.  
    124126        // G Vaughan (University of Manchester), PI should be just "Vaughan, G" in citation. 
    125          
    126                 var nameInPartsClean = nameIn.split(',') 
    127                 var nameInParts = nameInPartsClean[0].split(' ') 
    128                 return citeNameOut 
     127                console.log(nameIn) 
     128                console.log(type[nameIn].type) 
     129                if (type[nameIn].type == 'CI_Organisation'){ 
     130                        return nameIn.split(' (')[0] 
     131                } 
     132                else { 
     133                        var nameInPartsClean = nameIn.split(',') 
     134                        var nameInParts = nameInPartsClean[0].split(' (')[0].split(' ') 
     135                        leadname = nameInParts[0] 
     136                        return nameInPartsClean[0].split(' (')[0].split(leadname + ' ')[1] + ', ' + leadname 
     137                } 
    129138        } 
    130139         
    131140        function createCitation(coObs,ids,rps,pubDetails){ 
    132141                var citationString =''; 
    133                 citationString += '<p>' + rps['cl_author']; 
     142                console.log(rps['cl_author']) 
     143                console.log(Object.keys(rps['cl_author'])) 
     144                citationString += '<p>' + citeNameArrange(Object.keys(rps['cl_author'])[0],rps['cl_author']); 
     145                console.log(citationString) 
    134146                if (rps.hasOwnProperty('cl_coinvestigator')){ 
    135                         for (loopVal=0; loopVal<rps['cl_coinvestigator'].length; loopVal++){  
    136                                 citationString += ', ' + rps['cl_coinvestigator'][loopVal] 
     147                        for (loopVal=0; loopVal<Object.keys(rps['cl_coinvestigator']).length; loopVal++){  
     148                                citationString += '; ' + citeNameArrange(Object.keys(rps['cl_coinvestigator'])[loopVal],rps['cl_coinvestigator']) 
    137149                        } 
    138150                } 
     
    143155                 
    144156                if (rps.hasOwnProperty('cl_publisher')){  
    145                         citationString += ' ' + rps['cl_publisher'] +'.'; 
     157                        citationString += ' ' + Object.keys(rps['cl_publisher'])[0] +'.'; 
    146158                } 
    147159                else{ 
     
    149161                } 
    150162                if ('doi' in ids){ 
    151                         var doiHttps = 'http://dx.doi.org/' + ids['doi'].substring[18,ids['doi'].length] 
     163                        var doiHttp = 'http://dx.doi.org/' + ids['doi'].substring[18,ids['doi'].length] 
    152164                        citationString += ' ' + ids['doi'] + '. ' + '<a href="' + doiHttp + '">' + doiHttp + '</a>'; 
    153165                } 
    154166                else{ 
    155                         citationString += 'Available from: ' + '<a href="' + ids['moles2url'] + '">' + ids['moles2url'] + '</a>'; 
     167                        citationString += ' Available from: ' + '<a href="' + ids['moles2url'] + '">' + ids['moles2url'] + '</a>'; 
    156168                } 
    157169                citationString += '</p>' 
     
    343355                                        var citation_id = new dijit.TitlePane( 
    344356                                        { 
    345                                                 title: 'Citation', content: createCitation(coObs,ids,rps[0],pubDetails) 
     357                                                title: 'Citation', content: createCitation(coObs,ids,rps,pubDetails) 
    346358                                        },"citation_id"); 
    347359                                        citation_id.startup(); 
     
    357369                                        var dataLink_id = new dojo.html.set(dojo.byId("datalink_id"),downloadLink(coObs.result)); 
    358370                                        var access_id  = new dojo.html.set(dojo.byId("access_id"),accessLink(coObs.permission)); 
    359                                         var help_id  = new dojo.html.set(dojo.byId("help_id"),rps[1]); 
     371                                        console.log(rps['cl_pointofcontact']) 
     372                                        var help_id  = new dojo.html.set(dojo.byId("help_id"),rps['cl_pointofcontact'][Object.keys(rps['cl_pointofcontact'])[0]].helpString); 
    360373                                        drawMap(coObs.geographicExtent,'map'); 
    361374                                        var resultTime_id  = new dojo.html.set(dojo.byId("resultTime_id"),resultTime(coObs.phenomenonTime)['timeString']); 
  • mauRepo/MolesManager/trunk/src/MolesManager/urls.py

    r8245 r8249  
    5555    ) 
    5656 
     57#urlpatterns += staticfiles_urlpatterns() 
     58 
Note: See TracChangeset for help on using the changeset viewer.