X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/b8dacc53495e1c3a4a2e16a800168a9908725936..35ebbd77a68be7cb9b774756c24557c1349d9ac9:/forum/models/action.py diff --git a/forum/models/action.py b/forum/models/action.py index 583b27c..9a6f5ae 100644 --- a/forum/models/action.py +++ b/forum/models/action.py @@ -65,9 +65,19 @@ class Action(models.Model): def cancel_action(self): pass + @property + def verb(self): + return "" + def describe(self, viewer=None): return "" + def get_absolute_url(self): + if self.node: + return self.node.get_absolute_url() + else: + return self.user.get_profile_url() + def repute(self, user, value): repute = ActionRepute(action=self, user=user, value=value) repute.save() @@ -209,11 +219,20 @@ class ActionProxy(Action): class Meta: proxy = True -class DummyActionProxy(Action): - __metaclass__ = ActionProxyMetaClass +class DummyActionProxyMetaClass(type): + def __new__(cls, *args, **kwargs): + new_cls = super(DummyActionProxyMetaClass, cls).__new__(cls, *args, **kwargs) + ActionProxyMetaClass.types[new_cls.get_type()] = new_cls + return new_cls + +class DummyActionProxy(object): + __metaclass__ = DummyActionProxyMetaClass hooks = [] + def __init__(self, ip=None): + self.ip = ip + def process_data(self, **data): pass