An exemple, please? My mobile phone, 123456789, what's the code for sending a SMS?
On 17 feb, 22:46, Massimo Di Pierro <massimo.dipie...@gmail.com> wrote: > One solution is to send sms via emails. It is cheap, reliable and does > not rely on third party services: > > web2py/gluon/contrib/sms_utils.py > > On Feb 17, 3:42 pm, Ovidio Marinho <ovidio...@gmail.com> wrote: > > > > > > > > > what makes your application, it sends sms:? you can share this application?, > > I need an application that sends SMS. > > > 2011/2/15 Marc Smith <msmith...@gmail.com> > > > > Hi, > > > > I am having trouble using the LOAD component with forms to produce a > > > "wizard" style multiple form type setup (eg, enter information on one > > > "screen", then go to the next, etc.). > > > > If I move my mobile_verify.load file to mobile_verify.html and visit > > >http://localhost/myapp/default/mobile_verify/one--the form seems to > > > work fine. When I keep it as a .load and it loads up in my layout, the > > > first form works fine, I click submit and it goes to the next form, > > > but the second form seems to be "stuck". When I click submit on the > > > second form (mobile_verify/two), it brings me back to the same form. > > > It appears request.vars is empty and thats why the .accepts returns > > > false and keeps me on that form? > > > > In my controller I have this: > > > --snip-- > > > @auth.requires_login() > > > def mobile_verify(): > > > """ > > > Mobile phone number verification. > > > """ > > > # Make the user's phone number look nice > > > pretty_phone = '(' + auth.user.mobile[0:3] + ') '+ \ > > > auth.user.mobile[3:6] + '-' + auth.user.mobile[6:10] > > > > if request.args(0) == 'one': > > > # Form to pick verification method > > > vrfy_method_form = FORM(FIELDSET(INPUT(_type='radio', > > > _name='verify_method', > > > _value='SMS'), > > > 'Send me a text (SMS) > > > message'), > > > FIELDSET(INPUT(_type='radio', > > > _name='verify_method', > > > _value='VOICE'), > > > 'Call (voice) my mobile > > > phone'), > > > CENTER(INPUT(_id='text_me_button', > > > _type='submit', > > > _value='Text me!'), > > > INPUT(_id='call_me_button', > > > _type='submit', > > > _value='Call me!'))) > > > > if vrfy_method_form.accepts(request.vars, session): > > > #session.flash = 'vrfy_method_form accepted' > > > session.verify_method = request.vars.verify_method > > > redirect(URL('mobile_verify', args='two')) > > > > return dict(vrfy_method_form=vrfy_method_form, > > > page_title='blah', > > > pretty_phone=pretty_phone) > > > > elif request.args(0) == 'two': > > > # Form to check verification code > > > chk_code_form = FORM(CENTER(FIELDSET('Type the verification > > > code here:', > > > > INPUT(_name='verify_code', > > > > requires=IS_NOT_EMPTY())), > > > FIELDSET(INPUT(_type='submit')))) > > > > if chk_code_form.accepts(request.vars, session): > > > #session.flash = 'chk_code_form accepted' > > > session.typed_code = str(request.vars.verify_code) > > > redirect(URL('mobile_verify', args='three')) > > > > # Verification code > > > code = random.randint(100000, 999999) > > > > return dict(pretty_phone=pretty_phone, > > > chk_code_form=chk_code_form, > > > code=code, page_title='blah') > > > > elif request.args(0) == 'three': > > > return dict(page_title='blah', pretty_phone=pretty_phone) > > > --snip-- > > > > For my mobile_verify.load file: > > > --snip-- > > > {{if request.args(0) == 'one':}} > > > <h4>How should we verify your mobile phone number?</h4> > > > <center> > > > My mobile phone: <strong>{{=pretty_phone}}</strong> > > > <br/> > > > <a href="{{=URL('user', args='profile')}}">Wrong phone > > > number?</a> > > > </center> > > > <br/> > > > {{=vrfy_method_form}} > > > <script> > > > jQuery(document).ready(function() { > > > jQuery('#text_me_button').hide(); > > > jQuery('#call_me_button').hide(); > > > > jQuery('input[name="verify_method"]').change(function() { > > > if > > > (jQuery('input[name="verify_method"]:checked').val() == 'SMS') > > > { > > > jQuery('#call_me_button').hide(); > > > jQuery('#text_me_button').show(); > > > } else { > > > jQuery('#text_me_button').hide(); > > > jQuery('#call_me_button').show(); > > > } > > > }); > > > }); > > > </script> > > > {{elif request.args(0) == 'two':}} > > > {{if session.verify_method == 'SMS':}} > > > {{#SendSMS(auth.user.mobile, code)}} > > > An SMS text message has been sent to your mobile phone. > > > {{=code}} > > > {{else:}} > > > {{#OriginateCall(auth.user.mobile, code)}} > > > Your phone is ringing, please answer it. > > > {{=code}} > > > {{pass}} > > > {{session.verify_code = str(code)}} > > > {{=chk_code_form}} > > > {{elif request.args(0) == 'three':}} > > > {{if session.typed_code == session.verify_code:}} > > > <h4>Success!</h4> > > > You should now add some contacts. Click <a > > > href="{{=URL('auth_user', > > > args='manage_contacts')}}">here</a> to manage your contacts. > > > {{else:}} > > > <h4>Sorry, but the code you entered didn't work.</h4> > > > Click <a href="{{=URL('auth_user', > > > args='statistics')}}">here</a> to > > > try validating your phone again. > > > {{pass}} > > > {{pass}} > > > --snip-- > > > > For the view that calls the LOAD function: > > > {{extend 'layout.html'}} > > > <div id="box3" class="box-style"> > > > <h2 class="title">{{=page_title}}</h2> > > > <div class="content"> > > > {{if auth.user.phone_verified == False:}} > > > {{=LOAD(c='default', f='mobile_verify', args='one', > > > extension='load', ajax=True)}} > > > {{else:}} > > > <p>blah</p> > > > {{pass}} > > > </div> > > > </div> > > > --snip-- > > > > Help! Any ideas are greatly appreciated. > > > > Version 1.91.6 (2011-01-03 17:55:14) > > > > --Marc > > > -- > > Ovidio Marinho Falcao Neto > > ovidio...@gmail.com > > Tecnologia da Informaçao > > Casa Civil do Governador > > 83 3214 7885 - 88269088 > > Paraiba