Get rid of the DNSMEDLEM keyword. Resend activation codes that have not been used.

This commit is contained in:
ponas committed 2015-04-29 21:01:41 +02:00
1 parent aab98df549
commit 35be38f6c9
1 file changed
+36 -42
+36 -42
View File
@@ -226,26 +226,11 @@ def notify_valid_membership(incoming_id=None, number=None, user=None):
return 'OK' return 'OK'
def notify_payment_options_new(incoming_id=None, number=None): def notify_pending_new_membership(incoming_id=None, number=None, activation_code=None):
content = u"Du kan kjøpe medlemskap via SnappOrder: http://snappo.com/app (200,-) eller ved å sende DNSMEDLEM til 2454 (230,-)" content = u"Hei! Du har allerede betalt for et medlemskap. Aktiver det her: https://s.neuf.no/sms/%(number)s/%(activation_code)s" % ({
'number': number,
outgoing_id = send_sms( 'activation_code': activation_code,
destination=number, })
content=content,
incoming_id=incoming_id)
app.logger.info("Sent SMS to number:%s with payment options (new)", number)
log_event(
action='notify_payment_options_new',
incoming_id=incoming_id,
outgoing_id=outgoing_id)
return 'OK'
def notify_payment_options_renewal(incoming_id=None, number=None, user=None):
content = u"Ditt medlemskap er utløpt. Det kan fornyes via SnappOrder: http://snappo.com/app (200,-) eller ved å sende DNSMEDLEM til 2454 (230,-)"
outgoing_id = send_sms( outgoing_id = send_sms(
destination=number, destination=number,
@@ -253,13 +238,12 @@ def notify_payment_options_renewal(incoming_id=None, number=None, user=None):
incoming_id=incoming_id) incoming_id=incoming_id)
app.logger.info( app.logger.info(
"Sent SMS to number:%s with payment options (renewal)", number) "Resent activation code for number:%s", number)
log_event( log_event(
action='notify_payment_options_renewal', action='notify_pending_new_membership',
incoming_id=incoming_id, incoming_id=incoming_id,
outgoing_id=outgoing_id, outgoing_id=outgoing_id)
user_id=user['id'])
return 'OK' return 'OK'
@@ -383,6 +367,22 @@ def get_activation_code_purchase_date(number, activation_code):
return str(row.get('timestamp')) if row else None return str(row.get('timestamp')) if row else None
def has_pending_new_membership(number):
# WAT
row = query_db("""
SELECT event.activation_code FROM event
WHERE event.incoming_id IN (
SELECT event.incoming_id FROM incoming, event, event AS event2
WHERE incoming.msisdn = %s
AND incoming.id = event.incoming_id
AND event.action = 'new_membership'
AND event.timestamp > DATE_SUB(event.timestamp, INTERVAL 1 YEAR)
AND event2.incoming_id = event.incoming_id
AND event2.action = 'new_membership_delivered')
AND activation_code IS NOT NULL""", [number], one=True)
return row.get('activation_code') if row else None
@app.route('/inside-code-purchase-date') @app.route('/inside-code-purchase-date')
def inside_code_purchase_date(): def inside_code_purchase_date():
number = request.args.get('number') number = request.args.get('number')
@@ -444,25 +444,19 @@ def incoming():
if user: if user:
expired = get_inside().user_is_expired(user) expired = get_inside().user_is_expired(user)
if keyword == 'DNS': if not expired:
if not expired: return notify_valid_membership(
return notify_valid_membership( incoming_id=incoming_id, number=msisdn, user=user)
incoming_id=incoming_id, number=msisdn, user=user) elif expired:
elif expired: return renew_membership(
return notify_payment_options_renewal( incoming_id=incoming_id, number=msisdn, user=user)
incoming_id=incoming_id, number=msisdn, user=user)
elif keyword == 'DNSMEDLEM':
if not expired:
return notify_valid_membership(
incoming_id=incoming_id, number=msisdn, user=user)
elif expired:
return renew_membership(
incoming_id=incoming_id, number=msisdn, user=user)
else: else:
if keyword == 'DNS': activation_code = has_pending_new_membership(msisdn)
return notify_payment_options_new(
incoming_id=incoming_id, number=msisdn) if activation_code:
elif keyword == 'DNSMEDLEM': return notify_pending_new_membership(
incoming_id=incoming_id, number=msisdn, activation_code=activation_code)
else:
return new_membership( return new_membership(
incoming_id=incoming_id, number=msisdn) incoming_id=incoming_id, number=msisdn)