def instantiate_designer_level_from_smartgrid(draft, slug): """Creates or over writes a DesignerLevel for the given designer draft and level slug.""" level = get_object_or_404(Level, slug=slug) try: des_level = get_object_or_404(DesignerLevel, draft=draft, slug=slug) except Http404: des_level = DesignerLevel() des_level.draft = draft _copy_fields(level, des_level) return des_level
def instantiate_designer_level_from_smartgrid(draft, slug): """Creates or over writes a DesignerLevel for the given designer draft and level slug.""" level = get_object_or_404(Level, slug=slug) try: des_level = get_object_or_404(DesignerLevel, draft=draft, slug=slug) except Http404: des_level = DesignerLevel() des_level.draft = draft _copy_fields(level, des_level) return des_level
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()
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()
def supply(request, page_name): """ supply view_objects for widget rendering.""" _ = page_name user = request.user gcc_settings, _ = GccSettings.objects.get_or_create(user=user) draft_choices = Draft.objects.all() draft = None tree_list = None levels = [] if len(draft_choices) != 0: try: draft_slug = request.REQUEST['draft'] except KeyError: try: draft_slug = request.COOKIES['current-designer-draft'] except KeyError: draft_slug = draft_choices[0].slug try: draft = smartgrid_mgr.get_designer_draft(draft_slug) except Http404: draft = draft_choices[0] levels = DesignerLevel.objects.filter(draft=draft) if len(levels) == 0: # need to create default level l = DesignerLevel() l.name = "Level 1" # no name l.slug = "default" l.unlock_condition = "True" l.unlock_condition_text = "Unlocked" l.draft = draft l.save() levels = DesignerLevel.objects.filter(draft=draft) ts = action_dependency.build_designer_grid_trees(draft) tree_list = [] for k in list(ts): tree_list.append(ts[k].tohtmlstring()) results = gcc.run_designer_checks(draft, gcc_settings) return { 'draft': draft, 'draft_choices': draft_choices, 'levels': levels, 'columns': LibraryColumnName.objects.all(), 'activities': LibraryActivity.objects.all(), 'commitments': LibraryCommitment.objects.all(), 'events': LibraryEvent.objects.all(), 'fillers': Filler.objects.all(), 'reset_form': RevertToSmartgridForm(), 'publish_form': DeployToSmartgridForm(), 'example_grid_form': ExampleGridsForm(), 'add_level_form': AddLevelForm(), 'delete_level_form': DeleteLevelForm(), 'event_date_form': EventDateForm(), 'new_draft_form': NewDraftForm(), 'delete_draft_form': DeleteDraftForm(), 'load_template_form': LoadTemplateForm(), 'gcc_settings_form': GccSettingsForm(instance=gcc_settings), 'palette': smartgrid_mgr.get_designer_palette(draft), 'designer_grid': smartgrid_mgr.get_designer_grid(draft), 'designer_actions': smartgrid_mgr.get_designer_action_slugs(draft), 'designer_columns': smartgrid_mgr.get_designer_column_name_slugs(draft), 'errors': results[_ERRORS], 'warnings': results[_WARNINGS], 'trees': tree_list, }
def supply(request, page_name): """ supply view_objects for widget rendering.""" _ = page_name user = request.user gcc_settings, _ = GccSettings.objects.get_or_create(user=user) draft_choices = Draft.objects.all() draft = None tree_list = None levels = [] if len(draft_choices) != 0: try: draft_slug = request.REQUEST['draft'] except KeyError: try: draft_slug = request.COOKIES['current-designer-draft'] except KeyError: draft_slug = draft_choices[0].slug try: draft = smartgrid_mgr.get_designer_draft(draft_slug) except Http404: draft = draft_choices[0] levels = DesignerLevel.objects.filter(draft=draft) if len(levels) == 0: # need to create default level l = DesignerLevel() l.name = "Level 1" # no name l.slug = "default" l.unlock_condition = "True" l.unlock_condition_text = "Unlocked" l.draft = draft l.save() levels = DesignerLevel.objects.filter(draft=draft) ts = action_dependency.build_designer_grid_trees(draft) tree_list = [] for k in list(ts): tree_list.append(ts[k].tohtmlstring()) results = gcc.run_designer_checks(draft, gcc_settings) return { 'draft': draft, 'draft_choices': draft_choices, 'levels': levels, 'columns': LibraryColumnName.objects.all(), 'activities': LibraryActivity.objects.all(), 'commitments': LibraryCommitment.objects.all(), 'events': LibraryEvent.objects.all(), 'fillers': Filler.objects.all(), 'reset_form': RevertToSmartgridForm(), 'publish_form': DeployToSmartgridForm(), 'example_grid_form': ExampleGridsForm(), 'add_level_form': AddLevelForm(), 'delete_level_form': DeleteLevelForm(), 'event_date_form': EventDateForm(), 'new_draft_form': NewDraftForm(), 'delete_draft_form': DeleteDraftForm(), 'load_template_form': LoadTemplateForm(), 'gcc_settings_form': GccSettingsForm(instance=gcc_settings), 'palette': smartgrid_mgr.get_designer_palette(draft), 'designer_grid': smartgrid_mgr.get_designer_grid(draft), 'designer_actions': smartgrid_mgr.get_designer_action_slugs(draft), 'designer_columns': smartgrid_mgr.get_designer_column_name_slugs(draft), 'errors': results[_ERRORS], 'warnings': results[_WARNINGS], 'trees': tree_list, }