[web2py] Re: Problem with a virtual field, SQLFORM.grid and the fields parameter

2018-04-14 Thread Anthony


> But with the *field argument* I get an error:
>
> def t():
> form = SQLFORM.grid(
> db.tt,
> *fields=[**db.tt.ff]*
> )
> return dict(form=form)
>
>
What happens if you remove the "fields" argument and instead limit which 
fields display by setting their "readable" attributes to False?

Anthony

-- 
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.


[web2py] Re: PYTHON 3

2018-04-14 Thread Mamisoa Andriantafika
Hi,

I would agree that the docs should be updated: download page, deployment in 
web2py group etc... 

Le mardi 10 avril 2018 00:10:35 UTC+2, Jurgis Pralgauskis a écrit :
>
> Would be good if Py3 support would be highlighted in Instructions 
> http://web2py.com/init/default/download  
> as now it says 
>
> > python*2.7* web2py.py
>
>
> Because most guys go there
> ps.: and because  https://youtu.be/GudJlbK4TY8
>
>>
>

-- 
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.


[web2py] Problem with a virtual field, SQLFORM.grid and the fields parameter

2018-04-14 Thread Martin Weissenboeck
I have a model with a virtual field:

db.define_table("tt",
Field("f"),
Field("gg"),
Field.Virtual("ff", lambda r:r.tt.f)
)


And a grid:

def t():
form = SQLFORM.grid(
db.tt,
)
return dict(form=form)


Works fine.
But with the *field argument* I get an error:

def t():
form = SQLFORM.grid(
db.tt,
*fields=[**db.tt.ff]*
)
return dict(form=form)


Error ticket for "gridtest"
Ticket ID

194.118.190.134.2018-04-14.22-40-01.bc6da3b6-bd21-4dbe-8c78-f50c4a349fec
Version
web2py™ Version 2.15.4-stable+timestamp.2017.09.02.04.02.22
Python Python 2.7.12: /usr/local/bin/uwsgi (prefix: /usr/local)Traceback

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/restricted.py", line 219, in restricted
exec(ccode, environment)
  File "/home/www-data/web2py/applications/gridtest/controllers/default.py"
,
line 105, in 
  File "/home/www-data/web2py/gluon/globals.py", line 414, in 
self._caller = lambda f: f()
  File "/home/www-data/web2py/applications/gridtest/controllers/default.py"
,
line 16, in t
db.tt.ff,
  File "/home/www-data/web2py/gluon/sqlhtml.py", line 2886, in grid
value = row[str(field)]
  File "/home/www-data/web2py/gluon/packages/dal/pydal/objects.py",
line 84, in __getitem__
raise KeyError
KeyError

What is wrong?


Regards Martin

-- 
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.


Re: [web2py] Re: auth decorator with rest api

2018-04-14 Thread Anthony
Hard to say what is going on. Would have to see how these Ajax calls are 
being made and what response is received by the browser. What is the URL in 
the address bar of the browser? Is the site being served by web2py (port 
8000) or by an angular development server (port 4200)?

Anthony

On Saturday, April 14, 2018 at 2:29:02 AM UTC-4, yogeshwar khalkar wrote:
>
> The session cookie is being set and user record is being added to the 
> session upon login.
> but it not being sent back and forth on each request.
>
> Also, self.user is None before logout and logout event is not being added 
> to the auth_event table.
>
> I am confused here with sending session back and forth.
>
> I an using web2py with angular5, every operation is working using rest 
> API, web2py running on port 8000 and angular running on port 4200
>
>
>
> ‌
>
> Thanks,
> Yogeshwar
>
> On Fri, Apr 13, 2018 at 7:39 PM, Anthony wrote:
>
>> So, are both the login and subsequent requests all being made via Ajax 
>> from a browser? If so, confirm that the session cookie is being set and 
>> sent back and forth on each request, and confirm that the user record is 
>> being added to the session upon login.
>>
>>
>> On Friday, April 13, 2018 at 12:27:35 AM UTC-4, yogeshwar khalkar wrote:
>>>
>>> For logging, I am using rest API
>>>
>>> @request.restful()
>>> def login():
>>> def POST():
>>> fields = simplejson.loads(request.body.read())
>>> user = super(Auth, auth).login(**fields)
>>>
>>> return json(user)
>>> return locals()
>>>
>>>
>>> I am using this api in angular so for calling getActivity
>>>
>>> *Angular code*
>>>
>>> this.http.get(this.baseurl+'workflow/getActivity/'+this.processId+'/'+this.id).subscribe(res=>{
>>>   console.log(res);
>>>
>>> });
>>>
>>> this.http.post(this.baseurl+'workflow/getActivity',JSON.stringify(this.actdata)).subscribe(res=>{
>>>   console.log(res);
>>>
>>> });
>>>
>>>
>>> *rest api*
>>>
>>> @auth.requires_login()
>>> @request.restful()
>>> def getActivity(): 
>>>
>>> def GET(process, activity):
>>>
>>> data = "do Something"
>>>
>>> return json(data)
>>>
>>> def POST():
>>>
>>> fields = simplejson.loads(request.body.read())
>>>
>>> data = "do Something"
>>>
>>> return json(data)
>>>
>>> return locals()
>>>
>>>
>>> Thanks,
>>> Yogeshwar
>>>
>>> On Fri, Apr 13, 2018 at 3:52 AM, Anthony wrote:
>>>
 How are you (a) logging in and (b) making the calls to getActivity?


 On Thursday, April 12, 2018 at 8:55:02 AM UTC-4, yogeshwar khalkar 
 wrote:
>
> Hi All,
>
>
> I was implementing the @auth.requires_login() with @request.restful() but 
> it not working.
>
> It redirects me every time even if I am login.
>
>
> @auth.requires_login()
> @request.restful()
> def getActivity(): 
>
> def POST():
>
> data = "do Something"
>
> return json(data)
>
> return locals()
>
>
> Here is my login API
>
>
> @request.restful()
> def login():
> def POST():
> fields = simplejson.loads(request.body.read())
> user = super(Auth, auth).login(**fields)
> return json(user)
> return locals()
>
>
> please help me with it.
>
> -- 
 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.

>>>
>>> -- 
>> 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.
>>
>
>

-- 
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.


[web2py] Re: join and count()

2018-04-14 Thread Anthony
vtx_label is one of the tables involved in the join, so this query just 
counts one of the fields in that table, which should give a single count 
per row returned by the query. Should work the same if you use 
db.vtx_vertex.id.count() or any other field in either table. The point is 
just to do a count on one of the fields in the returned result.

Anthony

On Saturday, April 14, 2018 at 12:34:14 PM UTC-4, Annet wrote:
>
> Hi Anthony,
>
> Thanks for your reply.
>
> Does this work:
>>
>> label_count = db.vtx_label.id.count()
>> count = rowset.select(label_count, join=join).first()[label_count]
>>
>>
> Yes, that works, but I don't understand why it works, could you please 
> explain 
> how your solution works? The table vtx_labels contains lots of labels, does
> label_count count them all?
>
>
> This is the working code:
>
>
> labels = db(db.vtx_label.vertexID==vertexID)._select(db.vtx_label.label)
>
> join = db.vtx_vertex.on((db.vtx_label.vertexID==db.vtx_vertex.id) & 
> (db.vtx_vertex.typeID==IOTHINGID))
>
> rowset = db((db.vtx_label.label.belongs(labels)) & 
> (db.vtx_label.vertexID!=vertexID))
>
> label_count = db.vtx_label.id.count()
> count = rowset.select(label_count, join=join).first()[label_count]
> rows = rowset.select(join=join)
>
>
> Best,
>
> Annet
>

-- 
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.


[web2py] Re: join and count()

2018-04-14 Thread 'Annet' via web2py-users
Hi Anthony,

Thanks for your reply.

Does this work:
>
> label_count = db.vtx_label.id.count()
> count = rowset.select(label_count, join=join).first()[label_count]
>
>
Yes, that works, but I don't understand why it works, could you please 
explain 
how your solution works? The table vtx_labels contains lots of labels, does
label_count count them all?


This is the working code:


labels = db(db.vtx_label.vertexID==vertexID)._select(db.vtx_label.label)

join = db.vtx_vertex.on((db.vtx_label.vertexID==db.vtx_vertex.id) & 
(db.vtx_vertex.typeID==IOTHINGID))

rowset = db((db.vtx_label.label.belongs(labels)) & 
(db.vtx_label.vertexID!=vertexID))

label_count = db.vtx_label.id.count()
count = rowset.select(label_count, join=join).first()[label_count]
rows = rowset.select(join=join)


Best,

Annet

-- 
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.