Refs #126 -- Show order history

This commit is contained in:
Raphael Michel
2016-03-22 13:04:38 +01:00
parent 6280e06e7c
commit 70067fd91a
9 changed files with 259 additions and 173 deletions

View File

@@ -33,7 +33,6 @@ def cached_file_delete(sender, instance, **kwargs):
class LoggingMixin:
logentries = GenericRelation('LogEntry')
def log_action(self, action, data=None, user=None):
"""
@@ -59,6 +58,10 @@ class LoggingMixin:
class LoggedModel(models.Model, LoggingMixin):
logentries = GenericRelation('LogEntry')
class Meta:
abstract = True
def all_logentries(self):
return self.logentries.all().select_related('user')

View File

@@ -28,3 +28,14 @@ class LogEntry(models.Model):
event = models.ForeignKey('Event', null=True, blank=True, on_delete=models.CASCADE)
action_type = models.CharField(max_length=255)
data = models.TextField(default='{}')
class Meta:
ordering = ('-datetime', )
def display(self):
from ..signals import logentry_display
for receiver, response in logentry_display.send(self.event, logentry=self):
if response:
return response
return self.action_type

View File

@@ -87,3 +87,11 @@ as the first argument.
order_paid = EventPluginSignal(
providing_args=["order"]
)
"""
This signal is sent out every time we need to display a LogEntry object and we
don't know how to turn it into human-readable text.
"""
logentry_display = EventPluginSignal(
providing_args=["logentry"]
)