diff --git a/layerindex/urls.py b/layerindex/urls.py index 3118bd9..02c534c 100644 --- a/layerindex/urls.py +++ b/layerindex/urls.py @@ -7,7 +7,7 @@ from django.conf.urls.defaults import * from django.views.generic import TemplateView, DetailView, ListView from layerindex.models import LayerItem, Recipe -from layerindex.views import LayerListView, LayerReviewListView, RecipeSearchView, MachineSearchView, PlainTextListView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, switch_branch_view +from layerindex.views import LayerListView, LayerReviewListView, LayerReviewDetailView, RecipeSearchView, MachineSearchView, PlainTextListView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, switch_branch_view urlpatterns = patterns('', url(r'^$', @@ -30,8 +30,12 @@ urlpatterns = patterns('', name='machine_search'), url(r'^review/$', LayerReviewListView.as_view( - template_name='layerindex/index.html'), + template_name='layerindex/reviewlist.html'), name='layer_list_review'), + url(r'^review/(?P[-\w]+)/$', + LayerReviewDetailView.as_view( + template_name='layerindex/reviewdetail.html'), + name='layer_review'), url(r'^layer/(?P[-\w]+)/$', LayerDetailView.as_view( template_name='layerindex/detail.html'), diff --git a/layerindex/views.py b/layerindex/views.py index f73f4d7..64523c3 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()) + '?branch=master', + 'layer_url': request.build_absolute_uri(reverse('layer_review', args=(layeritem.name,))) + '?branch=master', }) subject = '%s - %s' % (settings.SUBMIT_EMAIL_SUBJECT, layeritem.name) from_email = settings.SUBMIT_EMAIL_FROM @@ -216,6 +216,12 @@ class LayerDetailView(DetailView): context['layerbranch'] = layer.get_layerbranch(self.request.session.get('branch', 'master')) return context +class LayerReviewDetailView(LayerDetailView): + def dispatch(self, request, *args, **kwargs): + if not request.user.has_perm('layerindex.publish_layer'): + raise PermissionDenied + return super(LayerReviewDetailView, self).dispatch(request, *args, **kwargs) + class RecipeSearchView(ListView): context_object_name = 'recipe_list' paginate_by = 50 diff --git a/templates/layerindex/detail.html b/templates/layerindex/detail.html index 062caea..6cd69e6 100644 --- a/templates/layerindex/detail.html +++ b/templates/layerindex/detail.html @@ -38,10 +38,6 @@ Add note {% endif %} {% endif %} - {% if layeritem.status = "N" and perms.layeritem.publish_layer %} - Delete layer - Publish layer - {% endif %} {% endif %} @@ -154,28 +150,6 @@ - {% if layeritem.status = 'N' and layerbranch %} -
- {% if layeritem.vcs_web_file_base_url %} - - test file link - - {% else %} - - No base file URL provided - - {% endif %} - {% if layeritem.vcs_web_tree_base_url %} - - test tree link - - {% else %} - - No base tree URL provided - - {% endif %} -
- {% else %} {% if layerbranch.machine_set.count > 0 %}
@@ -239,7 +213,6 @@
{% endif %} - {% endif %} {% endautoescape %} diff --git a/templates/layerindex/reviewdetail.html b/templates/layerindex/reviewdetail.html new file mode 100644 index 0000000..933ed1e --- /dev/null +++ b/templates/layerindex/reviewdetail.html @@ -0,0 +1,190 @@ +{% extends "base.html" %} +{% load i18n %} +{% load static %} + +{% comment %} + + layerindex-web - review layer detail page template + + Copyright (C) 2013 Intel Corporation + Licensed under the MIT license, see COPYING.MIT for details + +{% endcomment %} + + + + +{% block content %} + +{% autoescape on %} + + +
+
+ +
+
+ +
+ {% if not layerbranch %} +
+
+ This layer does not exist for branch {{ current_branch }}. +
+
+ {% endif %} +
+ {% for note in layeritem.layernote_set.all %} +
+

{{ note.text }}

+ {% if perms.layeritem.publish_layer or useredit %} +

+ Edit note + Delete note +

+ {% endif %} +
+ {% endfor %} +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name{{ layeritem.name }}
Type{{ layeritem.get_layer_type_display }}
Summary{{ layeritem.summary }}
Description{{ layeritem.description }}
Repository{{ layeritem.vcs_url }}
Repository subdirectory{{ layeritem.vcs_subdir }}
Repo web interface + {% if layeritem.vcs_web_url %} + {{ layeritem.vcs_web_url }} + {% endif %} +
Repo web interface test links + {% if layeritem.vcs_web_file_base_url %} + + test file link + + {% else %} + + No base file URL provided + + {% endif %} + {% if layeritem.vcs_web_tree_base_url %} + + test tree link + + {% else %} + + No base tree URL provided + + {% endif %} +
Setup info URL + {% if layeritem.usage_url %} + {{ layeritem.usage_url }} + {% endif %} +
Mailing list URL + {% if layeritem.mailing_list_url %} + {{ layeritem.mailing_list_url }} + {% endif %} +
Maintainers +
    + {% for maintainer in layerbranch.active_maintainers %} +
  • + {{ maintainer.name }} + {% if maintainer.responsibility %} + ({{ maintainer.responsibility }}) + {% endif %} + - {{ maintainer.email }} +
  • + {% endfor %} +
+
Dependencies + +
+ + +
+
+
+ + +{% endautoescape %} + +{% endblock %} + diff --git a/templates/layerindex/reviewlist.html b/templates/layerindex/reviewlist.html new file mode 100644 index 0000000..d20001a --- /dev/null +++ b/templates/layerindex/reviewlist.html @@ -0,0 +1,77 @@ +{% extends "base.html" %} +{% load i18n %} +{% load static %} + +{% comment %} + + layerindex-web - layer review list page template + + Copyright (C) 2013 Intel Corporation + Licensed under the MIT license, see COPYING.MIT for details + +{% endcomment %} + + + + +{% block content %} +{% autoescape on %} + +{% if layerbranch_list %} +
+
+ + + + + + + + + + + + + {% for layerbranch in layerbranch_list %} + + + + + + + {% endfor %} + + +
Layer nameDescriptionTypeRepository
{{ layerbranch.layer.name }}{{ layerbranch.layer.summary }}{{ layerbranch.layer.get_layer_type_display }} + {{ layerbranch.layer.vcs_url }} + {% if layerbranch.layer.vcs_web_url %} + + + web repo + + + {% endif %} + {% if layerbranch.tree_url %} + + + tree + + + {% endif %} +
+
+
+ + {% if is_paginated %} + {% load pagination %} + {% pagination page_obj %} + {% endif %} +{% else %} +

No unpublished layers to review.

+{% endif %} + +{% endautoescape %} + +{% endblock %}