On Jan 2, 2011, at 7:01 AM, Rick wrote:
>
> I changed the code but it still doesn't work:
Here's a fragment of my code that I use to delete a user. It's not ajax, but
you'll get the idea:
ut = auth.settings.table_user
uu = urow.auth_user
...
if not db(ut.username == username).count():
...complain and redirect...
auth.del_group(auth.user_group(uu.id)) # uu.id is the user id I'm
deleting
db(ut.username == username).delete()
If you look at auth.del_group, you'll see that it does quite a bit of work to
clean a user out of the group tables. I think I picked up this logic from the
admin app, but I don't quite remember.
I think it'd be nice if auth had a comprehensive delete-user function.
>
> ==admin.html==
> {{extend 'layout.html'}}
> Add a user: <br>
> {{=form}}
> <br><br>
> Users:
> <br>
> {{for record in records:}}
> {{=record.username}} : {{=record.password}}
> [
> <a href="#"
> onclick="ajax('{{=URL('db(auth.settings.table_user_name==record.username).delete()')}}',
> [],'')">Delete this user</a>
> ]
> {{pass}}
> ============
>
> ==Here is some code from models/db.py==
> auth = Auth(globals(), db)
>
> db.define_table(
> auth.settings.table_user_name,
> Field('username'),
> Field('password'),
> Field('registration_key', default=''))
>
> auth.define_tables()
>
> custom_auth_table = db[auth.settings.table_user_name] # get the
> custom_auth_table
> ======
>
>
>
> On Dec 30 2010, 6:21 pm, Rick <[email protected]> wrote:
>> Hi,
>>
>> I don't know if the way I add users is proper, but it works. Now I try
>> to write a <a> tag for deleting users, and it doesn't work. Here is
>> the code:
>>
>> ==in a controller file==
>> def admin():
>> records = db().select(custom_auth_table.ALL,
>> orderby=custom_auth_table.username)
>> #records = SQLFORM(custom_auth_table, user, deletable=True)
>> form = SQLFORM(db[auth.settings.table_user_name])
>> if form.accepts(request.post_vars, session):
>> session.flash = 'Address saved.'
>> redirect(URL('admin'))
>> return dict(form=form, records=records)
>> ========
>>
>> ==admin.html==
>> {{extend 'layout.html'}}
>> Add a user: <br>
>> {{=form}}
>> <br><br>
>> Users:
>> <br>
>> {{for record in records:}}
>> {{=record.username}} : {{=record.password}}
>> [
>> <a href="#"
>> onclick="ajax('{{=URL('db[auth.remove.record.username]')}}',
>> [],'')">Delete this user</a>
>> ]
>> <br>
>> {{pass}}
>> ========
>>
>> Thanks in advance for help