Changeset 8249
- Timestamp:
- 18/04/12 12:24:32 (9 years ago)
- Location:
- mauRepo/MolesManager/trunk/src/MolesManager
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
mauRepo/MolesManager/trunk/src/MolesManager/settings.py
r8238 r8249 27 27 'default': { 28 28 '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. 29 31 'NAME': PROJECT_ROOT+'/sqlite.db', # Or path to database file if using sqlite3. 30 32 'USER': '', # Not used with sqlite3. … … 208 210 MOLES3 = 'moles3' 209 211 #MOLES3_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 210 MOLES3_DB_CONNECTION = ' PG_MOLES3_DB_CONNECTION'212 MOLES3_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MOLES3_DB_CONNECTION' 211 213 from sqlTables import doTables as doMoles, attachEvents 212 214 MOLES3_DB_SCRIPT = doMoles … … 217 219 MIGRATION = 'migration' 218 220 #MIGRATION_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 219 MIGRATION_DB_CONNECTION = ' PG_MIGRATION_DB_CONNECTION'221 MIGRATION_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MIGRATION_DB_CONNECTION' 220 222 from libs.migration.db.migrationTables import doTables as doMigration 221 223 MIGRATION_DB_SCRIPT = doMigration 222 224 223 225 #INFO_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 224 INFO_DB_CONNECTION = ' PG_INFO_DB_CONNECTION'225 226 227 RUN_MIGRATION = True226 INFO_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_INFO_DB_CONNECTION' 227 228 229 RUN_MIGRATION = False 228 230 #Default to one day 229 231 MIGRATION_INTERVAL = 86400 230 232 231 233 # Set this boolean to include static URL patterns for CSS, JS, etc. in urls.py 232 SERVE_STATIC_CONTENT = False234 SERVE_STATIC_CONTENT = True 233 235 234 236 # Local modifications to settings are imported from settings_local.py -
mauRepo/MolesManager/trunk/src/MolesManager/settings_local.py
r8241 r8249 2 2 # Override settings.py for local configuration here 3 3 # 4 # Django settings for MolesManager project. 5 import os 6 7 def decodeRelativePath(relPath): 8 return os.path.join(os.path.dirname(__file__), relPath).replace('\\', '/') 9 10 DJANGO_PROJECT = os.path.dirname(decodeRelativePath('')) 11 SRC = os.path.dirname(DJANGO_PROJECT) 12 PROJECT = os.path.dirname(SRC) 13 14 15 DEBUG = True 16 TEMPLATE_DEBUG = DEBUG 17 18 ADMINS = ( 19 # ('Your Name', 'your_email@example.com'), 20 ) 21 22 PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 23 24 PROJECT_DIRNAME = PROJECT_ROOT.split(os.sep)[-1] 25 26 27 MANAGERS = ADMINS 28 29 DATABASES = { 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. 48 TIME_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 52 LANGUAGE_CODE = 'en-gb' 53 54 SITE_ID = 1 55 56 # If you set this to False, Django will make some optimizations so as not 57 # to load the internationalization machinery. 58 USE_I18N = True 59 60 # If you set this to False, Django will not format dates, numbers and 61 # calendars according to the current locale 62 USE_L10N = True 63 64 # Absolute filesystem path to the directory that will hold user-uploaded files. 65 # Example: "/home/media/media.lawrence.com/media/" 66 MEDIA_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/" 72 MEDIA_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/" 78 STATIC_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' 85 STATIC_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/". 93 ADMIN_MEDIA_PREFIX = '/static/admin/' 94 95 # Additional locations of static files 96 STATICFILES_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. 105 STATICFILES_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. 115 SECRET_KEY = '2ttix#hi63qnw0derz&0(60&65@v=@#5gg9$9r2jw5v)nccfg+' 116 117 # List of callables that know how to import templates from various sources. 118 TEMPLATE_LOADERS = ( 119 'django.template.loaders.filesystem.Loader', 120 'django.template.loaders.app_directories.Loader', 121 # 'django.template.loaders.eggs.Loader', 122 ) 123 124 125 126 MIDDLEWARE_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 ) 134 ROOT_URLCONF = 'MolesManager.urls' 135 136 TEMPLATE_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 146 TEMPLATE_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 153 INSTALLED_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 168 SITE_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. 175 LOGGING = { 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 212 MOLES3 = 'moles3' 213 #MOLES3_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 214 MOLES3_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MOLES3_DB_CONNECTION' 215 from sqlTables import doTables as doMoles, attachEvents 216 MOLES3_DB_SCRIPT = doMoles 217 EVENTS_DB = attachEvents 218 219 220 #moles2 to moles3 migration database connection 221 MIGRATION = 'migration' 222 #MIGRATION_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 223 MIGRATION_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_MIGRATION_DB_CONNECTION' 224 from libs.migration.db.migrationTables import doTables as doMigration 225 MIGRATION_DB_SCRIPT = doMigration 226 227 #INFO_DB_CONNECTION = 'postgresql://user:pws@host:port/dbName' 228 INFO_DB_CONNECTION = 'postgresql://badc:rotyn217m@neptune.badc.rl.ac.uk:5432/ceda_moles3_test'#'PG_INFO_DB_CONNECTION' 229 230 231 RUN_MIGRATION = False 232 #Default to one day 233 MIGRATION_INTERVAL = 86400 -
mauRepo/MolesManager/trunk/src/MolesManager/static/js/cedaObservation.js
r8244 r8249 6 6 // return(<value>); 7 7 // } 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 31 9 function getIDs(coObs){ 32 10 var idDict = {}; … … 37 15 } 38 16 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 70 17 function docLinkObj(moles2url){ 71 18 var docLinkString = '<p>For further details see the following links: </p><ol><li>' ; … … 90 37 91 38 } 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 93 51 function resultTime(timeDetails){ 94 52 timeArray = {}; 95 53 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' 116 83 } 117 84 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 119 86 return timeArray 120 87 } 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){ 123 125 // function to strip off additional info from the name and then to prepare the name if individual for citation, e.g. 124 126 // 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 } 129 138 } 130 139 131 140 function createCitation(coObs,ids,rps,pubDetails){ 132 141 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) 134 146 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']) 137 149 } 138 150 } … … 143 155 144 156 if (rps.hasOwnProperty('cl_publisher')){ 145 citationString += ' ' + rps['cl_publisher'] +'.';157 citationString += ' ' + Object.keys(rps['cl_publisher'])[0] +'.'; 146 158 } 147 159 else{ … … 149 161 } 150 162 if ('doi' in ids){ 151 var doiHttp s= '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] 152 164 citationString += ' ' + ids['doi'] + '. ' + '<a href="' + doiHttp + '">' + doiHttp + '</a>'; 153 165 } 154 166 else{ 155 citationString += ' Available from: ' + '<a href="' + ids['moles2url'] + '">' + ids['moles2url'] + '</a>';167 citationString += ' Available from: ' + '<a href="' + ids['moles2url'] + '">' + ids['moles2url'] + '</a>'; 156 168 } 157 169 citationString += '</p>' … … 343 355 var citation_id = new dijit.TitlePane( 344 356 { 345 title: 'Citation', content: createCitation(coObs,ids,rps [0],pubDetails)357 title: 'Citation', content: createCitation(coObs,ids,rps,pubDetails) 346 358 },"citation_id"); 347 359 citation_id.startup(); … … 357 369 var dataLink_id = new dojo.html.set(dojo.byId("datalink_id"),downloadLink(coObs.result)); 358 370 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); 360 373 drawMap(coObs.geographicExtent,'map'); 361 374 var resultTime_id = new dojo.html.set(dojo.byId("resultTime_id"),resultTime(coObs.phenomenonTime)['timeString']); -
mauRepo/MolesManager/trunk/src/MolesManager/urls.py
r8245 r8249 55 55 ) 56 56 57 #urlpatterns += staticfiles_urlpatterns() 58
Note: See TracChangeset
for help on using the changeset viewer.