Esempio n. 1
0
    def test_merge_workspaces(self):

        workspace = Workspace.objects.get(pk=1)

        packageCloner = PackageCloner()
        cloned_workspace = packageCloner.clone_tuple(workspace)
        linkWorkspace(self.user, cloned_workspace.id, self.user)

        packageCloner = PackageCloner()
        packageCloner.merge_workspaces(cloned_workspace, workspace, self.user)

        # Check cache invalidation
        data = json.loads(get_global_workspace_data(workspace, self.user).get_data())
        tab_list = data['tabs']

        self.assertEqual(len(tab_list), 2)
Esempio n. 2
0
            except MissingDependencies, e:
                details = {
                    'missingDependencies': e.missing_dependencies,
                }
                return build_error_response(request, 422, unicode(e), details=details)

            fillWorkspaceUsingTemplate(to_ws, template)

        else:

            from_ws = get_object_or_404(Workspace, id=workspace_id)
            if not request.user.is_superuser and from_ws.creator != request.user:
                return HttpResponseForbidden()

            packageCloner = PackageCloner()
            packageCloner.merge_workspaces(from_ws, to_ws, to_ws.creator)

        return HttpResponse(status=204)


def check_json_fields(json, fields):
    missing_fields = []

    for field in fields:
        if not field in json:
            missing_fields.append(field)

    return missing_fields


class WorkspacePublisherEntry(Resource):