source: TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/wsgi/openid/provider/renderinginterface/genshi/templates/decide.html @ 6245

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/wsgi/openid/provider/renderinginterface/genshi/templates/decide.html@6245
Revision 6245, 3.2 KB checked in by pjkersha, 10 years ago (diff)

Completed OpenID Provider interface content to enable user to see and select which AX items to return to the Relying Party. OpenIDProviderMiddleware.do_allow method needs fixing to affect selections made by the user allow/deny return of individual attributes to the RP.

Line 
1<html xmlns="http://www.w3.org/1999/xhtml" 
2        xmlns:py="http://genshi.edgewall.org/"
3        xmlns:xi="http://www.w3.org/2001/XInclude">       
4    <head>
5        <xi:include href="base.html"/>
6            <replace py:replace="pagehead()"/>
7    </head>
8    <body>
9        <div id="main">
10            <div py:replace="header()"/>
11            <div id="decideFormContent"> 
12                <form method="POST" action="${c.urls['url_allow']}">
13                        <table>
14                                <input type="hidden" name="identity" value="$c.identityURI" />
15                                <tr>
16                                        <td>
17                                                The website <b>$c.oidRequest.trust_root</b> has requested
18                                                your OpenID for sign in:
19                                        </td>
20                                </tr>
21                                <tr>
22                                <td>
23                                        <div id="identityUriBox">$c.identityURI</div>
24                                </td>
25                        </tr>
26                                <tr py:if="len(axRequestedAttr) > 0">
27                                    <td>
28                                                This site has also requested some additional information:
29                                         <table id="opAXRequestedAttributes">
30                                                <tr>
31                                                    <th>Item</th>
32                                                    <th>Value</th>
33                                                    <th>Return Item to Requesting Site?</th>
34                                                </tr>
35                                                                        <tr py:for="i in axRequestedAttr.values()">
36                                                                            <td>${i.alias or i.type_uri}</td>
37                                                                            <td>${axFetchResponse.getSingle(i.type_uri, default="error - item not available")}</td>
38                                                                            <?python
39                                                                               # Disable checkbox if attribute is required and not optional
40                                                                               nameAttr = 'ax.%s' % i.alias
41                                                                               if i.required:
42                                                                                   inputAttr = {'disabled': 'disabled'}
43                                                                               else:
44                                                                                   inputAttr = {'id': i.alias, 'name': nameAttr, 'value': i.type_uri}
45                                                                            ?>
46                                                                            <!-- hidden input is required to force the setting of disabled checkbox values -->
47                                                                            <td><input type="checkbox" checked="checked" py:attrs="inputAttr"/>
48                                                                                <input py:if="i.required" type="hidden" value="${i.type_uri}" name="$nameAttr"/></td>
49                                                                        </tr> 
50                                                            </table>
51                                    </td>
52                                </tr>
53                                <tr>
54                                        <td>                                           
55                                                Would you like to pass your OpenID credential
56                                                information back to $c.oidRequest.trust_root and
57                                                return to this site? 
58                                        </td>
59                                </tr>
60                                <tr>
61                                        <td align="right">
62                                                <input type="submit" name="$c.APPROVE_RP_SUBMIT" value="Yes" />
63                                                <input type="submit" name="$c.REJECT_RP_SUBMIT" value="No" />
64                                        </td>
65                                </tr>
66                                <tr>
67                                        <td align="right">
68                                                <div py:if="c.oidRequest.trust_root not in c.session.get('approved', {})">
69                                                        <input type="checkbox" id="remember" name="remember" value="Yes"/>
70                                                        <label for="remember">Remember this decision for session duration</label>
71                                                </div>
72                                        </td>
73                                </tr>
74                        </table>
75                </form>
76            </div>
77            <div py:replace="footer()"/>
78        </div>
79    </body>
80</html>
Note: See TracBrowser for help on using the repository browser.