def add(self, card_id): card = ReportCard.find_by_id(int(card_id)) if card.is_authorized(): category_id = EvalCategory.create(self.request.get('name'), int(card_id)).id() category = EvalCategory.find_by_id(category_id) template = JinjaEnv.get().get_template('templates/category/edit_table.html') self.response.out.write(template.render({'category': category}))
def delete(self, category_id): category = EvalCategory.find_by_id(int(category_id)) card = category.card if card.is_authorized(): category = EvalCategory.find_by_id(int(category_id)) card_id = category.card.key().id() category.delete()
def test_save(self): eval_id = Evaluation.create('Edit Test Name', self.card_id).id() category1_id = EvalCategory.create('Eval Save Test Cat 1', self.card_id).id() category2_id = EvalCategory.create('Eval Save Test Cat 2', self.card_id).id() item1_id = EvalItem.create('Eval Save Test Item 1', category1_id).id() item2_id = EvalItem.create('Eval Save Test Item 2', category1_id).id() item3_id = EvalItem.create('Eval Save Test Item 3', category2_id).id() text_line1_id = TextLine.create('Eval Save Test Text Line 1', self.card_id).id() text_line2_id = TextLine.create('Eval Save Test Text Line 2', self.card_id).id() response = self.testapp.post('/eval/%d/save' % eval_id, {'comments': 'Comments', 'item_%d_score' % item1_id: '1', 'item_%d_score' % item2_id: '2', 'item_%d_score' % item3_id: '3', 'text_%d_value' % text_line1_id: 'Text 1', 'text_%d_value' % text_line2_id: 'Text 2', } ) self.assertRedirect('/eval/\d*/fill$', response) eval = Evaluation.find_by_id(eval_id) data = eval.all_data() self.assertEqual('Comments', data['comments']) self.assertEqual('1', data['items'][item1_id]) self.assertEqual('2', data['items'][item2_id]) self.assertEqual('3', data['items'][item3_id]) self.assertEqual('Text 1', data['text'][text_line1_id]) self.assertEqual('Text 2', data['text'][text_line2_id])
def test_move_down(self): category1_id = EvalCategory.create("Move Up Test Name 1", self.card_id).id() category2_id = EvalCategory.create("Move Up Test Name 2", self.card_id).id() self.assertRaises(Exception, self.testapp.post, "/category/%d/move_down" % category2_id) response = self.testapp.post("/category/%d/move_down" % category1_id) self.assertSuccess(response) card = ReportCard.find_by_id(self.card_id) categories = card.categories() self.assertEqual(2, len(categories)) self.assertEqual(category2_id, categories[0].key().id()) self.assertEqual(category1_id, categories[1].key().id())
def test_preview(self): e = Evaluation.create('Preview Test Name', self.card_id) category1_id = EvalCategory.create('Eval Preview Test Cat 1', self.card_id).id() category2_id = EvalCategory.create('Eval Preview Test Cat 2', self.card_id).id() item1_id = EvalItem.create('Eval Preview Test Item 1', category1_id).id() item2_id = EvalItem.create('Eval Preview Test Item 2', category1_id).id() item3_id = EvalItem.create('Eval Preview Test Item 3', category2_id).id() text_line1_id = TextLine.create('Eval Preview Test Text Line 1', self.card_id).id() text_line2_id = TextLine.create('Eval Preview Test Text Line 2', self.card_id).id() response = self.testapp.get('/eval/%d/preview' % e.id()) self.assertSuccess(response)
def add(self, category_id): category = EvalCategory.find_by_id(int(category_id)) if category.card.is_authorized(): item_id = EvalItem.create(self.request.get('name'), int(category_id)).id() item = EvalItem.find_by_id(item_id) template = JinjaEnv.get().get_template('templates/item/edit_row.html') self.response.out.write(template.render({'item': item}))
def test_edit(self): category_id = EvalCategory.create("Edit Test Name", self.card_id).id() response = self.testapp.post("/category/%d/edit" % category_id, {"name": "Edit Test New Name"}) self.assertSuccess(response) card = ReportCard.find_by_id(self.card_id) self.assertEqual(1, len(card.categories())) self.assertEqual("Edit Test New Name", card.categories()[0].name)
def edit(self, category_id): category = EvalCategory.find_by_id(int(category_id)) card = category.card if card.is_authorized(): category.name = self.request.get('name') category.save() template = JinjaEnv.get().get_template('templates/category/edit_table.html') self.response.out.write(template.render({'category': category}))
def create(self, name, category_id): item = EvalItem(parent=self.report_key()) item.name = name category = EvalCategory.find_by_id(category_id) item.category = category if len(category.items()) > 0: item.position = category.items()[-1].position+1 return item.put()
def move_up(self, category_id): category = EvalCategory.find_by_id(int(category_id)) card = category.card if card.is_authorized(): all_categories = category.card.categories() id_list = map(lambda x: x.key().id(), all_categories) index = id_list.index(category.key().id()) if index >= 1: temp = category.position category.position = all_categories[index-1].position all_categories[index-1].position = temp category.save() all_categories[index-1].save() else: return webapp2.abort(403)
def delete_form(self, category_id): category = EvalCategory.find_by_id(int(category_id)) card = category.card if card.is_authorized(): template = JinjaEnv.get().get_template('templates/category/delete_form.html') self.response.out.write(template.render({'category_id': category_id, 'category': category}))
def categories(self): from models.eval_category import EvalCategory items = EvalCategory.gql("WHERE card = :1 ORDER BY position ASC", self).fetch(100) return items
def setUp(self): super(ItemHandlerTest, self).setUp() self.card_id = ReportCard.create(name="Item Test Card").id() self.category_id = EvalCategory.create("Item Test Category", self.card_id).id()
def add_form(self, category_id): category = EvalCategory.find_by_id(int(category_id)) if category.card.is_authorized(): template = JinjaEnv.get().get_template('templates/item/add_form.html') self.response.out.write(template.render({'category_id': category_id}))
def test_delete(self): category_id = EvalCategory.create("Delete Test Name", self.card_id).id() response = self.testapp.post("/category/%d/delete" % category_id) self.assertSuccess(response) card = ReportCard.find_by_id(self.card_id) self.assertEqual(0, len(card.categories()))
def test_delete_form(self): category_id = EvalCategory.create("Delete Form Test Name", self.card_id).id() response = self.testapp.get("/category/%d/delete_form" % category_id) self.assertSuccess(response)