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 use http://vimeo.com/7182692 as 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.