]> git.openstreetmap.org Git - osqa.git/commitdiff
Send the ip with dummy actions.
authorhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Sat, 8 May 2010 21:34:51 +0000 (21:34 +0000)
committerhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Sat, 8 May 2010 21:34:51 +0000 (21:34 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@183 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/actions/meta.py
forum/models/action.py
forum/settings/base.py
forum/views/readers.py

index 2117fb7220e47d4cc7a508e95541196a438c52d3..50637460c239d84a7d4241e9678ae7aa77b1e9d6 100644 (file)
@@ -198,9 +198,10 @@ class DeleteAction(ActionProxy):
 \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
index 90c61f8c548f153b839744de3a19a2f49c9776db..9a6f5ae43b19971ed37d823b28721573fc2efd83 100644 (file)
@@ -230,6 +230,9 @@ class DummyActionProxy(object):
 \r
     hooks = []\r
 \r
+    def __init__(self, ip=None):\r
+        self.ip = ip\r
+\r
     def process_data(self, **data):\r
         pass\r
 \r
index db02b6c15ab0d17637e1b6779f0720e776b24733..f640a7c1f850356895d8be9f1b1ec03cd0b50189 100644 (file)
@@ -82,8 +82,8 @@ class Setting(object):
         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:
index b199bea2cf850837c605f2541f92c2a132df0e05..11e7160f19727b436d693172ad31b88305ce5202 100644 (file)
@@ -175,7 +175,7 @@ def update_question_view_times(request, question):
     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()