﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
18620	"Prefer current Site when checking M2M in ""shortcut""/""view_on_site"" redirect"	Mike Tigas	Paulo	"Given an object with a many-to-many relationship to `django.contrib.sites.models.Site`, the `django.contrib.contenttypes.views.shortcut` view simply picks the first domain returned, basically `obj.<field>[0].domain`. (https://github.com/django/django/blob/4a103086/django/contrib/contenttypes/views.py#L45 -- it even notes that the ordering is arbitrary.)

This can be confusing when operating several (shared database) Django sites where sometimes content is cross-posted between said sites.

Example that led to my noticing this issue: A story being edited on www.spokesman.com but posted to sites [www.spokesman.com, www.downtoearthnw.com] redirects you to story's representation on the latter website when clicking ""view on site"" in the admin (or using anything else that uses that underlying `shortcut` view). (Ostensibly because ""www.downtoearthnw.com"" sorts before ""www.spokesman.com"" and is therefore picked by the simple code I linked above.) Although this is a ''theoretically acceptable'' thing to happen, it's confusing to (even technical) users because they're ''on'' one of the acceptable sites for the content object and do not expect to be redirected to another site.

I propose that the view should prefer the current site in the event that both of the following are true:

a) the content object ""Site"" field is an M2M
b) the current Site object is one of the values set in that M2M

This shouldn't change behavior in any other circumstance (current site not in that M2M, site field is not M2M, etc), but it should alleviate some confusion to this specific usecase.

Have code and will post in a GitHub fork shortly."	Cleanup/optimization	closed	contrib.contenttypes	1.4	Normal	fixed			Ready for checkin	1	0	0	0	0	0
