コード例 #1
0
ファイル: smartgrid_mgr.py プロジェクト: csdl/makahiki
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
コード例 #2
0
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
コード例 #3
0
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