diff --git a/layerindex/views.py b/layerindex/views.py index d5a43e1..f73f4d7 100644 --- a/layerindex/views.py +++ b/layerindex/views.py @@ -128,7 +128,7 @@ def edit_layer_view(request, template_name, slug=None): d = Context({ 'user_name': user.get_full_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) from_email = settings.SUBMIT_EMAIL_FROM @@ -148,6 +148,12 @@ def edit_layer_view(request, template_name, slug=None): '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): branch = get_object_or_404(Branch, name=slug) request.session['branch'] = branch.name @@ -180,6 +186,10 @@ class LayerListView(ListView): return context class LayerReviewListView(ListView): + def dispatch(self, request, *args, **kwargs): + _check_branch(request) + return super(LayerReviewListView, self).dispatch(request, *args, **kwargs) + def get_queryset(self): 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... def dispatch(self, request, *args, **kwargs): + _check_branch(request) self.user = request.user res = super(LayerDetailView, self).dispatch(request, *args, **kwargs) l = self.get_object() diff --git a/templates/base.html b/templates/base.html index bd6ed47..846a5c8 100644 --- a/templates/base.html +++ b/templates/base.html @@ -56,7 +56,7 @@ {% block submitlink %}