User::canEdit takes user permissions into account.