diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:41:17 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:41:17 +0000 |
commit | c39eabbc4c069058957ac94a9aee252c455aecd6 (patch) | |
tree | cd6fd2d70a31e9d1a1ef3192651b12ea596bf43d | |
parent | 8f7834629ae0eec00b2a6dca0f43a94821def48d (diff) |
automatic import of python-django-admin-search
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-django-admin-search.spec | 445 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 447 insertions, 0 deletions
@@ -0,0 +1 @@ +/django-admin-search-0.3.15.tar.gz diff --git a/python-django-admin-search.spec b/python-django-admin-search.spec new file mode 100644 index 0000000..86dc023 --- /dev/null +++ b/python-django-admin-search.spec @@ -0,0 +1,445 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-admin-search +Version: 0.3.15 +Release: 1 +Summary: The "Django Admin Search" is a advanced search modal for django admin +License: MIT +URL: https://github.com/shinneider/django_admin_search +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e7/79/f38ca6bd8a0629c2ce9ac91aa0133dd671abd0b40bc17817eaf41d75a0d7/django-admin-search-0.3.15.tar.gz +BuildArch: noarch + +Requires: python3-django +Requires: python3-isort +Requires: python3-bandit +Requires: python3-xenon +Requires: python3-django +Requires: python3-django-mock-queries +Requires: python3-pylint +Requires: python3-pytest-pylint +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-pytest-watch +Requires: python3-tox +Requires: python3-six + +%description +[](https://pepy.tech/project/django-admin-search) +[](https://pepy.tech/project/django-admin-search/month) +[](https://pepy.tech/project/django-admin-search/week) +[](https://sonarcloud.io/dashboard?id=shinneider_django-admin-search) +[](https://sonarcloud.io/dashboard?id=shinneider_django-admin-search) +[](https://badge.fury.io/py/django-admin-search) +The "Django Admin Search" is a advanced search modal for django admin. +If you use or like the project, click `Star` and `Watch` to generate metrics and i evaluate project continuity. +# Install: + pip install django-admin-search +# Usage: +1. Add to your INSTALLED_APPS, in settings.py: + ``` + INSTALLED_APPS = [ + 'django_admin_search', + ] + ``` +2. Create a search form for model: + ``` + from .models import Area + from django.forms import ModelForm, Form + from django.forms import DateField, CharField, ChoiceField, TextInput + class YourFormSearch(Form): + name = CharField(required=False) + date = DateField(required=False, widget=TextInput( + attrs={ + 'filter_method': '__gte', + } + )) + ``` +3. In your admin: + ``` + from django_admin_search.admin import AdvancedSearchAdmin + from .models import YourModel + from .form import YourForm, YourFormSearch + @register(YourModel) + class YourAdmin(AdvancedSearchAdmin): + form = YourForm + search_form = YourFormSearch + ``` +# Advanced: +1. to multiple filters in same field: + ``` + class YourFormSearch(Form): + name = CharField(required=False) + begin = DateField(required=False, widget=TextInput( + attrs={ + 'filter_field': 'date', + 'filter_method': '__gte', + } + )) + end = DateField(required=False, widget=TextInput( + attrs={ + 'filter_field': 'date', + 'filter_method': '__lte', + } + )) + ``` +2. add placeholder and mask + ``` + class YourFormSearch(Form): + date = DateField(required=False, widget=TextInput( + attrs={ + 'data-mask': "00/00/0000", + 'placeholder': 'MM/DD/YYYY' + } + )) + ``` +3. Custom filter query for a field + ``` + from django_admin_search.admin import AdvancedSearchAdmin + from .models import YourModel + from .form import YourForm, YourFormSearch + @register(YourModel) + class YourAdmin(AdvancedSearchAdmin): + def search_FieldNameHere(request, field_value, param_values): + """ + intercept query filter for description field + """ + query = Q() + # your Q logic here + return query + ``` +# Images: +Button in admin list: +  +Modal opened: +  +# Development and Running the Tests +To do development work for Django Admin Search, clone it locally, make and activate a virtualenv for it, then from within the project directory: +``` +pip install -e ".[dev]" +``` +To run the tests: +``` +pytest +``` +If your work in high difficult test, and need to re run the test every time, use `pytest-watch`: +``` +ptw # this see file change and re run a test +``` +when you need to see passed lines by test, run +``` +pytest --cov-report html +``` +after this, will be created a `htmlcov` folder in the root +To run sonar +``` +pytest --cov-report xml +pylint ./django_admin_search/ --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" | tee pylint.txt +sonar-scanner +``` +See your code quality in Sonar (in testing, no metrics to approve yet) +``` +https://sonarcloud.io/dashboard?id=shinneider_django-admin-search +``` +For future i want to run test's in Travis CI, to check if PR is Ok, but to be effective, i need to cover 80% or more of the code, help-me creating a test case, see this issue [PR - 20](https://github.com/shinneider/django-admin-search/issues/20) +# Need a Maintainer + In the last months i don't have much time, health problemas, change of country and others problems. + i have some surgeries for first part of 2022, and all of my current project don't use django-admin. + for these reasons, i need a help for a project continuation!! + +%package -n python3-django-admin-search +Summary: The "Django Admin Search" is a advanced search modal for django admin +Provides: python-django-admin-search +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-admin-search +[](https://pepy.tech/project/django-admin-search) +[](https://pepy.tech/project/django-admin-search/month) +[](https://pepy.tech/project/django-admin-search/week) +[](https://sonarcloud.io/dashboard?id=shinneider_django-admin-search) +[](https://sonarcloud.io/dashboard?id=shinneider_django-admin-search) +[](https://badge.fury.io/py/django-admin-search) +The "Django Admin Search" is a advanced search modal for django admin. +If you use or like the project, click `Star` and `Watch` to generate metrics and i evaluate project continuity. +# Install: + pip install django-admin-search +# Usage: +1. Add to your INSTALLED_APPS, in settings.py: + ``` + INSTALLED_APPS = [ + 'django_admin_search', + ] + ``` +2. Create a search form for model: + ``` + from .models import Area + from django.forms import ModelForm, Form + from django.forms import DateField, CharField, ChoiceField, TextInput + class YourFormSearch(Form): + name = CharField(required=False) + date = DateField(required=False, widget=TextInput( + attrs={ + 'filter_method': '__gte', + } + )) + ``` +3. In your admin: + ``` + from django_admin_search.admin import AdvancedSearchAdmin + from .models import YourModel + from .form import YourForm, YourFormSearch + @register(YourModel) + class YourAdmin(AdvancedSearchAdmin): + form = YourForm + search_form = YourFormSearch + ``` +# Advanced: +1. to multiple filters in same field: + ``` + class YourFormSearch(Form): + name = CharField(required=False) + begin = DateField(required=False, widget=TextInput( + attrs={ + 'filter_field': 'date', + 'filter_method': '__gte', + } + )) + end = DateField(required=False, widget=TextInput( + attrs={ + 'filter_field': 'date', + 'filter_method': '__lte', + } + )) + ``` +2. add placeholder and mask + ``` + class YourFormSearch(Form): + date = DateField(required=False, widget=TextInput( + attrs={ + 'data-mask': "00/00/0000", + 'placeholder': 'MM/DD/YYYY' + } + )) + ``` +3. Custom filter query for a field + ``` + from django_admin_search.admin import AdvancedSearchAdmin + from .models import YourModel + from .form import YourForm, YourFormSearch + @register(YourModel) + class YourAdmin(AdvancedSearchAdmin): + def search_FieldNameHere(request, field_value, param_values): + """ + intercept query filter for description field + """ + query = Q() + # your Q logic here + return query + ``` +# Images: +Button in admin list: +  +Modal opened: +  +# Development and Running the Tests +To do development work for Django Admin Search, clone it locally, make and activate a virtualenv for it, then from within the project directory: +``` +pip install -e ".[dev]" +``` +To run the tests: +``` +pytest +``` +If your work in high difficult test, and need to re run the test every time, use `pytest-watch`: +``` +ptw # this see file change and re run a test +``` +when you need to see passed lines by test, run +``` +pytest --cov-report html +``` +after this, will be created a `htmlcov` folder in the root +To run sonar +``` +pytest --cov-report xml +pylint ./django_admin_search/ --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" | tee pylint.txt +sonar-scanner +``` +See your code quality in Sonar (in testing, no metrics to approve yet) +``` +https://sonarcloud.io/dashboard?id=shinneider_django-admin-search +``` +For future i want to run test's in Travis CI, to check if PR is Ok, but to be effective, i need to cover 80% or more of the code, help-me creating a test case, see this issue [PR - 20](https://github.com/shinneider/django-admin-search/issues/20) +# Need a Maintainer + In the last months i don't have much time, health problemas, change of country and others problems. + i have some surgeries for first part of 2022, and all of my current project don't use django-admin. + for these reasons, i need a help for a project continuation!! + +%package help +Summary: Development documents and examples for django-admin-search +Provides: python3-django-admin-search-doc +%description help +[](https://pepy.tech/project/django-admin-search) +[](https://pepy.tech/project/django-admin-search/month) +[](https://pepy.tech/project/django-admin-search/week) +[](https://sonarcloud.io/dashboard?id=shinneider_django-admin-search) +[](https://sonarcloud.io/dashboard?id=shinneider_django-admin-search) +[](https://badge.fury.io/py/django-admin-search) +The "Django Admin Search" is a advanced search modal for django admin. +If you use or like the project, click `Star` and `Watch` to generate metrics and i evaluate project continuity. +# Install: + pip install django-admin-search +# Usage: +1. Add to your INSTALLED_APPS, in settings.py: + ``` + INSTALLED_APPS = [ + 'django_admin_search', + ] + ``` +2. Create a search form for model: + ``` + from .models import Area + from django.forms import ModelForm, Form + from django.forms import DateField, CharField, ChoiceField, TextInput + class YourFormSearch(Form): + name = CharField(required=False) + date = DateField(required=False, widget=TextInput( + attrs={ + 'filter_method': '__gte', + } + )) + ``` +3. In your admin: + ``` + from django_admin_search.admin import AdvancedSearchAdmin + from .models import YourModel + from .form import YourForm, YourFormSearch + @register(YourModel) + class YourAdmin(AdvancedSearchAdmin): + form = YourForm + search_form = YourFormSearch + ``` +# Advanced: +1. to multiple filters in same field: + ``` + class YourFormSearch(Form): + name = CharField(required=False) + begin = DateField(required=False, widget=TextInput( + attrs={ + 'filter_field': 'date', + 'filter_method': '__gte', + } + )) + end = DateField(required=False, widget=TextInput( + attrs={ + 'filter_field': 'date', + 'filter_method': '__lte', + } + )) + ``` +2. add placeholder and mask + ``` + class YourFormSearch(Form): + date = DateField(required=False, widget=TextInput( + attrs={ + 'data-mask': "00/00/0000", + 'placeholder': 'MM/DD/YYYY' + } + )) + ``` +3. Custom filter query for a field + ``` + from django_admin_search.admin import AdvancedSearchAdmin + from .models import YourModel + from .form import YourForm, YourFormSearch + @register(YourModel) + class YourAdmin(AdvancedSearchAdmin): + def search_FieldNameHere(request, field_value, param_values): + """ + intercept query filter for description field + """ + query = Q() + # your Q logic here + return query + ``` +# Images: +Button in admin list: +  +Modal opened: +  +# Development and Running the Tests +To do development work for Django Admin Search, clone it locally, make and activate a virtualenv for it, then from within the project directory: +``` +pip install -e ".[dev]" +``` +To run the tests: +``` +pytest +``` +If your work in high difficult test, and need to re run the test every time, use `pytest-watch`: +``` +ptw # this see file change and re run a test +``` +when you need to see passed lines by test, run +``` +pytest --cov-report html +``` +after this, will be created a `htmlcov` folder in the root +To run sonar +``` +pytest --cov-report xml +pylint ./django_admin_search/ --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" | tee pylint.txt +sonar-scanner +``` +See your code quality in Sonar (in testing, no metrics to approve yet) +``` +https://sonarcloud.io/dashboard?id=shinneider_django-admin-search +``` +For future i want to run test's in Travis CI, to check if PR is Ok, but to be effective, i need to cover 80% or more of the code, help-me creating a test case, see this issue [PR - 20](https://github.com/shinneider/django-admin-search/issues/20) +# Need a Maintainer + In the last months i don't have much time, health problemas, change of country and others problems. + i have some surgeries for first part of 2022, and all of my current project don't use django-admin. + for these reasons, i need a help for a project continuation!! + +%prep +%autosetup -n django-admin-search-0.3.15 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-django-admin-search -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.15-1 +- Package Spec generated @@ -0,0 +1 @@ +d572572d3bd64153020617c88f78dedb django-admin-search-0.3.15.tar.gz |