transaction.rb 707 B

1234567891011121314151617181920212223242526
  1. class Transaction
  2. def self.execute(options = {})
  3. if options[:reset_user_id] == true
  4. UserInfo.current_user_id = 1
  5. end
  6. if options[:bulk] == true
  7. BulkImportInfo.enable
  8. end
  9. original_interface_handle = ApplicationHandleInfo.current
  10. if options[:interface_handle]
  11. ApplicationHandleInfo.current = options[:interface_handle]
  12. end
  13. ActiveRecord::Base.transaction do
  14. PushMessages.init
  15. yield
  16. if options[:interface_handle]
  17. ApplicationHandleInfo.current = original_interface_handle
  18. end
  19. Observer::Transaction.commit(options)
  20. PushMessages.finish
  21. end
  22. return if options[:bulk] != true
  23. BulkImportInfo.disable
  24. end
  25. end