# Garpix Admin lock
Garpix Admin lock allows you to lock a page in the admin panel
## Quickstart
Install with pip:
```bash
pip install garpix_admin_lock
```
Add the `garpix_admin_lock` and dependency packages to your `INSTALLED_APPS`:
```python
# settings.py
INSTALLED_APPS = [
# ...
'garpix_admin_lock',
# ...
]
```
Package not included migrations, set path to migration directory. Don't forget create this directory (`app/migrations/garpix_admin_lock/`) and place empty `__init__.py`:
```
app/migrations/
app/migrations/__init__.py # empty file
app/migrations/garpix_admin_lock/__init__.py # empty file
```
Add path to settings:
```python
# settings.py
MIGRATION_MODULES = {
'garpix_admin_lock': 'app.migrations.garpix_admin_lock',
}
```
Add url to `urls.py`
```python
# url.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('page_lock/', include('garpix_admin_lock.urls')),
]
```
Run make migrations:
```bash
python manage.py makemigrations
```
Migrate:
```bash
python manage.py migrate
```
### Example
Add `PageLockViewMixin` in models
```python
# example/models.py
from django.db import models
from admin_page_lock.mixins import PageLockViewMixin
class ExampleLock(PageLockViewMixin, models.Model):
...
```
Add `PageLockAdminMixin` in admin
```python
# example/admin.py
from admin_page_lock.mixins import PageLockAdminMixin
from django.contrib import admin
from .models import Example
@admin.register(ExampleLock)
class ExampleAdmin(PageLockAdminMixin, admin.ModelAdmin):
lock_change_view = True
lock_changelist_view = False
...
```
### Basis
[django-admin-page-lock](https://github.com/Showmax/django-admin-page-lock)
Raw data
{
"_id": null,
"home_page": "https://github.com/garpixcms/garpix_admin_lock",
"name": "garpix-admin-lock",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Garpix LTD",
"author_email": "info@garpix.com",
"download_url": "https://files.pythonhosted.org/packages/49/ed/f6f6f3b7141899de77cfb2de1f6fc3dcc5f71aaf18b067a7a4959abc0720/garpix_admin_lock-1.3.2.tar.gz",
"platform": null,
"description": "# Garpix Admin lock\n\nGarpix Admin lock allows you to lock a page in the admin panel\n\n## Quickstart\n\nInstall with pip:\n\n```bash\npip install garpix_admin_lock\n```\n\nAdd the `garpix_admin_lock` and dependency packages to your `INSTALLED_APPS`:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n # ...\n 'garpix_admin_lock',\n # ...\n]\n```\n\nPackage not included migrations, set path to migration directory. Don't forget create this directory (`app/migrations/garpix_admin_lock/`) and place empty `__init__.py`:\n\n```\napp/migrations/\napp/migrations/__init__.py # empty file\napp/migrations/garpix_admin_lock/__init__.py # empty file\n```\n\nAdd path to settings:\n\n```python\n# settings.py\n\nMIGRATION_MODULES = {\n 'garpix_admin_lock': 'app.migrations.garpix_admin_lock',\n}\n```\n\nAdd url to `urls.py`\n\n```python\n# url.py\n\nfrom django.contrib import admin\nfrom django.urls import path, include\n\n\nurlpatterns = [\n path('admin/', admin.site.urls),\n path('page_lock/', include('garpix_admin_lock.urls')),\n]\n\n```\n\nRun make migrations:\n\n```bash\npython manage.py makemigrations\n```\n\nMigrate:\n\n```bash\npython manage.py migrate\n```\n\n### Example\n\nAdd `PageLockViewMixin` in models\n\n```python\n# example/models.py\nfrom django.db import models\nfrom admin_page_lock.mixins import PageLockViewMixin\n\n\nclass ExampleLock(PageLockViewMixin, models.Model):\n ...\n```\n\nAdd `PageLockAdminMixin` in admin\n\n```python\n# example/admin.py\nfrom admin_page_lock.mixins import PageLockAdminMixin\nfrom django.contrib import admin\nfrom .models import Example\n\n@admin.register(ExampleLock)\nclass ExampleAdmin(PageLockAdminMixin, admin.ModelAdmin):\n lock_change_view = True\n lock_changelist_view = False\n ...\n```\n\n### Basis\n\n[django-admin-page-lock](https://github.com/Showmax/django-admin-page-lock)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "",
"version": "1.3.2",
"project_urls": {
"Homepage": "https://github.com/garpixcms/garpix_admin_lock"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3664bacb7c51f1da59609e596b52fbe14396ea80312b92e086dcb872c88bf4db",
"md5": "5bd124250bfd1f4eeb4d35e2aa19198a",
"sha256": "fe5b858fe4080804566d64ff5f27365b0cb78fa06bd5022817d125ded50d2c80"
},
"downloads": -1,
"filename": "garpix_admin_lock-1.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5bd124250bfd1f4eeb4d35e2aa19198a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 39802,
"upload_time": "2024-03-15T04:29:22",
"upload_time_iso_8601": "2024-03-15T04:29:22.514983Z",
"url": "https://files.pythonhosted.org/packages/36/64/bacb7c51f1da59609e596b52fbe14396ea80312b92e086dcb872c88bf4db/garpix_admin_lock-1.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "49edf6f6f3b7141899de77cfb2de1f6fc3dcc5f71aaf18b067a7a4959abc0720",
"md5": "d28f24fe4328216dac4e00582d575a74",
"sha256": "fa48732ab7a10f442ad8e1a71ac12e610967886848e285b3c912ba7994f73e2f"
},
"downloads": -1,
"filename": "garpix_admin_lock-1.3.2.tar.gz",
"has_sig": false,
"md5_digest": "d28f24fe4328216dac4e00582d575a74",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26647,
"upload_time": "2024-03-15T04:29:24",
"upload_time_iso_8601": "2024-03-15T04:29:24.613499Z",
"url": "https://files.pythonhosted.org/packages/49/ed/f6f6f3b7141899de77cfb2de1f6fc3dcc5f71aaf18b067a7a4959abc0720/garpix_admin_lock-1.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-15 04:29:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "garpixcms",
"github_project": "garpix_admin_lock",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "garpix-admin-lock"
}