Skip to main content

Create popup notifications.

Project description

Demo https://djnotty.herokuapp.com/
===================================

Demo admin https://djnotty.herokuapp.com/admin Cred: guest password
===================================================================

Installation
============

Put ``djnotty`` to ``settings.py`` Put
``url(r'^djnotty/', include('djnotty.urls', namespace='djnotty')),``
to ``urls.py``

Override default ``admin/base_site.html`` or copy this code to custom
admin template {% load static %} {% block extrahead %}

.. raw:: html

<script>
var djnotty_url = '{% url 'djnotty:messages' %}'
</script>
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="{% static 'djnotty/js/packaged/jquery.noty.packaged.min.js' %}"></script>
<script src="{% static 'djnotty/js/notty.js' %}"></script>


{{ block.super }} {% endblock %}

If you want use djnotty on non admin pages:

::

<script>
var djnotty_url = '{% url 'djnotty:messages' %}';
var csrf_token = '{{ csrf_token }}'; // for unauthorized users
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="{% static 'djnotty/js/packaged/jquery.noty.packaged.min.js' %}"></script>
<script src="{% static 'djnotty/js/notty.js' %}"></script>

How to create messages
======================

Create notification for user
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

from djnotty import noty_builder
from djnotty.models import Message
from django.contrib.auth.models import Group

Message.objects.create_for_object(%TARGET_OBJECT%, users=[%USER_OBJECT%], builders=[noty_builder.Text('Specific for user'),noty_builder.Close()])

Create notification for group and user
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

from djnotty import noty_builder
from djnotty.models import Message

Message.objects.create_for_object(%TARGET_OBJECT%, groups=[Group.objects.get(name='superadmin')],users=[%USER_OBJECT%], builders=[noty_builder.Text('Specific for user and group'),noty_builder.Close()])

Create globally message:
~~~~~~~~~~~~~~~~~~~~~~~~

::

from djnotty import noty_builder
from djnotty.models import Message
Message.objects.create_globally(builders=[noty_builder.Text('Specific for user and group'),noty_builder.Close()])

Mark as read
============

::

from djnotty.models import Message
Message.objects.create_globally(builders=[noty_builder.Text('Specific for user and group'),noty_builder.Close()])
Message.objects.mark_as_viewed_for_object(%TARGET_OBJECT%,%USER_MODEL%)

noty\_builder
~~~~~~~~~~~~~

Text:
~~~~~

::

Put text to popup window

Close:
~~~~~~

::

Notification mark as read for user after click.

Close(url='redect me after click')

Linked:
~~~~~~~

::

Redirect to url after click on notification

What is %TARGET\_OBJECT%
~~~~~~~~~~~~~~~~~~~~~~~~

Djnotty using django\_content\_types framework for identify records.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djnotty-0.0.5.tar.gz (28.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page