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

« back to all changes in this revision

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

  • Committer: dcoles
  • Date: 2008-07-03 04:20:54 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:803
Setup: Modularised setup.py so it is now no longer over 1000 lines. This should 
allow us to get in there and tidy up each module much easier. Also removed 
updatejails since this functionality seems to be duplicated with remakeuser.py 
and remakealluser.py scripts.

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
 
    @named_operation('edit')
18
 
    def add_projectset(self, req, group_size):
19
 
        """Add a new ProjectSet"""
20
 
        new_projectset = ProjectSet()
21
 
        if group_size == '':
22
 
            new_projectset.max_students_per_group = None
23
 
        else:
24
 
            new_projectset.max_students_per_group = int(group_size)
25
 
        new_projectset.offering = self.context
26
 
 
27
 
        req.store.add(new_projectset)
28
 
        req.store.flush()
29
 
 
30
 
        self.ctx['req'] = req
31
 
        self.ctx['projectset'] = new_projectset
32
 
        self.ctx['projects'] = []
33
 
        self.ctx['GroupsView'] = GroupsView
34
 
        self.ctx['ProjectSetRESTView'] = ProjectSetRESTView
35
 
 
36
 
        self.template = 'templates/projectset_fragment.html'
37
 
 
38
 
        return {'success': True, 'projectset_id': new_projectset.id}