source: TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/stubB.kid @ 3901

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/stubB.kid
Revision 3901, 8.9 KB checked in by pjkersha, 12 years ago (diff)

Working version with Gatekeeper code moved into it's own package in ndg.security.

All security code now decoupled from ows_server - Single Sign On and Gatekeeper.

ows_server/ndgDiscovery.config: moved Gatekeeper settings into its own NDG_SECURITY.gatekeeper section

ows_server/ows_server/config/ndgMiddleware.py:

  • now initialises PEP class (Policy Enforcement Point aka Gatekeeper) from ndg.security.common.authz.pep and adds as a g var attr.



Index: ows_server/ows_server/controllers/logout.py: remove old commented out code

ows_server/ows_server/controllers/retrieve.py:

ows_server/ows_server/lib/ndgInterface.py: replaced old ndgInterface gatekeeper code with PEP class.

ows_server/ows_server/lib/security_util.py: moved out of ows_server into ndg.security.common

ows_server/ows_server/lib/base.py: tidied up imports

ows_server/ows_server/templates/stubB.kid: code to comment out the CSML entries caused an error for render(). Re-instated commented out section.

Line 
1<html py:extends="ndgPage.kid,meta.kid" xmlns="http://www.w3.org/1999/xhtml"
2    xmlns:py="http://purl.org/kid/ns#">
3
4    <head>
5      <replace py:replace="pagehead()"/>
6    </head>
7    <body>
8        <div id="entirepage"> ${XML(c.tbinfo)} <div py:replace="header()"/>
9            <div py:replace="PageTabs('Details')"/>
10            <div py:replace="searchOneLine(targets='Browse')"/>
11            <div id="contents">
12                <div class="metadata">
13                    <div class="headingblock">
14                        <div id="title" class="heading">${c.doc.hdg}: $c.doc.name</div>
15                        <table>
16                            <tr>
17                            <td py:if="c.doc.logos is not None">
18                                <img py:for="i in c.doc.logos" alt="${i[0]}" src="${i[1]}" class="clear"/>
19                            </td>
20                            <td><div id="abstract">$c.doc.abstract</div></td></tr>
21                        </table>
22                    </div>
23                    <p py:if="c.doc.citation!=''">Citation<br/><span class="citation"
24                            >$c.doc.citation</span></p>
25                    <div py:for="d in c.doc.description.texts">
26                        <!-- Note that the content of the descriptions should have been sanitised before it gets here -->
27                        <div py:if="d[1] in ['','text/html']" class="description">
28                            ${XML(d[0])}
29                        </div>
30                        <div py:if="d[1] in ['text/plain']" class="description">
31                            ${d[0]}
32                        </div>
33                        <div py:if="d[1] not in ['','text/plain','text/html']" class="description">
34                            <p>Description of type ${d[1]} ommitted</p>
35                        </div>
36                    </div>
37                    <div class="bottomblock">
38                    <div py:if="c.doc.description.onlineRefs!=[]">
39                        <div class="linehead"> Online References</div>
40                        <ul>
41                            <li py:for="l in c.doc.description.onlineRefs"><a href="${l[1]}">${l[0]}</a></li>
42                        </ul>
43                    </div>
44                   
45                    <div py:replace="ParameterList(c.doc.parameters)"/>
46                    <div py:replace="ParameterList(c.doc.extraParameters)"/>
47                   
48                    <div py:if="c.doc.stubBtype=='dgDataEntity'" py:replace="Coverage(c.doc.bbox,c.doc.timeCoverage)"/>
49                    <div id="gran_help" class="hidden" >
50                                    <p colspan="3" class="helptxt">
51                                        Granules are portions of a dataset which have consistent syntax and semantics, and they
52                                        are split up within the datset either to aid reuse across data entities, or to to make
53                                        it easier for the data providers and/or data consumers. Data granules are
54                                        are available for download and/or visualisation as independent entities.
55                                    </p>
56                                </div>
57                    <div py:if="c.doc.granules!=[]" id="Granules">
58                        <table cellspacing="0" cellpadding="3" border="0" width="100%">
59                            <tbody>
60                                <tr>
61                                    <td class="linehead" colspan="4">
62                                        <span class="heading0"> Granules </span><span py:replace="helpIcon('gran_help')"/>
63                                    </td>
64                                </tr>
65                               
66                                <tr>
67                                    <td>Select</td>
68                                    <td>Access Control</td>
69                                    <td>Granule</td>
70                                    <td>Coverage</td>
71                                </tr>
72                                <tr py:for="granule in c.doc.granules">
73                                    <?python
74                                        showSelect=1
75                                        if 'ndgSec' not in session and granule.constraints.status==0:
76                                            showSelect=0
77                                        if granule.entryID in c.selectedGranules:
78                                            selected=True
79                                        else:
80                                            selected=False
81                                                    ?>
82                                    <td width="10%">
83                                        <span py:if="showSelect and selected">
84                                                                 Selected
85                                                            </span>
86                                                            <span class="selectme" py:if="showSelect and not selected">
87                                            ${XML(h.link_to_remote("Select",dict(update="PageTabs",
88                                            url=h.url_for(controller="tabs",
89                                            action="addSelection",uri=granule.entryID,name=granule.name))))}
90                                        </span>
91                                    </td>
92                                    <td width="10%">
93                                        <img py:if="granule.constraints.status==0" alt="Secure Data" title="Secure Data" src="$g.icons_key"/>
94                                        <span py:if="granule.constraints.status==1">None</span>
95                                    </td>
96                                    <td>
97                                        <a href="$g.server/view/$granule.entryID">$granule.name</a>
98                                    </td>
99                                    <td>
100                                        <div py:replace="ShortCoverage(granule)"/>
101                                    </td>
102                                </tr>
103                                    </tbody>
104                                            </table>
105                    </div>
106                    <!-- of granules -->
107                    <div id="dep_help" class="hidden" >
108                                    <p colspan="2" class="helptxt">
109                                        This metadata page is showing one of the following components: activity, data production tool, observation station or data entity. One can
110                                        use the related entity links to navigate between these to find data or information relevant to the particular component you are currently viewing or
111                                        to find similar material.
112                                    </p>
113                                </div>
114                    <div id="DeploymentList" py:if="c.doc.related is not None">
115                        <table cellspacing="0" cellpadding="3" border="0" width="100%"
116                            class="related">
117                            <tbody>
118                                <tr>
119                                    <td class="linehead" colspan="2">
120                                        <span class="headingO">Related Entities</span><span py:replace="helpIcon('dep_help')"/>
121                                    </td>
122                                </tr>
123                                <tr py:for="alist in c.doc.related" py:if="alist !=[]">
124                                    <td class="cellhead">$alist</td>
125                                    <td>
126                                        <span py:for="deployment in c.doc.related[alist]">
127                                            <?python target=deployment[2]
128                                            if target=='': target=deployment[1]
129                                            ?>
130                                            <a href="${deployment[0].BURL}"
131                                            >$target</a>&nbsp;&nbsp; </span>
132                                    </td>
133                                </tr>
134                            </tbody>
135                        </table>
136                    </div>
137                    <!-- DeploymentList -->
138
139                    <div py:replace="Services()"/>
140
141                    <center>
142                        <p>Not all information in this record may be rendered in this view.
143                            Please see the XML version for complete content </p>
144                    </center>
145                </div> <!-- of bottom block -->
146                </div>
147                <!-- Metadata Div Ends -->
148
149                <div id="Corrections">
150                    <p py:if="'ndgSec' in session"> Please use this <span>
151                            ${XML(h.link_to_remote("link",dict(update="Corrections",
152                            url=h.url_for(action='askCorrect'))))} </span> to enter any errors
153                        in the metadata record above. </p>
154                </div>
155
156            </div>
157            <div py:replace="footer()"/>
158        </div>
159    </body>
160</html>
Note: See TracBrowser for help on using the repository browser.