Two changes in trunk:
1)
form.accepts(request)
is now the same as
form.accepts(request.post_vars)
2) before you had three options:
form=SQLFORM(table,record)
if form.accepts(request):
response.flash="record updated"
elif form.errors:
response.flash="errors in form"
else:
response.flash="form not submitted"
Now you have four options:
form=SQLFORM(table,record,detect_record_change=True)
if form.accepts(request):
response.flash="record updated"
elif form.errors:
response.flash="errors in form"
elif form.record_changed:
response.flash="other user has changed record before you did"
else:
response.flash="form not submitted"