예제 #1
0
def add_tag(customer_id, tag):
    customer = Customer.objects.select_related('user').get(id=customer_id)
    user = IntercomUser.find(email=customer.user.email)
    try:
        IntercomTag.tag_users(tag, [user.id])
    except ResourceNotFound as e:
        IntercomTag.create(name=tag)
        IntercomTag.tag_users(tag, [user.id])
        logger.error('add_tag [ResourceNotFound]: %s' % e)
예제 #2
0
def sync_tags():
    customers = Customer.objects.select_related('user').all()
    for customer in customers:
        tags = customer.get_tags()
        if tags:
            user = IntercomUser.find(email=customer.user.email)
        for tag in tags:
            try:
                IntercomTag.tag_users(tag, [user.id])
            except ResourceNotFound as e:
                IntercomTag.create(tag)
                IntercomTag.tag_users(tag, [user.id])
                logger.error('sync_tags [ResourceNotFound]: %s' % e)
예제 #3
0
 def it_creates_a_tag(self):
     with patch.object(
             Intercom, 'post',
             return_value=test_tag) as mock_method:  # noqa
         tag = Tag.create(name="Test Tag")
         eq_(tag.name, "Test Tag")
         mock_method.assert_called_once_with('/tags/', name="Test Tag")
예제 #4
0
 def it_tags_users(self):
     params = {
         'name': 'Test Tag',
         'user_ids': ['abc123', 'def456'],
         'tag_or_untag': 'tag'
     }
     with patch.object(Intercom, 'post', return_value=test_tag) as mock_method:  # noqa
         tag = Tag.create(**params)
         eq_(tag.name, "Test Tag")
         eq_(tag.tagged_user_count, 2)
         mock_method.assert_called_once_with('/tags/', **params)
예제 #5
0
 def it_creates_a_tag(self):
     with patch.object(Intercom, 'post', return_value=test_tag) as mock_method:  # noqa
         tag = Tag.create(name="Test Tag")
         eq_(tag.name, "Test Tag")
         mock_method.assert_called_once_with('/tags/', name="Test Tag")