Nevermind, I did the rebase and whitespace change myself.

The patches are queued for submission.


Alex


On Thu, Sep 4, 2014 at 5:26 PM, Damian, Alexandru <
[email protected]> wrote:

> Hi Marius,
>
> Your patches passed functional testing, but I need you to re-do them a bit
> to get them merged -
>
> - Can you please rebase your patchset on top of origin/master ? I have
> conflicts.
> - Please do not use Tab, but instead 4-spaces in the files; this is the
> current whitespace standard we use.
>
> Thanks,
> Alex
>
>
> On Fri, Aug 29, 2014 at 1:51 PM, Marius Avram <[email protected]>
> wrote:
>
>> Until now cookies were used to save which columns were shown and which
>> were hidden in toaster tables. The tables from the templates also have
>> functionalities like sorting the entries on a certain column and
>> limiting the number of entries displayed on a page. The later however
>> were not saved using cookies. This patch brings this new feature.
>>
>> The cookies are not saved only in the front-end. They are saved both
>> in the frontend in case the user uses the inputs/buttons to change
>> a parameter and also in the backend in case the user specifies manually
>> using GET variables the value of the parameters.
>>
>> When no GET parameters are given the views will redirect the url to one
>> containg the parameters saved as cookies. When no cookies exist, default
>> values will be used.
>>
>> [YOCTO #6126]
>>
>> Signed-off-by: Marius Avram <[email protected]>
>> ---
>>  .../toastergui/templates/basetable_bottom.html     |   15 ++-
>>  .../toastergui/templates/basetable_top.html        |   11 +-
>>  bitbake/lib/toaster/toastergui/views.py            |  122
>> +++++++++++++-------
>>  3 files changed, 102 insertions(+), 46 deletions(-)
>>
>> diff --git
>> a/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html
>> b/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html
>> index ac14363..cbdc164 100644
>> --- a/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html
>> +++ b/bitbake/lib/toaster/toastergui/templates/basetable_bottom.html
>> @@ -26,7 +26,7 @@
>>                              <span class="help-inline"
>> style="padding-top:5px;">Show rows:</span>
>>                              <select
>> style="margin-top:5px;margin-bottom:0px;" class="pagesize">
>>    {% with "2 5 10 25 50 100" as list%}
>> -    {% for i in list.split %}<option{%if i == request.GET.count %}
>> selected{%endif%}>{{i}}</option>
>> +    {% for i in list.split %}<option value="{{i}}">{{i}}</option>
>>      {% endfor %}
>>    {% endwith %}
>>                              </select>
>> @@ -56,6 +56,14 @@
>>      }
>>      }
>>
>> +    // load cookie for number of entries to be displayed on page
>> +    pagesize = $.cookie('count');
>> +    if (!pagesize)
>> +        pagesize = 10;
>> +    $('.pagesize option').prop('selected', false)
>> +                         .filter('[value="' + pagesize + '"]')
>> +                         .attr('selected', true);
>> +
>>      $('.chbxtoggle').each(function () {
>>          showhideTableColumn($(this).attr('id'), $(this).is(':checked'))
>>      });
>> @@ -72,8 +80,9 @@
>>      $('.progress, .lead span').tooltip({container:'table',
>> placement:'top'});
>>
>>      $(".pagesize").change(function () {
>> -        console.log("page size change");
>> -        reload_params({"count":$(this).val()}); ;
>> +        reload_params({"count":$(this).val()});
>> +        // save cookie with pagesize
>> +        $.cookie("count", $(this).val(), { path :
>> $(location).attr('pathname') });
>>      });
>>  });
>>  </script>
>> diff --git a/bitbake/lib/toaster/toastergui/templates/basetable_top.html
>> b/bitbake/lib/toaster/toastergui/templates/basetable_top.html
>> index 1231e1f..037554b 100644
>> --- a/bitbake/lib/toaster/toastergui/templates/basetable_top.html
>> +++ b/bitbake/lib/toaster/toastergui/templates/basetable_top.html
>> @@ -156,6 +156,13 @@
>>          showhideImmediateTableAction( clname, sh, orderkey );
>>      }
>>
>> +    //
>> +    // saves a cookie with selected order field
>> +    //
>> +    function saveOrderCookie( orderfield ) {
>> +        $.cookie("orderby", orderfield, { path:
>> $(location).attr('pathname') });
>> +    }
>> +
>>      </script>
>>
>>  <!-- control header -->
>> @@ -205,7 +212,7 @@
>>                  <span class="help-inline" style="padding-top:5px;">Show
>> rows:</span>
>>                  <select style="margin-top:5px;margin-bottom:0px;"
>> class="pagesize">
>>    {% with "2 5 10 25 50 100" as list%}
>> -{% for i in list.split %}                    <option{%if i ==
>> request.GET.count %} selected{%endif%}>{{i}}</option>
>> +{% for i in list.split %}                    <option
>> value="{{i}}">{{i}}</option>
>>      {% endfor %}
>>    {% endwith %}
>>                  </select>
>> @@ -221,7 +228,7 @@
>>          <tr>
>>              {% for tc in tablecols %}<th class="{{tc.dclass}}
>> {{tc.clclass}}">
>>                  {%if tc.qhelp%}<i class="icon-question-sign get-help"
>> title="{{tc.qhelp}}"></i>{%endif%}
>> -                {%if tc.orderfield%}<a {%if tc.ordericon%}
>> class="sorted" {%endif%}href="javascript:reload_params({'page': 1,
>> 'orderby' : '{{tc.orderfield}}' })" >{{tc.name}}</a>{%else%}<span
>> class="muted">{{tc.name}}</span>{%endif%}
>> +                {%if tc.orderfield%}<a {%if tc.ordericon%}
>> class="sorted" {%endif%}href="javascript:reload_params({'page': 1,
>> 'orderby' : '{{tc.orderfield}}' })"
>> onclick="saveOrderCookie('{{tc.orderfield}}')">{{tc.name}}</a>{%else%}<span
>> class="muted">{{tc.name}}</span>{%endif%}
>>                  {%if tc.ordericon%} <i
>> class="icon-caret-{{tc.ordericon}}"></i>{%endif%}
>>                  {%if tc.filter%}<div class="btn-group pull-right">
>>                      <a href="#filter_{{tc.filter.class}}" role="button"
>> class="btn btn-mini {%if
>> request.GET.filter%}{{tc.filter.options|filtered_icon:request.GET.filter}}
>> {%endif%}" {%if request.GET.filter and
>> tc.filter.options|filtered_tooltip:request.GET.filter %}
>> title="<p>{{tc.filter.options|filtered_tooltip:request.GET.filter}}</p><p><a
>> class='btn btn-small btn-primary'
>> href=javascript:reload_params({'filter':''})>Show all {% if
>> filter_search_display %}{{filter_search_display}}{% else %}{{objectname}}{%
>> endif %}</a></p>" {%endif%} data-toggle="modal"> <i class="icon-filter
>> filtered"></i> </a>
>> diff --git a/bitbake/lib/toaster/toastergui/views.py
>> b/bitbake/lib/toaster/toastergui/views.py
>> index bd65c08..d60b2f5 100755
>> --- a/bitbake/lib/toaster/toastergui/views.py
>> +++ b/bitbake/lib/toaster/toastergui/views.py
>> @@ -20,6 +20,7 @@
>>  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>>
>>  import operator,re
>> +import HTMLParser
>>
>>  from django.db.models import Q, Sum
>>  from django.db import IntegrityError
>> @@ -32,6 +33,7 @@ from django.core.urlresolvers import reverse
>>  from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
>>  from django.http import HttpResponseBadRequest, HttpResponseNotFound
>>  from django.utils import timezone
>> +from django.utils.html import escape
>>  from datetime import timedelta
>>  from django.utils import formats
>>  import json
>> @@ -200,6 +202,22 @@ def _get_queryset(model, queryset, filter_string,
>> search_term, ordering_string,
>>      # insure only distinct records (e.g. from multiple search hits) are
>> returned
>>      return queryset.distinct()
>>
>> +# returns the value of entries per page and the name of the applied
>> sorting field.
>> +# if the value is given explicitly as a GET parameter it will be the
>> first selected,
>> +# otherwise the cookie value will be used.
>> +def _get_parameters_values(request, default_count, default_order):
>> +    pagesize = request.GET.get('count', request.COOKIES.get('count',
>> default_count))
>> +    orderby = request.GET.get('orderby', request.COOKIES.get('orderby',
>> default_order))
>> +    return (pagesize, orderby)
>> +
>> +
>> +# set cookies for parameters. this is usefull in case parameters are set
>> +# manually from the GET values of the link
>> +def _save_parameters_cookies(response, pagesize, orderby, request):
>> +    html_parser = HTMLParser.HTMLParser()
>> +    response.set_cookie(key='count', value=pagesize, path=request.path)
>> +    response.set_cookie(key='orderby',
>> value=html_parser.unescape(orderby), path=request.path)
>> +    return response
>>
>>  # shows the "all builds" page
>>  def builds(request):
>> @@ -207,7 +225,8 @@ def builds(request):
>>      # define here what parameters the view needs in the GET portion in
>> order to
>>      # be able to display something.  'count' and 'page' are mandatory
>> for all views
>>      # that use paginators.
>> -    mandatory_parameters = { 'count': 10,  'page' : 1, 'orderby' :
>> 'completed_on:-' };
>> +    (pagesize, orderby) = _get_parameters_values(request, 10,
>> 'completed_on:-')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby' :
>> orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters( 'all-builds', request.GET,
>> mandatory_parameters)
>> @@ -220,7 +239,7 @@ def builds(request):
>>      queryset = _get_queryset(Build, queryset_all, filter_string,
>> search_term, ordering_string, '-completed_on')
>>
>>      # retrieve the objects that will be displayed in the table; builds a
>> paginator and gets a page range to display
>> -    build_info = _build_page_range(Paginator(queryset,
>> request.GET.get('count', 10)),request.GET.get('page', 1))
>> +    build_info = _build_page_range(Paginator(queryset, pagesize),
>> request.GET.get('page', 1))
>>
>>      # build view-specific information; this is rendered specifically in
>> the builds page, at the top of the page (i.e. Recent builds)
>>      build_mru =
>> Build.objects.filter(completed_on__gte=(timezone.now()-timedelta(hours=24))).order_by("-started_on")[:3]
>> @@ -379,7 +398,9 @@ def builds(request):
>>                  ]
>>              }
>>
>> -    return render(request, template, context)
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>
>>  ##
>> @@ -548,8 +569,8 @@ def recipe(request, build_id, recipe_id):
>>
>>  def target_common( request, build_id, target_id, variant ):
>>      template = "target.html"
>> -    default_orderby = 'name:+';
>> -    mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'name:+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 25, 'name:+')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby':
>> orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters(
>> @@ -565,8 +586,7 @@ def target_common( request, build_id, target_id,
>> variant ):
>>      packages_sum =  queryset.aggregate( Sum( 'installed_size' ))
>>      queryset = _get_queryset(
>>              Package, queryset, filter_string, search_term,
>> ordering_string, 'name' )
>> -    packages = _build_page_range( Paginator(
>> -            queryset, request.GET.get( 'count', 25 )),request.GET.get(
>> 'page', 1 ))
>> +    packages = _build_page_range( Paginator(queryset, pagesize),
>> request.GET.get( 'page', 1 ))
>>
>>      # bring in package dependencies
>>      for p in packages.object_list:
>> @@ -690,7 +710,7 @@ his package',
>>          'objects'              : packages,
>>          'packages_sum'         : packages_sum[ 'installed_size__sum' ],
>>          'object_search_display': "packages included",
>> -        'default_orderby'      : default_orderby,
>> +        'default_orderby'      : orderby,
>>          'tablecols'            : [
>>                      tc_package,
>>                      tc_packageVersion,
>> @@ -707,7 +727,10 @@ his package',
>>                      tc_layerDir,
>>                  ]
>>          }
>> -    return( render( request, template, context ))
>> +
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def target( request, build_id, target_id ):
>>      return( target_common( request, build_id, target_id, "target" ))
>> @@ -889,26 +912,25 @@ def tasks_common(request, build_id, variant,
>> task_anchor):
>>          title_variant='Time'
>>          object_search_display="time data"
>>          filter_search_display="tasks"
>> -        mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'elapsed_time:-'};
>> -        default_orderby = 'elapsed_time:-';
>> +        (pagesize, orderby) = _get_parameters_values(request, 25,
>> 'elapsed_time:-')
>>      elif 'diskio'    == variant:
>>          title_variant='Disk I/O'
>>          object_search_display="disk I/O data"
>>          filter_search_display="tasks"
>> -        mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'disk_io:-'};
>> -        default_orderby = 'disk_io:-';
>> +        (pagesize, orderby) = _get_parameters_values(request, 25,
>> 'disk_io:-')
>>      elif 'cpuusage'  == variant:
>>          title_variant='CPU usage'
>>          object_search_display="CPU usage data"
>>          filter_search_display="tasks"
>> -        mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'cpu_usage:-'};
>> -        default_orderby = 'cpu_usage:-';
>> +        (pagesize, orderby) = _get_parameters_values(request, 25,
>> 'cpu_usage:-')
>>      else :
>>          title_variant='Tasks'
>>          object_search_display="tasks"
>>          filter_search_display="tasks"
>> -        mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'order:+'};
>> -        default_orderby = 'order:+';
>> +        (pagesize, orderby) = _get_parameters_values(request, 25,
>> 'order:+')
>> +
>> +
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby':
>> orderby }
>>
>>      template = 'tasks.html'
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>> @@ -934,7 +956,7 @@ def tasks_common(request, build_id, variant,
>> task_anchor):
>>          del request.GET['anchor']
>>          i=0
>>          a=int(anchor)
>> -               count_per_page=int(request.GET.get('count', 100))
>> +               count_per_page=int(pagesize)
>>          for task in queryset.iterator():
>>              if a == task.order:
>>                                 new_page= (i / count_per_page ) + 1
>> @@ -943,7 +965,7 @@ def tasks_common(request, build_id, variant,
>> task_anchor):
>>                                 return _redirect_parameters( variant,
>> request.GET, mandatory_parameters, build_id = build_id)
>>              i += 1
>>
>> -    tasks = _build_page_range(Paginator(queryset,
>> request.GET.get('count', 100)),request.GET.get('page', 1))
>> +    tasks = _build_page_range(Paginator(queryset,
>> pagesize),request.GET.get('page', 1))
>>
>>      # define (and modify by variants) the 'tablecols' members
>>      tc_order={
>> @@ -1074,7 +1096,7 @@ def tasks_common(request, build_id, variant,
>> task_anchor):
>>                  'title': title_variant,
>>                  'build': Build.objects.filter(pk=build_id)[0],
>>                  'objects': tasks,
>> -                'default_orderby' : default_orderby,
>> +                'default_orderby' : orderby,
>>                  'search_term': search_term,
>>                  'total_count': queryset_with_search.count(),
>>                  'tablecols':[
>> @@ -1091,7 +1113,9 @@ def tasks_common(request, build_id, variant,
>> task_anchor):
>>                      tc_log,
>>                  ]}
>>
>> -    return render(request, template, context)
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def tasks(request, build_id):
>>      return tasks_common(request, build_id, 'tasks', '')
>> @@ -1111,7 +1135,8 @@ def cpuusage(request, build_id):
>>
>>  def recipes(request, build_id):
>>      template = 'recipes.html'
>> -    mandatory_parameters = { 'count': 100,  'page' : 1,
>> 'orderby':'name:+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 100, 'name:+')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby' :
>> orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters( 'recipes', request.GET,
>> mandatory_parameters, build_id = build_id)
>> @@ -1119,7 +1144,7 @@ def recipes(request, build_id):
>>      queryset =
>> Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter(build=build_id))
>>      queryset = _get_queryset(Recipe, queryset, filter_string,
>> search_term, ordering_string, 'name')
>>
>> -    recipes = _build_page_range(Paginator(queryset,
>> request.GET.get('count', 100)),request.GET.get('page', 1))
>> +    recipes = _build_page_range(Paginator(queryset,
>> pagesize),request.GET.get('page', 1))
>>
>>      # prefetch the forward and reverse recipe dependencies
>>      deps = { }; revs = { }
>> @@ -1218,8 +1243,9 @@ def recipes(request, build_id):
>>              ]
>>          }
>>
>> -    return render(request, template, context)
>> -
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def configuration(request, build_id):
>>      template = 'configuration.html'
>> @@ -1258,7 +1284,8 @@ def configuration(request, build_id):
>>
>>  def configvars(request, build_id):
>>      template = 'configvars.html'
>> -    mandatory_parameters = { 'count': 100,  'page' : 1,
>> 'orderby':'variable_name:+', 'filter':'description__regex:.+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 100,
>> 'variable_name:+')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby' :
>> orderby, 'filter' : 'description__regex:.+' }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      (filter_string, search_term, ordering_string) =
>> _search_tuple(request, Variable)
>>      if retval:
>> @@ -1273,7 +1300,7 @@ def configvars(request, build_id):
>>      # remove records where the value is empty AND there are no history
>> files
>>      queryset =
>> queryset.exclude(variable_value='',vhistory__file_name__isnull=True)
>>
>> -    variables = _build_page_range(Paginator(queryset,
>> request.GET.get('count', 50)), request.GET.get('page', 1))
>> +    variables = _build_page_range(Paginator(queryset, pagesize),
>> request.GET.get('page', 1))
>>
>>      # show all matching files (not just the last one)
>>      file_filter= search_term + ":"
>> @@ -1339,12 +1366,14 @@ def configvars(request, build_id):
>>                  ],
>>              }
>>
>> -    return render(request, template, context)
>> -
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def bpackage(request, build_id):
>>      template = 'bpackage.html'
>> -    mandatory_parameters = { 'count': 100,  'page' : 1,
>> 'orderby':'name:+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 100, 'name:+')
>> +    mandatory_parameters = { 'count' : pagesize,  'page' : 1, 'orderby'
>> : orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters( 'packages', request.GET,
>> mandatory_parameters, build_id = build_id)
>> @@ -1352,7 +1381,7 @@ def bpackage(request, build_id):
>>      queryset = Package.objects.filter(build =
>> build_id).filter(size__gte=0)
>>      queryset = _get_queryset(Package, queryset, filter_string,
>> search_term, ordering_string, 'name')
>>
>> -    packages = _build_page_range(Paginator(queryset,
>> request.GET.get('count', 100)),request.GET.get('page', 1))
>> +    packages = _build_page_range(Paginator(queryset,
>> pagesize),request.GET.get('page', 1))
>>
>>      context = {
>>          'objectname': 'packages built',
>> @@ -1432,7 +1461,9 @@ def bpackage(request, build_id):
>>              ]
>>          }
>>
>> -    return render(request, template, context)
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def bfile(request, build_id, package_id):
>>      template = 'bfile.html'
>> @@ -1587,7 +1618,8 @@ def package_built_detail(request, build_id,
>> package_id):
>>
>>      # follow convention for pagination w/ search although not used for
>> this view
>>      queryset = Package_File.objects.filter(package_id__exact=package_id)
>> -    mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'path:+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 25, 'path:+')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby' :
>> orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters( 'package_built_detail',
>> request.GET, mandatory_parameters, build_id = build_id, package_id =
>> package_id)
>> @@ -1618,7 +1650,10 @@ def package_built_detail(request, build_id,
>> package_id):
>>      }
>>      if paths.all().count() < 2:
>>          context['disable_sort'] = True;
>> -    return render(request, template, context)
>> +
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def package_built_dependencies(request, build_id, package_id):
>>      template = "package_built_dependencies.html"
>> @@ -1643,9 +1678,9 @@ def package_included_detail(request, build_id,
>> target_id, package_id):
>>      if Build.objects.filter(pk=build_id).count() == 0 :
>>          return redirect(builds)
>>
>> -
>>      # follow convention for pagination w/ search although not used for
>> this view
>> -    mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'path:+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 25, 'path:+')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby' :
>> orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters( 'package_included_detail',
>> request.GET, mandatory_parameters, build_id = build_id, target_id =
>> target_id, package_id = package_id)
>> @@ -1680,8 +1715,10 @@ def package_included_detail(request, build_id,
>> target_id, package_id):
>>              ]
>>      }
>>      if paths.all().count() < 2:
>> -        context['disable_sort'] = True;
>> -    return render(request, template, context)
>> +        context['disable_sort'] = True
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def package_included_dependencies(request, build_id, target_id,
>> package_id):
>>      template = "package_included_dependencies.html"
>> @@ -1710,7 +1747,8 @@ def package_included_reverse_dependencies(request,
>> build_id, target_id, package_
>>      if Build.objects.filter(pk=build_id).count() == 0 :
>>          return redirect(builds)
>>
>> -    mandatory_parameters = { 'count': 25,  'page' : 1,
>> 'orderby':'package__name:+'};
>> +    (pagesize, orderby) = _get_parameters_values(request, 25,
>> 'package__name:+')
>> +    mandatory_parameters = { 'count': pagesize,  'page' : 1, 'orderby':
>> orderby }
>>      retval = _verify_parameters( request.GET, mandatory_parameters )
>>      if retval:
>>          return _redirect_parameters(
>> 'package_included_reverse_dependencies', request.GET, mandatory_parameters,
>> build_id = build_id, target_id = target_id, package_id = package_id)
>> @@ -1752,8 +1790,10 @@ def package_included_reverse_dependencies(request,
>> build_id, target_id, package_
>>              ]
>>      }
>>      if objects.all().count() < 2:
>> -        context['disable_sort'] = True;
>> -    return render(request, template, context)
>> +        context['disable_sort'] = True
>> +    response = render(request, template, context)
>> +    _save_parameters_cookies(response, pagesize, orderby, request)
>> +    return response
>>
>>  def image_information_dir(request, build_id, target_id, packagefile_id):
>>      # stubbed for now
>> --
>> 1.7.9.5
>>
>> --
>> _______________________________________________
>> toaster mailing list
>> [email protected]
>> https://lists.yoctoproject.org/listinfo/toaster
>>
>
>
>
> --
> Alex Damian
> Yocto Project
> SSG / OTC
>



-- 
Alex Damian
Yocto Project
SSG / OTC
-- 
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to