source: MILK/trunk/milk_server/milk_server/config/routing.py @ 4984

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/MILK/trunk/milk_server/milk_server/config/routing.py@4984
Revision 4984, 3.7 KB checked in by cbyrom, 11 years ago (diff)

Add new trackback controller and implement methods to allow
authenticated users to post comments on metadata docs. These comments
are then emailed to the metadata maintainer and added to the
corrections feed. Control then returns to the metadata document - in
non edit form - and, in the case of moles atom docs, a pop up informs
the user that the operation has completed successfully. Also add the
required genshi templates and template methods to enable this new
functionality.

Line 
1"""
2Setup your Routes options here
3"""
4import os
5from routes import Mapper
6
7def make_map():
8    root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
9
10    map = Mapper(directory=os.path.join(root_path, 'controllers'))#, explicit=True)
11   
12    # This route handles displaying the error page and graphics used in the 404/500
13    # error pages. It should likely stay at the top to ensure that the error page is
14    # displayed properly.
15    map.connect('error/:action/:id', controller='error')
16   
17    # Define your routes. The more specific and detailed routes should be defined first,
18    # so they may take precedent over the more generic routes. For more information, refer
19    # to the routes manual @ http://routes.groovie.org/docs/
20   
21    # atom editor specific routing
22    map.connect('upload', 'upload/:uri', controller = 'atom_editor/editatom', action='upload', uri = None)
23    map.connect('delete', 'deleteAtom/:uri', controller = 'atom_editor/editatom', action='delete')
24    map.connect('edit', 'editAtom/:uri', controller = 'atom_editor/editatom', action='edit')
25    map.connect('save', 'saveAtom/:uri/:saveLevel', controller = 'atom_editor/editatom', \
26                action='saveAtom', saveLevel='0')
27    map.connect('create', 'createAtom/:saveData', controller = 'atom_editor/editatom', action='create', \
28                saveData = None)
29    map.connect('createGranule', 'createGranule', controller = 'atom_editor/editatom', action='createGranule')
30    map.connect('example', 'exampleGranulite', controller = 'atom_editor/listatom', action='showExampleGranulite')
31    map.connect('help', 'help', controller = 'atom_editor/listatom', action='showAtomHelp')
32    map.connect('home', 'atomHome', controller = 'atom_editor/listatom', action='atomHome')
33    map.connect('list', 'listAtom/:searchData/:associatedAtomID/:associatedAtomType/:associationType', \
34                controller = 'atom_editor/listatom', action='list', searchData='', \
35                associatedAtomID='', associatedAtomType='', associationType='')
36    map.connect('viewAssociatedData', 'viewAssociatedData/:type/:uri', controller = 'browse/retrieve', action='viewAssociatedData')
37
38    # routing for the browse/discovery server
39    map.connect('login', controller='login')
40    map.connect('getCredentials', controller='login', action='getCredentials')
41    map.connect('wayf', controller='wayf')
42    map.connect('logout', controller='logout')
43    map.connect('semantic',controller='browse/discovery', action='semantic')
44    map.connect('view/:uri', controller = 'browse/retrieve', action='view')
45    map.connect('retrive', 'retrieve/:uri', controller = 'browse/retrieve')
46    map.connect('selectedItems',controller='visualise/selectedItems',action='index')
47    map.connect('viewItems',controller='visualise/viewItems',action='index')
48    map.connect('addSelectedItem/:entryid/:divid',
49                controller='visualise/selectedItems',action='addSelectedItem')
50    map.connect('unSelectItem/:entryid/:divid', controller='visualise/selectedItems',action='unSelectItem')
51    map.connect('removeSelectedItem/:entryid',controller='visualise/selectedItems',action='removeSelectedItem')
52
53    map.connect('discovery',controller='browse/discovery')
54
55    # routing for trackback
56    map.connect('trackback/:uri', controller='trackback/trackback')
57    map.connect('askCorrect/:uri', controller='trackback/trackback', action='askCorrect')
58    map.connect('correct/:uri', controller='trackback/trackback', action='correct')
59
60
61    #do this last or else you'll get bizarre behaviour
62    map.connect('',controller='browse/discovery',action='index')
63    map.connect('clearSession',controller='browse/discovery',action='clearSession')
64    return map
Note: See TracBrowser for help on using the repository browser.