A couple of things:

 query = 'SELECT auth_user.id FROM auth_user,auth_membership where
auth_user.id>0 and auth_user.id not in (select auth_membership.user_id
from auth_membership where auth_membership.group_id='+str(group_id)+')
group by auth_user.id'
rows = db.executesql(query)

would be

rows = db(~db.auth_user.id.belongs(db
(db.auth_membership.group_id==group_id)._select
(db.auth_membership.user_id))).select(db.auth_user.id)

This instead

{{=LOAD('plugin_groups',f='index',args=[request.args(0)],ajax=True)}}

should be

{{=LOAD('plugin_groups','index',args=[request.args(0)],ajax=True)}}

I am not sure about the other issue. Can you explain it again?

On Jan 3, 6:18 am, KMax <mkostri...@gmail.com> wrote:
> I have some progress here. Code might looks ugly, please excuse my
> newbie try.
> As you can see I use raw sql query to my postgress, since I fail to
> make same by web2py dal
> --begin of plugin controller--
> def index():
>     group_id=request.args(0)
>     if IS_IN_DB(db(db.auth_user.id==request.vars.id),db.auth_user.id):
>         if request.vars.action == 'del':
>             if db((db.auth_membership.user_id == request.vars.id) &
> (db.auth_membership.group_id == group_id)).select():
>                 auth.del_membership(group_id,request.vars.id)
>         if request.vars.action == 'add':
>             if db((db.auth_membership.user_id == request.vars.id) &
> (db.auth_membership.group_id == group_id)).select():
>                 pass
>             else:
>                 auth.add_membership(group_id,request.vars.id)
>     group=db.auth_group[group_id] or redirect(URL
> (request.application,'roles','groups'))
>     members = db(db.auth_membership.group_id == group_id).select
> (db.auth_membership.user_id)
>     query = 'SELECT auth_user.id FROM auth_user,auth_membership where
> auth_user.id>0 and auth_user.id not in (select auth_membership.user_id
> from auth_membership where auth_membership.group_id='+str(group_id)+')
> group by auth_user.id'
>     notmembers = db.executesql(query)
>     return dict
> (members=members,notmembers=notmembers,group_id=group_id)
> ---end of controller--
> ---begin view---
> <table class="smarttable">
> <thead>
>     <tr>
>       <th>{{=T('Members')}}</th><th>{{=T('Action')}}</th>
>     </tr>
> </thead>
> <tbody>
> {{for member in members:}}
>     <tr>
>        <td>{{=A(str(db.auth_user[member.user_id].first_name)+' '+str
> (db.auth_user[member.user_id].last_name)+' login:'+str(db.auth_user
> [member.user_id].email),_href=URL
> (r=request,c='plugin_groups',f='index',args=group_id,vars=
> {'action':'del','id':member.user_id}))}}</td>
>        <td>{{=SPAN('[',A('remove',_href=URL
> (r=request,c='plugin_groups',f='index',args=group_id,vars=
> {'action':'del','id':member.user_id})),']')}}</td>
>     </tr>
> {{pass}}
>     <tr>
>          <th>{{=T('NotMembers')}}</th><th>{{=T('Action')}}</th>
>     </tr>
> {{for member in notmembers:}}
>     {{notmember=member[0]}}
>     <tr>
>        <td>{{=A(str(db.auth_user[notmember].first_name) + ' ' + str
> (db.auth_user[notmember].last_name) + ' ' + str(db.auth_user
> [notmember].email),_href=URL
> (r=request,c='plugin_groups',f='index',args=group_id,vars=
> {'action':'add','id':notmember}))}}</td>
>        <td>{{=SPAN('[',A('add',_href=URL
> (r=request,c='plugin_groups',f='index',args=group_id,vars=
> {'action':'add','id':notmember})),']')}}</td>
>     </tr>
> {{pass}}
> </tbody>
> </table>
> --end of view---
> Now loading the plugin at main-application
> /welcome/default/index.html:
> ----
> {{extend 'layout.html'}}
> <h1>{{=T('Add/remove users for group:')}}{{=db.auth_group[request.args
> (0)].role}}</h1>
> {{=LOAD('plugin_groups',args=[request.args(0)],ajax=True)}}
> ----
> First of all(as small bug report?, i do not need this functuanality):
> {{=LOAD('plugin_groups',f='index',args=[request.args(0)],ajax=True)}}
> Shows error: TypeError: __call__() got an unexpected keyword argument
> 'f'
> on line: response.write(LOAD('plugin_groups',f='index',args=
> [request.args(0)],ajax=True))
> Second one (more important for me):
> I usehttp://vimeo.com/7182692as a manual
> And if I add or remove on page: which loads plugins, link does not
> update internal area, but follow to /welcome/plugin_groups/index/1
> (/1 - group_id)
> I realy want to make cool ajax page, but failed. Please point to
> possibly other approach to web2py ajax sollution.
>
> Thank you, for your attention.

--

You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.


Reply via email to