Block pages on time

36 views
Skip to first unread message

Константин Комков

unread,
May 14, 2019, 7:06:19 AM5/14/19
to web2py-users
Hello! I have that page: https://oas.timacad.ru/application.
default.py:
def index():
    interval
= db().select(db.t_admission_schedule.BEGINNING,db.t_admission_schedule.END_APP,orderby=~db.t_admission_schedule.END_APP).first()
   
if ((datetime.datetime.now().date()>=interval.BEGINNING) & (datetime.datetime.now().date()<interval.END_APP))
   
...
   
else:
        text
= DIV(
            XML
('<h4 class="text-center" style="text-transform:uppercase">До старта приёмной кампании осталось:</h4>')
       
)
        delta
= datetime.datetime(interval.BEGINNING.year,interval.BEGINNING.month,interval.BEGINNING.day,0,0) - datetime.datetime.now()
        seconds
= delta.total_seconds()
       
return dict(text=text,seconds=seconds)

Can you take advice, how blocked and unblock all pages for controller bak.py for users cant see pages like https://oas.timacad.ru/application/bak/swed and see page with 403 error?

Val K

unread,
May 14, 2019, 7:27:49 AM5/14/19
to web2py-users
Just place
raise HTTP(403,'blah')
at first line of the controller

Константин Комков

unread,
May 14, 2019, 8:16:32 AM5/14/19
to web2py-users
Thank you! I do like that:
interval = db().select(db.t_admission_schedule.BEGINNING,db.t_admission_schedule.END_APP,orderby=~db.t_admission_schedule.END_APP).first()
if ((datetime.datetime.now().date()<interval.BEGINNING) | (datetime.datetime.now().date()>interval.END_APP)):
    raise HTTP(403)
One more question. Now I see "403 FORBIDDEN", but if I check code of page 403.html I see only 403. How can I redirect user on 403.html?

Константин Комков

unread,
May 14, 2019, 10:03:08 AM5/14/19
to web2py-users
Maybe I can use it?
raise redirect(URL('static','403.html'))


Val K

unread,
May 14, 2019, 10:40:47 AM5/14/19
to web2py-users
Yes, but without raise

Massimo Di Pierro

unread,
May 15, 2019, 12:55:13 AM5/15/19
to web2py-users
Intreresting

raise redirect(...)

and

redirect(....)

behave the same because the redirect function raises HTTP so the other raise is never excuted

On Tuesday, 14 May 2019 07:40:47 UTC-7, Val K wrote:
Yes, but without raise
Reply all
Reply to author
Forward
0 new messages