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)
|