def add_person(request): myself = get_person_from_user(request.user) if request.method == 'POST': form = PersonForm(request.POST) if form.is_valid(): new_person = form.save() new_person.invited_by = myself.login_user new_person.save() myself.recipients.add(new_person) new_person.recipients.add(myself) # let's start them off with one person on their list # send an email letting them know how to sign up: send_signup_email(myself, new_person) analytics.track(request.user.id, 'Invited a new Person', { 'person_id': new_person.id }) return HttpResponseRedirect(reverse('Gifts.views.view_all_people')) else: form = PersonForm() analytics.page(request.user.id, 'giftlist', 'add_person') return render(request, 'add_item.html', {'form': form, 'add_title': 'Add a new person you would like to give a gift to.', 'add_description': ("By adding a new person, you can track what gift you'd like to give them. " "This will also send them an email inviting them to join Gift Exchange " "so that you can see the gifts they want.")})
def add_person(request): myself = get_person_from_user(request.user) if request.method == 'POST': form = PersonForm(request.POST) if form.is_valid(): new_person = form.save() new_person.invited_by = myself.login_user new_person.save() myself.recipients.add(new_person) new_person.recipients.add( myself) # let's start them off with one person on their list # send an email letting them know how to sign up: send_signup_email(myself, new_person) analytics.track(request.user.id, 'Invited a new Person', {'person_id': new_person.id}) return HttpResponseRedirect(reverse('Gifts.views.view_all_people')) else: form = PersonForm() analytics.page(request.user.id, 'giftlist', 'add_person') return render( request, 'add_item.html', { 'form': form, 'add_title': 'Add a new person you would like to give a gift to.', 'add_description': ("By adding a new person, you can track what gift you'd like to give them. " "This will also send them an email inviting them to join Gift Exchange " "so that you can see the gifts they want.") })
def view_all_people(request): myself = get_person_from_user(request.user) all_people = Person.objects.exclude(pk=myself.pk).order_by('first_name', 'last_name') q = '' if 'q' in request.GET: q = request.GET['q'] qfn, s, qln = q.rpartition(' ') if qfn: all_people = all_people.filter( Q(first_name__icontains=q) | Q(last_name__icontains=q) | (Q(first_name__icontains=qfn) & Q(last_name__icontains=qln)) | Q(email__icontains=q)) else: all_people = all_people.filter(Q(first_name__icontains=q) | Q(last_name__icontains=q) | Q(email__icontains=q)) people = [] for person in all_people: people.append((person, myself.recipients.filter(pk=person.pk).count() > 0)) analytics.page(request.user.id, 'giftlist', 'view_people', { 'count': len(people), 'filtered': 'Yes' if 'q' in request.GET else 'No' }) return render(request, 'view_all_people.html', {'myself': myself, 'people': people, 'q': q})
def page(url): """ Generic function used to send information back to the server. :param url: function used. """ if not IS_TRAVIS: analytics.page(USER, 'Docs', 'Python', {"url": url}, context=LOCATION)
def add_gift(request, gift_id=None): myself = get_person_from_user(request.user) if gift_id: gift = get_object_or_404(Gift, pk=gift_id) if gift.recipient != myself: messages.error(request, "You don't have permission to edit that gift.") return HttpResponseRedirect(reverse('Gifts.views.user_home')) else: gift = None if request.method == 'POST': form = GiftForm(request.POST, instance=gift) if form.is_valid(): new_gift = form.save(commit=False) new_gift.recipient = myself if new_gift.url: new_gift.url = convert_link(new_gift.url) if not new_gift.pk: send_all_update_emails(myself) # this probably needs to somehow be a worker or it might get slow analytics.track(request.user.id, 'Added a Gift', { 'title': new_gift.title, 'url': new_gift.url, 'type': 'self' }) new_gift.save() else: analytics.track(request.user.id, 'Edited a Gift', { 'gift_id': new_gift.pk, 'title': new_gift.title, 'url': new_gift.url, 'type': 'self' }) return HttpResponseRedirect(reverse('Gifts.views.user_home')) else: analytics.page(request.user.id, 'giftlist', 'add_gift') form = GiftForm(instance=gift) if gift_id: add_title = 'Edit the gift that you want to receive.' submit_text = 'Change' else: add_title = 'Add a new gift to your list.' submit_text = 'Add' add_description = ("Enter the details of a gift you would like to receive. " "Note that you can't change this after you save it, since people will be able to immediately reserve it.") return render(request, 'add_item.html', {'form': form, 'add_title': add_title, 'add_description': add_description, 'submit_text': submit_text, 'giftid': gift_id })
def add_secret_gift(request, recipient_id): myself = get_person_from_user(request.user) recipient = get_object_or_404(Person, pk=recipient_id) if request.method == 'POST': form = GiftForm(request.POST) if form.is_valid(): new_gift = form.save(commit=False) # clear_reserved_gifts(myself, recipient) new_gift.recipient = recipient new_gift.secret = True new_gift.reserved_by = myself new_gift.date_reserved = datetime.now() if new_gift.url: new_gift.url = convert_link(new_gift.url) if not new_gift.pk: analytics.track(request.user.id, 'Added a Gift', { 'title': new_gift.title, 'url': new_gift.url, 'type': 'secret' }) else: analytics.track( request.user.id, 'Edited a Gift', { 'gift_id': new_gift.pk, 'title': new_gift.title, 'url': new_gift.url, 'type': 'secret' }) new_gift.save() return HttpResponseRedirect( reverse('Gifts.views.view_user', args=(recipient.pk, ))) else: analytics.page(request.user.id, 'giftlist', 'add_secret_gift') form = GiftForm() return render( request, 'add_item.html', { 'form': form, 'add_title': 'Add a new gift for %s' % recipient.name(), 'add_description': ('Enter the details of the gift you would like to get for %s. ' 'No one besides you will ever see this information.' % recipient.name()) })
def index(request): analytics.identify(request.user.id, { 'name': request.user.username, }) analytics.page('index'); asset_list = Asset.objects.all() paginator = Paginator(asset_list, 25) # Show 25 contacts per page page = request.GET.get('page') try: assets = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. assets = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. assets = paginator.page(paginator.num_pages) context = {'assets': assets} return render(request, 'index.html', context)
def page(): try: content = request.get_json(silent=True) print(content) _userId = content.get('userId') _event = content.get('event') _category = content.get('category') _name = content.get('name') _properties = content.get('properties') _context = content.get('context') _timestamp = format_timestamp(content.get('timestamp')) _anonymous_id = content.get('anonymousId') _integrations = content.get('integrations') analytics.page(_userId, _category, _name, _properties, _context, _timestamp, _anonymous_id, _integrations) return format_response('page') except Exception as e: return json.dumps({'error': str(e)})
def view_user(request, user_id): myself = get_person_from_user(request.user) user = get_object_or_404(Person, pk=user_id) reserved_gifts = [g.pk for g in get_reserved_gifts(myself, user)] gifts = Gift.objects.filter(recipient=user).filter(Q(secret=False) | Q(pk__in=reserved_gifts)) unreserved_gift_count = gifts.exclude(reserved_by__isnull=True).count() analytics.page(request.user.id, 'giftlist', 'view_user', { 'recipient_id': user.id, 'recipient_name': user.name(), 'reserved_gifts': len(reserved_gifts), 'available_gifts': unreserved_gift_count }) return render(request, 'view_user.html', { 'user': user, 'reserved_gifts': reserved_gifts, 'gifts': gifts, })
def user_home(request): myself = get_person_from_user(request.user) gifts = Gift.objects.filter(recipient=myself).exclude(secret=True) # people = Person.objects.all().exclude(pk = myself.pk) # will eventually replace this with something smarter people = myself.recipients.all() people_gifts = {} for p in people: g = Gift.objects.filter(recipient=p).filter(reserved_by=myself) if g.count() > 0: people_gifts[p] = g else: people_gifts[p] = None analytics.page(request.user.id, 'giftlist', 'user_home') return render(request, "user_home.html", { 'person': myself, 'gifts': gifts, 'people_gifts': people_gifts, })
def add_secret_gift(request, recipient_id): myself = get_person_from_user(request.user) recipient = get_object_or_404(Person, pk=recipient_id) if request.method == 'POST': form = GiftForm(request.POST) if form.is_valid(): new_gift = form.save(commit=False) # clear_reserved_gifts(myself, recipient) new_gift.recipient = recipient new_gift.secret = True new_gift.reserved_by = myself new_gift.date_reserved = datetime.now() if new_gift.url: new_gift.url = convert_link(new_gift.url) if not new_gift.pk: analytics.track(request.user.id, 'Added a Gift', { 'title': new_gift.title, 'url': new_gift.url, 'type': 'secret' }) else: analytics.track(request.user.id, 'Edited a Gift', { 'gift_id': new_gift.pk, 'title': new_gift.title, 'url': new_gift.url, 'type': 'secret' }) new_gift.save() return HttpResponseRedirect(reverse('Gifts.views.view_user', args=(recipient.pk,))) else: analytics.page(request.user.id, 'giftlist', 'add_secret_gift') form = GiftForm() return render(request, 'add_item.html', {'form': form, 'add_title': 'Add a new gift for %s' % recipient.name(), 'add_description': ('Enter the details of the gift you would like to get for %s. ' 'No one besides you will ever see this information.' % recipient.name()) })
def view_user(request, user_id): myself = get_person_from_user(request.user) user = get_object_or_404(Person, pk=user_id) reserved_gifts = [g.pk for g in get_reserved_gifts(myself, user)] gifts = Gift.objects.filter( recipient=user).filter(Q(secret=False) | Q(pk__in=reserved_gifts)) unreserved_gift_count = gifts.exclude(reserved_by__isnull=True).count() analytics.page( request.user.id, 'giftlist', 'view_user', { 'recipient_id': user.id, 'recipient_name': user.name(), 'reserved_gifts': len(reserved_gifts), 'available_gifts': unreserved_gift_count }) return render(request, 'view_user.html', { 'user': user, 'reserved_gifts': reserved_gifts, 'gifts': gifts, })
def view_all_people(request): myself = get_person_from_user(request.user) all_people = Person.objects.exclude(pk=myself.pk).order_by( 'first_name', 'last_name') q = '' if 'q' in request.GET: q = request.GET['q'] qfn, s, qln = q.rpartition(' ') if qfn: all_people = all_people.filter( Q(first_name__icontains=q) | Q(last_name__icontains=q) | (Q(first_name__icontains=qfn) & Q(last_name__icontains=qln)) | Q(email__icontains=q)) else: all_people = all_people.filter( Q(first_name__icontains=q) | Q(last_name__icontains=q) | Q(email__icontains=q)) people = [] for person in all_people: people.append( (person, myself.recipients.filter(pk=person.pk).count() > 0)) analytics.page(request.user.id, 'giftlist', 'view_people', { 'count': len(people), 'filtered': 'Yes' if 'q' in request.GET else 'No' }) return render(request, 'view_all_people.html', { 'myself': myself, 'people': people, 'q': q })
page = (item for item in fixtures.pages if item["category"] == "Subscription").next() # Load properties payload['traits'] = { 'email': fake.email(), 'name': fake.name(), 'state': fake.state(), 'city': fake.city() } payload['context'] = page['context'] analytics.identify(user_id=payload['user_id'], traits=payload['traits'], context=payload['context'], anonymous_id=payload['anonymous_id']) ############## # Page Event ############## if (event == 'page'): page = r.choice(fixtures.pages) analytics.page(user_id=payload['user_id'], category=page['category'], name=page['name'], properties=page['properties'], context=page['context'], anonymous_id=payload['anonymous_id']) print "Success!"
def page(): analytics.page(options.userId, name=options.name, anonymous_id=options.anonymousId, properties=json_hash(options.properties), context=json_hash(options.context))
if msgType == "track": properties = arguments["--properties"] if properties: properties = json.loads(properties) analytics.track(user_id = userId, anonymous_id=anonymousId, event = arguments["--event"], properties = properties, context = context, integrations = integrations) elif msgType == "screen": properties = arguments["--properties"] if properties: properties = json.loads(properties) analytics.screen(user_id = userId, anonymous_id=anonymousId, name = arguments["--name"], properties = properties, context = context, integrations = integrations) elif msgType == "page": properties = arguments["--properties"] if properties: properties = json.loads(properties) analytics.page(user_id = userId, anonymous_id=anonymousId, name = arguments["--name"], properties = properties, context = context, integrations = integrations) elif msgType == "alias": analytics.alias(user_id = userId, previousId=arguments["--previousId"]) elif msgType == "group": traits = arguments["--traits"] if traits: traits = json.loads(traits) analytics.group(user_id = userId, anonymous_id=anonymousId, group_id = arguments["--groupId"], traits = traits, context = context, integrations = integrations) elif msgType == "identify": traits = arguments["--traits"] if traits: traits = json.loads(traits) analytics.identify(user_id = userId, anonymous_id=anonymousId, traits = traits, context = context, integrations = integrations) else: raise Exception('Unknown argument')
def manage_account(request): # myself = get_person_from_user(request.user) analytics.page(request.user.id, 'giftlist', 'manage_account') messages.warning(request, "Sorry, this isn't implemented yet.") return HttpResponseRedirect(reverse('Gifts.views.user_home'))
def add_gift(request, gift_id=None): myself = get_person_from_user(request.user) if gift_id: gift = get_object_or_404(Gift, pk=gift_id) if gift.recipient != myself: messages.error(request, "You don't have permission to edit that gift.") return HttpResponseRedirect(reverse('Gifts.views.user_home')) else: gift = None if request.method == 'POST': form = GiftForm(request.POST, instance=gift) if form.is_valid(): new_gift = form.save(commit=False) new_gift.recipient = myself if new_gift.url: new_gift.url = convert_link(new_gift.url) if not new_gift.pk: send_all_update_emails( myself ) # this probably needs to somehow be a worker or it might get slow analytics.track(request.user.id, 'Added a Gift', { 'title': new_gift.title, 'url': new_gift.url, 'type': 'self' }) new_gift.save() else: analytics.track( request.user.id, 'Edited a Gift', { 'gift_id': new_gift.pk, 'title': new_gift.title, 'url': new_gift.url, 'type': 'self' }) return HttpResponseRedirect(reverse('Gifts.views.user_home')) else: analytics.page(request.user.id, 'giftlist', 'add_gift') form = GiftForm(instance=gift) if gift_id: add_title = 'Edit the gift that you want to receive.' submit_text = 'Change' else: add_title = 'Add a new gift to your list.' submit_text = 'Add' add_description = ( "Enter the details of a gift you would like to receive. " "Note that you can't change this after you save it, since people will be able to immediately reserve it." ) return render( request, 'add_item.html', { 'form': form, 'add_title': add_title, 'add_description': add_description, 'submit_text': submit_text, 'giftid': gift_id })
def test_page(self): analytics.page('userId') analytics.flush()
def page(): analytics.page(options.userId, name = options.name, anonymous_id = options.anonymousId, properties = json_hash(options.properties), context = json_hash(options.context))
regions, provinces = get_areas(df) #area_filter = st.sidebar.selectbox("Seleziona il raggio di interesse",["Nazione","Regione","Provincia"]) area_filter = st.sidebar.radio("Seleziona il raggio di interesse", ["Nazione", "Regione", "Provincia"]) st.markdown( "<hr class='portraitAlert'/><p class='portraitAlert'>Per visualizzare i grafici si consiglia di orientare il telefono in orizzontale</p>", unsafe_allow_html=True) if area_filter == "Nazione": st.markdown("---") analytics.page( session_state.user, "Main_category", 'Nazionale', { 'path': '/', 'name': "Nazionale", 'title': "Neurality - Streamlit", "url": "http://neurality.it/covid/Nazionale" }) cmap = st.sidebar.radio("Scelta Color Map", ("Lineare", "Logaritmica"), index=1) st.sidebar.markdown( "<p class='smallText marginTop'>Per un approfondimento sull'utilizzo di scale logaritmiche per visualizzare l'andamento del virus clicca <a target='_blank' href=https://www.neodemos.info/articoli/la-curva-dei-contagiati-da-covid-19-la-ricerca-del-punto-di-svolta/>qui</a></p>", unsafe_allow_html=True) if cmap == "Lineare": cmap = viridis else: analytics.track(USER_UNIQUE_ID, "Exponential Map Scale", { 'category': 'Values_Scale',
def test_page(self): analytics.page('distinct_id') analytics.flush()
def index(request): analytics.page(get_client_ip(request), 'Non Authed', 'Index', { 'url': request.get_full_path(), }) log_analytic(request) return render(request, 'main/index.html')