Change after_save hook to after_commit

I'm not sure if this has any undesirable effects, but I had an issue with the indexer not picking up the right values for columns that are modified/set by (sql) triggers.

Using `after_commit` ensures that the indexer runs only after the SQL transaction has successfully been committed.