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')
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)
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)
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')
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')
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')
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')
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')
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')
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')