django-searchkit 0.1__py3-none-any.whl → 1.1__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.
Files changed (83) hide show
  1. build/lib/build/lib/example/example/__init__.py +0 -0
  2. build/lib/build/lib/example/example/admin.py +16 -0
  3. build/lib/build/lib/example/example/asgi.py +16 -0
  4. build/lib/build/lib/example/example/management/__init__.py +0 -0
  5. build/lib/build/lib/example/example/management/commands/__init__.py +0 -0
  6. build/lib/build/lib/example/example/management/commands/createtestdata.py +62 -0
  7. build/lib/build/lib/example/example/migrations/0001_initial.py +48 -0
  8. build/lib/build/lib/example/example/migrations/__init__.py +0 -0
  9. build/lib/build/lib/example/example/models.py +38 -0
  10. build/lib/build/lib/example/example/settings.py +125 -0
  11. build/lib/build/lib/example/example/urls.py +23 -0
  12. build/lib/build/lib/example/example/wsgi.py +16 -0
  13. build/lib/build/lib/searchkit/__init__.py +0 -0
  14. build/lib/build/lib/searchkit/__version__.py +16 -0
  15. build/lib/build/lib/searchkit/admin.py +30 -0
  16. build/lib/build/lib/searchkit/apps.py +6 -0
  17. build/lib/build/lib/searchkit/filters.py +27 -0
  18. build/lib/build/lib/searchkit/forms/__init__.py +5 -0
  19. build/lib/build/lib/searchkit/forms/fields.py +55 -0
  20. build/lib/build/lib/searchkit/forms/search.py +62 -0
  21. build/lib/build/lib/searchkit/forms/searchkit.py +154 -0
  22. build/lib/build/lib/searchkit/forms/utils.py +178 -0
  23. build/lib/build/lib/searchkit/migrations/0001_initial.py +30 -0
  24. build/lib/build/lib/searchkit/migrations/0002_rename_searchkitsearch_search.py +18 -0
  25. build/lib/build/lib/searchkit/migrations/__init__.py +0 -0
  26. build/lib/build/lib/searchkit/models.py +27 -0
  27. build/lib/build/lib/searchkit/templatetags/__init__.py +0 -0
  28. build/lib/build/lib/searchkit/templatetags/searchkit.py +20 -0
  29. build/lib/build/lib/searchkit/tests.py +402 -0
  30. build/lib/build/lib/searchkit/urls.py +7 -0
  31. build/lib/build/lib/searchkit/views.py +23 -0
  32. build/lib/example/example/__init__.py +0 -0
  33. build/lib/example/example/admin.py +16 -0
  34. build/lib/example/example/asgi.py +16 -0
  35. build/lib/example/example/management/__init__.py +0 -0
  36. build/lib/example/example/management/commands/__init__.py +0 -0
  37. build/lib/example/example/management/commands/createtestdata.py +62 -0
  38. build/lib/example/example/migrations/0001_initial.py +48 -0
  39. build/lib/example/example/migrations/__init__.py +0 -0
  40. build/lib/example/example/models.py +38 -0
  41. build/lib/example/example/settings.py +125 -0
  42. build/lib/example/example/urls.py +23 -0
  43. build/lib/example/example/wsgi.py +16 -0
  44. build/lib/searchkit/__init__.py +0 -0
  45. build/lib/searchkit/__version__.py +16 -0
  46. build/lib/searchkit/admin.py +30 -0
  47. build/lib/searchkit/apps.py +6 -0
  48. build/lib/searchkit/filters.py +27 -0
  49. build/lib/searchkit/forms/__init__.py +5 -0
  50. build/lib/searchkit/forms/fields.py +55 -0
  51. build/lib/searchkit/forms/search.py +62 -0
  52. build/lib/searchkit/forms/searchkit.py +154 -0
  53. build/lib/searchkit/forms/utils.py +178 -0
  54. build/lib/searchkit/migrations/0001_initial.py +30 -0
  55. build/lib/searchkit/migrations/0002_rename_searchkitsearch_search.py +18 -0
  56. build/lib/searchkit/migrations/__init__.py +0 -0
  57. build/lib/searchkit/models.py +27 -0
  58. build/lib/searchkit/templatetags/__init__.py +0 -0
  59. build/lib/searchkit/templatetags/searchkit.py +20 -0
  60. build/lib/searchkit/tests.py +402 -0
  61. build/lib/searchkit/urls.py +7 -0
  62. build/lib/searchkit/views.py +23 -0
  63. {django_searchkit-0.1.dist-info → django_searchkit-1.1.dist-info}/METADATA +34 -13
  64. django_searchkit-1.1.dist-info/RECORD +99 -0
  65. {django_searchkit-0.1.dist-info → django_searchkit-1.1.dist-info}/WHEEL +1 -1
  66. {django_searchkit-0.1.dist-info → django_searchkit-1.1.dist-info}/top_level.txt +1 -0
  67. example/example/admin.py +1 -1
  68. searchkit/__version__.py +1 -1
  69. searchkit/admin.py +4 -4
  70. searchkit/filters.py +7 -11
  71. searchkit/forms/__init__.py +5 -2
  72. searchkit/forms/search.py +36 -19
  73. searchkit/forms/searchkit.py +61 -99
  74. searchkit/forms/utils.py +44 -15
  75. searchkit/migrations/0002_rename_searchkitsearch_search.py +18 -0
  76. searchkit/models.py +8 -4
  77. searchkit/templatetags/searchkit.py +0 -27
  78. searchkit/tests.py +283 -78
  79. searchkit/urls.py +1 -2
  80. searchkit/views.py +11 -18
  81. django_searchkit-0.1.dist-info/RECORD +0 -36
  82. {django_searchkit-0.1.dist-info → django_searchkit-1.1.dist-info}/licenses/LICENCE +0 -0
  83. {django_searchkit-0.1.dist-info → django_searchkit-1.1.dist-info}/zip-safe +0 -0
searchkit/views.py CHANGED
@@ -1,9 +1,11 @@
1
1
  from django.utils.translation import gettext_lazy as _
2
2
  from django.http import HttpResponse
3
- from django.http import Http404
3
+ from django.http import Http404, HttpResponseBadRequest
4
4
  from django.apps import apps
5
+ from django.contrib.contenttypes.models import ContentType
5
6
  from django.views.generic import View
6
- from .forms import SearchkitFormSet
7
+ from .forms import SearchkitModelForm
8
+ from .forms import searchkit_formset_factory
7
9
 
8
10
 
9
11
  # FIXME: Check permissions and authentication.
@@ -11,20 +13,11 @@ class SearchkitAjaxView(View):
11
13
  """
12
14
  Reload the formset via ajax.
13
15
  """
14
- def get_model(self, **kwargs):
15
- """
16
- Get the model from the URL parameters.
17
- """
18
- if all(k in kwargs for k in ('app_label', 'model_name')):
19
- app_label, model_name = kwargs['app_label'], kwargs['model_name']
20
- try:
21
- return apps.get_model(app_label=app_label, model_name=model_name)
22
- except LookupError:
23
- raise Http404(_('Model %s.%s not found') % (app_label, model_name))
24
- else:
25
- return None
26
-
27
16
  def get(self, request, **kwargs):
28
- model = self.get_model(**kwargs)
29
- formset = SearchkitFormSet(data=request.GET, model=model)
30
- return HttpResponse(formset.render())
17
+ contenttype_form = SearchkitModelForm(data=self.request.GET)
18
+ if contenttype_form.is_valid():
19
+ model = contenttype_form.cleaned_data['searchkit_model'].model_class()
20
+ formset = searchkit_formset_factory(model=model)(data=request.GET)
21
+ return HttpResponse(formset.render())
22
+ else:
23
+ return HttpResponseBadRequest(_('Invalid searchkit-model-form.'))
@@ -1,36 +0,0 @@
1
- django_searchkit-0.1.dist-info/licenses/LICENCE,sha256=oqmlRYPA5GHG2T1yp8fPFGQdOO-NnJPdGITeFiJYWLg,1521
2
- example/example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- example/example/admin.py,sha256=eTZ5mCA1ToGouqYgIf-6xDl2nvYAz7T9lU1Bnu_gP9c,462
4
- example/example/asgi.py,sha256=mqLnzcCH9X-8UhDo5ZhcM8tF3jtALEGSjsBmphbkLcs,391
5
- example/example/models.py,sha256=fB9X782cX01Yg2uIiPCVgrS8C7DkgG9U-9mxGtX3P7Q,1097
6
- example/example/settings.py,sha256=du9bWbAceSvDkYeNYOc_3KxKL1p1se93TdAueT2RQ_E,3256
7
- example/example/urls.py,sha256=D8LxjiTdJSA87AVh3BzpVo5E2aC30hlp20HshPDrfvU,800
8
- example/example/wsgi.py,sha256=OAXHHeNQoj7FBDc5NMET39i_kIGpFrcdNDdY1thrh58,391
9
- example/example/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- example/example/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- example/example/management/commands/createtestdata.py,sha256=IVtyUqak133h9Ua-Ag_GP8mw3dUdiDYAa2tGmLkKluU,2737
12
- example/example/migrations/0001_initial.py,sha256=62tOi17oHGuqqLmSAYWLep6AMkxCJF6Tp13odghS7gI,2014
13
- example/example/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- searchkit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- searchkit/__version__.py,sha256=UrnVsWmQRmq1HwADBGwjljHcaaKf8RXFuEzjigqiQxk,661
16
- searchkit/admin.py,sha256=75E1jff9LDmzRWNAJ-mpW4yChKtuE1L1WFXeCmCiibI,1218
17
- searchkit/apps.py,sha256=17m6wPu5N59Dq4MLoWaQd0aNHEzMT4z4emQD632GIMA,150
18
- searchkit/filters.py,sha256=TSsK8K0Oj7-gTfHLq7zLacZyXeGIM5MtLAHNMbjxYIo,1343
19
- searchkit/models.py,sha256=pRCWOnwbxroUzyS8SFBSLyAUn0I7udiXP1wIxGB307A,894
20
- searchkit/tests.py,sha256=IEF8i3hW17PZivk4pK9MNM7gn81C-mTfkwaNLl8HDB0,6484
21
- searchkit/urls.py,sha256=bqF5UAcUFPfBCCi1CljHSLbjEqHqzj-ripmJ6VbtC7s,289
22
- searchkit/views.py,sha256=EAA2yyRMsD8wva2F5lKo-X9-mxvFHOqn7bGazS-XNFk,1051
23
- searchkit/forms/__init__.py,sha256=lhHtkL2orjV7kN2GPx_IlpbME4_i_guigSpHMLemul8,79
24
- searchkit/forms/fields.py,sha256=TpFZdAyWKaMhOoZFTuy5ODNrW6RLy289Lk1fcMSGJ20,1621
25
- searchkit/forms/search.py,sha256=b8XzTWFWh1f3kjnEBp7h17xWpl2kHDFYYANSZPBceI4,1400
26
- searchkit/forms/searchkit.py,sha256=7y-m0jOd69Zni-97x-NMD81wg8WwkTBUNsm13bWiulk,7256
27
- searchkit/forms/utils.py,sha256=QtCsCveq20eaHc-nWP36-ICPq_CgItr5ckNp2DQ6LAc,4381
28
- searchkit/migrations/0001_initial.py,sha256=cP886X1UMrDTf-KxfHfuoQ4b1T1lhdNJyVNOGMNyWNw,1093
29
- searchkit/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- searchkit/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- searchkit/templatetags/searchkit.py,sha256=QA-hqxsHJ7vRoRLqFmGeRqRErkywv1pmepVFKqZuKcg,1238
32
- django_searchkit-0.1.dist-info/METADATA,sha256=hbfgBWIjY4sp2kKMwT2WxdIjSrYH6cOt54eYxDD3gfc,2689
33
- django_searchkit-0.1.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
34
- django_searchkit-0.1.dist-info/top_level.txt,sha256=u_pfgvHiVe7yUSQ6f3ESnHMO5MCliX7lQFaUT9idnpk,23
35
- django_searchkit-0.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
36
- django_searchkit-0.1.dist-info/RECORD,,