django-fast-treenode 3.0.4__py3-none-any.whl → 3.0.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-fast-treenode
3
- Version: 3.0.4
3
+ Version: 3.0.6
4
4
  Summary: Treenode Framework for supporting tree (hierarchical) data structure in Django projects
5
5
  Home-page: https://django-fast-treenode.readthedocs.io/
6
6
  Author: Timur Kady
@@ -1,4 +1,4 @@
1
- django_fast_treenode-3.0.4.dist-info/licenses/LICENSE,sha256=SSYqS84FCnAW7tAxmjBKU8qAa8Jv4VGPuSSGeHwWtJE,1095
1
+ django_fast_treenode-3.0.6.dist-info/licenses/LICENSE,sha256=SSYqS84FCnAW7tAxmjBKU8qAa8Jv4VGPuSSGeHwWtJE,1095
2
2
  treenode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  treenode/apps.py,sha256=QlwjNDM9rkUoWB8Vm8-OkS6lNx0-aTByuGZlu9wrQMs,1832
4
4
  treenode/cache.py,sha256=2jUiiecfFxwB7QFukpU4u0FnDzGH6hNRfo6KAYvs6vM,8447
@@ -7,14 +7,14 @@ treenode/settings.py,sha256=oSkcKXNVd28HXrlWZIH2VYinCMq-UdCDlX4KD0Qc_Xk,631
7
7
  treenode/signals.py,sha256=ERrlKjGqhYaPYVKKRk1JBBlPFOmJKpJ6bXsJavcTlo0,518
8
8
  treenode/tests.py,sha256=2uDafv3Ns6f7Vy1ekUtgYxCZEi1KRyesZDTAFhYcX-E,63
9
9
  treenode/urls.py,sha256=krHvVigc_dxC0z5hEd2rgeH6th8jW7qJY3Qbia-419Y,240
10
- treenode/version.py,sha256=agtMVvI22kmKiOiAyXlZeP14ej675T1Yd8F0FzHfXXk,220
10
+ treenode/version.py,sha256=AVU54ETwjuKnFIx-aNjKEDEPQRV3Odz7S2YywkIjue8,220
11
11
  treenode/widgets.py,sha256=61ed16bVqb1_R97jekDrbKS5pDVK4nzXSDwL3CDBYEk,4075
12
12
  treenode/admin/__init__.py,sha256=XNEYHdF5lKb0vpdlVxdR2fxj5oUgzyx1YyCwsv0gxHw,100
13
- treenode/admin/admin.py,sha256=9_GC6JjWRiG_G84royRGAr10BSNIAj4N_33JXdzP8IY,7733
13
+ treenode/admin/admin.py,sha256=UvO8EuABgXMG3EjkNjPhlL1yWp55JIwN85iOr8pHZ9I,7758
14
14
  treenode/admin/changelist.py,sha256=KUYS9MaR8Ck_1xmMqupobxWKarrJEqmHuEG32CL01Bo,1662
15
15
  treenode/admin/exporter.py,sha256=QE74V6W3tvwA5kCvBt1MmVlLOaWh-o8EU63cgmiwD5Q,5724
16
16
  treenode/admin/importer.py,sha256=hK3D-1DZcoowGblRluGzng3n5Bf__hMsbNaIGXRpRdg,6263
17
- treenode/admin/mixin.py,sha256=o83zTETOjvdHRjGR2pGthsY_RO7GVEimNUISgqqOBLs,10642
17
+ treenode/admin/mixin.py,sha256=ssOfk6xJ8BculZrVRFUoHpNOr4jK9CUkcKnqzqyd5kM,10648
18
18
  treenode/managers/__init__.py,sha256=c7F9Ku9489Hv6lTpUY2nbyBlWFCXBWAkNBm4xTKcjL8,186
19
19
  treenode/managers/managers.py,sha256=8OaFxtajyR1d7-UHyiUbifMBEF9cjfHTIEYPkYUWmt0,7166
20
20
  treenode/managers/queries.py,sha256=zZYeDVFXl-Hro9ubv0_zuN7XaVXQhyeeFx_GVZSMi30,10273
@@ -64,12 +64,15 @@ treenode/static/vendors/jquery-ui/images/ui-icons_777777_256x240.png,sha256=TLer
64
64
  treenode/static/vendors/jquery-ui/images/ui-icons_cc0000_256x240.png,sha256=S36ETnNcCxoWxmxAkVl0P3LYEDInjxi9GnG_g5uho1c,4615
65
65
  treenode/static/vendors/jquery-ui/images/ui-icons_ffffff_256x240.png,sha256=SBgnaQEkoyko7AbSFy0lDoDzAup6bkVQ74XyenFleUM,6395
66
66
  treenode/templates/.gitkeep,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
67
- treenode/templates/admin/.gitkeep,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
68
- treenode/templates/admin/treenode_ajax_rows.html,sha256=zFyPaTbSyxRjOqQ85SMv__qTIYDjEna6chYODBypDZA,224
69
- treenode/templates/admin/treenode_changelist.html,sha256=ALU8iZLCOIiiGIf5RTdv3Bb694pG_YyQ-wcbz1CkBKc,654
70
- treenode/templates/admin/treenode_import_export.html,sha256=K6L_JnhGpWgQdduXSfAJ0UuTBfSN4ylFw9w_e5tPDDE,2926
71
- treenode/templates/admin/treenode_rows.html,sha256=S1XtZXWMUdfgjDoKG7OJwZg81a_5IKPp7tyrrHhJbBk,1695
72
- treenode/templates/widgets/tree_widget.html,sha256=GKcCU-B2FkkJ2BSOuXOw9e_PdYTtADcvyITEXqOlZ9Y,723
67
+ treenode/templates/treenode/.gitkeep,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
68
+ treenode/templates/treenode/admin/.gitkeep,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
69
+ treenode/templates/treenode/admin/treenode_ajax_rows.html,sha256=zFyPaTbSyxRjOqQ85SMv__qTIYDjEna6chYODBypDZA,224
70
+ treenode/templates/treenode/admin/treenode_changelist.html,sha256=ALU8iZLCOIiiGIf5RTdv3Bb694pG_YyQ-wcbz1CkBKc,654
71
+ treenode/templates/treenode/admin/treenode_import_export.html,sha256=K6L_JnhGpWgQdduXSfAJ0UuTBfSN4ylFw9w_e5tPDDE,2926
72
+ treenode/templates/treenode/admin/treenode_rows.html,sha256=S1XtZXWMUdfgjDoKG7OJwZg81a_5IKPp7tyrrHhJbBk,1695
73
+ treenode/templates/treenode/widgets/tree_widget.html,sha256=GKcCU-B2FkkJ2BSOuXOw9e_PdYTtADcvyITEXqOlZ9Y,723
74
+ treenode/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ treenode/templatetags/treenode_admin.py,sha256=0Xz5tS_Etf2FU69Ww7GfQ6u2_jh97jymD1Gc4XCpHbc,1204
73
76
  treenode/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
77
  treenode/utils/db/__init__.py,sha256=RwicAcJSI1nhIPWLdT7j9TFsgOc9834VDn9lVn54GlY,247
75
78
  treenode/utils/db/compiler.py,sha256=PgD9ybS5H8OUHw1gkFBQHhnrf5HiCx8QXUMRhydwh7o,3824
@@ -84,7 +87,7 @@ treenode/views/children.py,sha256=bygXaEBExxG3zIPL34_PYHLFFIqlQU2naqPIlyQ6e-s,11
84
87
  treenode/views/common.py,sha256=mrmr40R91XVbMWcz5GZT-OjpnQ87F7XQZxu1W6rqpqI,617
85
88
  treenode/views/crud.py,sha256=RI5rdyD4hZTszjZFThByxi_lkAeJlqbDCXFkD8iyzKE,7424
86
89
  treenode/views/search.py,sha256=c_GyooT3jyoNa96bBxfoWruRN1wIw-ZGYvwGKkGojTs,1501
87
- django_fast_treenode-3.0.4.dist-info/METADATA,sha256=NbOy_OHnyPjubLhbssbpdM2jwGiModfoiE_CPNvQpM8,10249
88
- django_fast_treenode-3.0.4.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
89
- django_fast_treenode-3.0.4.dist-info/top_level.txt,sha256=fmgxHbXyx1O2MPi_9kjx8aL9L-8TmV0gre4Go8XgqFk,9
90
- django_fast_treenode-3.0.4.dist-info/RECORD,,
90
+ django_fast_treenode-3.0.6.dist-info/METADATA,sha256=gWtZYZEHkn5pnEw54QUVz3B_CORzh7HsXx0eQR0sl9Y,10249
91
+ django_fast_treenode-3.0.6.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
92
+ django_fast_treenode-3.0.6.dist-info/top_level.txt,sha256=fmgxHbXyx1O2MPi_9kjx8aL9L-8TmV0gre4Go8XgqFk,9
93
+ django_fast_treenode-3.0.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.7.1)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
treenode/admin/admin.py CHANGED
@@ -46,7 +46,7 @@ class TreeNodeModelAdmin(AdminMixin, admin.ModelAdmin):
46
46
  models.ForeignKey: {'widget': TreeWidget()},
47
47
  }
48
48
 
49
- change_list_template = "admin/treenode_changelist.html"
49
+ change_list_template = "treenode/admin/treenode_changelist.html"
50
50
  import_export = True
51
51
 
52
52
  class Media:
@@ -184,6 +184,7 @@ class TreeNodeModelAdmin(AdminMixin, admin.ModelAdmin):
184
184
  def changelist_view(self, request, extra_context=None):
185
185
  """Changelist View."""
186
186
  extra_context = extra_context or {}
187
+ # TODO
187
188
  extra_context['import_export_enabled'] = self.import_export
188
189
  extra_context['num_sorted_fields'] = len(self.get_ordering(request) or []) # noqa: D501
189
190
 
treenode/admin/mixin.py CHANGED
@@ -84,7 +84,7 @@ class AdminMixin(admin.ModelAdmin):
84
84
  value = field(obj)
85
85
  field_name = getattr(field, "__name__", "field")
86
86
  else:
87
- r, attr, value = lookup_field(field, obj, self)
87
+ attr, value = lookup_field(field, obj, self)
88
88
  field_name = field
89
89
 
90
90
  row_data.append(value)
@@ -154,7 +154,7 @@ class AdminMixin(admin.ModelAdmin):
154
154
 
155
155
  # Render HTML
156
156
  html = render_to_string(
157
- "admin/treenode_ajax_rows.html",
157
+ "treenode/admin/treenode_ajax_rows.html",
158
158
  {"rows": rows},
159
159
  request=request
160
160
  )
@@ -0,0 +1 @@
1
+
File without changes
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Custon tags for changelist tamplate.
4
+
5
+ Version: 3.0.0
6
+ Author: Timur Kady
7
+ Email: timurkady@yandex.com
8
+ """
9
+
10
+
11
+ from django import template
12
+ from django.contrib.admin.templatetags import admin_list
13
+
14
+ register = template.Library()
15
+
16
+
17
+ @register.inclusion_tag(
18
+ "treenode/admin/treenode_rows.html",
19
+ takes_context=True,
20
+ )
21
+ def tree_result_list(context, cl):
22
+ """
23
+ Return custom results for change_list.
24
+
25
+ Заголовки берём из стандартного admin_list.result_headers(),
26
+ а строки формируем как угодно.
27
+ """
28
+ headers = list(admin_list.result_headers(cl))
29
+
30
+ rows = []
31
+ for obj in cl.result_list:
32
+ cells = list(admin_list.items_for_result(cl, obj, None))
33
+ rows.append({
34
+ "attrs": getattr(obj, "row_attrs", ""),
35
+ "cells": cells,
36
+ "form": None, # поддержка list_editable, если нужно
37
+ })
38
+
39
+ return {
40
+ **context.flatten(),
41
+ "headers": headers,
42
+ "rows": rows,
43
+ "num_sorted_fields": sum(
44
+ 1 for h in headers if h["sortable"] and h["sorted"]
45
+ ),
46
+ }
treenode/version.py CHANGED
@@ -4,9 +4,9 @@ TreeNode Version Module
4
4
 
5
5
  This module defines the current version of the TreeNode package.
6
6
 
7
- Version: 3.0.3
7
+ Version: 3.0.6
8
8
  Author: Timur Kady
9
9
  Email: timurkady@yandex.com
10
10
  """
11
11
 
12
- __version__ = '3.0.4'
12
+ __version__ = '3.0.6'
File without changes