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

« back to all changes in this revision

Viewing changes to ivle/webapp/admin/subject.py

  • Committer: Matt Giuca
  • Date: 2010-07-20 08:31:02 UTC
  • Revision ID: matt.giuca@gmail.com-20100720083102-i739uh74be6dcl1c
Added new function on Project page to export a Bash script which exports all submissions for that project. (LP: #579771)

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
import urllib
28
28
import urlparse
29
29
import cgi
 
30
import datetime
30
31
 
31
32
from storm.locals import Desc, Store
32
33
import genshi
39
40
                                    DateTimeValidator)
40
41
from ivle.webapp.base.plugins import ViewPlugin, MediaPlugin
41
42
from ivle.webapp.base.xhtml import XHTMLView
 
43
from ivle.webapp.base.text import TextView
42
44
from ivle.webapp.errors import BadRequest
43
45
from ivle.webapp import ApplicationRoot
44
46
 
748
750
        ctx['user'] = req.user
749
751
        ctx['ProjectEdit'] = ProjectEdit
750
752
        ctx['ProjectDelete'] = ProjectDelete
 
753
        ctx['ProjectExport'] = ProjectBashExportView
 
754
 
 
755
class ProjectBashExportView(TextView):
 
756
    """Produce a Bash script for exporting projects"""
 
757
    template = "templates/project-export.sh"
 
758
    content_type = "text/x-sh"
 
759
    permission = "view_project_submissions"
 
760
 
 
761
    def populate(self, req, ctx):
 
762
        ctx['req'] = req
 
763
        ctx['permissions'] = self.context.get_permissions(req.user,req.config)
 
764
        ctx['format_datetime'] = ivle.date.make_date_nice
 
765
        ctx['format_datetime_short'] = ivle.date.format_datetime_for_paragraph
 
766
        ctx['project'] = self.context
 
767
        ctx['user'] = req.user
 
768
        ctx['now'] = datetime.datetime.now()
 
769
        ctx['format_datetime'] = ivle.date.make_date_nice
 
770
        ctx['format_datetime_short'] = ivle.date.format_datetime_for_paragraph
751
771
 
752
772
class ProjectUniquenessValidator(formencode.FancyValidator):
753
773
    """A FormEncode validator that checks that a project short_name is unique
948
968
             (Project, '+index', ProjectView),
949
969
             (Project, '+edit', ProjectEdit),
950
970
             (Project, '+delete', ProjectDelete),
 
971
             (Project, ('+export', 'project-export.sh'),
 
972
                ProjectBashExportView),
951
973
             ]
952
974
 
953
975
    breadcrumbs = {Subject: SubjectBreadcrumb,