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

« back to all changes in this revision

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

  • Committer: mattgiuca
  • Date: 2008-01-13 10:24:53 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:208
dispatch.html, ivle.css: "apptabs" is now an ID, not a class.
    This is so JavaScript code can easily identify it.
editor: Replaced dummy stub with a simple call to browser.handle.
    Editor and File Browser are now integrated with each other.
util.js: New functions, endswith and path_basename.
browser.js: Major changes to accomodate merging editor with file browser.
    Now detects "edit" URLs and handles files slightly-differently.
    In "edit mode", all files are edited even if they are binary.
    There is a warning for editing files that are binary files.
    Changes the styling of the tabs so that the "selected" tab is
    either the file browser or editor depending on whether the editor
    panel is open or not. (So the actual contents of the page determine
    which tab is selected, not the URL or the server).
    Sets the window title to the name of the directory or file being browsed.`

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
 
3
 
import ivle.database
4
 
from ivle.database import ProjectSet, Subject, Semester, Offering
5
 
 
6
 
from ivle.webapp.admin.projectservice import ProjectSetRESTView
7
 
from ivle.webapp.groups import GroupsView
8
 
from ivle.webapp.base.rest import (XHTMLRESTView, named_operation,
9
 
                                   require_permission)
10
 
from ivle.webapp.errors import NotFound
11
 
 
12
 
class OfferingRESTView(XHTMLRESTView):
13
 
    """REST view for a subject.
14
 
      
15
 
    This view allows for added a ProjectSet to an existing subject."""
16
 
 
17
 
    template = "subject.html"
18
 
 
19
 
    @named_operation('edit')
20
 
    def add_projectset(self, req, group_size):
21
 
        """Add a new ProjectSet"""
22
 
        new_projectset = ProjectSet()
23
 
        if group_size == '':
24
 
            new_projectset.max_students_per_group = None
25
 
        else:
26
 
            new_projectset.max_students_per_group = int(group_size)
27
 
        new_projectset.offering = self.context
28
 
 
29
 
        req.store.add(new_projectset)
30
 
        req.store.flush()
31
 
 
32
 
        self.ctx['req'] = req
33
 
        self.ctx['projectset'] = new_projectset
34
 
        self.ctx['projects'] = []
35
 
        self.ctx['GroupsView'] = GroupsView
36
 
        self.ctx['ProjectSetRESTView'] = ProjectSetRESTView
37
 
 
38
 
        self.template = 'templates/projectset_fragment.html'
39
 
 
40
 
        return {'success': True, 'projectset_id': new_projectset.id}