Example #1
0
def instantiate_designer_column_from_smartgrid(draft, slug):
    """Creates a DesignerColumnName from the ColumnName with the given slug."""
    col = get_object_or_404(ColumnName, slug=slug)
    des_col = None
    try:
        des_col = get_object_or_404(DesignerColumnName, draft=draft, slug=slug)
    except Http404:
        des_col = DesignerColumnName()
        des_col.draft = draft
    _copy_fields(col, des_col)
    return des_col
Example #2
0
def instantiate_designer_column_from_smartgrid(draft, slug):
    """Creates a DesignerColumnName from the ColumnName with the given slug."""
    col = get_object_or_404(ColumnName, slug=slug)
    des_col = None
    try:
        des_col = get_object_or_404(DesignerColumnName, draft=draft, slug=slug)
    except Http404:
        des_col = DesignerColumnName()
        des_col.draft = draft
    _copy_fields(col, des_col)
    return des_col
Example #3
0
def instantiate_designer_column_from_library(draft, slug):
    """Instantiates a DesignerColumnName from the LibraryColumnName with the given draft and
    slug."""
    lib_cat = get_object_or_404(LibraryColumnName, slug=slug)
    des_col = None
    try:
        des_col = get_object_or_404(DesignerColumnName, draft=draft, slug=slug)
    except Http404:
        des_col = DesignerColumnName()
        des_col.draft = draft
    _copy_fields(lib_cat, des_col)
    return des_col
Example #4
0
def instantiate_designer_column_from_library(draft, slug):
    """Instantiates a DesignerColumnName from the LibraryColumnName with the given draft and
    slug."""
    lib_cat = get_object_or_404(LibraryColumnName, slug=slug)
    des_col = None
    try:
        des_col = get_object_or_404(DesignerColumnName, draft=draft, slug=slug)
    except Http404:
        des_col = DesignerColumnName()
        des_col.draft = draft
    _copy_fields(lib_cat, des_col)
    return des_col
Example #5
0
def copy_smartgrid_to_designer(draft):
    """Copies the current Smart Grid Game to the given designer draft."""
    # Clear out the Designer
    clear_designer(draft)
    # Copy the levels
    for lvl in Level.objects.all():
        try:
            des_lvl = get_object_or_404(DesignerLevel, draft=draft, slug=lvl.slug)
        except Http404:
            des_lvl = DesignerLevel()
            des_lvl.draft = draft
        _copy_fields(lvl, des_lvl)
    # Copy the ColumnNames
    for col in ColumnName.objects.all():
        try:
            des_col = get_object_or_404(DesignerColumnName, draft=draft, slug=col.slug)
        except Http404:
            des_col = DesignerColumnName()
            des_col.draft = draft
        _copy_fields(col, des_col)
    # Copy the location information
    for grid in ColumnGrid.objects.all():
        col = DesignerColumnGrid()
        col.level = get_designer_level(draft, grid.level.slug)
        col.column = grid.column
        col.name = get_designer_column_name(draft, grid.name.slug)
        col.draft = draft
        col.save()
    # Copy the Actions
    for action in Action.objects.all():
        instantiate_designer_action_from_smartgrid(draft, action.slug)
    # Copy the location information
    for grid in Grid.objects.all():
        loc = DesignerGrid()
        loc.level = get_designer_level(draft, grid.level.slug)
        loc.column = grid.column
        loc.row = grid.row
        loc.action = get_designer_action(draft, grid.action.slug)
        loc.draft = draft
        loc.save()
Example #6
0
def copy_smartgrid_to_designer(draft):
    """Copies the current Smart Grid Game to the given designer draft."""
    # Clear out the Designer
    clear_designer(draft)
    # Copy the levels
    for lvl in Level.objects.all():
        try:
            des_lvl = get_object_or_404(DesignerLevel, draft=draft, slug=lvl.slug)
        except Http404:
            des_lvl = DesignerLevel()
            des_lvl.draft = draft
        _copy_fields(lvl, des_lvl)
    # Copy the ColumnNames
    for col in ColumnName.objects.all():
        try:
            des_col = get_object_or_404(DesignerColumnName, draft=draft, slug=col.slug)
        except Http404:
            des_col = DesignerColumnName()
            des_col.draft = draft
        _copy_fields(col, des_col)
    # Copy the location information
    for grid in ColumnGrid.objects.all():
        col = DesignerColumnGrid()
        col.level = get_designer_level(draft, grid.level.slug)
        col.column = grid.column
        col.name = get_designer_column_name(draft, grid.name.slug)
        col.draft = draft
        col.save()
    # Copy the Actions
    for action in Action.objects.all():
        instantiate_designer_action_from_smartgrid(draft, action.slug)
    # Copy the location information
    for grid in Grid.objects.all():
        loc = DesignerGrid()
        loc.level = get_designer_level(draft, grid.level.slug)
        loc.column = grid.column
        loc.row = grid.row
        loc.action = get_designer_action(draft, grid.action.slug)
        loc.draft = draft
        loc.save()