Skip to content

Commit dc2e6c7

Browse files
committed
Add list table template
Signed-off-by: Nir Izraeli <nirizr@gmail.com>
1 parent 0b9b8f1 commit dc2e6c7

File tree

4 files changed

+34
-3
lines changed

4 files changed

+34
-3
lines changed

server/collab/templates/list.html

+25-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,29 @@
55
{% endblock %}
66

77
{% block content %}
8-
{{ data }}
8+
<table class="table table-striped table-advance table-hover">
9+
<thead>
10+
<tr>
11+
{% for header in headers %}
12+
<th>{{ header }}</th>
13+
{% endfor %}
14+
<th></th>
15+
</tr>
16+
</thead>
17+
<tbody>
18+
{% for item in data %}
19+
{{ item }}
20+
<tr>
21+
{% for header in headers %}
22+
<td>{{ item|lookup:header }}</td>
23+
{% endfor %}
24+
<td>
25+
<button class="btn btn-success btn-xs"><i class="fa fa-check"></i></button>
26+
<button class="btn btn-primary btn-xs"><i class="fa fa-pencil"></i></button>
27+
<button class="btn btn-danger btn-xs"><i class="fa fa-trash-o "></i></button>
28+
</td>
29+
</tr>
30+
{% endfor %}
31+
</tbody>
32+
</table>
933
{% endblock %}

server/collab/views.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
MatchSerializer)
99
from collab.permissions import IsOwnerOrReadOnly
1010
from collab import tasks
11-
from utils import ViewSetTemplateMixin
11+
from rematch.template import ViewSetTemplateMixin
1212

1313

1414
class ViewSetOwnerMixin(object):
@@ -36,6 +36,7 @@ class ProjectViewSet(ViewSetOwnerMixin, ViewSetTemplateMixin,
3636
serializer_class = ProjectSerializer
3737
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
3838
filter_fields = ('created', 'owner', 'name', 'description', 'private')
39+
template_fields = ('name', 'description', 'private', 'created', 'owner')
3940

4041

4142
class FileViewSet(ViewSetOwnerMixin, ViewSetTemplateMixin,
@@ -45,6 +46,8 @@ class FileViewSet(ViewSetOwnerMixin, ViewSetTemplateMixin,
4546
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
4647
filter_fields = ('created', 'owner', 'project', 'name', 'description',
4748
'md5hash')
49+
template_fields = ('name', 'md5hash', 'description', 'project', 'created',
50+
'owner', 'file')
4851

4952
@decorators.detail_route(url_path="file_version/(?P<md5hash>[0-9A-Fa-f]+)",
5053
methods=['GET', 'POST'])

server/rematch/settings.py

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
'django.contrib.messages.context_processors.messages',
8585
'rematch.navigation.navigation',
8686
],
87+
'builtins': ['templatetags'],
8788
},
8889
},
8990
]

server/utils/__init__.py server/rematch/template.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@ def get_template_names(self):
1414
app_template_name = os.path.join(self.get_app_name(), page)
1515
return [model_template_name, app_template_name, page]
1616

17+
def get_template_fields(self):
18+
return self.template_fields
19+
1720
def list(self, request):
1821
response = super(ViewSetTemplateMixin, self).list(request)
1922

2023
if request.accepted_renderer.format == 'html':
21-
response.data = {'data': response.data}
24+
response.data = {'data': response.data, 'headers': self.get_template_fields()}
2225
return response

0 commit comments

Comments
 (0)