Commit Graph

9 Commits

Author SHA1 Message Date
2cbf0bf048 Add support for notification emails on m2m changes
Unfortunately, we'll send one email for each m2m field, instead of
collecting them to a single one. That's because there is no signal
delivered at the end of them all, there will be one sent for each field.

Luckily we don't have a lot of m2m fields at this point, and no model
has more than one, so at this point that part is not a problem.

It also means that if a regular field *and* an m2m field is changed,
then we will get two notifications.

Finally, enable these notifications for the Organisation fields, meaning
we will get a notification when an Organisation changes managers, which
was not working before.
2017-12-13 20:49:52 +01:00
ef83f8c841 Fix spelling error
Pointed out by Stephen
2017-05-27 14:43:34 -04:00
59bb64f409 Fix notifications for ForeignKey fields
Instead of reporting the integer value of the foreign key, we should
report the text value from the related object. This makes the new
submissions more readable, and also makes the system not throw an
exception when trying to diff (as integers cannot be diffed).

THis seems to have broken around the time of the 1.8 upgrade, just went
unnoticed for a long time probably because changing things like which
organization owns a news item doesn't happen very often.
2016-12-17 14:28:01 +01:00
cb8fd07fd7 Don't pretend that notifications for m2m works
They don't... And there is no easy way to make them work either, given
the way that signals are called for m2ms.
2016-12-17 14:25:55 +01:00
d9c8c089cb Handle migrated records with NULL in them when building diff 2016-11-07 20:17:58 +01:00
6a65f96476 Fix(ish) notifications for new objects with Unicode in value
Previous code triggered a conversion from unicode to ascii inside the
django framework, which would throw an exception when the object itself
returned unicode in the name.

The new version will work around that by actually checking the primary
key first.

This still doesn't work insofar that any changes to a many2many fields
are now lost. This did not work properly before either, but this
probably made it a bit work. We definitely need to fix this properly at
some point, probably by using the m2m_changed signal handler (but it's
not straight forward as this is now a separate signal and we'll somehow
want to track this indepdendently)
2016-08-22 11:50:21 +02:00
fd689e01c9 module_name has been renamed to model_name 2016-05-14 19:49:12 +02:00
10656c603f Use difflib to show differences when an object is edited
This makes for a much easier-to-read output, especially when the
modified field is more than one line.
2016-03-07 22:02:24 +01:00
8058accee0 Get rid of PgModel, replacing it with simple signals
We were already using signals for everything except delete, and even
in our old version of django the delete signal exists (it didn't exist
when this code was first written).

Django doesn't really like models to be OOP like this, so keeping PgModel
would cause issues with upcoming changes in django 1.8. Using simple functions
is easier, and the actual functionality is replicated straight off.
2016-03-07 21:41:45 +01:00