def profile_check(request): "If nuvius_id within GET parameters of the request, store the ID within Django session" nuvius_id = request.GET.get('nuvius_id', None) if nuvius_id: nuvius_key = request.GET.get('profile_key', None) if nuvius_key: con = Connector(profile_id=nuvius_id, profile_key=nuvius_key) profile = con.get_profile() try: if profile['key_valid']: request.session['nuvius_id'] = nuvius_id request.session['nuvius_profile_key'] = nuvius_key except KeyError: pass else: request.session['nuvius_id'] = nuvius_id response = HttpResponse(json.dumps(profile), mimetype='application/json') # Hardtree code if 'applications' in profile: del profile['applications'] if 'bindings' in profile: del profile['bindings'] user = request.user.get_profile() conf = ModuleSetting.set('nuvius_profile', '', user=user) conf.dumps(profile).save() # End of Hardtree code return response
def integration_view(request, conf_id, response_format='html'): "Integration view resource page" user = request.user.get_profile() resconf = get_object_or_404(ModuleSetting, pk=conf_id) res = resconf.loads() conf = ModuleSetting.get('nuvius_profile', user=user) try: profile = conf[0].loads() except IndexError: profile = None resource = None if profile: connector = Connector(request, profile_id=profile['id']) resource = DataBlock(connector.get_app(res.resource_id)) if request.POST and 'delete' in request.POST: resconf.delete() return HttpResponseRedirect(reverse('events_integration_index')) context = {'conf_id': conf_id, 'resource': resource} return render_to_response('events/integration_view', context, context_instance=RequestContext(request), response_format=response_format)
def sync(user=None): if user: conf = ModuleSetting.get('nuvius_profile', user=user, strict=True) else: conf = ModuleSetting.get('nuvius_profile') for item in conf: profile = item.loads() user = item.user if user: connector = Connector(profile_id=profile['id']) active_resources = ModuleSetting.get_for_module( 'treeio.identities', 'integration_resource', user=user, strict=True) for resource in active_resources: res = resource.loads() response = connector.get( '/service/contact-book/contact/data.json/id' + profile['id'] + '/app' + str(res.resource_id)) data = DataBlock(response['data']) if data.result_name == 'success': _do_sync(data, user)
def integration_view(request, conf_id, response_format="html"): "Integration view resource page" user = request.user.get_profile() resconf = get_object_or_404(ModuleSetting, pk=conf_id) res = resconf.loads() conf = ModuleSetting.get("nuvius_profile", user=user) try: profile = conf[0].loads() except IndexError: profile = None resource = None if profile: connector = Connector(request, profile_id=profile["id"]) resource = DataBlock(connector.get_app(res.resource_id)) if request.POST and "delete" in request.POST: resconf.delete() return HttpResponseRedirect(reverse("identities_integration_index")) context = _get_default_context(request) context.update({"conf_id": conf_id, "resource": resource}) return render_to_response( "identities/integration_view", context, context_instance=RequestContext(request), response_format=response_format, )
def integration_add(request, resource_id, response_format='html'): "Integration add new resource page" user = request.user.get_profile() conf = ModuleSetting.get('nuvius_profile', user=user) try: profile = conf[0].loads() except IndexError: profile = None resource = None data = None if profile: connector = Connector(request, profile_id=profile['id']) resource = DataBlock(connector.get_app(resource_id)) if request.POST and 'add' in request.POST: resource = IntegrationResource(profile['id'], resource_id, resource.application.name.raw, '9rw') conf = ModuleSetting.add_for_module('integration_resource', '', 'treeio.identities', user=user) conf.dumps(resource).save() return HttpResponseRedirect( reverse('identities_integration_index')) else: data = connector.get('/service/contact-book/contact/data.json/id' + profile['id'] + '/app' + unicode(resource_id), no_cache=True) data = DataBlock(data) if data.result_name == 'success': pass elif data.result_name == 'redirect': next = request.build_absolute_uri( reverse('identities_integration_add', args=[resource_id])) data = connector.get( '/service/contact-book/contact/data.json/id' + profile['id'] + '/app' + unicode(resource_id), parameters={'next': next}, no_cache=True) data = DataBlock(data) context = _get_default_context(request) context.update({ 'resource_id': resource_id, 'resource': resource, 'data': data }) return render_to_response('identities/integration_add', context, context_instance=RequestContext(request), response_format=response_format)
def integration_index(request, response_format='html'): "Integration index page" user = request.user.get_profile() active_resources = ModuleSetting.get_for_module('treeio.identities', 'integration_resource', user=user, strict=True) conf = ModuleSetting.get('nuvius_profile', user=user, strict=True) try: profile = conf[0].loads() except IndexError: profile = None available_resources = [] response = None if profile: connector = Connector(request, profile_id=profile['id']) response = connector.collect('/service/contact-book/contact/', no_cache=True) resources = getattr(response.data.info, 'applications', []) for resource in resources: active = [int(res.loads().resource_id) for res in active_resources] if not resource.id.raw in active: available_resources.append(resource) message = None if 'message' in request.session: message = request.session.get('message') del request.session['message'] context = _get_default_context(request) context.update({ 'active_resources': active_resources, 'available_resources': available_resources, 'message': message, 'response': response, 'profile': profile }) return render_to_response('identities/integration_index', context, context_instance=RequestContext(request), response_format=response_format)
def integration_index(request, response_format="html"): "Integration index page" user = request.user.get_profile() active_resources = ModuleSetting.get_for_module("maker.identities", "integration_resource", user=user, strict=True) conf = ModuleSetting.get("nuvius_profile", user=user, strict=True) try: profile = conf[0].loads() except IndexError: profile = None available_resources = [] response = None if profile: connector = Connector(request, profile_id=profile["id"]) response = connector.collect("/service/contact-book/contact/", no_cache=True) resources = getattr(response.data.info, "applications", []) for resource in resources: active = [int(res.loads().resource_id) for res in active_resources] if not resource.id.raw in active: available_resources.append(resource) message = None if "message" in request.session: message = request.session.get("message") del request.session["message"] context = _get_default_context(request) context.update( { "active_resources": active_resources, "available_resources": available_resources, "message": message, "response": response, "profile": profile, } ) return render_to_response( "identities/integration_index", context, context_instance=RequestContext(request), response_format=response_format, )
def integration_add(request, resource_id, response_format="html"): "Integration add new resource page" user = request.user.get_profile() conf = ModuleSetting.get("nuvius_profile", user=user) try: profile = conf[0].loads() except IndexError: profile = None resource = None data = None if profile: connector = Connector(request, profile_id=profile["id"]) resource = DataBlock(connector.get_app(resource_id)) if request.POST and "add" in request.POST: resource = IntegrationResource(profile["id"], resource_id, resource.application.name.raw, "9rw") conf = ModuleSetting.add_for_module("integration_resource", "", "maker.identities", user=user) conf.dumps(resource).save() return HttpResponseRedirect(reverse("identities_integration_index")) else: data = connector.get( "/service/contact-book/contact/data.json/id" + profile["id"] + "/app" + unicode(resource_id), no_cache=True, ) data = DataBlock(data) if data.result_name == "success": pass elif data.result_name == "redirect": next = request.build_absolute_uri(reverse("identities_integration_add", args=[resource_id])) data = connector.get( "/service/contact-book/contact/data.json/id" + profile["id"] + "/app" + unicode(resource_id), parameters={"next": next}, no_cache=True, ) data = DataBlock(data) context = _get_default_context(request) context.update({"resource_id": resource_id, "resource": resource, "data": data}) return render_to_response( "identities/integration_add", context, context_instance=RequestContext(request), response_format=response_format )
def sync(user=None): if user: conf = ModuleSetting.get('nuvius_profile', user=user, strict=True) else: conf = ModuleSetting.get('nuvius_profile') for item in conf: profile = item.loads() user = item.user if user: connector = Connector(profile_id=profile['id']) active_resources = ModuleSetting.get_for_module('treeio.events', 'integration_resource', user=user, strict=True) for resource in active_resources: res = resource.loads() response = connector.get('/service/calendar/event/data.json/id' + profile['id'] + '/app' + str(res.resource_id)) data = DataBlock(response['data']) if data.result_name == 'success': _do_sync(data, user)
def sync(user=None): if user: conf = ModuleSetting.get("nuvius_profile", user=user, strict=True) else: conf = ModuleSetting.get("nuvius_profile") for item in conf: profile = item.loads() user = item.user if user: connector = Connector(profile_id=profile["id"]) active_resources = ModuleSetting.get_for_module( "treeio.identities", "integration_resource", user=user, strict=True ) for resource in active_resources: res = resource.loads() response = connector.get( "/service/contact-book/contact/data.json/id" + profile["id"] + "/app" + str(res.resource_id) ) data = DataBlock(response["data"]) if data.result_name == "success": _do_sync(data, user)
def integration_add(request, resource_id, response_format='html'): "Integration add new resource page" user = request.user.get_profile() conf = ModuleSetting.get('nuvius_profile', user=user) try: profile = conf[0].loads() except IndexError: profile = None resource = None data = None if profile: connector = Connector(request, profile_id=profile['id']) resource = DataBlock(connector.get_app(resource_id)) if request.POST and 'add' in request.POST: resource = IntegrationResource(profile['id'], resource_id, resource.application.name.raw, '9rw') conf = ModuleSetting.add_for_module('integration_resource', '', 'maker.events', user=user) conf.dumps(resource).save() return HttpResponseRedirect(reverse('events_integration_index')) else: data = connector.get('/service/calendar/event/data.json/id' + profile['id'] + '/app' + unicode(resource_id), no_cache=True) data = DataBlock(data) if data.result_name == 'success': pass elif data.result_name == 'redirect': next = request.build_absolute_uri(reverse('events_integration_add', args=[resource_id])) data = connector.get('/service/calendar/event/data.json/id' + profile['id'] + '/app' + unicode(resource_id), parameters={'next': next}, no_cache=True) data = DataBlock(data) context = {'resource_id': resource_id, 'resource': resource, 'data': data} return render_to_response('events/integration_add', context, context_instance=RequestContext(request), response_format=response_format)
def integration_index(request, response_format='html'): "Integration index page" user = request.user.get_profile() active_resources = ModuleSetting.get_for_module('maker.events', 'integration_resource', user=user, strict=True) conf = ModuleSetting.get('nuvius_profile', user=user, strict=True) try: profile = conf[0].loads() except IndexError: profile = None available_resources = [] response = None if profile: connector = Connector(request, profile_id=profile['id']) response = connector.collect('/service/calendar/event/', no_cache=True) resources = getattr(response.data.info, 'applications', []) for resource in resources: active = [int(res.loads().resource_id) for res in active_resources] if not resource.id.raw in active: available_resources.append(resource) message = None if 'message' in request.session: message = request.session.get('message') del request.session['message'] context = {'active_resources': active_resources, 'available_resources': available_resources, 'message': message, 'response': response, 'profile': profile} return render_to_response('events/integration_index', context, context_instance=RequestContext(request), response_format=response_format)