django-site-warnings


Namedjango-site-warnings JSON
Version 0.3.7 PyPI version JSON
download
home_page
SummaryDjango application allow to create site warnings, make subscription, and receive notifies.
upload_time2023-10-25 12:26:42
maintainerZhang YiLei
docs_urlNone
authorZhang YiLei
requires_python
licenseMIT
keywords django extentions
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # django-site-warnings

Django application allow to create site warnings, make subscription, and receive notifies.

## Install

```
pip install django-site-warnings
```

## Usage

*pro/views.py*

```python
from django_site_warnings.models import WaringCategory
from django_site_warnings.models import Warning

def background_sync_work(request):
    try:
        pass # do your own work
    except Exception as error:
        category = WaringCategory.get("warning category code")
        Warning.make(category, f"background_sync_work failed: {error}")
```

*pro/settings*

```python
INSTALLED_APPS = [
    '...',
    'django_site_warnings',
    '...',
]

# work together with django-admin-global-sidebar
DJANGO_ADMIN_GLOBAL_SIDEBAR_MENUS = "pro.menus.site_menu"

DJANGO_SITE_WARNING_SITE_NAME = "Site Warning"

# sendmail_notify settings
DJANGO_SITE_WARNING_NOTIFY_MAIL_FROM = "sender@example.com"
DJANGO_SITE_WARNING_NOTIFY_MAIL_TO = ["receiver@example.com"]
DJANGO_SITE_WARNING_NOTIFY_MAIL_SERVER = "smtp.example.com"
DJANGO_SITE_WARNING_NOTIFY_MAIL_PORT = 465
DJANGO_SITE_WARNING_NOTIFY_MAIL_SSL = True
DJANGO_SITE_WARNING_NOTIFY_MAIL_USER = "sender@example.com"
DJANGO_SITE_WARNING_NOTIFY_MAIL_PASSWORD = "sender-password-MlPzC9kt"

# use `DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` to replace the configs above.
# `DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` can also be a string path of a function that returns server info
DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG = {
    "from_address": "sender@example.com",
    "to_addresses": ["receiver@example.com"],
    "server": "smtp.example.com",
    "port": 465,
    "ssl": True,
    "user": "sender@example.com",
    "password": "sender-password-MlPzC9kt",
}

```

*`DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` callback function should define as:*

```python
def get_notify_mail_config(warning, payload, force):
    return {
        "from_address": "sender@example.com",
        "to_addresses": ["receiver@example.com"],
        "server": "smtp.example.com",
        "port": 465,
        "ssl": True,
        "user": "sender@example.com",
        "password": "sender-password-MlPzC9kt",
    }
```

*pro/menus.py*

```python
from django_site_warnings.global_sidebar import django_site_warnings_menu_item_of_applist

def site_menu(request=None):
    return [
        {
            "title": _("Home"),
            "icon": "fa fa-home",
            "url": "/admin/",
        },
        {
            "title": _("System Settings"),
            "icon": "fas fa-cogs",
            "children": [
                {
                    "title": _("User Manage"),
                    "icon": "fas fa-user",
                    "model": "auth.user",
                    "permissions": ["auth.view_user"],
                },
                {
                    "title": _("Group Manage"),
                    "icon": "fas fa-users",
                    "model": "auth.group",
                    "permissions": ["auth.view_group"],
                },
                django_site_warnings_menu_item_of_applist,
            ]
        }
    ]
```

## Releases

### v0.1.2

- First release.

### v0.1.4

- Make title length longer. 

### v0.1.6

- Test for Django 3.2.
- Work with django-simpletask2.

### v0.2.0

- Add django_site_warnings.global_sidebar.django_site_warnings_menu_item_of_warning, django_site_warnings.global_sidebar.django_site_warnigns_menu_item_of_category and django_site_warnings.global_sidebar.django_site_warnings_menu_item_of_applist to work with django-admin-global-sidebar.
- WaringCategory.get will auto create category instance if it is missing.
- Register sendmail_notify to Warning by default.

### v0.2.1

- Show notify send result.

### v0.2.2

- Doc update.

### v0.3.7

- Add `DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` support.
- No django-site-warning-server anymore.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "django-site-warnings",
    "maintainer": "Zhang YiLei",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "zhangyilei@zencore.cn",
    "keywords": "django extentions",
    "author": "Zhang YiLei",
    "author_email": "zhangyilei@zencore.cn",
    "download_url": "https://files.pythonhosted.org/packages/e8/91/cae8222c19d18f3647bdec54c0566ed4ba9550f9b49294e32095823ca39b/django-site-warnings-0.3.7.tar.gz",
    "platform": null,
    "description": "# django-site-warnings\n\nDjango application allow to create site warnings, make subscription, and receive notifies.\n\n## Install\n\n```\npip install django-site-warnings\n```\n\n## Usage\n\n*pro/views.py*\n\n```python\nfrom django_site_warnings.models import WaringCategory\nfrom django_site_warnings.models import Warning\n\ndef background_sync_work(request):\n    try:\n        pass # do your own work\n    except Exception as error:\n        category = WaringCategory.get(\"warning category code\")\n        Warning.make(category, f\"background_sync_work failed: {error}\")\n```\n\n*pro/settings*\n\n```python\nINSTALLED_APPS = [\n    '...',\n    'django_site_warnings',\n    '...',\n]\n\n# work together with django-admin-global-sidebar\nDJANGO_ADMIN_GLOBAL_SIDEBAR_MENUS = \"pro.menus.site_menu\"\n\nDJANGO_SITE_WARNING_SITE_NAME = \"Site Warning\"\n\n# sendmail_notify settings\nDJANGO_SITE_WARNING_NOTIFY_MAIL_FROM = \"sender@example.com\"\nDJANGO_SITE_WARNING_NOTIFY_MAIL_TO = [\"receiver@example.com\"]\nDJANGO_SITE_WARNING_NOTIFY_MAIL_SERVER = \"smtp.example.com\"\nDJANGO_SITE_WARNING_NOTIFY_MAIL_PORT = 465\nDJANGO_SITE_WARNING_NOTIFY_MAIL_SSL = True\nDJANGO_SITE_WARNING_NOTIFY_MAIL_USER = \"sender@example.com\"\nDJANGO_SITE_WARNING_NOTIFY_MAIL_PASSWORD = \"sender-password-MlPzC9kt\"\n\n# use `DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` to replace the configs above.\n# `DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` can also be a string path of a function that returns server info\nDJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG = {\n    \"from_address\": \"sender@example.com\",\n    \"to_addresses\": [\"receiver@example.com\"],\n    \"server\": \"smtp.example.com\",\n    \"port\": 465,\n    \"ssl\": True,\n    \"user\": \"sender@example.com\",\n    \"password\": \"sender-password-MlPzC9kt\",\n}\n\n```\n\n*`DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` callback function should define as:*\n\n```python\ndef get_notify_mail_config(warning, payload, force):\n    return {\n        \"from_address\": \"sender@example.com\",\n        \"to_addresses\": [\"receiver@example.com\"],\n        \"server\": \"smtp.example.com\",\n        \"port\": 465,\n        \"ssl\": True,\n        \"user\": \"sender@example.com\",\n        \"password\": \"sender-password-MlPzC9kt\",\n    }\n```\n\n*pro/menus.py*\n\n```python\nfrom django_site_warnings.global_sidebar import django_site_warnings_menu_item_of_applist\n\ndef site_menu(request=None):\n    return [\n        {\n            \"title\": _(\"Home\"),\n            \"icon\": \"fa fa-home\",\n            \"url\": \"/admin/\",\n        },\n        {\n            \"title\": _(\"System Settings\"),\n            \"icon\": \"fas fa-cogs\",\n            \"children\": [\n                {\n                    \"title\": _(\"User Manage\"),\n                    \"icon\": \"fas fa-user\",\n                    \"model\": \"auth.user\",\n                    \"permissions\": [\"auth.view_user\"],\n                },\n                {\n                    \"title\": _(\"Group Manage\"),\n                    \"icon\": \"fas fa-users\",\n                    \"model\": \"auth.group\",\n                    \"permissions\": [\"auth.view_group\"],\n                },\n                django_site_warnings_menu_item_of_applist,\n            ]\n        }\n    ]\n```\n\n## Releases\n\n### v0.1.2\n\n- First release.\n\n### v0.1.4\n\n- Make title length longer. \n\n### v0.1.6\n\n- Test for Django 3.2.\n- Work with django-simpletask2.\n\n### v0.2.0\n\n- Add django_site_warnings.global_sidebar.django_site_warnings_menu_item_of_warning, django_site_warnings.global_sidebar.django_site_warnigns_menu_item_of_category and django_site_warnings.global_sidebar.django_site_warnings_menu_item_of_applist to work with django-admin-global-sidebar.\n- WaringCategory.get will auto create category instance if it is missing.\n- Register sendmail_notify to Warning by default.\n\n### v0.2.1\n\n- Show notify send result.\n\n### v0.2.2\n\n- Doc update.\n\n### v0.3.7\n\n- Add `DJANGO_SITE_WARNING_NOTIFY_MAIL_CONFIG` support.\n- No django-site-warning-server anymore.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Django application allow to create site warnings, make subscription, and receive notifies.",
    "version": "0.3.7",
    "project_urls": null,
    "split_keywords": [
        "django",
        "extentions"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3ab8d00d6d47141cd5074d674e72354f8ed6175880d265651419a15906b90204",
                "md5": "280b0daef449eb0b284690c235bf971e",
                "sha256": "0c4e78177ea9bae6493789c0d7d1a460c298d9b0db7e9ffc8df3112e6f2873b7"
            },
            "downloads": -1,
            "filename": "django_site_warnings-0.3.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "280b0daef449eb0b284690c235bf971e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 18229,
            "upload_time": "2023-10-25T12:26:40",
            "upload_time_iso_8601": "2023-10-25T12:26:40.606467Z",
            "url": "https://files.pythonhosted.org/packages/3a/b8/d00d6d47141cd5074d674e72354f8ed6175880d265651419a15906b90204/django_site_warnings-0.3.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e891cae8222c19d18f3647bdec54c0566ed4ba9550f9b49294e32095823ca39b",
                "md5": "df64abf7f2b4d110a374743f4403315c",
                "sha256": "3eb2cb3af0fd493a169d328384af24fc536e85119e5d805f8e65f3a6b0186c75"
            },
            "downloads": -1,
            "filename": "django-site-warnings-0.3.7.tar.gz",
            "has_sig": false,
            "md5_digest": "df64abf7f2b4d110a374743f4403315c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14240,
            "upload_time": "2023-10-25T12:26:42",
            "upload_time_iso_8601": "2023-10-25T12:26:42.344819Z",
            "url": "https://files.pythonhosted.org/packages/e8/91/cae8222c19d18f3647bdec54c0566ed4ba9550f9b49294e32095823ca39b/django-site-warnings-0.3.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-25 12:26:42",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "django-site-warnings"
}
        
Elapsed time: 0.13043s