Browse Source

Fixed table form rendering for django-tables2>=1.2.1

Jeremy Stretch 8 years ago
parent
commit
04fd197c9b

+ 1 - 1
netbox/templates/utilities/obj_table.html

@@ -4,7 +4,7 @@
     <form method="post" class="form form-horizontal">
         {% csrf_token %}
         <input type="hidden" name="redirect_url" value="{{ request.path }}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" />
-        <input type="hidden" name="pk_all" value="{% for row in table.rows %}{{ row.record.pk|default:'' }}{% if not forloop.last %},{% endif %}{% endfor %}" />
+        <input type="hidden" name="pk_all" value="{% for obj in table.data.queryset %}{{ obj.pk|default:'' }}{% if not forloop.last %},{% endif %}{% endfor %}" />
         {% if table.paginator.num_pages > 1 %}
             <div id="select_all_box" class="hidden alert alert-info">
                 <div class="checkbox-inline">

+ 4 - 0
netbox/utilities/tables.py

@@ -17,6 +17,10 @@ class BaseTable(tables.Table):
             'class': 'table table-hover',
         }
 
+    @property
+    def model(self):
+        return self._meta.model
+
 
 class ToggleColumn(tables.CheckBoxColumn):
 

+ 0 - 1
netbox/utilities/views.py

@@ -92,7 +92,6 @@ class ObjectListView(View):
 
         # Construct the table based on the user's permissions
         table = self.table(self.queryset)
-        table.model = model
         if 'pk' in table.base_columns and any([request.user.has_perm(perm) for perm in self.edit_permissions]):
             table.base_columns['pk'].visible = True
         RequestConfig(request, paginate={'klass': EnhancedPaginator}).configure(table)