ソースを参照

added delete view for reviews

master
Sebastian Vetter 13年前
コミット
731c586a47

+ 5
- 0
oscar/apps/dashboard/reviews/app.py ファイルの表示

@@ -14,6 +14,7 @@ class ReportsApplication(Application):
14 14
     name = None
15 15
     list_view = views.ReviewListView
16 16
     update_view = views.ReviewUpdateView
17
+    delete_view = views.ReviewDeleteView
17 18
 
18 19
     def get_urls(self):
19 20
         urlpatterns = patterns('',
@@ -23,6 +24,10 @@ class ReportsApplication(Application):
23 24
                 self.update_view.as_view(),
24 25
                 name='reviews-update'
25 26
             ),
27
+            url(r'^/(?P<pk>\d+)/delete/$',
28
+                self.delete_view.as_view(),
29
+                name='reviews-delete'
30
+            ),
26 31
         )
27 32
         return self.post_process_urls(urlpatterns)
28 33
 

+ 13
- 3
oscar/apps/dashboard/reviews/views.py ファイルの表示

@@ -1,9 +1,10 @@
1 1
 import datetime
2
+
3
+from django.views import generic
2 4
 from django.db.models import get_model, Q
3 5
 from django.core.urlresolvers import reverse
4 6
 from django.http import HttpResponse, HttpResponseRedirect
5 7
 from django.template.response import TemplateResponse
6
-from django.views.generic import ListView, UpdateView
7 8
 from django.template.defaultfilters import date as format_date
8 9
 
9 10
 from oscar.views.generic import BulkEditMixin
@@ -12,7 +13,7 @@ from oscar.apps.dashboard.reviews import forms
12 13
 ProductReview = get_model('reviews', 'productreview')
13 14
 
14 15
 
15
-class ReviewListView(ListView, BulkEditMixin):
16
+class ReviewListView(generic.ListView, BulkEditMixin):
16 17
     model = ProductReview
17 18
     template_name = 'dashboard/reviews/review_list.html'
18 19
     context_object_name = 'review_list'
@@ -123,10 +124,19 @@ class ReviewListView(ListView, BulkEditMixin):
123 124
         return HttpResponseRedirect(reverse('dashboard:reviews-list'))
124 125
 
125 126
 
126
-class ReviewUpdateView(UpdateView):
127
+class ReviewUpdateView(generic.UpdateView):
127 128
     model = ProductReview
128 129
     template_name = 'dashboard/reviews/review_update.html'
129 130
     form_class = forms.DashboardProductReviewForm
130 131
 
131 132
     def get_success_url(self):
132 133
         return reverse('dashboard:reviews-list')
134
+
135
+
136
+class ReviewDeleteView(generic.DeleteView):
137
+    model = ProductReview
138
+    template_name = 'dashboard/reviews/review_delete.html'
139
+    context_object_name = 'review'
140
+
141
+    def get_success_url(self):
142
+        return reverse('dashboard:reviews-list')

+ 49
- 0
oscar/templates/dashboard/reviews/review_delete.html ファイルの表示

@@ -0,0 +1,49 @@
1
+{% extends 'dashboard/layout.html' %}
2
+{% load currency_filters %}
3
+
4
+{% block title %}
5
+Delete review "{{ review.title|truncatechars:15 }}? | Review management | {{ block.super }}
6
+{% endblock %}
7
+
8
+{% block breadcrumbs %}
9
+<ul class="breadcrumb">
10
+    <li>
11
+        <a href="{% url dashboard:index %}">Dashboard</a>
12
+        <span class="divider">/</span>
13
+    </li>
14
+    <li>
15
+        <a href="{% url dashboard:reviews-list %}">Reviews</a>
16
+        <span class="divider">/</span>
17
+    </li>
18
+    <li class="active"><a href=".">Delete review "{{ review.title|truncatechars:15 }}"?</a></li>
19
+</ul>
20
+{% endblock %}
21
+
22
+{% block header %}
23
+<div class="page-header">
24
+    <h1>Delete review "{{ review.title|truncatechars:15 }}"?</h1>
25
+</div>
26
+{% endblock header %}
27
+
28
+{% block dashboard_content %}
29
+<form action="." method="post" class="">
30
+	{% csrf_token %}
31
+
32
+	<table class="table">
33
+            <tbody> 
34
+                <tr><th>Review Title</th><td>{{ review.title }}</td></tr>
35
+                <tr><th>Product</th><td>{{ review.product.title }}</td></tr>
36
+                <tr><th>User</th><td>{{ review.user.get_reviewer_name }}</td></tr>
37
+                <tr><th>Score</th><td>{{ review.score|floatformat:1 }}</td></tr>
38
+                <tr><th>Votest</th><td>{{ review.total_votes }}</td></tr>
39
+                <tr><th>Status</th><td>{{ review.status }}</td></tr>
40
+                <tr><th>Date created</th><td>{{ review.date_created }}</td></tr>
41
+            </tbody>
42
+	</table>
43
+
44
+	<div class="form-actions">
45
+		<button class="btn btn-danger" type="submit">Delete</button> or
46
+		<a href="{% url dashboard:reviews-list %}">cancel</a>
47
+	</div>
48
+</form>
49
+{% endblock dashboard_content %}

+ 2
- 1
oscar/templates/dashboard/reviews/review_list.html ファイルの表示

@@ -78,7 +78,8 @@ Reviews | {{ block.super }}
78 78
             <td>{{ review.date_created }}</td>
79 79
             <td>
80 80
                 <a class="btn btn-success" href="{% url dashboard:reviews-update review.id %}">Edit</a>
81
-                <a class="btn btn-info" href="{% url catalogue:reviews-detail review.product.slug review.product.id review.id %}">View</a>
81
+                {#<a class="btn btn-info" href="{% url catalogue:reviews-detail review.product.slug review.product.id review.id %}">View</a>#}
82
+                <a class="btn btn-danger" href="{% url dashboard:reviews-delete review.id %}">Delete</a>
82 83
             </td>
83 84
         </tr>
84 85
         {% endfor %}

読み込み中…
キャンセル
保存