2011-07-11 01:49:03 +01:00
from django . conf import settings
2020-06-22 00:03:23 +01:00
from django . conf . urls import url , include
2020-05-28 01:38:35 +01:00
from django . views . generic . edit import UpdateView
from django . views . generic . list import ListView
from django . contrib import admin
2020-06-18 21:50:16 +01:00
from django . urls import reverse , resolve
2020-06-22 00:03:23 +01:00
from troggle . core import views_other , views_caves , views_logbooks , views_statistics , views_survex , view_surveys
from troggle . core . views_other import logbook_entry_suggestions
from troggle . core . views_caves import ent , prospecting_image
2020-06-13 01:27:42 +01:00
from troggle . core . views_statistics import pathsreport , stats
2020-06-17 22:55:51 +01:00
from flatpages import views as flatviews
2020-05-28 01:38:35 +01:00
2011-07-11 01:49:03 +01:00
admin . autodiscover ( )
2020-06-01 17:41:41 +01:00
# HOW DOES THIS WORK:
2020-06-18 15:54:40 +01:00
# This is a "url dispatcher" - something needed by every web framework.
2020-06-01 17:41:41 +01:00
# url( <regular expression that matches the thing in the web browser>,
2020-06-18 15:54:40 +01:00
# <reference to python function in 'core' folder>, <optional name>)
2019-02-26 00:17:11 +00:00
2020-06-22 00:03:23 +01:00
# Django also provides the reverse function: given an an object, provide the URL
# which is vital to writing code for the webapp. So the URL dispatch is declarative.
2020-06-17 22:55:51 +01:00
actualurlpatterns = [
2020-06-16 16:48:19 +01:00
url ( r ' ^troggle$ ' , views_other . frontpage , name = " frontpage " ) ,
url ( r ' ^caves$ ' , views_caves . caveindex , name = " caveindex " ) ,
2020-06-18 15:54:40 +01:00
url ( r ' ^indxal.htm$ ' , views_caves . caveindex , name = " caveindex " ) ,
2011-07-11 01:49:03 +01:00
url ( r ' ^people/?$ ' , views_logbooks . personindex , name = " personindex " ) ,
2020-06-04 23:00:58 +01:00
url ( r ' ^newqmnumber/?$ ' , views_other . ajax_QM_number , ) ,
url ( r ' ^lbo_suggestions/?$ ' , logbook_entry_suggestions ) , #broken
2020-06-18 15:54:40 +01:00
# url(r'^person/(?P<person_id>\d*)/?$', views_logbooks.person),
2019-04-19 22:52:54 +01:00
url ( r ' ^person/(?P<first_name>[A-Z]*[a-z \ - \' &;]*)[^a-zA-Z]*(?P<last_name>[a-z \ - \' ]*[^a-zA-Z]*[A-Z]*[a-z \ -&;]*)/? ' , views_logbooks . person , name = " person " ) ,
2020-06-18 15:54:40 +01:00
# url(r'^person/(\w+_\w+)$', views_logbooks.person, name="person"),
# url(r'^personform/(.*)$', personForm),
2011-07-11 01:49:03 +01:00
url ( r ' ^expedition/( \ d+)$ ' , views_logbooks . expedition , name = " expedition " ) ,
2020-06-18 21:50:16 +01:00
url ( r ' ^expeditions/?$ ' , views_logbooks . ExpeditionListView . as_view ( ) , name = " expeditions " ) ,
2019-04-19 22:52:54 +01:00
url ( r ' ^personexpedition/(?P<first_name>[A-Z]*[a-z&;]*)[^a-zA-Z]*(?P<last_name>[A-Z]*[a-zA-Z&;]*)/(?P<year> \ d+)/?$ ' , views_logbooks . personexpedition , name = " personexpedition " ) ,
2011-07-11 01:49:03 +01:00
url ( r ' ^logbookentry/(?P<date>.*)/(?P<slug>.*)/?$ ' , views_logbooks . logbookentry , name = " logbookentry " ) ,
url ( r ' ^newlogbookentry/(?P<expeditionyear>.*)$ ' , views_logbooks . newLogbookEntry , name = " newLogBookEntry " ) ,
2020-06-04 23:00:58 +01:00
url ( r ' ^editlogbookentry/(?P<expeditionyear>[^/]*)/(?P<pdate>[^/]*)/(?P<pslug>[^/]*)/$ ' , views_logbooks . newLogbookEntry , name = " editLogBookEntry " ) , # working !
2011-07-11 01:49:03 +01:00
url ( r ' ^deletelogbookentry/(?P<expeditionyear>[^/]*)/(?P<date>[^/]*)/(?P<slug>[^/]*)/$ ' , views_logbooks . deleteLogbookEntry , name = " deleteLogBookEntry " ) ,
2020-06-04 23:00:58 +01:00
url ( r ' ^newfile ' , views_other . newFile , name = " newFile " ) , # oddly broken, needs investigating more
2011-07-11 01:49:03 +01:00
2020-06-04 23:00:58 +01:00
url ( r ' ^getEntrances/(?P<caveslug>.*) ' , views_caves . get_entrances , name = " get_entrances " ) , #works
2020-06-18 15:54:40 +01:00
# e.g. /getEntrances/1623-161
2020-05-15 21:32:55 +01:00
url ( r ' ^getQMs/(?P<caveslug>.*) ' , views_caves . get_qms , name = " get_qms " ) , # no template "get_qms"?
2020-06-04 23:00:58 +01:00
url ( r ' ^getPeople/(?P<expeditionslug>.*) ' , views_logbooks . get_people , name = " get_people " ) , # fails
url ( r ' ^getLogBookEntries/(?P<expeditionslug>.*) ' , views_logbooks . get_logbook_entries , name = " get_logbook_entries " ) , #works
2011-07-11 01:49:03 +01:00
2019-03-30 17:02:07 +00:00
url ( r ' ^cave/new/$ ' , views_caves . edit_cave , name = " newcave " ) ,
2011-07-11 01:49:03 +01:00
url ( r ' ^cave/(?P<cave_id>[^/]+)/?$ ' , views_caves . cave , name = " cave " ) ,
2020-06-16 16:48:19 +01:00
url ( r ' ^cave/(?P<cave_id>[^/]+)/?(?P<ent_letter>[^/])$ ' , ent ) , # how can this work?
url ( r ' ^cave/(?P<slug>[^/]+)/edit/$ ' , views_caves . edit_cave , name = " edit_cave " ) ,
url ( r ' ^cave/(?P<cave_id>[^/]+)/(?P<year> \ d \ d \ d \ d)-(?P<qm_id> \ d*)(?P<grade>[ABCDX]?)?$ ' , views_caves . qm , name = " qm " ) ,
2011-07-11 01:49:03 +01:00
url ( r ' ^caveslug/([^/]+)/?$ ' , views_caves . caveSlug , name = " caveSlug " ) ,
url ( r ' ^cave/entrance/([^/]+)/?$ ' , views_caves . caveEntrance ) ,
url ( r ' ^cave/description/([^/]+)/?$ ' , views_caves . caveDescription ) ,
2020-05-15 21:32:55 +01:00
url ( r ' ^cave/qms/([^/]+)/?$ ' , views_caves . caveQMs ) , # blank page
2011-07-11 01:49:03 +01:00
url ( r ' ^cave/logbook/([^/]+)/?$ ' , views_caves . caveLogbook ) ,
2020-06-16 16:48:19 +01:00
url ( r ' ^cave/3d/(?P<cave_id>[^/]+).3d$ ' , views_caves . cave3d , name = " cave3d " ) ,
2012-08-14 21:51:15 +01:00
url ( r ' ^entrance/(?P<caveslug>[^/]+)/(?P<slug>[^/]+)/edit/ ' , views_caves . editEntrance , name = " editentrance " ) ,
url ( r ' ^entrance/new/(?P<caveslug>[^/]+)/ ' , views_caves . editEntrance , name = " newentrance " ) ,
2011-07-11 01:49:03 +01:00
#url(r'^cavedescription/(?P<cavedescription_name>[^/]+)/?$', views_caves.cave_description, name="cavedescription"),
#url(r'^cavedescription/?$', object_list, {'queryset':CaveDescription.objects.all(),'template_name':'object_list.html'}, name="cavedescriptions"),
#url(r'^cavehref/(.+)$', views_caves.cave, name="cave"),url(r'cave'),
2020-06-17 22:55:51 +01:00
#url(r'^cavesearch', caveSearch),
2011-07-11 01:49:03 +01:00
2012-08-14 14:06:18 +01:00
url ( r ' ^prospecting_guide/$ ' , views_caves . prospecting ) ,
2011-07-11 01:49:03 +01:00
url ( r ' ^logbooksearch/(.*)/?$ ' , views_logbooks . logbookSearch ) ,
2020-06-18 21:50:16 +01:00
url ( r ' ^statistics/?$ ' , views_statistics . stats , name = " stats " ) ,
url ( r ' ^stats/?$ ' , views_statistics . stats , name = " stats " ) ,
2020-06-13 01:27:42 +01:00
url ( r ' ^pathsreport.*$ ' , views_statistics . pathsreport , name = " pathsreport " ) ,
2020-06-04 21:57:04 +01:00
2011-07-11 01:49:03 +01:00
url ( r ' ^controlpanel/?$ ' , views_other . controlPanel , name = " controlpanel " ) ,
url ( r ' ^logbook(?P<year> \ d \ d \ d \ d) \ .(?P<extension>.*)/?$ ' , views_other . downloadLogbook ) ,
url ( r ' ^logbook/?$ ' , views_other . downloadLogbook , name = " downloadlogbook " ) ,
url ( r ' ^cave/(?P<cave_id>[^/]+)/qm \ .csv/?$ ' , views_other . downloadQMs , name = " downloadqms " ) ,
2020-06-17 22:55:51 +01:00
url ( r ' ^downloadqms$ ' , views_other . downloadQMs ) ,
2011-07-11 01:49:03 +01:00
2020-06-17 22:55:51 +01:00
url ( r ' ^admin/doc/? ' , include ( ' django.contrib.admindocs.urls ' ) ) , # needs docutils Python module (http://docutils.sf.net/).
2020-06-18 11:48:50 +01:00
url ( r ' ^admin/ ' , admin . site . urls ) ,
2020-06-18 21:50:16 +01:00
url ( r ' ^accounts/ ' , include ( ' registration.backends.default.urls ' ) ) , # needed to log in!
# url(r'^profiles/', include('profiles.urls')), # not used ? Delete this entire app then.
2011-07-11 01:49:03 +01:00
url ( r ' ^survexblock/(.+)$ ' , views_caves . survexblock , name = " survexblock " ) ,
url ( r ' ^survexfile/(?P<survex_file>.*?) \ .svx$ ' , views_survex . svx , name = " svx " ) ,
url ( r ' ^survexfile/(?P<survex_file>.*?) \ .3d$ ' , views_survex . threed , name = " threed " ) ,
url ( r ' ^survexfile/(?P<survex_file>.*?) \ .log$ ' , views_survex . svxraw ) ,
url ( r ' ^survexfile/(?P<survex_file>.*?) \ .err$ ' , views_survex . err ) ,
2020-06-04 21:57:04 +01:00
2020-06-01 17:41:41 +01:00
url ( r ' ^survexfile/caves/$ ' , views_survex . survexcaveslist , name = " survexcaveslist " ) ,
url ( r ' ^survexfile/(?P<survex_cave>.*)$ ' , views_survex . survexcavesingle , name = " survexcavessingle " ) ,
url ( r ' ^survexfileraw/(?P<survex_file>.*?) \ .svx$ ' , views_survex . svxraw , name = " svxraw " ) ,
2020-06-04 21:57:04 +01:00
2020-06-18 21:50:16 +01:00
# url(r'^survey_files/download/(?P<path>.*)$', view_surveys.download), # needs rewriting
2011-07-11 01:49:03 +01:00
url ( r ' ^survey_scans/$ ' , view_surveys . surveyscansfolders , name = " surveyscansfolders " ) ,
2020-06-06 22:51:55 +01:00
url ( r ' ^survey_scans/(?P<path>[^/]+)/$ ' , view_surveys . surveyscansfolder , name = " surveyscansfolder " ) ,
2020-06-18 21:50:16 +01:00
url ( r ' ^survey_scans/(?P<path>[^/]+)/(?P<file>[^/]+)$ ' ,
2011-07-11 01:49:03 +01:00
view_surveys . surveyscansingle , name = " surveyscansingle " ) ,
2020-06-04 21:57:04 +01:00
2020-06-18 21:50:16 +01:00
url ( r ' ^tunneldata/$ ' , view_surveys . tunneldata , name = " tunneldata " ) ,
url ( r ' ^tunneldataraw/(?P<path>.+? \ .xml)$ ' , view_surveys . tunnelfile , name = " tunnelfile " ) ,
# url(r'^tunneldatainfo/(?P<path>.+?\.xml)$', view_surveys.tunnelfileinfo, name="tunnelfileinfo"),
url ( r ' ^tunneldataraw/(?P<path>.+? \ .xml)/upload$ ' , view_surveys . tunnelfileupload , name = " tunnelfileupload " ) ,
2020-06-04 21:57:04 +01:00
2013-08-01 16:00:01 +01:00
url ( r ' ^prospecting/(?P<name>[^.]+).png$ ' , prospecting_image , name = " prospecting_image " ) ,
2011-07-11 01:49:03 +01:00
2020-06-18 21:50:16 +01:00
url ( r ' ^expofiles/(?P<filepath>.*)$ ' , view_surveys . expofilessingle , name = " single " ) , # EXPOFILES
# url(r'^javascript/(?P<filepath>.*)$', view_surveys.cssfilessingle, name="single"), # JSLIB_URL - unused
# static views not working, removed as a plugin. Use apache instead to serve these:
# url(r'^photos/(?P<path>.*)$', staticviews.serve,
# {'document_root': settings.PHOTOS_ROOT, 'show_indexes':True}),
2020-06-18 15:54:40 +01:00
# url(r'^gallery/(?P<path>.*)$', staticviews.serve,
2020-06-17 22:55:51 +01:00
# {'document_root': settings.PHOTOS_ROOT, 'show_indexes':True}),
2020-06-20 23:08:34 +01:00
# url(r'^site_media/(?P<filepath>.*)$', view_surveys.cssfilessingle, name="single"), # MEDIA_ROOT: CSS and JS
url ( r ' ^(site_media/.*)$ ' , flatviews . flatpage , name = " flatpage " ) , # MEDIA_ROOT: CSS and JS
2020-06-17 22:55:51 +01:00
2020-06-20 23:08:34 +01:00
# url(r'^static/(?P<filepath>.*)$', view_surveys.cssfilessingle, name="single"), # MEDIA_ROOT: CSS and JS
url ( r ' ^(static/.*)$ ' , flatviews . flatpage , name = " flatpage " ) , # STATIC: CSS and JS
url ( r ' ^(.*)_edit$ ' , flatviews . editflatpage , name = " editflatpage " ) ,
url ( r ' ^(.*)$ ' , flatviews . flatpage , name = " flatpage " ) , # files assumed relative to EXPOWEB
2020-06-17 22:55:51 +01:00
]
2011-07-11 01:49:03 +01:00
#Allow prefix to all urls
2020-06-17 22:55:51 +01:00
urlpatterns = [
url ( ' ^ %s ' % settings . DIR_ROOT , include ( actualurlpatterns ) )
]