def results(cl,r):
    qe = hasattr(cl.model_admin, 'quick_editable')
    if cl.formset:
        if qe:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield {
                    'fields':list(items_for_result(cl, res, form)), 
                    'quickedit':form
                }
        else:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield {
                    'fields': list(items_for_result(cl, res, form)),
                    'quickedit': None
                }
    else:
        if qe:
            for res in cl.result_list:
                yield {
                    'fields':list(items_for_result(cl, res, None)), 
                    'quickedit':cl.model_admin.get_changelist_formset(r).form(instance=res)
                }
        else:
            for res in cl.result_list:
                yield {
                    'fields': list(items_for_result(cl, res, None)),
                    'quickedit': None
                }
Example #2
0
def results(cl, website):
    if cl.formset:
        for res, form in zip(cl.result_list, cl.formset.forms):
            yield ResultList(form, chain(items_for_result(cl, res, form), custom_items_for_result(cl, res, website)))
    else:
        for res in cl.result_list:
            yield ResultList(None, chain(items_for_result(cl, res, None), custom_items_for_result(cl, res, website)))
Example #3
0
def results(cl):
    if cl.formset:
        for res, form in zip(cl.result_list, cl.formset.forms):
            yield ResultList(form, items_for_result(cl, res, form))
    else:
        for res in cl.result_list:
            yield (ResultList(None, items_for_result(cl, res, None)), res)
def results(cl, r):
    qe = hasattr(cl.model_admin, 'quick_editable')
    if cl.formset:
        if qe:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield {
                    'fields': list(items_for_result(cl, res, form)),
                    'quickedit': form
                }
        else:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield {
                    'fields': list(items_for_result(cl, res, form)),
                    'quickedit': None
                }
    else:
        if qe:
            for res in cl.result_list:
                yield {
                    'fields':
                    list(items_for_result(cl, res, None)),
                    'quickedit':
                    cl.model_admin.get_changelist_formset(r).form(instance=res)
                }
        else:
            for res in cl.result_list:
                yield {
                    'fields': list(items_for_result(cl, res, None)),
                    'quickedit': None
                }
def results(cl):
    
    objects = cl.model.objects.filter(pk__in=[o.pk for o in cl.result_list]).order_by('tree_id', 'lft')
        
    if cl.formset:
        pk_forms = dict([(form.instance.pk, form) for form in cl.formset.forms])
        forms = [pk_forms[obj.pk] for obj in objects]
        for res, form in zip(objects, forms):
            yield {'object': res, 'items': list(items_for_result(cl, res, form))}
    else:
        for res in objects:
            yield {'object': res, 'items': list(items_for_result(cl, res, None))}
def results(cl):
    """
    Just like the one from Django. Only we add a serializable_value method to
    the document, because Django expects it and mongoengine doesn't have it.
    """
    if cl.formset:
        for res, form in zip(cl.result_list, cl.formset.forms):
            patch_document(serializable_value, res)
            yield ResultList(form, items_for_result(cl, res, form))
    else:
        for res in cl.result_list:
            patch_document(serializable_value, res)
            yield ResultList(None, items_for_result(cl, res, None))
def results(cl):
    """
    Just like the one from Django. Only we add a serializable_value method to
    the document, because Django expects it and mongoengine doesn't have it.
    """
    if cl.formset:
        for res, form in zip(cl.result_list, cl.formset.forms):
            patch_document(serializable_value, res)
            yield ResultList(form, items_for_result(cl, res, form))
    else:
        for res in cl.result_list:
            patch_document(serializable_value, res)
            yield ResultList(None, items_for_result(cl, res, None))
    def test_changelist_display(self):
        "Check display fields have registered ok and return valid values"
        t1 = self.model.objects.create(name='Test 1',
                                       singletag='Mr',
                                       tags='red, blue')
        self.assertSequenceEqual(
            self.ma.get_list_display(request),
            ['name', 'singletag', '_tagulous_display_tags'],
        )
        results = self.get_changelist_results()
        self.assertEqual(len(results), 1)
        r1 = results[0]
        self.assertEqual(t1.pk, r1.pk)

        # Find what it's showing
        from django.contrib.admin.templatetags.admin_list import items_for_result
        row = [
            list(items_for_result(self.cl, result, None)) for result in results
        ][0]

        # Before comparing, strip class attrs
        row = [re.sub(r' class=".+?"', '', r) for r in row]
        self.assertSequenceEqual(row, [
            '<td>Test 1</td>',
            '<td>Mr</td>',
            '<td>blue, red</td>',
        ])
def settings_list(cl):
    """
    Displays the headers and data list together
    """
    from django_settings.models import SettingSet

    headers = list(result_headers(cl))
    num_sorted_fields = 0
    for h in headers:
        if h['sortable'] and h['sorted']:
            num_sorted_fields += 1

    # fake set for settings without setting set
    fake_setting_set_name = 'Unallocated'
    if hasattr(settings, 'DJANGO_SETTINGS_UNALLOCATED_SET'):
        fake_setting_set_name = settings.DJANGO_SETTINGS_UNALLOCATED_SET
    fake_setting_set = SettingSet(pk=0, title=fake_setting_set_name)

    setting_sets = {}
    for setting in cl.result_list:
        setting_set = setting.setting_set or fake_setting_set
        setting_sets.setdefault(setting_set, []) \
                   .append(ResultList(None, items_for_result(cl, setting, None)))

    return {
        'cl': cl,
        'result_hidden_fields': list(result_hidden_fields(cl)),
        'result_headers': headers,
        'num_sorted_fields': num_sorted_fields,
        'results': setting_sets
    }
Example #10
0
def results(cl):
    for res in cl.result_list:
        if res.id in cl.related_objects:
            res.already_related = True
        else:
            res.already_related = False
        yield (res, list(items_for_result(cl, res, None)))
def settings_list(cl):
    """
    Displays the headers and data list together
    """
    from django_settings.models import SettingSet

    headers = list(result_headers(cl))
    num_sorted_fields = 0
    for h in headers:
        if h['sortable'] and h['sorted']:
            num_sorted_fields += 1

    # fake set for settings without setting set
    fake_setting_set_name = 'Unallocated'
    if hasattr(settings, 'DJANGO_SETTINGS_UNALLOCATED_SET'):
        fake_setting_set_name = settings.DJANGO_SETTINGS_UNALLOCATED_SET
    fake_setting_set = SettingSet(pk=0, title=fake_setting_set_name)

    setting_sets = {}
    for setting in cl.result_list:
        setting_set = setting.setting_set or fake_setting_set
        setting_sets.setdefault(setting_set, []) \
                   .append(ResultList(None, items_for_result(cl, setting, None)))


    return {'cl': cl,
            'result_hidden_fields': list(result_hidden_fields(cl)),
            'result_headers': headers,
            'num_sorted_fields': num_sorted_fields,
            'results': setting_sets}
Example #12
0
    def test_changelist_display(self):
        "Check display fields have registered ok and return valid values"
        t1 = self.model.objects.create(name='Test 1', singletag='Mr', tags='red, blue')
        self.assertSequenceEqual(
            self.ma.get_list_display(self.mock_request()),
            ['name', 'singletag', '_tagulous_display_tags'],
        )
        results = self.get_changelist_results()
        self.assertEqual(len(results), 1)
        r1 = results[0]
        self.assertEqual(t1.pk, r1.pk)

        # Find what it's showing
        from django.contrib.admin.templatetags.admin_list import items_for_result
        row = [
            list(items_for_result(self.cl, result, None))
            for result in results
        ][0]

        # Before comparing, strip class attrs
        row = [
            re.sub(r' class=".+?"', '', r)
            for r in row
        ]
        self.assertSequenceEqual(row, [
            '<td>Test 1</td>',
            '<td>Mr</td>',
            '<td>blue, red</td>',
        ])
Example #13
0
def better_results(cl):
    for res in cl.result_list:
        cells = list(items_for_result(cl, res, None))
        yield dict(
            cells=cells,
            instance=res,
            num_real_cells=len(cells) - 1,
        )
Example #14
0
def better_results(cl):
    for res in cl.result_list:
        cells = list(items_for_result(cl, res, None))
        yield dict(
            cells=cells,
            instance=res,
            num_real_cells=len(cells) - 1,
        )
Example #15
0
def results(cl):
    """
    Omits any admin
    """
    if cl.formset:
        for res, form in zip(cl.result_list, cl.formset.forms):

            if res.membertype != 'AD':


                yield admin.ResultList(form, admin.items_for_result(cl, res, form))
          
    else:
        for res in cl.result_list:

            if res.membertype != 'AD':
                
                yield admin.ResultList(None, admin.items_for_result(cl, res, None))
Example #16
0
def _properties(cl, result):
    first = True
    for item in admin_list.items_for_result(cl, result, None):
        if first:
            # The first column is handled specially. Throw the standard
            # value away and continue.
            first = False
            continue
        yield item
Example #17
0
def results(cl):
    if hasattr(cl.model_admin, "quick_editable"):
        qe_form = True
    else:
        qe_form = False
    if cl.formset:
        if qe_form:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield {"fields": list(items_for_result(cl, res, form)), "quickedit": form}
        else:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield list(items_for_result(cl, res, form))
    else:
        if qe_form:
            for res in cl.result_list:
                yield {"fields": list(items_for_result(cl, res, None))}
        else:
            for res in cl.result_list:
                yield list(items_for_result(cl, res, None))
Example #18
0
def results_hubuser(cl):
    #for res in cl.result_list:
    #yield dict(pk=getattr(res, cl.pk_attname), field_list=list(items_for_result(cl,res)))
    #    yield dict(field_list=list(items_for_result(cl, res, None)))

    #for res, form in zip(cl.result_list, cl.formset.forms):
    #    yield ResultList(form, items_for_result(cl, res, form))

    # for res, form in zip(cl.result_list, cl.formset.forms):
    #         yield ResultList(form, items_for_result(cl, res, form))
    # else:
    for res in cl.result_list:
        yield ResultList(None, items_for_result(cl, res, None))
Example #19
0
def results(cl):
    if hasattr(cl.model_admin, 'quick_editable'):
        qe_form = True
    else:
        qe_form = False
    if cl.formset:
        if qe_form:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield {'fields':list(items_for_result(cl, res, form)), 
                'quickedit':form}
                #'quickedit':form(instance=res)}
        else:
            for res, form in zip(cl.result_list, cl.formset.forms):
                yield list(items_for_result(cl, res, form))
    else:
        if qe_form:
            for res in cl.result_list:
                yield {'fields':list(items_for_result(cl, res, None)), 
                'quickedit':form}
                #'quickedit':form(instance=res)}
        else:
            for res in cl.result_list:
                yield list(items_for_result(cl, res, None))
Example #20
0
    def live_changelist_update(self, request):
        """
        View that is going to be polled by JavaScript.

        Expects a pk_list POST parameter containing a JSON with a list
        of primary keys of the objects that are displayed on the change list.

        Returns a JSON response with a dict (object) of the primary keys
        with lists of HTML table cells with current data.
        """

        pk_list_json = request.POST.get('pk_list', None)
        if not pk_list_json:
            return HttpResponseBadRequest('Missing pk_list.')

        pk_list = json.loads(pk_list_json, encoding='utf-8')

        qs = self.queryset(request).filter(pk__in=pk_list)
        qs = self.live_changelist_filter(request, qs)

        # A bit of copy-pasta from changelist_view to obtain a ChangeList
        # instance, but what can you do, eh?
        list_display = self.get_list_display(request)
        list_display_links = self.get_list_display_links(request, list_display)

        # Check actions to see if any are available on this changelist
        actions = self.get_actions(request)
        if actions:
            # Add the action checkboxes if there are any actions available.
            list_display = ['action_checkbox'] + list(list_display)

        ChangeList = self.get_changelist(request)
        cl = ChangeList(request, self.model, list_display,
            list_display_links, self.list_filter, self.date_hierarchy,
            self.search_fields, self.list_select_related,
            self.list_per_page, self.list_max_show_all, self.list_editable,
            self)

        data = dict(
            (obj.pk, tuple(items_for_result(cl, obj, None))) for obj in qs)

        data['__interval__'] = self.live_changelist_update_interval(request)

        return HttpResponse(json.dumps(data, ensure_ascii=False),
                            content_type='application/json')
def project_result_list(cl):
    headers = list(result_headers(cl))
    headers.append({'text': mark_safe('&nbsp;')})

    results = list()

    for project in cl.result_list:
        rl = list(items_for_result(cl,project,None))

        url = reverse('admin_project_sendcredentials', args=[project.projectname])
        content = mark_safe('<td><a href="%s">Send Credentials</a></td>' % url)

        rl.append(content)
        results.append(rl)

    return {
        'cl': cl,
        'result_headers': headers,
        'results': results
    }
Example #22
0
def results_multidelete(cl):
    for res in cl.result_list:
        yield dict(pk=getattr(res, cl.pk_attname), field_list=list(items_for_result(cl,res)))
Example #23
0
def results_multidelete(cl):
    for res in cl.result_list:
        yield dict(pk=getattr(res, cl.pk_attname),
                   field_list=list(items_for_result(cl, res)))
Example #24
0
def th_for_result(cl, res):
    for item in items_for_result(cl, res, None):
        match = TH_REGEX.match(item)
        if match:
            return match.group(2)
def th_for_result(cl, res):
    for item in items_for_result(cl, res, None):
        match = TH_REGEX.match(item)
        if match:
            return match.group(2)
def results(cl, additional_links):
    for item in cl.result_list:
        result_list = list(items_for_result(cl,item,None))
        for link in additional_links:
            result_list.append(link['url_template'] % item.id)
        yield "".join(result_list)