|
| 1 | +import django_tables2 as tables |
| 2 | + |
| 3 | +from operatingsystems.models import OSRelease, OSVariant |
| 4 | + |
| 5 | + |
| 6 | +class OSReleaseTable(tables.Table): |
| 7 | + name = tables.TemplateColumn('<a href="{{ record.get_absolute_url }}">{{ record.name }}</a>', order_by='name', verbose_name='OS Release', attrs={'th': {'class': 'col-sm-3'}, 'td': {'class': 'col-sm-3'}}) |
| 8 | + cpe_name = tables.Column(verbose_name='CPE Name', attrs={'th': {'class': 'col-sm-2'}, 'td': {'class': 'col-sm-2'}}) |
| 9 | + codename = tables.Column(verbose_name='Codename', attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 10 | + repos = tables.TemplateColumn('<a href="{% url \'repos:repo_list\' %}?osrelease_id={{ record.id }}">{{ record.repos.count }}</a>', verbose_name='Repos', orderable=False, attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 11 | + osvariants = tables.TemplateColumn('<a href="{% url \'operatingsystems:osvariant_list\' %}?osrelease_id={{ record.id }}">{{ record.osvariant_set.count }}</a>', verbose_name='OS Variants', orderable=False, attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 12 | + hosts = tables.TemplateColumn('{% load common %}<a href="{% url \'hosts:host_list\' %}?osrelease_id={{ record.id }}">{% host_count record %}</a>', verbose_name='Hosts', orderable=False, attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 13 | + errata = tables.TemplateColumn('<a href="{% url \'errata:erratum_list\' %}?osrelease_id={{ record.id }}">{{ record.erratum_set.count }}</a>', verbose_name='Errata', orderable=False, attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 14 | + |
| 15 | + class Meta: |
| 16 | + model = OSRelease |
| 17 | + template_name = 'django_tables2/bootstrap.html' |
| 18 | + attrs = {"class": "table table-striped table-bordered table-hover table-condensed table-responsive"} |
| 19 | + fields = ('name', 'cpe_name', 'codename', 'repos', 'osvariants', 'hosts', 'errata') |
| 20 | + |
| 21 | + |
| 22 | +class OSVariantTable(tables.Table): |
| 23 | + name = tables.TemplateColumn('<a href="{{ record.get_absolute_url }}">{{ record }}</a>', order_by='name', verbose_name='Name', attrs={'th': {'class': 'col-sm-4'}, 'td': {'class': 'col-sm-4'}}) |
| 24 | + arch = tables.Column(accessor='arch__name', verbose_name='Architecture', attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 25 | + codename = tables.TemplateColumn('{% if record.codename %}{{ record.codename }}{% else %}{% if record.osrelease %}{{ record.osrelease.codename }}{% endif %}{% endif %}', order_by='codename', verbose_name='Codename', attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 26 | + hosts = tables.TemplateColumn('<a href="{% url \'hosts:host_list\' %}?osvariant_id={{ record.id }}">{{ record.host_set.count }}</a>', verbose_name='Hosts', orderable=False, attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 27 | + osrelease = tables.TemplateColumn('{% if record.osrelease %}<a href="{{ record.osrelease.get_absolute_url }}">{{ record.osrelease }}</a>{% endif %}', order_by='osrelease__name', verbose_name='OS Release', attrs={'th': {'class': 'col-sm-4'}, 'td': {'class': 'col-sm-4'}}) |
| 28 | + repos_osrelease = tables.TemplateColumn('{% if record.osrelease.repos.count != None %}{{ record.osrelease.repos.count }}{% else %}0{% endif %}', verbose_name='Repos (OS Release)', orderable=False, attrs={'th': {'class': 'col-sm-1'}, 'td': {'class': 'col-sm-1'}}) |
| 29 | + |
| 30 | + class Meta: |
| 31 | + model = OSVariant |
| 32 | + template_name = 'django_tables2/bootstrap.html' |
| 33 | + attrs = {"class": "table table-striped table-bordered table-hover table-condensed table-responsive"} |
| 34 | + fields = ('name', 'arch', 'codename', 'hosts', 'osrelease', 'repos_osrelease') |
0 commit comments