def instantiate_smartgrid_action_from_designer(draft, slug): """Creates a Smart Grid instance from the designer instance.""" des_action = get_designer_action(draft, slug) action_type = des_action.type old_obj = None try: old_obj = get_smartgrid_action(slug) except Http404: old_obj = None grid_action = None if old_obj == None: if action_type == 'activity': grid_action = Activity() if action_type == 'commitment': grid_action = Commitment() if action_type == 'event': grid_action = Event() if action_type == 'filler': grid_action = Filler() else: grid_action = old_obj _copy_fields_no_foriegn_keys(des_action, grid_action) grid_action.save() # Copy all the DesignerTextPropmtQuestions for question in DesignerTextPromptQuestion.objects.filter(draft=draft, action=des_action): old_ques = TextPromptQuestion.objects.filter(action=grid_action, \ question=question.question, \ answer=question.answer) if len(old_ques) == 0: tqp = TextPromptQuestion(action=grid_action, question=question.question, \ answer=question.answer) tqp.save() return grid_action
def instantiate_grid_action_from_designer(designer_action): """Creates a Smart Grid instance from the designer instance.""" action_type = designer_action.type old_obj = None try: old_obj = get_smartgrid_action(designer_action.slug) except Http404: old_obj = None grid_action = None if old_obj == None: if action_type == 'activity': grid_action = Activity() if action_type == 'commitment': grid_action = Commitment() if action_type == 'event': grid_action = Event() if action_type == 'filler': grid_action = Filler() else: grid_action = old_obj _copy_action_fields(designer_action, grid_action) # Copy all the DesignerTextPropmtQuestions for question in DesignerTextPromptQuestion.objects.filter(action=designer_action): des_obj = TextPromptQuestion() _copy_fields_no_foriegn_keys(question, des_obj) des_obj.action = get_smartgrid_action(designer_action.slug) des_obj.save() return grid_action