Re: [web2py] Re: Return value from javascript to controller

2013-04-20 Thread Niphlod
for future watchers of this thread: if you test this changing your 
timezone, remember to clear the session in a normal world a user 
doesn't switch timezones within the same session ^_^

-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-19 Thread Niphlod
fast_tz_detector returns a SCRIPT(). 
Of course you can't read it because the page executes it, so it's fine if 
you see a blank space: 
If you see the page source (using firefox, right click -- View page 
source) you'd see a scriptblablablabla/script

On the let's save it to the database topic . try it yourself: 

def index():
print 'Hi, you should save this ', request.vars
some_message = here timezone is detected
tz = fast_tz_detector()
return 

When you return a fast_tz_detector(), as soon as the browser loads the 
page, javascript detects the timezone and it is sent back to the same 
controller function (in this case, index).

Another way is to hack it up somewhere

def index():
if session.plugin_timezone_tz:
   db.sometable.insert(
detected_timezone=session.plugin_timezone_tz, user_id=auth.user_id)
some_message = here timezone is detected
tz = fast_tz_detector()
return .





On Friday, April 19, 2013 3:58:09 AM UTC+2, fun man wrote:

 hi Niphlod,

 I've tried your example in the attachment. The good news is that the user 
 selected timezone it the profile/register page is working consistently! 
 Great work! Thank you!

 The bad news is that the dynamic detection, and return from the client 
 session is still not working...
 def index():
 some_message = here timezone is detected
 tz = fast_tz_detector()

 I found out that tz is still not returning anything in the index page. 
 That should be my landing page, and once this is detected. I want to move 
 this value to the db. Then use it for the rest of the other functions in 
 the application.

 I am reading your plugin, and it will take me some time to really figure 
 out what is going on inside fast_tz_detector()... Not sure why it didn't 
 return the thing I want :-)


 On Thu, Apr 18, 2013 at 6:08 PM, fun man funm...@gmail.com 
 javascript:wrote:

 Sorry Niphlod. I was on my phone, and didn't see this attachment. Thanks 
 again for helping me out without asking for anything. I will try to learn 
 from your example. 


 On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk funm...@gmail.comjavascript:
  wrote:

 Btw, I want to say that Niphlod has been very helpful. I am definitely 
 missing the HTML+JS knowledge, but that didn't stop me to try out in web2py 
 and have a good attempt on this issue. 

 I am one little step away from solving this time zone problem haunting 
 me for a few months.  I wouldn't have the courage to start this adventure 
 without seeing the community's effort here. 

 Thanks Niphlod, and everyone to create and support this. 

 On 19 Apr, 2013, at 3:13, Niphlod nip...@gmail.com javascript: 
 wrote:

 packed an app with a few examples: might explain better how to deal with 
 timezones.

 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:

 yes. I am with you. I didn't store timezone in the db, and will be 
 using UTC for all input to the db too.

 I hope to find a way to use the detected timezone to use in the 
 .represent method for the sqlform.grid.
 db.prototype.modified_on.**represent = lambda value, row : 
 pytz.UTC.localize(value).**astimezone(pytz.timezone('**Asia/Tokyo')) 

 The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I 
 am trying to get the value from your plugin to replace my hard coded one 
 above.


 On Fri, Apr 19, 2013 at 12:41 AM, Niphlod nip...@gmail.com wrote:

 the whole point of timezone normalization is NOT having a timezone 
 attached at the end. 
 It's storing in the database as UTC and displaying as localized to 
 the users.
 Are we sure that you fully grasped what the timezone implementation on 
 the IS_DATE* validators in web2py and that that idea fits with your one ?


 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:

 i am not using any specific language translation. It should be the 
 default language.

 i also think that it is timezone issue, but not very sure how to do 
 the normalization. The model i use is Field('modified_on', 
 'datetime'), 
 I see that there is no timezone attached at the end.


 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:

 that seems more a problem with the format of the date than the fact 
 that it has to be timezone-normalizedwhat language translation 
 are 
 you using ?

 PS: what I meant with landing page is that you're sure that the 
 user will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the 
 form page 

 -- 
  
 --- 
 You received this message because you are subscribed to a topic in 
 the Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 to**pic/web2py/aV1nNiDIwiY/**unsubsc**ribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
  To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@**googlegroups.com.

 For more options, visit 
 

Re: [web2py] Re: Return value from javascript to controller

2013-04-19 Thread fun man
Thanks again, Niphlod. I am getting close to finish what i want to do :-)

I can see that I get the time zone. After changing the timezone a few
times, I am not seeing it any more.

I am trying to trouble shoot this. I figured that i need to close my
browser, but this doesn't seem to make it work again...

please visit:
http://127.0.0.1:8000/
starting browser...
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {'timezone': 'Asia/Shanghai'}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {'timezone': 'Asia/Shanghai'}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {'timezone': 'Africa/Johannesburg'}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {'timezone': 'Africa/Johannesburg'}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {'timezone': 'Africa/Johannesburg'}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {'timezone': 'America/Los_Angeles'}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}

C:\Users\lab\Downloads\web2pypython web2py.py
No handlers could be found for logger web2py
web2py Web Framework
Created by Massimo Di Pierro, Copyright 2007-2013
Version 2.4.5-stable+timestamp.2013.03.18.22.46.22
Database drivers available: SQLite(sqlite3), MySQL(pymysql),
PostgreSQL(pg8000), MS
odbc), Ingres(pyodbc), IMAP(imaplib)
please visit:
http://127.0.0.1:8000/
starting browser...
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
please visit:
http://172.27.169.52:8000/
starting browser...
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}
Hi, you should save this  Storage {}





On Fri, Apr 19, 2013 at 12:39 AM, Niphlod niph...@gmail.com wrote:

 fast_tz_detector returns a SCRIPT().
 Of course you can't read it because the page executes it, so it's fine
 if you see a blank space:
 If you see the page source (using firefox, right click -- View page
 source) you'd see a scriptblablablabla/script

 On the let's save it to the database topic . try it yourself:

 def index():
 print 'Hi, you should save this ', request.vars
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return 

 When you return a fast_tz_detector(), as soon as the browser loads the
 page, javascript detects the timezone and it is sent back to the same
 controller function (in this case, index).

 Another way is to hack it up somewhere

 def index():
 if session.plugin_timezone_tz:
db.sometable.insert(
 detected_timezone=session.plugin_timezone_tz, user_id=auth.user_id)

 some_message = here timezone is detected
 tz = fast_tz_detector()

 return .





 On Friday, April 19, 2013 3:58:09 AM UTC+2, fun man wrote:

 hi Niphlod,

 I've tried your example in the attachment. The good news is that the user
 selected timezone it the profile/register page is working consistently!
 Great work! Thank you!

 The bad news is that the dynamic detection, and return from the client
 session is still not working...
 def index():
 some_message = here timezone is detected
 tz = fast_tz_detector()

 I found out that tz is still not returning anything in the index page.
 That should be my landing page, and once this is detected. I want to move
 this value to the db. Then use it for the rest of the other functions in
 the application.

 I am reading your plugin, and it will take me some time to really figure
 out what is going on inside fast_tz_detector()... Not sure why it didn't
 return the thing I want :-)


 On Thu, Apr 18, 2013 at 6:08 PM, fun man funm...@gmail.com wrote:

 Sorry Niphlod. I was on my phone, and didn't see this attachment. Thanks
 again for helping me out without asking for anything. I will try to learn
 from your example.


 On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk 

Re: [web2py] Re: Return value from javascript to controller

2013-04-19 Thread Funmanhk
Niphlod,

Thank you for pointing this out. I have some serious learning ahead. Thank you 
for being patient with my questions. 

I am good with your approach below. The first suggestion works out for me, and 
my time zone issue is resolved. 

Thank you!

On 19 Apr, 2013, at 15:39, Niphlod niph...@gmail.com wrote:

 fast_tz_detector returns a SCRIPT(). 
 Of course you can't read it because the page executes it, so it's fine if 
 you see a blank space: 
 If you see the page source (using firefox, right click -- View page source) 
 you'd see a scriptblablablabla/script
 
 On the let's save it to the database topic . try it yourself: 
 
 def index():
 print 'Hi, you should save this ', request.vars
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return 
 
 When you return a fast_tz_detector(), as soon as the browser loads the 
 page, javascript detects the timezone and it is sent back to the same 
 controller function (in this case, index).
 
 Another way is to hack it up somewhere
 
 def index():
 if session.plugin_timezone_tz:
db.sometable.insert(
 detected_timezone=session.plugin_timezone_tz, user_id=auth.user_id)
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return .
 
 
 
 
 
 On Friday, April 19, 2013 3:58:09 AM UTC+2, fun man wrote:
 
 hi Niphlod,
 
 I've tried your example in the attachment. The good news is that the user 
 selected timezone it the profile/register page is working consistently! 
 Great work! Thank you!
 
 The bad news is that the dynamic detection, and return from the client 
 session is still not working...
 def index():
 some_message = here timezone is detected
 tz = fast_tz_detector()
 
 I found out that tz is still not returning anything in the index page. That 
 should be my landing page, and once this is detected. I want to move this 
 value to the db. Then use it for the rest of the other functions in the 
 application.
 
 I am reading your plugin, and it will take me some time to really figure out 
 what is going on inside fast_tz_detector()... Not sure why it didn't return 
 the thing I want :-)
 
 
 On Thu, Apr 18, 2013 at 6:08 PM, fun man funm...@gmail.com wrote:
 Sorry Niphlod. I was on my phone, and didn't see this attachment. Thanks 
 again for helping me out without asking for anything. I will try to learn 
 from your example. 
 
 
 On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk funm...@gmail.com wrote:
 Btw, I want to say that Niphlod has been very helpful. I am definitely 
 missing the HTML+JS knowledge, but that didn't stop me to try out in 
 web2py and have a good attempt on this issue. 
 
 I am one little step away from solving this time zone problem haunting me 
 for a few months.  I wouldn't have the courage to start this adventure 
 without seeing the community's effort here. 
 
 Thanks Niphlod, and everyone to create and support this. 
 
 On 19 Apr, 2013, at 3:13, Niphlod nip...@gmail.com wrote:
 
 packed an app with a few examples: might explain better how to deal with 
 timezones.
 
 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:
 
 yes. I am with you. I didn't store timezone in the db, and will be using 
 UTC for all input to the db too.
 
 I hope to find a way to use the detected timezone to use in the 
 .represent method for the sqlform.grid.
 db.prototype.modified_on.represent = lambda value, row : 
 pytz.UTC.localize(value).astimezone(pytz.timezone('Asia/Tokyo')) 
 
 The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I 
 am trying to get the value from your plugin to replace my hard coded one 
 above.
 
 
 On Fri, Apr 19, 2013 at 12:41 AM, Niphlod nip...@gmail.com wrote:
 the whole point of timezone normalization is NOT having a timezone 
 attached at the end. 
 It's storing in the database as UTC and displaying as localized to 
 the users.
 Are we sure that you fully grasped what the timezone implementation on 
 the IS_DATE* validators in web2py and that that idea fits with your one 
 ?
 
 
 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:
 i am not using any specific language translation. It should be the 
 default language.
 
 i also think that it is timezone issue, but not very sure how to do 
 the normalization. The model i use is Field('modified_on', 
 'datetime'), 
 I see that there is no timezone attached at the end.
 
 
 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:
 that seems more a problem with the format of the date than the fact 
 that it has to be timezone-normalizedwhat language translation 
 are you using ?
 
 PS: what I meant with landing page is that you're sure that the 
 user will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the 
 form page
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in 
 the Google Groups web2py-users group.
 To unsubscribe from this topic, 

Re: [web2py] Re: Return value from javascript to controller

2013-04-19 Thread fun man
Hi Niphlod,

def index():
# when people first login, they will get their timezone set.
tz = fast_tz_detector()
print
print 'Hi, you should save this returned by request.vars',
request.vars # if you debug, uncomment this line, and make sure return
tz=tz below

print plugin_timezone_tz == , session.plugin_timezone_tz
if session.plugin_timezone_tz:
if db.userinfo[auth.user_id] == None: # check first time login

db.userinfo.insert(detected_timezone=session.plugin_timezone_tz,
id=auth.user_id)   #insert record
else:

db.userinfo[auth.user_id]=dict(detected_timezone=session.plugin_timezone_tz)
#update record
print  called index  after db udpate = ,
db.userinfo[auth.user_id].detected_timezone


Hi, you should save this returned by request.vars Storage {'timezone':
'Australia/Darwin'}
plugin_timezone_tz ==  America/New_York
 called index  after db udpate =  America/New_York

My machine is set to 'Australia/Darwan' now. request.vars is working fine.

Is there a reason why session.plugin_timezone_tz always return
America/New_York? No matter how I changed my timezone of the client, i
didn't see session.plugin_timezone_tz got updated.

After this, my timezone problem should go away :-)

thanks for your help.



On Fri, Apr 19, 2013 at 5:11 PM, Funmanhk funma...@gmail.com wrote:

 Niphlod,

 Thank you for pointing this out. I have some serious learning ahead. Thank
 you for being patient with my questions.

 I am good with your approach below. The first suggestion works out for me,
 and my time zone issue is resolved.

 Thank you!

 On 19 Apr, 2013, at 15:39, Niphlod niph...@gmail.com wrote:

 fast_tz_detector returns a SCRIPT().
 Of course you can't read it because the page executes it, so it's fine
 if you see a blank space:
 If you see the page source (using firefox, right click -- View page
 source) you'd see a scriptblablablabla/script

 On the let's save it to the database topic . try it yourself:

 def index():
 print 'Hi, you should save this ', request.vars
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return 

 When you return a fast_tz_detector(), as soon as the browser loads the
 page, javascript detects the timezone and it is sent back to the same
 controller function (in this case, index).

 Another way is to hack it up somewhere

 def index():
 if session.plugin_timezone_tz:
db.sometable.insert(
 detected_timezone=session.plugin_timezone_tz, user_id=auth.user_id)
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return .





 On Friday, April 19, 2013 3:58:09 AM UTC+2, fun man wrote:

 hi Niphlod,

 I've tried your example in the attachment. The good news is that the user
 selected timezone it the profile/register page is working consistently!
 Great work! Thank you!

 The bad news is that the dynamic detection, and return from the client
 session is still not working...
 def index():
 some_message = here timezone is detected
 tz = fast_tz_detector()

 I found out that tz is still not returning anything in the index page.
 That should be my landing page, and once this is detected. I want to move
 this value to the db. Then use it for the rest of the other functions in
 the application.

 I am reading your plugin, and it will take me some time to really figure
 out what is going on inside fast_tz_detector()... Not sure why it didn't
 return the thing I want :-)


 On Thu, Apr 18, 2013 at 6:08 PM, fun man funm...@gmail.com wrote:

 Sorry Niphlod. I was on my phone, and didn't see this attachment. Thanks
 again for helping me out without asking for anything. I will try to learn
 from your example.


 On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk funm...@gmail.com wrote:

 Btw, I want to say that Niphlod has been very helpful. I am definitely
 missing the HTML+JS knowledge, but that didn't stop me to try out in web2py
 and have a good attempt on this issue.

 I am one little step away from solving this time zone problem haunting
 me for a few months.  I wouldn't have the courage to start this adventure
 without seeing the community's effort here.

 Thanks Niphlod, and everyone to create and support this.

 On 19 Apr, 2013, at 3:13, Niphlod nip...@gmail.com wrote:

 packed an app with a few examples: might explain better how to deal
 with timezones.

 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:

 yes. I am with you. I didn't store timezone in the db, and will be
 using UTC for all input to the db too.

 I hope to find a way to use the detected timezone to use in the
 .represent method for the sqlform.grid.
 db.prototype.modified_on.**repre**sent = lambda value, row :
 pytz.UTC.localize(value).**astim**ezone(pytz.timezone('**Asia/**Tokyo'))


 The above is working for me. I basically hardcode it to 'Asia/Tokyo'.
 I am trying to get the value from your plugin to replace my hard coded one
 above.


 On Fri, Apr 19, 2013 at 12:41 AM, 

Re: [web2py] Re: Return value from javascript to controller

2013-04-19 Thread fun man
Apologize everyone, and Niphlod,

I forgot to restart my browser, and now the 2 values are consistent ..
my bad for the disturbance.


On Sat, Apr 20, 2013 at 9:16 AM, fun man funma...@gmail.com wrote:

 Hi Niphlod,

 def index():
 # when people first login, they will get their timezone set.
 tz = fast_tz_detector()
 print
 print 'Hi, you should save this returned by request.vars',
 request.vars # if you debug, uncomment this line, and make sure return
 tz=tz below

 print plugin_timezone_tz == , session.plugin_timezone_tz
 if session.plugin_timezone_tz:
 if db.userinfo[auth.user_id] == None: # check first time login

 db.userinfo.insert(detected_timezone=session.plugin_timezone_tz,
 id=auth.user_id)   #insert record
 else:

 db.userinfo[auth.user_id]=dict(detected_timezone=session.plugin_timezone_tz)
 #update record
 print  called index  after db udpate = ,
 db.userinfo[auth.user_id].detected_timezone


 Hi, you should save this returned by request.vars Storage {'timezone':
 'Australia/Darwin'}
 plugin_timezone_tz ==  America/New_York
  called index  after db udpate =  America/New_York

 My machine is set to 'Australia/Darwan' now. request.vars is working fine.

 Is there a reason why session.plugin_timezone_tz always return
 America/New_York? No matter how I changed my timezone of the client, i
 didn't see session.plugin_timezone_tz got updated.

 After this, my timezone problem should go away :-)

 thanks for your help.



 On Fri, Apr 19, 2013 at 5:11 PM, Funmanhk funma...@gmail.com wrote:

 Niphlod,

 Thank you for pointing this out. I have some serious learning ahead.
 Thank you for being patient with my questions.

 I am good with your approach below. The first suggestion works out for
 me, and my time zone issue is resolved.

 Thank you!

 On 19 Apr, 2013, at 15:39, Niphlod niph...@gmail.com wrote:

 fast_tz_detector returns a SCRIPT().
 Of course you can't read it because the page executes it, so it's fine
 if you see a blank space:
 If you see the page source (using firefox, right click -- View page
 source) you'd see a scriptblablablabla/script

 On the let's save it to the database topic . try it yourself:

 def index():
 print 'Hi, you should save this ', request.vars
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return 

 When you return a fast_tz_detector(), as soon as the browser loads the
 page, javascript detects the timezone and it is sent back to the same
 controller function (in this case, index).

 Another way is to hack it up somewhere

 def index():
 if session.plugin_timezone_tz:
db.sometable.insert(
 detected_timezone=session.plugin_timezone_tz, user_id=auth.user_id)
 some_message = here timezone is detected
 tz = fast_tz_detector()
 return .





 On Friday, April 19, 2013 3:58:09 AM UTC+2, fun man wrote:

 hi Niphlod,

 I've tried your example in the attachment. The good news is that the
 user selected timezone it the profile/register page is working
 consistently! Great work! Thank you!

 The bad news is that the dynamic detection, and return from the client
 session is still not working...
 def index():
 some_message = here timezone is detected
 tz = fast_tz_detector()

 I found out that tz is still not returning anything in the index page.
 That should be my landing page, and once this is detected. I want to move
 this value to the db. Then use it for the rest of the other functions in
 the application.

 I am reading your plugin, and it will take me some time to really figure
 out what is going on inside fast_tz_detector()... Not sure why it didn't
 return the thing I want :-)


 On Thu, Apr 18, 2013 at 6:08 PM, fun man funm...@gmail.com wrote:

 Sorry Niphlod. I was on my phone, and didn't see this attachment.
 Thanks again for helping me out without asking for anything. I will try to
 learn from your example.


 On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk funm...@gmail.com wrote:

 Btw, I want to say that Niphlod has been very helpful. I am definitely
 missing the HTML+JS knowledge, but that didn't stop me to try out in 
 web2py
 and have a good attempt on this issue.

 I am one little step away from solving this time zone problem haunting
 me for a few months.  I wouldn't have the courage to start this adventure
 without seeing the community's effort here.

 Thanks Niphlod, and everyone to create and support this.

 On 19 Apr, 2013, at 3:13, Niphlod nip...@gmail.com wrote:

 packed an app with a few examples: might explain better how to deal
 with timezones.

 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:

 yes. I am with you. I didn't store timezone in the db, and will be
 using UTC for all input to the db too.

 I hope to find a way to use the detected timezone to use in the
 .represent method for the sqlform.grid.
 db.prototype.modified_on.**repre**sent = lambda value, row :
 

Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread Niphlod
that seems more a problem with the format of the date than the fact that it 
has to be timezone-normalizedwhat language translation are you using ?

PS: what I meant with landing page is that you're sure that the user will 
hit that page before arriving to the form.
If you are sure, there's no need to embed the LOADed fragment in the form 
page

-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread fun man
i am not using any specific language translation. It should be the default
language.

i also think that it is timezone issue, but not very sure how to do the
normalization. The model i use is Field('modified_on', 'datetime'),
I see that there is no timezone attached at the end.


On Thu, Apr 18, 2013 at 7:11 PM, Niphlod niph...@gmail.com wrote:

 that seems more a problem with the format of the date than the fact that
 it has to be timezone-normalizedwhat language translation are you
 using ?

 PS: what I meant with landing page is that you're sure that the user
 will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the form
 page

 --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread Niphlod
the whole point of timezone normalization is NOT having a timezone 
attached at the end. 
It's storing in the database as UTC and displaying as localized to the 
users.
Are we sure that you fully grasped what the timezone implementation on the 
IS_DATE* validators in web2py and that that idea fits with your one ?

On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:

 i am not using any specific language translation. It should be the default 
 language.

 i also think that it is timezone issue, but not very sure how to do the 
 normalization. The model i use is Field('modified_on', 'datetime'), 
 I see that there is no timezone attached at the end.


 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com 
 javascript:wrote:

 that seems more a problem with the format of the date than the fact that 
 it has to be timezone-normalizedwhat language translation are you 
 using ?

 PS: what I meant with landing page is that you're sure that the user 
 will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the form 
 page 

 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread fun man
yes. I am with you. I didn't store timezone in the db, and will be using
UTC for all input to the db too.

I hope to find a way to use the detected timezone to use in the .represent
method for the sqlform.grid.
db.prototype.modified_on.represent = lambda value, row :
pytz.UTC.localize(value).astimezone(pytz.timezone('Asia/Tokyo'))

The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I am
trying to get the value from your plugin to replace my hard coded one above.


On Fri, Apr 19, 2013 at 12:41 AM, Niphlod niph...@gmail.com wrote:

 the whole point of timezone normalization is NOT having a timezone
 attached at the end.
 It's storing in the database as UTC and displaying as localized to the
 users.
 Are we sure that you fully grasped what the timezone implementation on the
 IS_DATE* validators in web2py and that that idea fits with your one ?


 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:

 i am not using any specific language translation. It should be the
 default language.

 i also think that it is timezone issue, but not very sure how to do the
 normalization. The model i use is Field('modified_on', 'datetime'),
 I see that there is no timezone attached at the end.


 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:

 that seems more a problem with the format of the date than the fact that
 it has to be timezone-normalizedwhat language translation are you
 using ?

 PS: what I meant with landing page is that you're sure that the user
 will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the
 form page

 --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 topic/web2py/aV1nNiDIwiY/**unsubscribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
 To unsubscribe from this group and all its topics, send an email to
 web2py+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread Funmanhk
Thanks Niphlod. May I know where I can pick up the examples? 

Appreciate your help on this. 



On 19 Apr, 2013, at 3:13, Niphlod niph...@gmail.com wrote:

 packed an app with a few examples: might explain better how to deal with 
 timezones.
 
 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:
 
 yes. I am with you. I didn't store timezone in the db, and will be using UTC 
 for all input to the db too.
 
 I hope to find a way to use the detected timezone to use in the .represent 
 method for the sqlform.grid.
 db.prototype.modified_on.represent = lambda value, row : 
 pytz.UTC.localize(value).astimezone(pytz.timezone('Asia/Tokyo')) 
 
 The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I am 
 trying to get the value from your plugin to replace my hard coded one above.
 
 
 On Fri, Apr 19, 2013 at 12:41 AM, Niphlod nip...@gmail.com wrote:
 the whole point of timezone normalization is NOT having a timezone 
 attached at the end. 
 It's storing in the database as UTC and displaying as localized to the 
 users.
 Are we sure that you fully grasped what the timezone implementation on the 
 IS_DATE* validators in web2py and that that idea fits with your one ?
 
 
 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:
 i am not using any specific language translation. It should be the default 
 language.
 
 i also think that it is timezone issue, but not very sure how to do the 
 normalization. The model i use is Field('modified_on', 'datetime'), 
 I see that there is no timezone attached at the end.
 
 
 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:
 that seems more a problem with the format of the date than the fact that 
 it has to be timezone-normalizedwhat language translation are you 
 using ?
 
 PS: what I meant with landing page is that you're sure that the user 
 will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the form 
 page
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com.
 
 For more options, visit https://groups.google.com/groups/opt_out.
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the Google 
 Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  
 web2py.app.fun_man.w2p

-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread Funmanhk
Btw, I want to say that Niphlod has been very helpful. I am definitely missing 
the HTML+JS knowledge, but that didn't stop me to try out in web2py and have a 
good attempt on this issue. 

I am one little step away from solving this time zone problem haunting me for a 
few months.  I wouldn't have the courage to start this adventure without seeing 
the community's effort here. 

Thanks Niphlod, and everyone to create and support this. 

On 19 Apr, 2013, at 3:13, Niphlod niph...@gmail.com wrote:

 packed an app with a few examples: might explain better how to deal with 
 timezones.
 
 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:
 
 yes. I am with you. I didn't store timezone in the db, and will be using UTC 
 for all input to the db too.
 
 I hope to find a way to use the detected timezone to use in the .represent 
 method for the sqlform.grid.
 db.prototype.modified_on.represent = lambda value, row : 
 pytz.UTC.localize(value).astimezone(pytz.timezone('Asia/Tokyo')) 
 
 The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I am 
 trying to get the value from your plugin to replace my hard coded one above.
 
 
 On Fri, Apr 19, 2013 at 12:41 AM, Niphlod nip...@gmail.com wrote:
 the whole point of timezone normalization is NOT having a timezone 
 attached at the end. 
 It's storing in the database as UTC and displaying as localized to the 
 users.
 Are we sure that you fully grasped what the timezone implementation on the 
 IS_DATE* validators in web2py and that that idea fits with your one ?
 
 
 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:
 i am not using any specific language translation. It should be the default 
 language.
 
 i also think that it is timezone issue, but not very sure how to do the 
 normalization. The model i use is Field('modified_on', 'datetime'), 
 I see that there is no timezone attached at the end.
 
 
 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:
 that seems more a problem with the format of the date than the fact that 
 it has to be timezone-normalizedwhat language translation are you 
 using ?
 
 PS: what I meant with landing page is that you're sure that the user 
 will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the form 
 page
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com.
 
 For more options, visit https://groups.google.com/groups/opt_out.
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the Google 
 Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  
 web2py.app.fun_man.w2p

-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread fun man
Sorry Niphlod. I was on my phone, and didn't see this attachment. Thanks
again for helping me out without asking for anything. I will try to learn
from your example.


On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk funma...@gmail.com wrote:

 Btw, I want to say that Niphlod has been very helpful. I am definitely
 missing the HTML+JS knowledge, but that didn't stop me to try out in web2py
 and have a good attempt on this issue.

 I am one little step away from solving this time zone problem haunting me
 for a few months.  I wouldn't have the courage to start this adventure
 without seeing the community's effort here.

 Thanks Niphlod, and everyone to create and support this.

 On 19 Apr, 2013, at 3:13, Niphlod niph...@gmail.com wrote:

 packed an app with a few examples: might explain better how to deal with
 timezones.

 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:

 yes. I am with you. I didn't store timezone in the db, and will be using
 UTC for all input to the db too.

 I hope to find a way to use the detected timezone to use in the
 .represent method for the sqlform.grid.
 db.prototype.modified_on.**represent = lambda value, row :
 pytz.UTC.localize(value).**astimezone(pytz.timezone('**Asia/Tokyo'))

 The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I
 am trying to get the value from your plugin to replace my hard coded one
 above.


 On Fri, Apr 19, 2013 at 12:41 AM, Niphlod nip...@gmail.com wrote:

 the whole point of timezone normalization is NOT having a timezone
 attached at the end.
 It's storing in the database as UTC and displaying as localized to the
 users.
 Are we sure that you fully grasped what the timezone implementation on
 the IS_DATE* validators in web2py and that that idea fits with your one ?


 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:

 i am not using any specific language translation. It should be the
 default language.

 i also think that it is timezone issue, but not very sure how to do the
 normalization. The model i use is Field('modified_on', 'datetime'),
 I see that there is no timezone attached at the end.


 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:

 that seems more a problem with the format of the date than the fact
 that it has to be timezone-normalizedwhat language translation are
 you using ?

 PS: what I meant with landing page is that you're sure that the user
 will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the
 form page

 --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**to
 **pic/web2py/aV1nNiDIwiY/**unsubsc**ribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
  To unsubscribe from this group and all its topics, send an email to
 web2py+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**grou**ps/opt_outhttps://groups.google.com/groups/opt_out
 .




  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 topic/web2py/aV1nNiDIwiY/**unsubscribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
 To unsubscribe from this group and all its topics, send an email to
 web2py+un...@**googlegroups.com.
 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.



 web2py.app.fun_man.w2p



-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-18 Thread fun man
hi Niphlod,

I've tried your example in the attachment. The good news is that the user
selected timezone it the profile/register page is working consistently!
Great work! Thank you!

The bad news is that the dynamic detection, and return from the client
session is still not working...
def index():
some_message = here timezone is detected
tz = fast_tz_detector()

I found out that tz is still not returning anything in the index page. That
should be my landing page, and once this is detected. I want to move this
value to the db. Then use it for the rest of the other functions in the
application.

I am reading your plugin, and it will take me some time to really figure
out what is going on inside fast_tz_detector()... Not sure why it didn't
return the thing I want :-)


On Thu, Apr 18, 2013 at 6:08 PM, fun man funma...@gmail.com wrote:

 Sorry Niphlod. I was on my phone, and didn't see this attachment. Thanks
 again for helping me out without asking for anything. I will try to learn
 from your example.


 On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk funma...@gmail.com wrote:

 Btw, I want to say that Niphlod has been very helpful. I am definitely
 missing the HTML+JS knowledge, but that didn't stop me to try out in web2py
 and have a good attempt on this issue.

 I am one little step away from solving this time zone problem haunting me
 for a few months.  I wouldn't have the courage to start this adventure
 without seeing the community's effort here.

 Thanks Niphlod, and everyone to create and support this.

 On 19 Apr, 2013, at 3:13, Niphlod niph...@gmail.com wrote:

 packed an app with a few examples: might explain better how to deal with
 timezones.

 On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:

 yes. I am with you. I didn't store timezone in the db, and will be using
 UTC for all input to the db too.

 I hope to find a way to use the detected timezone to use in the
 .represent method for the sqlform.grid.
 db.prototype.modified_on.**represent = lambda value, row :
 pytz.UTC.localize(value).**astimezone(pytz.timezone('**Asia/Tokyo'))

 The above is working for me. I basically hardcode it to 'Asia/Tokyo'. I
 am trying to get the value from your plugin to replace my hard coded one
 above.


 On Fri, Apr 19, 2013 at 12:41 AM, Niphlod nip...@gmail.com wrote:

 the whole point of timezone normalization is NOT having a timezone
 attached at the end.
 It's storing in the database as UTC and displaying as localized to
 the users.
 Are we sure that you fully grasped what the timezone implementation on
 the IS_DATE* validators in web2py and that that idea fits with your one ?


 On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:

 i am not using any specific language translation. It should be the
 default language.

 i also think that it is timezone issue, but not very sure how to do
 the normalization. The model i use is Field('modified_on', 
 'datetime'),
 I see that there is no timezone attached at the end.


 On Thu, Apr 18, 2013 at 7:11 PM, Niphlod nip...@gmail.com wrote:

 that seems more a problem with the format of the date than the fact
 that it has to be timezone-normalizedwhat language translation are
 you using ?

 PS: what I meant with landing page is that you're sure that the
 user will hit that page before arriving to the form.
 If you are sure, there's no need to embed the LOADed fragment in the
 form page

 --

 ---
 You received this message because you are subscribed to a topic in
 the Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 to**pic/web2py/aV1nNiDIwiY/**unsubsc**ribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
  To unsubscribe from this group and all its topics, send an email to
 web2py+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**grou**ps/opt_outhttps://groups.google.com/groups/opt_out
 .




  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 topic/web2py/aV1nNiDIwiY/**unsubscribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
 To unsubscribe from this group and all its topics, send an email to
 web2py+un...@**googlegroups.com.
 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.



 web2py.app.fun_man.w2p




-- 

--- 
You received this message because you are subscribed to the Google Groups 

Re: [web2py] Re: Return value from javascript to controller

2013-04-17 Thread Niphlod
that's exactly what I tested yesterday evening... can you please try to 
strip out the next=URL('index') part ?
It's the only thing that is different.

On Wednesday, April 17, 2013 4:14:58 AM UTC+2, fun man wrote:

 Hi Niphlod,

 I downloaded the new one, and copied the files over. Keeping my original 
 model. This is now my controller.

 1) fast_tz returns None, 
 2) the submit button to the db was not taken, and the still ask me to 
 fill out the form again.

 Would you mind to take a look at it? thanks for your help.

 def test():
 fast_tz = fast_tz_detector()
 #create a new appt
 form = SQLFORM(db.sometable).process(next=URL('index'))
 if form.process().accepted:
 response.flash = 'form accepted'
 elif form.errors:
 response.flash = 'form has errors'
 else:
 response.flash = 'please fill out the form'
 return dict(form=form, fast_tz=fast_tz)
 




 On Wed, Apr 17, 2013 at 3:17 AM, Niphlod nip...@gmail.com 
 javascript:wrote:



 On Tuesday, April 16, 2013 8:10:38 PM UTC+2, fun man wrote:

 Hi Niphlod,

 I need to trouble you again for your guidance.

 I've successfully copied the files. I've added a new application tz_test 
 to test the plugin.

 This is my controller and there are some other scaffolding coded not 
 included.
 ==**==
 import pytz
 from plugin_timezone import fast_tz_detector

 def detect_timezone():
 tz = fast_tz_detector()
 return dict(tz=tz)

 def test():
 detect_timezone()
 zone = session.plugin_timezone_tz
 form = SQLFORM.grid(db.sometable)
 return dict(form=form)
 
 This is my model.
 =
 db = DAL(sqlite://storage.sqlite)
 import pytz
 user_timezone = session.plugin_timezone_tz or 'UTC'
 db.define_table('sometable',
   Field('appointment', 'datetime', 
 requires=IS_DATETIME(timezone=**pytz.timezone(user_timezone))
   )
 )


 Ohhh, whoopsie. it needs a fix, sorry ^_^ 
 Redownload the plugin from github.

 PS: That will work ok if a user landed on the detect_timezone 
 pageif you need to autodetect in the same page as the form, you should 
 be able to do

 def test():
   fast_tz = fast_tz_detector()
   form = yourform .

   .
   return dict(form=form, fast_tz=fast_tz)


 all in one shot (given that you use the generic template nothing has to 
 be done, if you use your own you need to include somewhere {{=fast_tz}} in 
 it)

  -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-17 Thread fun man
Hi Niplod,

It still behaves similarly.

1) fast_tz returns None,
2) the submit button to the db was not taken, and the still ask me to
fill out the form again.

This is my updated controller.
def test():
fast_tz = fast_tz_detector()
#create a new appt
form = SQLFORM(db.sometable).process()
if form.process().accepted:
response.flash = 'form accepted'
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill out the form'
return dict(form=form, fast_tz=fast_tz)



On Wed, Apr 17, 2013 at 3:10 PM, Niphlod niph...@gmail.com wrote:

 that's exactly what I tested yesterday evening... can you please try to
 strip out the next=URL('index') part ?
 It's the only thing that is different.


 On Wednesday, April 17, 2013 4:14:58 AM UTC+2, fun man wrote:

 Hi Niphlod,

 I downloaded the new one, and copied the files over. Keeping my original
 model. This is now my controller.

 1) fast_tz returns None,
 2) the submit button to the db was not taken, and the still ask me to
 fill out the form again.

 Would you mind to take a look at it? thanks for your help.

 def test():
 fast_tz = fast_tz_detector()
 #create a new appt
 form = SQLFORM(db.sometable).process(**next=URL('index'))
 if form.process().accepted:
 response.flash = 'form accepted'
 elif form.errors:
 response.flash = 'form has errors'
 else:
 response.flash = 'please fill out the form'
 return dict(form=form, fast_tz=fast_tz)





 On Wed, Apr 17, 2013 at 3:17 AM, Niphlod nip...@gmail.com wrote:



 On Tuesday, April 16, 2013 8:10:38 PM UTC+2, fun man wrote:

 Hi Niphlod,

 I need to trouble you again for your guidance.

 I've successfully copied the files. I've added a new application
 tz_test to test the plugin.

 This is my controller and there are some other scaffolding coded not
 included.
 ====
 import pytz
 from plugin_timezone import fast_tz_detector

 def detect_timezone():
 tz = fast_tz_detector()
 return dict(tz=tz)

 def test():
 detect_timezone()
 zone = session.plugin_timezone_tz
 form = SQLFORM.grid(db.sometable)
 return dict(form=form)

 This is my model.
 =
 db = DAL(sqlite://storage.sqlite)
 import pytz
 user_timezone = session.plugin_timezone_tz or 'UTC'
 db.define_table('sometable',
   Field('appointment', 'datetime',
 requires=IS_DATETIME(timezone=pytz.timezone(user_timezone))
   )
 )


 Ohhh, whoopsie. it needs a fix, sorry ^_^
 Redownload the plugin from github.

 PS: That will work ok if a user landed on the detect_timezone
 pageif you need to autodetect in the same page as the form, you should
 be able to do

 def test():
   fast_tz = fast_tz_detector()
   form = yourform .

   .
   return dict(form=form, fast_tz=fast_tz)


 all in one shot (given that you use the generic template nothing has to
 be done, if you use your own you need to include somewhere {{=fast_tz}} in
 it)

  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 topic/web2py/aV1nNiDIwiY/**unsubscribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
 To unsubscribe from this group and all its topics, send an email to
 web2py+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-17 Thread Niphlod
I'll try that again verbatim in a few hours (as soon as I get my hands on a 
pc with python ^_^) and report back.

PS: what error does the form return ?

On Wednesday, April 17, 2013 2:40:25 PM UTC+2, fun man wrote:

 Hi Niplod,

 It still behaves similarly.

 1) fast_tz returns None, 
 2) the submit button to the db was not taken, and the still ask me to 
 fill out the form again.

 This is my updated controller.
 def test():
 fast_tz = fast_tz_detector()
 #create a new appt
 form = SQLFORM(db.sometable).process()
 if form.process().accepted:
 response.flash = 'form accepted'
 elif form.errors:
 response.flash = 'form has errors'
 else:
 response.flash = 'please fill out the form'
 return dict(form=form, fast_tz=fast_tz)



 On Wed, Apr 17, 2013 at 3:10 PM, Niphlod nip...@gmail.com 
 javascript:wrote:

 that's exactly what I tested yesterday evening... can you please try to 
 strip out the next=URL('index') part ?
 It's the only thing that is different.


 On Wednesday, April 17, 2013 4:14:58 AM UTC+2, fun man wrote:

 Hi Niphlod,

 I downloaded the new one, and copied the files over. Keeping my original 
 model. This is now my controller.

 1) fast_tz returns None, 
 2) the submit button to the db was not taken, and the still ask me to 
 fill out the form again.

 Would you mind to take a look at it? thanks for your help.

 def test():
 fast_tz = fast_tz_detector()
 #create a new appt
 form = SQLFORM(db.sometable).process(**next=URL('index'))
 if form.process().accepted:
 response.flash = 'form accepted'
 elif form.errors:
 response.flash = 'form has errors'
 else:
 response.flash = 'please fill out the form'
 return dict(form=form, fast_tz=fast_tz)
 




 On Wed, Apr 17, 2013 at 3:17 AM, Niphlod nip...@gmail.com wrote:



 On Tuesday, April 16, 2013 8:10:38 PM UTC+2, fun man wrote:

 Hi Niphlod,

 I need to trouble you again for your guidance.

 I've successfully copied the files. I've added a new application 
 tz_test to test the plugin.

 This is my controller and there are some other scaffolding coded not 
 included.
 ====
 import pytz
 from plugin_timezone import fast_tz_detector

 def detect_timezone():
 tz = fast_tz_detector()
 return dict(tz=tz)

 def test():
 detect_timezone()
 zone = session.plugin_timezone_tz
 form = SQLFORM.grid(db.sometable)
 return dict(form=form)
 
 This is my model.
 =
 db = DAL(sqlite://storage.sqlite)
 import pytz
 user_timezone = session.plugin_timezone_tz or 'UTC'
 db.define_table('sometable',
   Field('appointment', 'datetime', 
 requires=IS_DATETIME(timezone=
 pytz.timezone(user_timezone))
   )
 )


 Ohhh, whoopsie. it needs a fix, sorry ^_^ 
 Redownload the plugin from github.

 PS: That will work ok if a user landed on the detect_timezone 
 pageif you need to autodetect in the same page as the form, you should 
 be able to do

 def test():
   fast_tz = fast_tz_detector()
   form = yourform .

   .
   return dict(form=form, fast_tz=fast_tz)


 all in one shot (given that you use the generic template nothing has to 
 be done, if you use your own you need to include somewhere {{=fast_tz}} in 
 it)

  -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit https://groups.google.com/d/**
 topic/web2py/aV1nNiDIwiY/**unsubscribe?hl=enhttps://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en
 .
  To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .
  
  


  -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-17 Thread Funmanhk
Hi Niphlod,

As always, thanks for your help. 

I do not think I got an explicit error this time. However, the input is not 
taken. When I clicked submit, the page blink and showed me a blank Add page. 

Regards,

On 17 Apr, 2013, at 23:05, Niphlod niph...@gmail.com wrote:

 I'll try that again verbatim in a few hours (as soon as I get my hands on a 
 pc with python ^_^) and report back.
 
 PS: what error does the form return ?
 
 On Wednesday, April 17, 2013 2:40:25 PM UTC+2, fun man wrote:
 
 Hi Niplod,
 
 It still behaves similarly.
 
 1) fast_tz returns None, 
 2) the submit button to the db was not taken, and the still ask me to fill 
 out the form again.
 
 This is my updated controller.
 def test():
 fast_tz = fast_tz_detector()
 #create a new appt
 form = SQLFORM(db.sometable).process()
 if form.process().accepted:
 response.flash = 'form accepted'
 elif form.errors:
 response.flash = 'form has errors'
 else:
 response.flash = 'please fill out the form'
 return dict(form=form, fast_tz=fast_tz)
 
 
 
 On Wed, Apr 17, 2013 at 3:10 PM, Niphlod nip...@gmail.com wrote:
 that's exactly what I tested yesterday evening... can you please try to 
 strip out the next=URL('index') part ?
 It's the only thing that is different.
 
 
 On Wednesday, April 17, 2013 4:14:58 AM UTC+2, fun man wrote:
 Hi Niphlod,
 
 I downloaded the new one, and copied the files over. Keeping my original 
 model. This is now my controller.
 
 1) fast_tz returns None, 
 2) the submit button to the db was not taken, and the still ask me to 
 fill out the form again.
 
 Would you mind to take a look at it? thanks for your help.
 
 def test():
 fast_tz = fast_tz_detector()
 #create a new appt
 form = SQLFORM(db.sometable).process(next=URL('index'))
 if form.process().accepted:
 response.flash = 'form accepted'
 elif form.errors:
 response.flash = 'form has errors'
 else:
 response.flash = 'please fill out the form'
 return dict(form=form, fast_tz=fast_tz)
 
 
 
 
 
 On Wed, Apr 17, 2013 at 3:17 AM, Niphlod nip...@gmail.com wrote:
 
 
 On Tuesday, April 16, 2013 8:10:38 PM UTC+2, fun man wrote:
 
 Hi Niphlod,
 
 I need to trouble you again for your guidance.
 
 I've successfully copied the files. I've added a new application tz_test 
 to test the plugin.
 
 This is my controller and there are some other scaffolding coded not 
 included.
 
 import pytz
 from plugin_timezone import fast_tz_detector
 
 def detect_timezone():
 tz = fast_tz_detector()
 return dict(tz=tz)
 
 def test():
 detect_timezone()
 zone = session.plugin_timezone_tz
 form = SQLFORM.grid(db.sometable)
 return dict(form=form)
 
 This is my model.
 =
 db = DAL(sqlite://storage.sqlite)
 import pytz
 user_timezone = session.plugin_timezone_tz or 'UTC'
 db.define_table('sometable',
   Field('appointment', 'datetime', 
 requires=IS_DATETIME(timezone=pytz.timezone(user_timezone))
   )
 )
 
 
 Ohhh, whoopsie. it needs a fix, sorry ^_^ 
 Redownload the plugin from github.
 
 PS: That will work ok if a user landed on the detect_timezone 
 pageif you need to autodetect in the same page as the form, you 
 should be able to do
 
 def test():
   fast_tz = fast_tz_detector()
   form = yourform .
 
   .
   return dict(form=form, fast_tz=fast_tz)
 
 all in one shot (given that you use the generic template nothing has to 
 be done, if you use your own you need to include somewhere {{=fast_tz}} 
 in it)
 
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com.
 
 For more options, visit https://groups.google.com/groups/opt_out.
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+un...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
 -- 
  
 --- 
 You received this message because you are subscribed to a topic in the Google 
 Groups web2py-users group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to 
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  

-- 

--- 
You received this message because you are subscribed to the Google Groups 
web2py-users group.
To unsubscribe from this group and stop 

Re: [web2py] Re: Return value from javascript to controller

2013-04-17 Thread Niphlod
ok.

There was an error in your code, a double call to process() .
But there was also on my end: when you do in the same function that shows 
the form a fast_tz_detector(), basically you trigger a POST request that 
updates the formkey associated with the form. 
Blame on me that use LOAD() all the times.

In order to avoid intricacies of CSRF (that you can definitely circumvent 
by hand, but it's not recommended if you don't understand all the 
implications), it's better either to check for the timezone earlier in the 
process.
Actually the module is in use in a site of mine, where a default landing 
page is hit by every user before having the possibility to fill a form ... 
also, it's not useful to check for the user timezone everytime he loads a 
page ^_^.
Even so, if you want to detect the timezone in the same page where there is 
the form, your safest resort would be to include a LOADed component that 
triggers the timezone detection.

Summary: here's the code to accomplish timezone detection in the form
def mytzdetector(): #just does timezone detection
fast_tz = fast_tz_detector()
return dict(fast_tz=fast_tz)

def test():
if not session.plugin_timezone_tz: #if it's already set, skip detection
fast_tz = LOAD('default', 'mytzdetector.load', ajax=True) #load 
with ajax
else:
fast_tz = None

form = SQLFORM(db.sometable)

if form.process().accepted:
response.flash = 'form accepted'
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill out the form'
return dict(form=form, fast_tz=fast_tz)


-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-16 Thread fun man
Hi Niphlod,

I need to trouble you again for your guidance.

I've successfully copied the files. I've added a new application tz_test to
test the plugin.

This is my controller and there are some other scaffolding coded not
included.

import pytz
from plugin_timezone import fast_tz_detector

def detect_timezone():
tz = fast_tz_detector()
return dict(tz=tz)

def test():
detect_timezone()
zone = session.plugin_timezone_tz
form = SQLFORM.grid(db.sometable)
return dict(form=form)

This is my model.
=
db = DAL(sqlite://storage.sqlite)
import pytz
user_timezone = session.plugin_timezone_tz or 'UTC'
db.define_table('sometable',
  Field('appointment', 'datetime',
requires=IS_DATETIME(timezone=pytz.timezone(user_timezone))
  )
)

I called the below page to create a new row in the table.
http://127.0.0.1:8000/tz_test/default/test/new/sometable?_signature=84a55b727259cb27cb2c2234966da9d9b0cd7dfd#

I was given a form to fill, and select a date. Then the form rejected me.
Do you have any suggestion on how i may resolve this?

Appreciate your help to provide some insights..

Thanks
Wayne





On Tue, Apr 16, 2013 at 12:09 AM, Niphlod niph...@gmail.com wrote:

 yep, github downloads a zip that holds a folder that holds the content

 - archive.zip
   - w2p_timezone_plugin-master
 - modules
 - static

 What you need to do is copy the modules and static folders on top of
 your applications one. e.g. if your app is at
 /path/to/web2py/application/yourappname/ you should copy modules and static
 under that folder (which has already a static and a modules folder).

 Don't worry, within each of them there is a folder plugin_timezone that
 holds the plugin content completely separate from your app, so no file
 overwrites will be done.


  --

 ---
 You received this message because you are subscribed to a topic in the
 Google Groups web2py-users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

--- 
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/groups/opt_out.




Re: [web2py] Re: Return value from javascript to controller

2013-04-16 Thread Niphlod


On Tuesday, April 16, 2013 8:10:38 PM UTC+2, fun man wrote:

 Hi Niphlod,

 I need to trouble you again for your guidance.

 I've successfully copied the files. I've added a new application tz_test 
 to test the plugin.

 This is my controller and there are some other scaffolding coded not 
 included.
 
 import pytz
 from plugin_timezone import fast_tz_detector

 def detect_timezone():
 tz = fast_tz_detector()
 return dict(tz=tz)

 def test():
 detect_timezone()
 zone = session.plugin_timezone_tz
 form = SQLFORM.grid(db.sometable)
 return dict(form=form)
 
 This is my model.
 =
 db = DAL(sqlite://storage.sqlite)
 import pytz
 user_timezone = session.plugin_timezone_tz or 'UTC'
 db.define_table('sometable',
   Field('appointment', 'datetime', 
 requires=IS_DATETIME(timezone=pytz.timezone(user_timezone))
   )
 )


Ohhh, whoopsie. it needs a fix, sorry ^_^ 
Redownload the plugin from github.

PS: That will work ok if a user landed on the detect_timezone pageif 
you need to autodetect in the same page as the form, you should be able to 
do

def test():
  fast_tz = fast_tz_detector()
  form = yourform .

  .
  return dict(form=form, fast_tz=fast_tz)


all in one shot (given that you use the generic template nothing has to be 
done, if you use your own you need to include somewhere {{=fast_tz}} in it)

-- 

--- 
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/groups/opt_out.