Hello I am having a problem with my login form
I have a login form on my index page. If a user enters wrong pass there is no error msg only page is reloaded Any suggestion? Thank you My controller: def index(): # If user is not logged in if not auth.is_logged_in(): auth.settings.formstyle='bootstrap' db.auth_user.email.widget = lambda f,v: SQLFORM.widgets.string.widget(f, v, _placeholder='Enter your email address') db.auth_user.password.widget = lambda f,v: SQLFORM.widgets.password.widget(f, v, _placeholder='Enter your password') return dict(formLogin = auth(), loggedIn = False) "brez sc_menu_data ker ga ne rabmo" scripts = db((db.auth_user.id == auth.user_id) & (db.scripts.sc_organization == db.auth_user.organization) ).select(db.scripts.id, db.scripts.sc_status, db.scripts.sc_cal_start, db.scripts.sc_cal_end, db.scripts.sc_name, db.scripts.sc_modified, db.scripts.sc_verification_date, orderby = db.scripts.id).as_list() for script in scripts: sa_start = db(db.script_activity.sa_id_script == script['id']).select(db.script_activity.sa_start, orderby = ~db.script_activity.sa_start, limitby = (0, 1)).as_list() script['sa_start'] = sa_start[0]['sa_start'] if sa_start else None ##pogledamo še kakšen je status userja (free user itd) user = auth.user_id #userRegDate = db(db.auth_user.id == user).select(db.auth_user.regdate).first()["regdate"] userFreeEndDate = db(db.accounting.ac_organization == user).select(db.accounting.ac_end_date).first()["ac_end_date"] email = db(db.auth_user.id == user).select(db.auth_user.email).first()["email"] org = db(db.auth_user.id == user).select(db.auth_user.organization).first()["organization"] userStatus = db(db.accounting.ac_organization == org).select(db.accounting.ac_customer,db.accounting.ac_run_status).first() userType = userStatus.ac_customer runStatus = userStatus.ac_run_status today = datetime.datetime.now() """"če je trenutni datum manjši od datuma registracije + 30 dni pol je user free user Drugače se prestavi runStatus na 1 in user ne more več računat, ac_end_date se pa poveča za 7 dni""" "userFreeEndDate je datum registracije + 30 dni, ki se ga prebere iz baze" "newUserRegEndDate je datum registracije + 30 dni, ki se zračuna že na začetku + 7 dni, samo se računa iz datuma registracije" note = db(db.accounting.ac_organization == user).select(db.accounting.ac_note).first()["ac_note"] """Če je danes večji od konca free user acounta in v polju ac_note ni nič, kar pomeni da se mu mail še ni poslal, se runstatus spremeni v 1 in pošlje se mail, ter new user date se skreira ki je 7 dni kasnej da lahko še en teden gleda ne more pa računat""" if ((today.date() > userFreeEndDate) and (not note or note is None)): "runStatus gre v 1 in in ac_end_Date se poveča za 7 dni, uporabnik ne more več dat računat" newUserRegEndDate = userFreeEndDate + datetime.timedelta(days=7) db(db.accounting.ac_organization == user).update(ac_run_status = 1, ac_end_date = newUserRegEndDate) runStatus = 1 #TO-DO #Pošlji mail obema, in to se zapiše v ac_note da se ne pošilja vsakič ko kdo klikne F5 message_content = T('Your Free user account expired. If you are satisfied with Woshi and would like to use it more, please contact xxx to extend \ your subscription. Thank you') mail.send(to=[email], subject='Woshi Free user account expired', message=message_content, ) mail.send(to = 'xx', subject= 'User account expired', message = 'User with e-mail address ' + email + ' has expired his subscription. Better call him !' ) db(db.accounting.ac_organization == user).update(ac_note = 'Free user expiration mail sent.') "Če je danes po tem ko ma user konc accounta - tega se ročno nastavla" elif ((today.date() > userFreeEndDate) and (runStatus == 1)): "User ne more računat zato gre ac_run_status v 0 in user ne more ni več, tud ne vid več svojih skript itd." db(db.accounting.ac_organization == user).update(ac_run_status = 0) runStatus = 0 #TO-DO #Pošlji mail obema message_content = T('Your user account expired. Please contact to extend your subscription and continue using Woshi.') mail.send(to=[email], subject='Woshi User account expired', message=message_content, ) mail.send(to = 'xxxx', subject= 'User account expired', message = 'User with e-mail address ' + email + ' has expired his subscription. Better call him !') db(db.accounting.ac_organization == user).update(ac_note = 'User cannot use Woshi anymore. His subscription expired.') return dict(loggedIn = True, scripts = scripts, message=T("Hello World"),userType = userType, runStatus = runStatus) my View (index.hmtl): {{ if not loggedIn: }} <div class="row" style="height: calc(100% - 20px); margin-top: 20px;"> <div class="col-md-4 box-login" > <div class="box-shadow margin-bottom-10"> <h1>{{=T('Log in')}}</h1> <div class='bStrapForm'> {{=formLogin}} </div> <div class="row padding-10"> <div class="col-sm-6"><a class="btn btn-success" style="width:100%;" href="{{=URL('default', 'user', args='register')}}">{{=T('Sign up')}}</a></div> <div class="col-sm-6"><a class="btn btn-warning" style="width:100%;" href="{{=URL('default', 'user', args='request_reset_password')}}">{{=T('Forgot password?')}}</a></div> </div> </div> <!-- <div class="box-shadow margin-bottom-10"> --> <!-- <h1>References</h1> --> <!-- <div class='padding-10'> --> <!-- Mercator, Tuš, SIJ, ... --> <!-- </div> --> <!-- </div> --> <div class="jumbotron jumbotron-mini margin-top-10 margin-bottom-10"> <h2>{{=T('Free for 30 days!')}}</h2> <p> <!-- {{=T('We offer automated worker shift generation for up to 3 workers free of charge. You will pay when you will grow!')}} --> <p> <p><a class="btn btn-info btn-lg" target="_blank" href="{{=T('http://www.workerscheduling.com/pricing/')}}">{{=T('More about prices')}}</a></p> </div> <!--<div class="margin-bottom-60">--> <!--<h1>{{=T('How does it work?')}}</h1>--> <!--<div class='padding-10'>--> <!--<iframe style="width: 100%; height: 215px;" src="//www.youtube.com/embed/PqKNCzQMTAQ" frameborder="0" allowfullscreen></iframe>--> <!--</div>--> <!--</div>--> </div> <div class="col-md-8"> <div id='fPage_show'> <h1>{{=T('Automize your work schedule!')}}</h1> <a href="{{=URL('user/register')}}" class="btn btn-success btn-lg">{{=T('Try now for free')}}</a> </div> <hr/> <div class="row" id="fPage_content"> <div class="col-md-4"> <div class='thumbnail' id="pWorkers"> <h2><span>{{=T('Wo')}}</span>{{=T('rkers')}}</h2> <p> {{=T('Set the number of employees for a time periods for each day of week and WoShi will schedules your employees into shifts.')}} </p> </div> </div> <div class="col-md-4"> <div class="thumbnail" id="pShifts"> <h2><span>{{=T('Shi')}}</span>{{=T('ft')}}</h2> <p> {{=T('Set the shifts to all workers for all days of the week and holidays and WoShi will automatically schedule your employees instead of you.')}} </p> </div> </div> <div class="col-md-4"> <div class="thumbnail" id="pAuto"> <h2>{{=T('Save Money')}}</h2> <p> {{=T('You will save time and money using WoShi by reducing the number of overtime hours with the same number of employees.')}} </p> </div> </div> </div> </div> </div> {{ else: }} ... .... ..... -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.