コード例 #1
0
ファイル: views.py プロジェクト: thechild/giftlist2
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.")})
コード例 #2
0
ファイル: views.py プロジェクト: thechild/giftlist2
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.")
        })
コード例 #3
0
ファイル: views.py プロジェクト: thechild/giftlist2
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})
コード例 #4
0
ファイル: analytics.py プロジェクト: bobcolner/pandas-polygon
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)
コード例 #5
0
ファイル: views.py プロジェクト: thechild/giftlist2
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 })
コード例 #6
0
ファイル: views.py プロジェクト: thechild/giftlist2
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())
        })
コード例 #7
0
ファイル: views.py プロジェクト: therellbetypos/bsn2
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)
コード例 #8
0
ファイル: index.py プロジェクト: notjrbauer/python-analytics
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)})
コード例 #9
0
ファイル: views.py プロジェクト: thechild/giftlist2
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,
        })
コード例 #10
0
ファイル: views.py プロジェクト: thechild/giftlist2
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,
        })
コード例 #11
0
ファイル: views.py プロジェクト: thechild/giftlist2
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,
    })
コード例 #12
0
ファイル: views.py プロジェクト: thechild/giftlist2
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())
                   })
コード例 #13
0
ファイル: views.py プロジェクト: thechild/giftlist2
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,
    })
コード例 #14
0
ファイル: views.py プロジェクト: thechild/giftlist2
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
    })
コード例 #15
0
ファイル: main.py プロジェクト: ccnixon/segmentdatabot
        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!"
コード例 #16
0
def page():
    analytics.page(options.userId,
                   name=options.name,
                   anonymous_id=options.anonymousId,
                   properties=json_hash(options.properties),
                   context=json_hash(options.context))
コード例 #17
0
    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')
コード例 #18
0
ファイル: views.py プロジェクト: thechild/giftlist2
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'))
コード例 #19
0
ファイル: views.py プロジェクト: thechild/giftlist2
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
        })
コード例 #20
0
ファイル: module.py プロジェクト: segmentio/analytics-python
 def test_page(self):
     analytics.page('userId')
     analytics.flush()
コード例 #21
0
def page():
    analytics.page(options.userId, name = options.name, anonymous_id = options.anonymousId,
            properties = json_hash(options.properties), context = json_hash(options.context))
コード例 #22
0
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',
コード例 #23
0
 def test_page(self):
     analytics.page('distinct_id')
     analytics.flush()
コード例 #24
0
ファイル: views.py プロジェクト: thechild/giftlist2
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'))
コード例 #25
0
 def test_page(self):
     analytics.page('userId')
     analytics.flush()
コード例 #26
0
ファイル: views.py プロジェクト: sirodoht/avocado-jobs
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')