acts_as_event email key
When gravatars are enabled, the activity view tries to show the gravatar by passing a user object to the
avatar method. While this works for all events that have local users, the changeset model/event can't always create a local user object for the changeset while still having the email of the user that generated this changeset.
Concrete use-case: I have a git repository in which I have cherry-picked 2 revisions from a user not member of my redmine installation, in this case the changeset retains the author not as a user object, but as a string "name <email>" (very much like git presents it), the changeset object only presents the "name" as the author (see source:/trunk/app/models/changeset.rb#L68). While this is correct behavior for places just polling
event_author for a name, the
avatar won't get the email address from it, though that information is present. I've changed the activity view to try to use
committer (the whole "name <email>", which
avatar parses corectly) if the "normal" way doesn't yield an avatar, the following line source:trunk/app/views/projects/activity.rhtml#L10
<%= avatar(e.event_author, :size => "24") if e.respond_to?(:event_author) %>
<%= (avatar(e.event_author, :size => "24") if e.respond_to?(:event_author)) or (avatar(e.committer, :size => "24") if e.respond_to?(:committer)) %>
This solves the problem for changesets, but will not solve it for the generic case.
I see 2 options here to deal with that: either extend
acts_as_event to also provide a method/an interface to query the author's email address (but that feels somewhat kludgy), or mock a (temporary) user object with the information we have (basically the name for the
to_s method and the email address for