Revision 660c7a4f

b/snf-astakos-app/astakos/im/models.py
41 41
from django.db import models
42 42
from django.contrib.auth.models import User, UserManager
43 43

  
44
from astakos.im.settings import DEFAULT_USER_LEVEL, INVITATIONS_PER_LEVEL, AUTH_TOKEN_DURATION, BILLING_FIELDS, QUEUE_CONNECTION
44
from astakos.im.settings import DEFAULT_USER_LEVEL, INVITATIONS_PER_LEVEL, AUTH_TOKEN_DURATION, BILLING_FIELDS, QUEUE_EXCHANGE
45 45
from synnefo.lib.queue import exchange_connect, exchange_send, exchange_close, Receipt
46 46

  
47 47
QUEUE_CLIENT_ID = 3 # Astakos.
......
162 162
                return True
163 163
        return False
164 164
    
165
    if QUEUE_CONNECTION and should_send(user):
165
    if QUEUE_EXCHANGE and should_send(user):
166 166
        l = [[elem, str(user.__getattribute__(elem))] for elem in BILLING_FIELDS]
167 167
        details = dict(l)
168
        details['eventType'] = 'create' if not user.id else 'modify'
168 169
        body = Receipt(QUEUE_CLIENT_ID, user.email, '', 0, details).format()
169
        msgsubtype = 'create' if not user.id else 'modify'
170
        exchange = '%s.%s.#' %(QUEUE_CONNECTION, msgsubtype)
171
        conn = exchange_connect(exchange)
172
        routing_key = exchange.replace('#', body['id'])
170
        conn = exchange_connect(QUEUE_EXCHANGE)
171
        routing_key = QUEUE_EXCHANGE.replace('#', body['id'])
173 172
        exchange_send(conn, routing_key, body)
174 173
        exchange_close(conn)
b/snf-astakos-app/astakos/im/settings.py
62 62
BILLING_FIELDS = getattr(settings, 'ASTAKOS_BILLING_FIELDS', ['id', 'is_active', 'provider', 'third_party_identifier'])
63 63

  
64 64
# Queue for billing.
65
QUEUE_CONNECTION = getattr(settings, 'ASTAKOS_QUEUE_CONNECTION', None) # Example: 'rabbitmq://guest:guest@localhost:5672/astakos.userEvent'
65
QUEUE_EXCHANGE = getattr(settings, 'ASTAKOS_QUEUE_EXCHANGE', None) # Example: 'rabbitmq://guest:guest@localhost:5672/astakos.userEvent.#'

Also available in: Unified diff