def _broadcast(self, user, msg, district=None):
        sms = SmsRequest()
        sms.body = ''
        sms.user = user

        cmd = BroadcastCommand(sms)
        cmd.district = district
        cmd.msg = msg
        return cmd
    def _broadcast(self, user, msg, district=None):
        sms = SmsRequest()
        sms.body = ''
        sms.user = user

        cmd = BroadcastCommand(sms)
        cmd.district = district
        cmd.msg = msg
        return cmd
    def _query(self, district, action):
        sms = SmsRequest(id=SmsRequest.id())
        sms.body = ""
        sms.user = self.user

        cmd = QueryCommand(sms)
        cmd.filter = action
        cmd.district = district
        return cmd
Ejemplo n.º 4
0
    def _query(self, district, action):
        sms = SmsRequest(id=SmsRequest.id())
        sms.body = ''
        sms.user = self.user

        cmd = QueryCommand(sms)
        cmd.filter = action
        cmd.district = district
        return cmd
Ejemplo n.º 5
0
def incoming_twilio_sms():
    sms = SmsRequest(id=SmsRequest.id(),
                     from_number=request.form.get('From'),
                     to_number=request.form.get('To'),
                     body=request.form.get('Body'),
                     twilio_message_id=request.form.get('MessageSid'),
                     from_city=request.form.get('FromCity'),
                     from_state=request.form.get('FromState'),
                     from_zip=request.form.get('FromZip'),
                     from_country=request.form.get('FromCountry'),
                     to_city=request.form.get('ToCity'),
                     to_state=request.form.get('ToState'),
                     to_zip=request.form.get('ToZip'),
                     to_country=request.form.get('ToCountry'))

    if not sms.valid:
        app.logger.error(request)
        abort(400, 'invalid request')

    # store all sms for auditing
    sms.put()

    # load application data associated with the sms
    user = User.query(User.phone_number == sms.from_number).fetch()
    if not user:
        abort(
            400, 'The phone number {} does not belong to a user'.format(
                sms.from_number))

    sms.user = user[0]

    response_twiml = twiml.Response()
    response_message = None

    # dispatch sms request
    try:
        response_message = dispatcher.dispatch(sms)
    except (NoRouteError, MultipleRouteError):
        response_message = _('Unknown command, valid format below:\n'
                             'PLANT [qty] [type]\n'
                             'HARVEST [qty] [type]\n'
                             'SELL [qty] [type]\n'
                             'BROADCAST [msg]')

    if response_message:
        config = Config.query().get()
        response_twiml.sms(to=sms.from_number,
                           sender=config.twilio_phone_number,
                           msg=response_message)

    # update sms processed state
    sms.processed = True
    sms.ts_processed = datetime.now()
    sms.put()

    return str(response_twiml)
Ejemplo n.º 6
0
def incoming_twilio_sms():
    sms = SmsRequest(id=SmsRequest.id(),
                     from_number=request.form.get('From'),
                     to_number=request.form.get('To'),
                     body=request.form.get('Body'),
                     twilio_message_id=request.form.get('MessageSid'),
                     from_city=request.form.get('FromCity'),
                     from_state=request.form.get('FromState'),
                     from_zip=request.form.get('FromZip'),
                     from_country=request.form.get('FromCountry'),
                     to_city=request.form.get('ToCity'),
                     to_state=request.form.get('ToState'),
                     to_zip=request.form.get('ToZip'),
                     to_country=request.form.get('ToCountry'))

    if not sms.valid:
        app.logger.error(request)
        abort(400, 'invalid request')

    # store all sms for auditing
    sms.put()

    # load application data associated with the sms
    user = User.query(User.phone_number == sms.from_number).fetch()
    if not user:
        abort(400, 'The phone number {} does not belong to a user'.format(sms.from_number))

    sms.user = user[0]

    response_twiml = twiml.Response()
    response_message = None

    # dispatch sms request
    try:
        response_message = dispatcher.dispatch(sms)
    except (NoRouteError, MultipleRouteError):
        response_message = _('Unknown command, valid format below:\n'
                             'PLANT [qty] [type]\n'
                             'HARVEST [qty] [type]\n'
                             'SELL [qty] [type]\n'
                             'BROADCAST [msg]')

    if response_message:
        config = Config.query().get()
        response_twiml.sms(to=sms.from_number,
                           sender=config.twilio_phone_number,
                           msg=response_message)

    # update sms processed state
    sms.processed = True
    sms.ts_processed = datetime.now()
    sms.put()

    return str(response_twiml)
Ejemplo n.º 7
0
def incoming_twilio_sms():
    sms = SmsRequest(
        id=SmsRequest.id(),
        from_number=request.form.get("From"),
        to_number=request.form.get("To"),
        body=request.form.get("Body"),
        twilio_message_id=request.form.get("MessageSid"),
        from_city=request.form.get("FromCity"),
        from_state=request.form.get("FromState"),
        from_zip=request.form.get("FromZip"),
        from_country=request.form.get("FromCountry"),
        to_city=request.form.get("ToCity"),
        to_state=request.form.get("ToState"),
        to_zip=request.form.get("ToZip"),
        to_country=request.form.get("ToCountry"),
    )

    if not sms.valid:
        app.logger.error(request)
        abort(400, "invalid request")

    # store all sms for auditing
    sms.put()

    # load application data associated with the sms
    user = User.query(User.phone_number == sms.from_number).fetch()
    if not user:
        abort(400, "The phone number {} does not belong to a user".format(sms.from_number))

    sms.user = user[0]

    response_twiml = twiml.Response()
    response_message = None

    # dispatch sms request
    try:
        response_message = dispatcher.dispatch(sms)
    except (NoRouteError, MultipleRouteError):
        response_message = _("Unknown command")

    if response_message:
        config = Config.query().get()
        response_twiml.sms(to=sms.from_number, sender=config.twilio_phone_number, msg=response_message)

    # update sms processed state
    sms.processed = True
    sms.ts_processed = datetime.now()
    sms.put()

    return str(response_twiml)
 def _broadcast_cmd(self, body):
     sms = SmsRequest()
     sms.user = User()
     sms.body = body
     return BroadcastCommand(sms)
 def _broadcast_cmd(self, body):
     sms = SmsRequest()
     sms.user = User()
     sms.body = body
     return BroadcastCommand(sms)