Commit 9b00ccf5774210f31c9a2b3954f4b7791d16ac98

Improved journal event entries

Commit diff

app/models/event/event.rb

 
1313 events.created_at,
1414 coalesce(system_events.summary,
1515 debug_events.summary,
16 error_events.summary
16 error_events.summary,
17 journals.summary
1718 ) AS summary
1819 FROM events
1920 LEFT JOIN system_events ON events.entry_type = 'system' AND events.entry_id = system_events.id
2021 LEFT JOIN debug_events ON events.entry_type = 'debug' AND events.entry_id = debug_events.id
21 LEFT JOIN error_events ON events.entry_type = 'debug' AND events.entry_id = error_events.id
22 LEFT JOIN error_events ON events.entry_type = 'error' AND events.entry_id = error_events.id
23 LEFT JOIN journals ON events.entry_type = 'journal' AND events.entry_id = journals.id
2224 LEFT JOIN users ON events.user_id = users.id
2325 WHERE project_id = '#{project_id}'
2426 ORDER BY events.created_at DESC"]
toggle raw diff

app/models/journal.rb

 
2323 journal.row_id = model.id
2424 journal.ip = ip
2525 journal.user_id = user_id
26 journal.summary = "Created new " << model.class.to_s
2627 #TODO check saves okay
2728 journal.save
28 #
29
2930 for column in model.class.columns
3031 #filter columns we don't want to track
3132 case column.name
8989 journal.row_id = updated_model.id
9090 journal.ip = ip
9191 journal.user_id = user_id
92 journal.summary = "Updated " << model.class.to_s
9293 #TODO check saves okay
9394 journal.save
9495 #
toggle raw diff

db/migrate/402_create_journals.rb

 
1717 # one journal entry for every create or update action
1818 create_table :journals do |t|
1919 t.column :model_type, :enum, :limit => [:article, :ticket, :wiki, :comment]
20 t.string :summary
2021 t.integer :row_id, :references => nil # key back to the owner (e.g. article_id)
2122 t.column :action, :enum, :limit => [:create, :update]
2223 t.integer :user_id
toggle raw diff