def testLibraryToDesigner(self): """Tests instantiating a DesignerAction from a LibraryAction.""" # LibraryAction -> DesignerAction lib_action = smartgrid_mgr.get_library_action(self.action_slug) des_action = smartgrid_mgr.instantiate_designer_action_from_library(self.draft, \ lib_action.slug) self.assertTrue(des_action, "Couldn't instantiate designer action %s" % lib_action.slug) self.assertTrue(smartgrid_mgr.get_designer_action(self.draft, self.action_slug), \ "Couldn't retrieve the designer action %s" % self.action_slug) # ensure the TextPropmptQuestions are there for tpq in LibraryTextPromptQuestion.objects.filter(libraryaction=lib_action): try: des_tpq = get_object_or_404(DesignerTextPromptQuestion, draft=self.draft, \ question=tpq.question, answer=tpq.answer, \ action=des_action) self.assertTrue(des_tpq, "Couldn't get DesignerTextPromptQuestion") except Http404: self.fail("Couldn't find DesignerTextPromptQuestion for %s" % tpq) # LibraryColumnNames -> DesignerColumnNames lib_column = smartgrid_mgr.get_library_column_name(self.col_slug) self.assertTrue(lib_column, "Couldn't get LibraryColumnName %s" % self.col_slug) des_column = smartgrid_mgr.instantiate_designer_column_from_library(self.draft, \ self.col_slug) self.assertTrue(des_column, "Couldn't get DesignerColumnName %s" % self.col_slug) self.assertEqual(self.draft, des_column.draft, "Drafts are not equal.")
def testLibraryToDesigner(self): """Tests instantiating a DesignerAction from a LibraryAction.""" # LibraryAction -> DesignerAction lib_action = smartgrid_mgr.get_library_action(self.action_slug) des_action = smartgrid_mgr.instantiate_designer_action_from_library(self.draft, \ lib_action.slug) self.assertTrue( des_action, "Couldn't instantiate designer action %s" % lib_action.slug) self.assertTrue(smartgrid_mgr.get_designer_action(self.draft, self.action_slug), \ "Couldn't retrieve the designer action %s" % self.action_slug) # ensure the TextPropmptQuestions are there for tpq in LibraryTextPromptQuestion.objects.filter( libraryaction=lib_action): try: des_tpq = get_object_or_404(DesignerTextPromptQuestion, draft=self.draft, \ question=tpq.question, answer=tpq.answer, \ action=des_action) self.assertTrue(des_tpq, "Couldn't get DesignerTextPromptQuestion") except Http404: self.fail("Couldn't find DesignerTextPromptQuestion for %s" % tpq) # LibraryColumnNames -> DesignerColumnNames lib_column = smartgrid_mgr.get_library_column_name(self.col_slug) self.assertTrue(lib_column, "Couldn't get LibraryColumnName %s" % self.col_slug) des_column = smartgrid_mgr.instantiate_designer_column_from_library(self.draft, \ self.col_slug) self.assertTrue(des_column, "Couldn't get DesignerColumnName %s" % self.col_slug) self.assertEqual(self.draft, des_column.draft, "Drafts are not equal.")
def instantiate_column(request, col_slug, level_slug, column, draft_slug): """Instantiates the DesignerColumnName from the LibraryColumnName and places it in the Grid at the given level and column.""" _ = request draft = smartgrid_mgr.get_designer_draft(draft_slug) col = smartgrid_mgr.instantiate_designer_column_from_library(draft, col_slug) level = smartgrid_mgr.get_designer_level(draft, level_slug) grid, _ = DesignerColumnGrid.objects.get_or_create(draft=draft, name=col, level=level) grid.column = column grid.save() # Return the new pk for the instantiated DesignerColumnName. return HttpResponse(json.dumps({ "pk": col.pk, }), mimetype="application/json")
def instantiate_column(request, col_slug, level_slug, column, draft_slug): """Instantiates the DesignerColumnName from the LibraryColumnName and places it in the Grid at the given level and column.""" _ = request draft = smartgrid_mgr.get_designer_draft(draft_slug) col = smartgrid_mgr.instantiate_designer_column_from_library( draft, col_slug) level = smartgrid_mgr.get_designer_level(draft, level_slug) grid, _ = DesignerColumnGrid.objects.get_or_create(draft=draft, name=col, level=level) grid.column = column grid.save() # Return the new pk for the instantiated DesignerColumnName. return HttpResponse(json.dumps({ "pk": col.pk, }), mimetype="application/json")