\r
\r
class QuestionViewAction(DummyActionProxy):\r
- def __init__(self, node, user):\r
+ def __init__(self, node, user, ip=None):\r
self.viewuser = user\r
self.node = node\r
+ super(QuestionViewAction, self).__init__(ip)\r
\r
def process_action(self):\r
self.node.extra_count = F('extra_count') + 1\r
\r
hooks = []\r
\r
+ def __init__(self, ip=None):\r
+ self.ip = ip\r
+\r
def process_data(self, **data):\r
pass\r
\r
if deftype in Setting.emulators:
emul = Setting.emulators[deftype]
else:
- emul = type(deftype.__name__ + cls.__name__, (BaseSetting,), {})
- emul.base_type = deftype
+ emul = type(deftype.__name__ + cls.__name__, (BaseSetting,), {'base_type': deftype})
+
fns = [n for n, f in [(p, getattr(deftype, p)) for p in dir(deftype) if not p in dir(cls)] if callable(f)]
for n in fns:
last_seen = request.session['last_seen_in_question'].get(question.id,None)
if (not last_seen) or last_seen < question.last_activity_at:
- QuestionViewAction(question, request.user).save()
+ QuestionViewAction(question, request.user, ip=request.META['REMOTE_ADDR']).save()
request.session['last_seen_in_question'][question.id] = datetime.datetime.now()
request.session['last_seen_in_question'][question.id] = datetime.datetime.now()