Ensure we switch to the master branch for reviewing

Newly submitted layers don't have anything other than a master branch,
so they won't display properly unless we have master selected; so just
add a parameter to submission email and review URLs to ensure that is
the case.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
Paul Eggleton 2013-03-06 19:00:56 +00:00
parent 4be747582f
commit fecc907687
2 changed files with 13 additions and 2 deletions

View File

@ -128,7 +128,7 @@ def edit_layer_view(request, template_name, slug=None):
d = Context({ d = Context({
'user_name': user.get_full_name(), 'user_name': user.get_full_name(),
'layer_name': layeritem.name, 'layer_name': layeritem.name,
'layer_url': request.build_absolute_uri(layeritem.get_absolute_url()), 'layer_url': request.build_absolute_uri(layeritem.get_absolute_url()) + '?branch=master',
}) })
subject = '%s - %s' % (settings.SUBMIT_EMAIL_SUBJECT, layeritem.name) subject = '%s - %s' % (settings.SUBMIT_EMAIL_SUBJECT, layeritem.name)
from_email = settings.SUBMIT_EMAIL_FROM from_email = settings.SUBMIT_EMAIL_FROM
@ -148,6 +148,12 @@ def edit_layer_view(request, template_name, slug=None):
'deplistlayers': deplistlayers, 'deplistlayers': deplistlayers,
}) })
def _check_branch(request):
branchname = request.GET.get('branch', '')
if branchname:
branch = get_object_or_404(Branch, name=branchname)
request.session['branch'] = branch.name
def switch_branch_view(request, slug): def switch_branch_view(request, slug):
branch = get_object_or_404(Branch, name=slug) branch = get_object_or_404(Branch, name=slug)
request.session['branch'] = branch.name request.session['branch'] = branch.name
@ -180,6 +186,10 @@ class LayerListView(ListView):
return context return context
class LayerReviewListView(ListView): class LayerReviewListView(ListView):
def dispatch(self, request, *args, **kwargs):
_check_branch(request)
return super(LayerReviewListView, self).dispatch(request, *args, **kwargs)
def get_queryset(self): def get_queryset(self):
return LayerBranch.objects.filter(branch__name=self.request.session.get('branch', 'master')).filter(layer__status='N').order_by('layer__name') return LayerBranch.objects.filter(branch__name=self.request.session.get('branch', 'master')).filter(layer__status='N').order_by('layer__name')
@ -189,6 +199,7 @@ class LayerDetailView(DetailView):
# This is a bit of a mess. Surely there has to be a better way to handle this... # This is a bit of a mess. Surely there has to be a better way to handle this...
def dispatch(self, request, *args, **kwargs): def dispatch(self, request, *args, **kwargs):
_check_branch(request)
self.user = request.user self.user = request.user
res = super(LayerDetailView, self).dispatch(request, *args, **kwargs) res = super(LayerDetailView, self).dispatch(request, *args, **kwargs)
l = self.get_object() l = self.get_object()

View File

@ -56,7 +56,7 @@
{% block submitlink %}<li><a href="{% url submit_layer %}">Submit layer</a></li>{% endblock %} {% block submitlink %}<li><a href="{% url submit_layer %}">Submit layer</a></li>{% endblock %}
{% if user.is_authenticated %} {% if user.is_authenticated %}
{% if perms.layeritem.publish_layer %} {% if perms.layeritem.publish_layer %}
<li><a href="{% url layer_list_review %}"> <li><a href="{% url layer_list_review %}?branch=master">
Review Review
{% if unpublished_count > 0 %} {% if unpublished_count > 0 %}
<span class="badge badge-warning">{{ unpublished_count }}</span> <span class="badge badge-warning">{{ unpublished_count }}</span>