79
79
@named_operation('edit')
80
def update_exercise(self, req, name, description, partial,
80
def edit_exercise(self, req, name, description, partial,
81
81
solution, include, num_rows):
83
83
self.context.name = unicode(name)
90
90
return {'result': 'ok'}
92
92
@named_operation('edit')
93
def add_suite(self, req, description, seq_no, function, stdin):
93
def add_suite(self, req, description, function, stdin):
95
95
new_suite = TestSuite()
96
new_suite.description = description
97
new_suite.seq_no = seq_no
98
new_suite.function = function
99
new_suite.stdin = stdin
96
new_suite.description = unicode(description)
97
new_suite.seq_no = self.context.test_suites.count()
98
new_suite.function = unicode(function)
99
new_suite.stdin = unicode(stdin)
100
100
new_suite.exercise = self.context
102
102
req.store.add(new_suite)
104
104
return {'result': 'ok'}
107
class TestSuiteRESTView():
108
"""View for updating Test Suites, adding variable and adding test parts."""
110
def get_permissions(self, user):
112
if user.rolenm in ('admin', 'lecturer'):
119
@named_operation('edit')
120
def edit_testsuite(self, req, suiteid):
122
test_suite = req.store.find(TestSuite,
123
TestSuite.suite.id == suiteid).one()
125
if test_suite is not None:
128
return {'result': 'NOT IMPLEMENTED'}
106
@named_operation('edit')
107
def edit_suite(self, req, suiteid, description, function, stdin):
109
suite = req.store.find(TestSuite,
110
TestSuite.suiteid == int(suiteid),
111
TestSuite.exercise_id == self.context.id).one()
116
suite.description = unicode(description)
117
suite.function = unicode(function)
118
suite.stdin = unicode(stdin)
120
return {'result': 'ok'}
122
@named_operation('edit')
123
def add_var(self, req, suiteid, var_type, var_name, var_val, argno):
125
suite = req.store.find(TestSuite,
126
TestSuite.suiteid == int(suiteid),
127
TestSuite.exercise_id == self.context.id).one()
132
new_var = TestSuiteVar()
133
new_var.var_type = unicode(var_type)
134
new_var.var_name = unicode(var_name)
135
new_var.var_val = unicode(var_val)
136
new_var.argno = argno
137
new_var.suite = suite
139
req.store.add(new_var)
141
return {'result': 'ok'}