Render %{invitee_name} as full name only

When usernames are derived from emails (especially work emails), they often are very similar to the users real name. If the user has set their real name (and if real names are not hidden via site settings) this currently results in invite emails starting like this

John Doe (doe) invited you to join

As far as I can tell without any knowledge of ruby, this is where the John Doe (doe) part gets rendered:

I don’t see the benefit of mentioning the username at all if the real name is available. After all, you are inviting someone who is not yet a member (most of the time at least) and hence can’t relate to the username anyway. So I would like to change line 18 to

  invitee_name = "#{invite.invited_by.name}"

but I don’t know how to achieve this on my site and I’m also hesitant to fiddle with the core code. Is this a change that would make sense for the core? If not, could someone give me some hints how to make that change locally while maintaining upgradability?

BTW: why is the variable called invitee_name when “invitee” commonly designates the invited person, not the inviting person?


So, just to understand things better, does what I’m trying to do imply forking Discourse? I hope there is a simpler way for making such a minor change…

8 лайков

Я собирался создать тему Contribute > Bug об этой проблеме, но присоединюсь к этой и добавлю +1.

«Invitee» действительно обозначает человека, которого пригласили. Человек, который приглашает, должен быть inviter/invitor. https://english.stackexchange.com/questions/327842/person-who-invites-inviter-or-invitor.

Это особенно запутывает при редактировании шаблонов электронной почты для приглашений — я думал, что %{invitee_name} подставит имя человека, которого я приглашаю, поэтому я изменил предложения, чтобы они отражали это, только для того, чтобы приглашения стали совершенно бессмысленными, потому что %{invitee_name} на самом деле вставлял имя пользователя человека, создавшего приглашение.

Я поддержал бы автора этой темы, который предложил использовать полное имя, если оно доступно, вместо имени пользователя, которое иногда может быть непонятным для нового пользователя.

Но нам действительно нужно изменить %{invitee_name} на %{inviter_name}, потому что это безумно запутанно и неточно. Возможно, я смогу это сделать, так что если вам будет интересно, я отправлю PR.

9 лайков

Yeah this is bad and wrong, you are 100% correct. Not sure who worked on this originally, but they got it wrong.

  • Invitee: person being invited

  • Inviter: person sending the invitation

Can you add to your list @techAPJ?

6 лайков

What abour the main point of the OP? Do you intend to make that change too?

1 лайк

Done via:

https://github.com/discourse/discourse/commit/0e0794dff9e23f5ee5ba5f68a8a04f08254b4790

and

https://github.com/discourse/discourse/commit/248ad5466d5009476fb7170e878096a3e343ec1c

4 лайка

I have created a PR for this:

https://github.com/discourse/discourse/pull/5390

@codinghorror can merge if he agrees. :slight_smile:

5 лайков

I disagree; you’ll need the username to mention the person properly. Also highly relevant if they are different:

Joe Smith @ninja

I don’t understand your point. Can you elaborate?

I think often both could be needed.

If the invite said codinghorror only and I knew Jeff personally I might not have any idea who codinghorror was and be reluctant to accept the invite.

If the invite said Jeff only and I knew Jeff personally I would be more likely to accept the invite, but I might not know that his member name was codinghorror.

3 лайка

That part is covered: the proposal is only to skip username if real name is available, not the other way around.

I believe when you follow an invite link you get to see the name, username and avatar of the user who invited you. Is that not so?

1 лайк

This topic was automatically closed after 33 hours. New replies are no longer allowed.