~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/tos/__init__.py

  • Committer: William Grant
  • Date: 2009-04-28 04:51:45 UTC
  • Revision ID: grantw@unimelb.edu.au-20090428045145-17gkpb7dd5bv0e11
Move ivle.util.get_terms_of_service to ivle.webapp.tos.

Also make it use a configobj.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
This is mainly for the benefit of the link in ivle.webapp.help."""
23
23
 
 
24
import os.path
 
25
 
24
26
import ivle.util
25
27
import ivle.webapp.security
26
28
from ivle.webapp.base.xhtml import XHTMLView
27
29
from ivle.webapp.base.plugins import ViewPlugin, MediaPlugin
28
30
 
 
31
def get_terms_of_service(config):
 
32
    """
 
33
    Sends the Terms of Service document to the req object.
 
34
    This consults conf to find out where the TOS is located on disk, and sends
 
35
    that. If it isn't found, it sends a generic message explaining to admins
 
36
    how to create a real one.
 
37
    """
 
38
    try:
 
39
        return open(os.path.join(config['paths']['data'],
 
40
                    'notices/tos.html')).read()
 
41
    except IOError:
 
42
        return """\
 
43
<p><b>*** SAMPLE ONLY ***</b></p>
 
44
<p>This is the text of the IVLE Terms of Service.</p>
 
45
<p>The administrator should create a license file with an appropriate
 
46
"Terms of Service" license for your organisation.</p>
 
47
<h2>Instructions for Administrators</h2>
 
48
<p>You are seeing this message because you have not configured a Terms of
 
49
Service document.</p>
 
50
<p>When you configured IVLE, you specified a path to the Terms of Service
 
51
document (this is found in <b><tt>ivle/conf/conf.py</tt></b> under
 
52
"<tt>tos_path</tt>").</p>
 
53
<p>Create a file at this location; an HTML file with the appropriately-worded
 
54
license.</p>
 
55
<p>This should be a normal XHTML file, except it should not contain
 
56
<tt>html</tt>, <tt>head</tt> or <tt>body</tt> elements - it should
 
57
just be the contents of a body element (IVLE will wrap it accordingly).</p>
 
58
<p>This will automatically be used as the license text instead of this
 
59
placeholder text.</p>
 
60
"""
 
61
 
29
62
class TermsOfServiceView(XHTMLView):
30
63
    """View of the Terms of Service, allowing acceptance.
31
64
 
54
87
        return ivle.webapp.security.get_user_details(req) is not None
55
88
 
56
89
    def populate(self, req, ctx):
57
 
        ctx['text'] = ivle.util.get_terms_of_service()
 
90
        ctx['text'] = get_terms_of_service(req.config)
58
91
 
59
92
        if self.mode == 'accept':
60
93
            self.plugin_scripts[Plugin] = ['tos.js']