def resolve_account(self, request): try: return Account.objects.filter( preference__key='account.api.domain', preference__value=get_domain_by_request(request), status = Account.ACTIVE).first() except Account.DoesNotExist: return None
def sitemap(request): language = request.auth_manager.language account = request.account params = request.GET domain = get_domain_by_request(request) now = now() dss = DataStreamDBDAO().query(account_id=account.id, language=language, filters_dict=dict(status=[3]))[0] vss = VisualizationDBDAO().query(account_id=account.id, language=language, filters_dict=dict(status=[3]))[0] return render_to_response('sitemap.xml', locals(), content_type="application/xml")
def sitemap(request): import datetime language = request.auth_manager.language account = request.account params = request.GET domain = get_domain_by_request(request) now = datetime.datetime.now() dss = DataStreamDBDAO().query(account_id=account.id, language=language, filters_dict=dict(status=[3])) vss = VisualizationDBDAO().query(account_id=account.id, language=language, filters_dict=dict(status=[3])) return render_to_response('sitemap.xml', locals(), mimetype="application/xml")
def action_catalog_xml(request): logger = logging.getLogger(__name__) account_id = request.account.id language = request.auth_manager.language preferences = request.preferences domain = get_domain_by_request(request) api_domain = preferences['account_api_domain'] transparency_domain = preferences['account_api_transparency'] developers_link = 'http://' + domain + reverse('manageDeveloper.action_query') datastreams_revision_ids = DataStreamRevision.objects.values_list('id').filter( datastream__user__account_id=account_id, status=StatusChoices.PUBLISHED ) resources = [] for datastream_revision_id, in datastreams_revision_ids: try: ds = DataStreamDBDAO().get(language, datastream_revision_id=datastream_revision_id) except: logger.error('catalog ERROR %s %s' % (datastream_revision_id, language)) continue ds.link = 'http://{}{}'.format(domain, ds.permalink()) ds.export_csv_link = 'http://{}{}'.format( domain, reverse('datastream_manager.csv', kwargs={'id': ds.datastream_id, 'slug': ds.slug}) ) ds.export_html_link = 'http://{}{}'.format( domain, reverse('datastream_manager.html', kwargs={'id': ds.datastream_id, 'slug': ds.slug}) ) ds.api_link = 'http://' + api_domain + '/dataviews/invoke/' + ds.guid + '?auth_key=your_authkey' ds.visualizations = [] visualization_revision_ids = VisualizationRevision.objects.values_list('id').filter( visualization__datastream_id=ds.datastream_id, status=StatusChoices.PUBLISHED ) for visualization_revision_id, in visualization_revision_ids: try: vz = VisualizationDBDAO().get(language, visualization_revision_id=visualization_revision_id) except: logger.error('catalog VIZ ERROR %s %s' % (visualization_revision_id, language)) continue vz['link'] = 'http://' + domain + vz.permalink() ds.visualizations.append(vz) resources.append(ds) return render_to_response('catalog.xml', locals(), mimetype='application/xml')
def resolve_account(self, request): domain = get_domain_by_request(request) # creo que en algun punto desreferencia a Account from core.models import Account try: return Account.objects.filter( preference__key='account.api.domain', preference__value=domain, status = Account.ACTIVE).first() except Account.DoesNotExist: if domain.find(".api.dev") > -1: dom = domain.split(".")[0] if settings.DEBUG: logger.info('API Test domain (%s)' % dom) return Account.objects.get(pk=int(dom)) else: return None
def get_catalog_xml(request): logger = logging.getLogger(__name__) account_id = request.account.id language = request.auth_manager.language preferences = request.preferences account = request.account domain = get_domain_by_request(request) api_domain = preferences['account_api_domain'] transparency_domain = preferences['account_api_transparency'] account = Account.objects.get(pk=account_id) msprotocol = 'https' if account.get_preference('account.microsite.https') else 'http' apiprotocol = 'https' if account.get_preference('account.api.https') else 'http' developers_link = msprotocol + '://' + domain + reverse('manageDeveloper.filter') datastreams_revision_ids = DataStream.objects.values_list('last_published_revision').filter(last_published_revision__status=StatusChoices.PUBLISHED, user__account_id=account_id) # necesario, porque el DAO.get requiere un usuario para obtener el language y el account user = AccountAnonymousUser(account, request.auth_manager.language) resources = [] for datastream_revision_id, in datastreams_revision_ids: ds = DataStreamDBDAO().get(user, datastream_revision_id=datastream_revision_id, published=True) permalink = reverse('viewDataStream.view', urlconf='microsites.urls', kwargs={'id': ds['resource_id'], 'slug': ds['slug']}) ds['link'] = '{}://{}{}'.format(msprotocol, domain, permalink) ds['export_csv_link'] = '{}://{}{}'.format(msprotocol, domain,reverse('datastreams-data', kwargs={'id': ds['resource_id'],'format':'csv'})) ds['export_html_link'] = '{}://{}{}'.format(msprotocol, domain, reverse('datastreams-data', kwargs={'id': ds['resource_id'], 'format': 'html'}) ) ds['api_link'] = apiprotocol + '://' + api_domain + '/datastreams/' + ds['guid'] + '/data/?auth_key=your_authkey' ds['visualizations'] = [] visualization_revision_ids = Visualization.objects.values_list('last_published_revision').filter( datastream_id=ds['resource_id'], last_published_revision__status=StatusChoices.PUBLISHED ) for visualization_revision_id, in visualization_revision_ids: vz = VisualizationDBDAO().get(user, visualization_revision_id=visualization_revision_id, published=True) permalink = reverse('chart_manager.view', urlconf='microsites.urls', kwargs={'id': vz['resource_id'], 'slug': vz['slug']}) vz['link'] = msprotocol + '://' + domain + permalink ds['visualizations'].append(vz) resources.append(ds) return render_to_response('catalog.xml', locals(), content_type='application/xml')
def process_request(self, request): domain = get_domain_by_request(request) request.bucket_name = settings.AWS_BUCKET_NAME try: account = Account.get_by_domain(domain) except Account.DoesNotExist: logger = logging.getLogger(__name__) logger.error('The account do not exists: %s' % domain) return HttpResponseForbidden('') request.account = account preferences = account.get_preferences() preferences.load_all() preferences['account_id'] = account.id request.preferences = preferences bucket_name = preferences['account_bucket_name'] if bucket_name: request.bucket_name = bucket_name is_signin = False #Deprecado is_login = False #Deprecado is_activate = False #Deprecado is_jsi18n = request.path.startswith('/jsi18n') language = request.preferences['account_language'] if language: request.session['django_language'] = language request.auth_manager.language = language # TODO: Esto debería ir en una url y hacer el redirect if settings.DOMAINS['microsites'] == domain: if request.META.get('REQUEST_URI') == '/': return redirect( get_domain_with_protocol('microsites') + "/home") # hacemos que el User sea un AccountAnonymousUser # lo creamos con el account y el lenguaje que tenga el account_language request.user = AccountAnonymousUser(request.account, preferences['account_language']) return None
def process_request(self, request): domain = get_domain_by_request(request) request.bucket_name = settings.AWS_BUCKET_NAME try: # check for develop domains if settings.DOMAINS['microsites'].split(":")[0] != domain.split(":")[0]: account = Account.objects.get_by_domain(domain) else: # use default account if exists account = Account.objects.get(pk=1) except Account.DoesNotExist: logger = logging.getLogger(__name__) logger.error('The account do not exists: %s' % domain) raise AccountDoesNotExist request.account = account preferences = account.get_preferences() preferences.load_all() preferences['account_id'] = account.id request.preferences = preferences bucket_name = preferences['account_bucket_name'] if bucket_name: request.bucket_name = bucket_name is_signin = False #Deprecado is_login = False #Deprecado is_activate = False #Deprecado is_jsi18n = request.path.startswith('/jsi18n') language = request.preferences['account_language'] if language: request.session['django_language'] = language request.auth_manager.language = language if settings.DOMAINS['microsites'] == domain: if request.META.get('REQUEST_URI') == '/': return redirect(get_domain_with_protocol('microsites') + "/home") return None
def process_request(self, request): domain = get_domain_by_request(request) request.bucket_name = settings.AWS_BUCKET_NAME try: account = Account.get_by_domain(domain) except Account.DoesNotExist: logger = logging.getLogger(__name__) logger.error('The account do not exists: %s' % domain) return HttpResponseForbidden('') request.account = account preferences = account.get_preferences() preferences.load_all() preferences['account_id'] = account.id request.preferences = preferences bucket_name = preferences['account_bucket_name'] if bucket_name: request.bucket_name = bucket_name is_signin = False #Deprecado is_login = False #Deprecado is_activate = False #Deprecado is_jsi18n = request.path.startswith('/jsi18n') language = request.preferences['account_language'] if language: request.session['django_language'] = language request.auth_manager.language = language # TODO: Esto debería ir en una url y hacer el redirect if settings.DOMAINS['microsites'] == domain: if request.META.get('REQUEST_URI') == '/': return redirect(get_domain_with_protocol('microsites') + "/home") # hacemos que el User sea un AccountAnonymousUser # lo creamos con el account y el lenguaje que tenga el account_language request.user = AccountAnonymousUser(request.account, preferences['account_language']) return None
def process_request(self, request): """ Checks user, role and account """ # for anonymous users request.session['django_language'] = settings.LANGUAGES[0][0] if request.META.has_key('HTTP_ACCEPT_LANGUAGE'): user_language = request.META['HTTP_ACCEPT_LANGUAGE'].split( ',')[0].split('-')[0] if user_language in [ language[0] for language in settings.LANGUAGES ]: request.session['django_language'] = user_language request.auth_manager = AuthManager( language=request.session['django_language'], account=Account.get_by_domain(get_domain_by_request(request))) # el user se arma en middlerware.ioc ya que necesitamos el account para completar el user request.user = None return None
def process_request(self, request): domain = get_domain_by_request(request) request.bucket_name = settings.AWS_BUCKET_NAME try: account = Account.get_by_domain(domain) except Account.DoesNotExist: logger = logging.getLogger(__name__) logger.error('The account do not exists: %s' % domain) raise AccountDoesNotExist request.account = account preferences = account.get_preferences() preferences.load_all() preferences['account_id'] = account.id request.preferences = preferences bucket_name = preferences['account_bucket_name'] if bucket_name: request.bucket_name = bucket_name is_signin = False #Deprecado is_login = False #Deprecado is_activate = False #Deprecado is_jsi18n = request.path.startswith('/jsi18n') language = request.preferences['account_language'] if language: request.session['django_language'] = language request.auth_manager.language = language if settings.DOMAINS['microsites'] == domain: if request.META.get('REQUEST_URI') == '/': return redirect(get_domain_with_protocol('microsites') + "/home") return None
def resolve_account(self, request): domain = get_domain_by_request(request) # creo que en algun punto desreferencia a Account from core.models import Account return Account.get_by_domain(domain)
def get_catalog_xml(request): logger = logging.getLogger(__name__) account_id = request.account.id language = request.auth_manager.language preferences = request.preferences account = request.account domain = get_domain_by_request(request) api_domain = preferences['account_api_domain'] transparency_domain = preferences['account_api_transparency'] account = Account.objects.get(pk=account_id) msprotocol = 'https' if account.get_preference( 'account.microsite.https') else 'http' apiprotocol = 'https' if account.get_preference( 'account.api.https') else 'http' developers_link = msprotocol + '://' + domain + reverse( 'manageDeveloper.filter') datastreams_revision_ids = DataStreamRevision.objects.values_list( 'id').filter(datastream__user__account_id=account_id, status=StatusChoices.PUBLISHED) resources = [] for datastream_revision_id, in datastreams_revision_ids: try: ds = DataStreamDBDAO().get( language, datastream_revision_id=datastream_revision_id) except: logger.error('catalog ERROR %s %s' % (datastream_revision_id, language)) continue ds.link = '{}://{}{}'.format(msprotocol, domain, ds.permalink()) ds.export_csv_link = '{}://{}{}'.format( msprotocol, domain, reverse('viewDataStream.csv', kwargs={ 'id': ds.datastream_id, 'slug': ds.slug })) ds.export_html_link = '{}://{}{}'.format( msprotocol, domain, reverse('viewDataStream.html', kwargs={ 'id': ds.datastream_id, 'slug': ds.slug })) ds.api_link = apiprotocol + '://' + api_domain + '/datastreams/' + ds.guid + '/data/?auth_key=your_authkey' ds.visualizations = [] visualization_revision_ids = VisualizationRevision.objects.values_list( 'id').filter(visualization__datastream_id=ds.datastream_id, status=StatusChoices.PUBLISHED) for visualization_revision_id, in visualization_revision_ids: try: vz = VisualizationDBDAO().get( language, visualization_revision_id=visualization_revision_id) except: logger.error('catalog VIZ ERROR %s %s' % (visualization_revision_id, language)) continue vz['link'] = msprotocol + '://' + domain + vz.permalink() ds.visualizations.append(vz) resources.append(ds) return render_to_response('catalog.xml', locals(), mimetype='application/xml')