def instantiate_column(request, col_slug, level_slug, column): """Instantiates the DesignerColumnName from the LibraryColumnName and places it in the Grid at the given level and column.""" _ = request _ = level_slug lib_col = LibraryColumnName.objects.get(slug=col_slug) try: col_name = get_object_or_404(DesignerColumnName, slug=col_slug) except Http404: col_name = DesignerColumnName() col_name.name = lib_col.name col_name.slug = lib_col.slug col_name.save() level = get_object_or_404(DesignerLevel, slug=level_slug) grid = DesignerColumnGrid() grid.level = level grid.column = column grid.name = col_name grid.save() # Return the new pk for the instantiated DesignerColumnName. return HttpResponse(json.dumps({ "pk": col_name.pk, }), mimetype="application/json")
def __create_cams_draft(self): """Creates Cam's Draft smartgrid with two levels, three columns, three actions""" try: draft = get_object_or_404(Draft, slug='cam') except Http404: draft = Draft(name="Cam", slug="cam") draft.save() level1 = DesignerLevel(draft=draft, name="Foo", slug="foo", priority=1) level1.save() level2 = DesignerLevel(draft=draft, name="Bar", slug="bar", priority=2) level2.save() column1 = DesignerColumnName(draft=draft, name="Baz", slug='baz') column1.save() column2 = DesignerColumnName(draft=draft, name="Qux", slug='qux') column2.save() column3 = DesignerColumnName(draft=draft, name="Zob", slug='zob') column3.save() col_loc = DesignerColumnGrid(draft=draft, level=level1, column=5, name=column1) col_loc.save() col_loc = DesignerColumnGrid(draft=draft, level=level1, column=2, name=column2) col_loc.save() col_loc = DesignerColumnGrid(draft=draft, level=level2, column=1, name=column3) col_loc.save() action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \ 'play-outside-cafe-1') grid_loc = DesignerGrid(draft=draft, level=level1, column=5, row=2, action=action) grid_loc.save() action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \ 'use-stairs') grid_loc = DesignerGrid(draft=draft, level=level1, column=2, row=1, action=action) grid_loc.save() action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \ 'energy-city') grid_loc = DesignerGrid(draft=draft, level=level2, column=5, row=5, action=action) grid_loc.save()