activity for users
authorCiro Scognamiglio <ciro.scognamiglio@cslash.net>
Mon, 18 Aug 2014 15:11:57 +0000 (17:11 +0200)
committerCiro Scognamiglio <ciro.scognamiglio@cslash.net>
Mon, 18 Aug 2014 15:11:57 +0000 (17:11 +0200)
activity/__init__.py
activity/institution.py [new file with mode: 0644]
activity/user.py
portal/contactview.py
portal/homeview.py
portal/joinview.py
portal/registrationview.py

index 677424f..854897d 100644 (file)
@@ -31,7 +31,7 @@ else :
 if config.activity and config.activity.server :
     server = config.activity.server
 else :
-    # secret will be necessary
+    # default log server
     server = "http://athos.ipv6.lip6.fr/log"
 
 def logWrite(request, action, message):
@@ -60,7 +60,7 @@ def logWrite(request, action, message):
         result = urllib2.urlopen(server, urllib.urlencode(log))
         content = result.read()
     except urllib2.URLError as e:
-        print "Warning: connection to " + url + " impossible, could not log action"
+        print "===============>> activity: connection to " + url + " impossible, could not log action"
 
 def log(request, action, message):
     # Create a new thread in Daemon mode to send the log entry
diff --git a/activity/institution.py b/activity/institution.py
new file mode 100644 (file)
index 0000000..73a2369
--- /dev/null
@@ -0,0 +1,11 @@
+#
+# log functions for institution activity
+#
+
+import activity
+
+def joined(request):
+    activity.log(request, "institution.join", "Institution joined")
+
+def join(request):
+    activity.log(request, "institution.join.view", "Institution view join form")
\ No newline at end of file
index fadd068..da25994 100644 (file)
@@ -4,8 +4,11 @@
 
 import activity
 
-def login(request):
-    activity.log(request, "user.login", "User log in")
+def login(request, state=None):
+    if state is not None :
+        activity.log(request, "user.login." + state, "User log in")
+    else :
+        activity.log(request, "user.login", "User log in")
     
 def logout(request):
     activity.log(request, "user.logout", "User log out")
@@ -13,5 +16,8 @@ def logout(request):
 def signup(request):
     activity.log(request, "user.signup.view", "User sign up")
 
-def register(request):
-    activity.log(request, "user.signup", "User registered")
\ No newline at end of file
+def registered(request):
+    activity.log(request, "user.signup", "User registered")
+
+def contact(request):
+    activity.log(request, "user.contact", "User sent a contact request")
\ No newline at end of file
index b076cd9..2b9edb4 100644 (file)
@@ -11,6 +11,9 @@ from manifoldapi.manifoldapi            import execute_query
 import json
 
 from myslice.theme import ThemeView
+
+import activity.user
+
 theme = ThemeView()
 
 # splitting the 2 functions done here
@@ -68,6 +71,8 @@ class ContactView (FreeAccessView, ThemeView):
                 username = request.user.email
             else :
                 username = None
+            # log user activity
+            activity.user.contact(self.request)
             return render(request,'contact_sent.html', { 'theme' : self.theme,  'username': username}) # Redirect after POST
         else:
             return self._display (request, form)
index f830cc1..7af4776 100644 (file)
@@ -91,12 +91,16 @@ class HomeView (FreeAccessView, ThemeView):
                     env['person'] = None
                 return render_to_response(self.template,env, context_instance=RequestContext(request))
             else:
+                # log user activity
+                activity.user.login(self.request, "notactive")
                 env['state'] = "Your account is not active, please contact the site admin."
                 env['layout_1_or_2']="layout-unfold2.html"
                 
                 return render_to_response(self.template,env, context_instance=RequestContext(request))
         # otherwise
         else:
+            # log user activity
+            activity.user.login(self.request, "error")
             env['state'] = "Your username and/or password were incorrect."
             
             return render_to_response(self.template, env, context_instance=RequestContext(request))
index d28daba..832055b 100644 (file)
@@ -23,6 +23,8 @@ from portal.actions             import authority_get_pi_emails, manifold_add_use
 
 from myslice.theme import ThemeView
 
+import activity.institution
+
 # since we inherit from FreeAccessView we cannot redefine 'dispatch'
 # so let's override 'get' and 'post' instead
 #
@@ -239,6 +241,8 @@ class JoinView (FreeAccessView, ThemeView):
                     print "Failed to send email, please check the mail templates and the SMTP configuration of your server"
                 
                 self.template_name = 'join_complete.html'
+                # log institution activity
+                activity.institution.joined(self.request)
                 return render(request, self.template, {'theme': self.theme})
                 #return render(request, 'user_register_complete.html') 
 
@@ -269,4 +273,6 @@ class JoinView (FreeAccessView, ThemeView):
           'theme': self.theme
           }
         template_env.update(page.prelude_env ())
+        # log institution activity
+        activity.institution.join(self.request)
         return render(request, 'join_view.html',template_env)
index 105ecce..e55e30f 100644 (file)
@@ -174,7 +174,7 @@ class RegistrationView (FreeAccessView, ThemeView):
                 create_pending_user(wsgi_request, user_request, user_detail)
                 self.template_name = 'user_register_complete.html'
                 # log user activity
-                activity.user.register(self.request)
+                activity.user.registered(self.request)
                 return render(wsgi_request, self.template, {'theme': self.theme}) 
 
         else: