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

« back to all changes in this revision

Viewing changes to ivle/webapp/tutorial/service.py

  • Committer: Nick Chadwick
  • Date: 2009-02-18 12:50:31 UTC
  • mto: (1099.1.180 new-dispatch)
  • mto: This revision was merged to the branch mainline in revision 1100.
  • Revision ID: chadnickbok@gmail.com-20090218125031-0gwxxfljq1iqipgz
Working on putting worksheets into the database.

This will lead to a nice editor for each worksheet.

This commit also introduces my changes linking problem attempts to
worksheets AND exercises, not just exercises.

Show diffs side-by-side

added added

removed removed

Lines of Context:
184
184
        ivle.worksheet.save_exercise(req.store, req.user, exercise, worksheet,
185
185
                                     unicode(text), datetime.datetime.now())
186
186
        return {"result": "ok"}
 
187
 
 
188
class WorksheetRESTView(JSONRESTView):
 
189
    """View used to update a worksheet."""
 
190
 
 
191
    def get_permissions(self, user):
 
192
        # XXX: Do it properly.
 
193
        if user is not None:
 
194
            if user.rolenm == 'admin':
 
195
                return set(['save'])
 
196
            else:
 
197
                return set()
 
198
        else:
 
199
            return set()    
 
200
 
 
201
    def __init__(self, req, **kwargs):
 
202
    
 
203
        self.worksheet = kwargs['worksheet']
 
204
        self.subject = kwargs['subject']
 
205
        self.year = kwargs['year']
 
206
        self.semester = kwargs['semester']
 
207
    
 
208
        self.context = req.store.find(Worksheet,
 
209
            Worksheet.name == self.worksheet,
 
210
            Worksheet.offering_id == Offering.id,
 
211
            Offering.subject_id == Subject.id,
 
212
            Subject.code == self.subject,
 
213
            Offering.semester_id == Semester.id,
 
214
            Semester.year == self.year,
 
215
            Semester.semester == self.semester).one()
 
216
    
 
217
    @named_operation('save')
 
218
    def save(self, req, data):
 
219
        self.worksheet.data = data
 
220
        
 
221
        return {"result": "ok"}