<p>This PR refactors the inbox and outbox paths to avoid using the display names in their urls. It does this by creating resourceful routes, but I've kept redirects for the old urls. This PR also refactors the url for showing messages (since that was easy to add) and fixes some broken translation strings that I noticed while doing so.</p>
<p>More refactoring of other messages methods will happen in followup PRs</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/openstreetmap/openstreetmap-website/pull/1893'>https://github.com/openstreetmap/openstreetmap-website/pull/1893</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Refactor inbox and outbox paths to avoid display names in urls.</li>
  <li>Refactor messages show action to be resourceful</li>
  <li>Fix missing message translation strings</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-0">.rubocop_todo.yml</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-1">app/controllers/messages_controller.rb</a>
    (24)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-2">app/views/layouts/_header.html.erb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-3">app/views/messages/inbox.html.erb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-4">app/views/messages/new.html.erb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-5">app/views/messages/outbox.html.erb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-6">app/views/messages/show.html.erb</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-7">config/routes.rb</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-8">test/controllers/messages_controller_test.rb</a>
    (62)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/1893.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/1893.patch</a></li>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/1893.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/1893.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/1893">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLbmtHwXBQ-AHrI8KqPTOyYXpIyxiks5t51PXgaJpZM4Ub8g1">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABWnLb5XvJBPnVu_9cmpBN63NLvfbHIFks5t51PXgaJpZM4Ub8g1.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","potentialAction":{"@type":"ViewAction","target":"https://github.com/openstreetmap/openstreetmap-website/pull/1893","url":"https://github.com/openstreetmap/openstreetmap-website/pull/1893","name":"View Pull Request"},"description":"View this Pull Request on GitHub","publisher":{"@type":"Organization","name":"GitHub","url":"https://github.com"}}</script>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Refactor some messages urls (#1893)"}],"action":{"name":"View Pull Request","url":"https://github.com/openstreetmap/openstreetmap-website/pull/1893"}}}</script>
<script type="application/ld+json">{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "37567f93-e2a7-4e2a-ad37-a9160fc62647",
"title": "Refactor some messages urls (#1893)",
"sections": [
{
"text": "",
"activityTitle": "**Andy Allan**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@gravitystorm",
"facts": [

]
},
{
"title": "Commit Summary",
"facts": [
{
"name": "9b36021",
"value": "Refactor inbox and outbox paths to avoid display names in urls."
},
{
"name": "88ff81b",
"value": "Refactor messages show action to be resourceful"
},
{
"name": "3e5a953",
"value": "Fix missing message translation strings"
}
]
},
{
"title": "File Changes",
"facts": [
{
"name": "Modified",
"value": "[.rubocop_todo.yml](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-0) (2 changes)"
},
{
"name": "Modified",
"value": "[app/controllers/messages_controller.rb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-1) (24 changes)"
},
{
"name": "Modified",
"value": "[app/views/layouts/_header.html.erb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-2) (2 changes)"
},
{
"name": "Modified",
"value": "[app/views/messages/inbox.html.erb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-3) (2 changes)"
},
{
"name": "Modified",
"value": "[app/views/messages/new.html.erb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-4) (2 changes)"
},
{
"name": "Modified",
"value": "[app/views/messages/outbox.html.erb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-5) (2 changes)"
},
{
"name": "Modified",
"value": "[app/views/messages/show.html.erb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-6) (2 changes)"
},
{
"name": "Modified",
"value": "[config/routes.rb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-7) (12 changes)"
},
{
"name": "Modified",
"value": "[test/controllers/messages_controller_test.rb](https://github.com/openstreetmap/openstreetmap-website/pull/1893/files#diff-8) (62 changes)"
}
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"openstreetmap/openstreetmap-website\",\n\"issueId\": 1893,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"openstreetmap/openstreetmap-website\",\n\"pullRequestId\": 1893\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/openstreetmap/openstreetmap-website/pull/1893"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/openstreetmap/openstreetmap-website/pull/1893.patch"
}
],
"@type": "OpenUri",
"name": "View patch"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/openstreetmap/openstreetmap-website/pull/1893.diff"
}
],
"@type": "OpenUri",
"name": "View diff"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 342870069\n}"
}
],
"themeColor": "26292E"
}</script>