コード例 #1
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
    def create(self, request):
        user = get_user_authentication(request)

        if not request.POST.has_key('workspace'):
            return HttpResponseBadRequest(get_xml_error(_("workspace JSON expected")), mimetype='application/xml; charset=UTF-8')

        #TODO we can make this with deserializers (simplejson)
        received_json = request.POST['workspace']

        try:
            ts = simplejson.loads(received_json)
            
            if not ts.has_key('name'):
                raise Exception(_('Malformed workspace JSON: expecting workspace uri.'))
            
            workspace_name = ts.get('name')

            ids = createWorkSpace (workspace_name, user)          
            
            workspaces = get_list_or_404(WorkSpace, users__id=user.id, pk=ids['workspace']['id'])
            data = serializers.serialize('python', workspaces, ensure_ascii=False)
            
            
            concept_data = {}
            concept_data['user'] = user
            workspace_data = get_global_workspace_data(data[0], workspaces[0], concept_data, user)
            
            return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
            
        except Exception, e:
            transaction.rollback()
            msg = _("workspace cannot be created: ") + unicode(e)
            log(msg, request)
            return HttpResponseServerError(get_xml_error(msg), mimetype='application/xml; charset=UTF-8')
コード例 #2
0
ファイル: views.py プロジェクト: conwetlab/ezwebplatform
    def create(self, request):
        user = get_user_authentication(request)

        if not request.POST.has_key('workspace'):
            return HttpResponseBadRequest(get_xml_error(_("workspace JSON expected")), mimetype='application/xml; charset=UTF-8')

        #TODO we can make this with deserializers (simplejson)
        received_json = request.POST['workspace']

        try:
            ts = simplejson.loads(received_json)
            
            if not ts.has_key('name'):
                raise Exception(_('Malformed workspace JSON: expecting workspace uri.'))
            
            workspace_name = ts.get('name')

            ids = createWorkSpace (workspace_name, user)          
            
            workspaces = get_list_or_404(WorkSpace, users__id=user.id, pk=ids['workspace']['id'])
            data = serializers.serialize('python', workspaces, ensure_ascii=False)
            
            
            concept_data = {}
            concept_data['user'] = user
            workspace_data = get_global_workspace_data(data[0], workspaces[0], concept_data, user)
            
            return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
            
        except Exception, e:
            transaction.rollback()
            msg = _("workspace cannot be created: ") + unicode(e)
            log(msg, request)
            return HttpResponseServerError(get_xml_error(msg), mimetype='application/xml; charset=UTF-8')
コード例 #3
0
ファイル: views.py プロジェクト: conwetlab/ezwebplatform
    def create(self, request):
        user = get_user_authentication(request)

        if 'workspace' not in request.POST:
            return HttpResponseBadRequest(get_xml_error(_("workspace JSON expected")), mimetype='application/xml; charset=UTF-8')

        #TODO we can make this with deserializers (simplejson)
        received_json = request.POST['workspace']

        try:
            ts = simplejson.loads(received_json)

            if 'name' not in ts:
                raise Exception(_('Malformed workspace JSON: expecting workspace uri.'))

            workspace_name = ts['name']

            workspace = createWorkSpace(workspace_name, user)
            workspace_data = get_global_workspace_data(workspace, user)

            return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')

        except Exception, e:
            transaction.rollback()
            msg = _("workspace cannot be created: ") + unicode(e)

            raise TracedServerError(e, ts, request, msg)
コード例 #4
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
    def create(self, request):
        user = get_user_authentication(request)

        if 'workspace' not in request.POST:
            return HttpResponseBadRequest(
                get_xml_error(_("workspace JSON expected")),
                mimetype='application/xml; charset=UTF-8')

        #TODO we can make this with deserializers (simplejson)
        received_json = request.POST['workspace']

        try:
            ts = simplejson.loads(received_json)

            if 'name' not in ts:
                raise Exception(
                    _('Malformed workspace JSON: expecting workspace uri.'))

            workspace_name = ts['name']

            workspace = createWorkSpace(workspace_name, user)
            workspace_data = get_global_workspace_data(workspace, user)

            return HttpResponse(json_encode(workspace_data),
                                mimetype='application/json; charset=UTF-8')

        except Exception, e:
            transaction.rollback()
            msg = _("workspace cannot be created: ") + unicode(e)

            raise TracedServerError(e, ts, request, msg)
コード例 #5
0
ファイル: views.py プロジェクト: conwetlab/ezwebplatform
 def read(self, request, workspace_id):
     user = get_user_authentication(request)
     
     workspaces = get_list_or_404(WorkSpace, users__id=user.id, pk=workspace_id)
     data = serializers.serialize('python', workspaces, ensure_ascii=False)
     concept_data = {}
     concept_data['user'] = user
     workspace_data = get_global_workspace_data(data[0], workspaces[0], concept_data, user)
     
     return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #6
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
 def read(self, request, workspace_id):
     user = get_user_authentication(request)
     
     workspaces = get_list_or_404(WorkSpace, users__id=user.id, pk=workspace_id)
     data = serializers.serialize('python', workspaces, ensure_ascii=False)
     concept_data = {}
     concept_data['user'] = user
     workspace_data = get_global_workspace_data(data[0], workspaces[0], concept_data, user)
     
     return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #7
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
 def read(self, request, workspace_id):
     user = get_user_authentication(request)
     
     cloned_workspace = cloneWorkspace(workspace_id)
     linkWorkspace(user, cloned_workspace.id)
     
     data = serializers.serialize('python', [cloned_workspace], ensure_ascii=False)
     concept_data = {}
     concept_data['user'] = user
     workspace_data = get_global_workspace_data(data[0], cloned_workspace, concept_data, user)
     
     return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #8
0
ファイル: views.py プロジェクト: conwetlab/ezwebplatform
    def read(self, request, workspace_id, last_user=''):
        #last_user : last_user_after_public autologin
        user = get_user_authentication(request)

        workspace = get_object_or_404(WorkSpace, users__id=user.id, pk=workspace_id)
        workspace_data = get_global_workspace_data(workspace, user)

        #Closing session after downloading public user workspace
        if (user.username == 'public' and last_user and last_user != 'public' and last_user != ''):
            logout_request(request)
            request.user = relogin_after_public(request, last_user, None)

        return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #9
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
 def read(self, request, workspace_id):
     user = get_user_authentication(request)
     
     published_workspace = get_object_or_404(PublishedWorkSpace, id=workspace_id)
     
     original_workspace = published_workspace.workspace
     
     cloned_workspace = cloneWorkspace(workspace_id, user)
     linkWorkspace(user, cloned_workspace.id, original_workspace.get_creator())
     
     data = serializers.serialize('python', [cloned_workspace], ensure_ascii=False)
     concept_data = {}
     concept_data['user'] = user
     workspace_data = get_global_workspace_data(data[0], cloned_workspace, concept_data, user)
     
     return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #10
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
    def read(self, request, workspace_id, last_user=''):
        #last_user : last_user_after_public autologin
        user = get_user_authentication(request)

        workspace = get_object_or_404(WorkSpace,
                                      users__id=user.id,
                                      pk=workspace_id)
        workspace_data = get_global_workspace_data(workspace, user)

        #Closing session after downloading public user workspace
        if (user.username == 'public' and last_user and last_user != 'public'
                and last_user != ''):
            logout_request(request)
            request.user = relogin_after_public(request, last_user, None)

        return HttpResponse(json_encode(workspace_data),
                            mimetype='application/json; charset=UTF-8')
コード例 #11
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
 def read(self, request, workspace_id, last_user=''):
     #last_user : last_user_after_public autologin
     user = get_user_authentication(request)
     
     workspaces = get_list_or_404(WorkSpace, users__id=user.id, pk=workspace_id)
     data = serializers.serialize('python', workspaces, ensure_ascii=False)
     concept_data = {}
     concept_data['user'] = user
     workspace_data = get_global_workspace_data(data[0], workspaces[0], concept_data, user)
     
     #Closing session after downloading public user workspace
     if (user.username == 'public'):
         logout_request(request)
     
     if (user.username == 'public' and last_user and last_user != 'public' and last_user != ''):
         request.user = relogin_after_public(request, last_user, None)
     
     return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #12
0
ファイル: views.py プロジェクト: conwetlab/ezwebplatform
    def read(self, request, workspace_id):
        user = get_user_authentication(request)

        published_workspace = get_object_or_404(PublishedWorkSpace, id=workspace_id)

        original_workspace = published_workspace.workspace

        cloned_workspace = cloneWorkspace(workspace_id, user)

        linkWorkspace(user, cloned_workspace.id, original_workspace.creator)

        #Mark the mashup as the active workspace if it's requested. For example, solutions
        if request.GET.get('active') == "true":
            setActiveWorkspace(user, cloned_workspace)

        workspace_data = get_global_workspace_data(cloned_workspace, user)

        return HttpResponse(json_encode(workspace_data), mimetype='application/json; charset=UTF-8')
コード例 #13
0
ファイル: views.py プロジェクト: Yanual/ezwebplatform
    def read(self, request, workspace_id):
        user = get_user_authentication(request)

        published_workspace = get_object_or_404(PublishedWorkSpace,
                                                id=workspace_id)

        original_workspace = published_workspace.workspace

        cloned_workspace = cloneWorkspace(workspace_id, user)

        linkWorkspace(user, cloned_workspace.id, original_workspace.creator)

        #Mark the mashup as the active workspace if it's requested. For example, solutions
        if request.GET.get('active') == "true":
            setActiveWorkspace(user, cloned_workspace)

        workspace_data = get_global_workspace_data(cloned_workspace, user)

        return HttpResponse(json_encode(workspace_data),
                            mimetype='application/json; charset=UTF-8')
コード例 #14
0
ファイル: views.py プロジェクト: Yaco-Sistemas/wirecloud
    def read(self, request, workspace_id):
        user = get_user_authentication(request)

        published_workspace = get_object_or_404(PublishedWorkSpace, id=workspace_id)
        workspace, _junk = buildWorkspaceFromTemplate(published_workspace.template, user)

        activate = request.GET.get('active') == "true"
        if not activate:
            workspaces = UserWorkSpace.objects.filter(user__id=user.id, active=True)
            if workspaces.count() == 0:
                # there aren't any active workspace yet
                activate = True

        # Mark the mashup as the active workspace if it's requested. For example, solutions
        if activate:
            setActiveWorkspace(user, workspace)

        workspace_data = get_global_workspace_data(workspace, user)

        return HttpResponse(json_encode(workspace_data.get_data()), mimetype='application/json; charset=UTF-8')