diff options
5 files changed, 46 insertions, 7 deletions
diff --git a/lib/toaster/toastergui/templates/package_detail_base.html b/lib/toaster/toastergui/templates/package_detail_base.html index 79f135cd9..6925aecb4 100644 --- a/lib/toaster/toastergui/templates/package_detail_base.html +++ b/lib/toaster/toastergui/templates/package_detail_base.html @@ -97,8 +97,8 @@ # decision on index search algorithm <a href="http://layers.openembedded.org" target="_blank"> <i class="icon-share get-info"></i> - {% endcomment %} </a> + {% endcomment %} {% endif %} </dd> diff --git a/lib/toaster/toastergui/templates/package_included_dependencies.html b/lib/toaster/toastergui/templates/package_included_dependencies.html index 71043ec1a..c76774ac9 100644 --- a/lib/toaster/toastergui/templates/package_included_dependencies.html +++ b/lib/toaster/toastergui/templates/package_included_dependencies.html @@ -23,12 +23,19 @@ </thead> <tbody> {% for runtime_dep in runtime_deps %} - <tr> + <tr {{runtime_dep.size|format_vpackage_rowclass}} > + {% if runtime_dep.size != -1 %} <td> <a href="{% url 'package_included_detail' build.id target.id runtime_dep.depends_on_id %}"> {{runtime_dep.name}} </a> </td> + {% else %} + <td> + {{runtime_dep.name|format_vpackage_namehelp}} + </td> + {% endif %} + <td>{{runtime_dep.version}}</td> <td>{{runtime_dep.size|filtered_filesizeformat}}</td> </tr> @@ -58,12 +65,18 @@ <tbody> {% for other_dep in other_deps %} {% if other_dep.installed %} - <tr> + <tr {{other_dep.size|format_vpackage_rowclass}}> + {% if other_dep.size != -1 %} <td> - <a href="{% url 'package_included_detail' build.id target.id other_dep.depends_on_id %}"> + <a href="{% url 'package_included_detail' build.id target.id other_dep.depends_on_id %}"> {{other_dep.name}} </a> </td> + {% else %} + <td> + {{other_dep.name|format_vpackage_namehelp}} + </td> + {% endif %} <td>{{other_dep.version}}</td> <td>{{other_dep.size|filtered_filesizeformat}}</td> <td> diff --git a/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html b/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html index 0eb39d3f4..8653ae0fe 100644 --- a/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html +++ b/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html @@ -28,12 +28,19 @@ </thead> <tbody> {% for reverse_dep in reverse_deps|dictsort:"name" %} - <tr> + <tr {{reverse_dep.size|format_vpackage_rowclass}} > + {% if reverse_dep.size != -1 %} <td> <a href="{% url 'package_included_detail' build.id target.id reverse_dep.dependent_id %}"> {{reverse_dep.name}} </a> </td> + {% else %} + <td> + {{reverse_dep.name|format_vpackage_namehelp}} + </td> + {% endif %} + <td>{{reverse_dep.version}}</td> <td>{{reverse_dep.size|filtered_filesizeformat}}</td> </tr> diff --git a/lib/toaster/toastergui/templatetags/projecttags.py b/lib/toaster/toastergui/templatetags/projecttags.py index 12c2468fa..34c3c21d2 100644 --- a/lib/toaster/toastergui/templatetags/projecttags.py +++ b/lib/toaster/toastergui/templatetags/projecttags.py @@ -110,8 +110,14 @@ def format_none_and_zero(value): @register.filter def filtered_filesizeformat(value): - """Change output from fileformatsize to suppress trailing '.0' and change 'bytes' to 'B' """ + If the value is -1 return an empty string. Otherwise, + change output from fileformatsize to suppress trailing '.0' + and change 'bytes' to 'B'. + """ + if value == -1: + return '' + return filesizeformat(value).replace("bytes", "B").replace(".0", "") @register.filter @@ -228,4 +234,17 @@ def filter_sizeovertotal(package_object, total_size): return '{:.1%}'.format(float(size)/float(total_size)) +from django.utils.safestring import mark_safe +@register.filter +def format_vpackage_rowclass(size): + if size == -1: + return mark_safe('class="muted"') + return '' +@register.filter +def format_vpackage_namehelp(name): + r = name + ' ' + r += '<i class="icon-question-sign get-help hover-help"' + r += ' title = "' + name + ' only has dependency information available.">' + r += '</i>' + return mark_safe(r) diff --git a/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py index 92814cef1..d1234fe80 100644 --- a/lib/toaster/toastergui/views.py +++ b/lib/toaster/toastergui/views.py @@ -425,7 +425,7 @@ def target(request, build_id, target_id): (filter_string, search_term, ordering_string) = _search_tuple(request, Package) # FUTURE: get rid of nested sub-queries replacing with ManyToMany field - queryset = Package.objects.filter(id__in=Target_Installed_Package.objects.filter(target_id=target_id).values('package_id')) + queryset = Package.objects.filter(size__gte=0, id__in=Target_Installed_Package.objects.filter(target_id=target_id).values('package_id')) packages_sum = queryset.aggregate(Sum('installed_size')) queryset = _get_queryset(Package, queryset, filter_string, search_term, ordering_string) packages = _build_page_range(Paginator(queryset, request.GET.get('count', 25)),request.GET.get('page', 1)) |