From: Loic Baron
Date: Mon, 18 Aug 2014 19:29:54 +0000 (+0200)
Subject: Merge branch 'onelab' of ssh://git.onelab.eu/git/myslice into onelab
X-Git-Tag: myslice-1.0~4^2^2~1
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=cf4cdbfa738f4687eae3cab36fdaf4914da1d160;hp=8f6f52077049744fefcdd4e3d645eca32473914b;p=unfold.git
Merge branch 'onelab' of ssh://git.onelab.eu/git/myslice into onelab
---
diff --git a/activity/__init__.py b/activity/__init__.py
index 677424f8..854897d1 100644
--- a/activity/__init__.py
+++ b/activity/__init__.py
@@ -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
index 00000000..73a23696
--- /dev/null
+++ b/activity/institution.py
@@ -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
diff --git a/activity/user.py b/activity/user.py
index fadd068b..da259948 100644
--- a/activity/user.py
+++ b/activity/user.py
@@ -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
diff --git a/portal/contactview.py b/portal/contactview.py
index b076cd98..2b9edb4e 100644
--- a/portal/contactview.py
+++ b/portal/contactview.py
@@ -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)
diff --git a/portal/homeview.py b/portal/homeview.py
index f830cc16..7af47760 100644
--- a/portal/homeview.py
+++ b/portal/homeview.py
@@ -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))
diff --git a/portal/joinview.py b/portal/joinview.py
index d28daba9..832055bd 100644
--- a/portal/joinview.py
+++ b/portal/joinview.py
@@ -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)
diff --git a/portal/registrationview.py b/portal/registrationview.py
index 105eccee..e55e30fd 100644
--- a/portal/registrationview.py
+++ b/portal/registrationview.py
@@ -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:
diff --git a/portal/templates/onelab/onelab_about.html b/portal/templates/onelab/onelab_about.html
index ce38b597..4c67a317 100644
--- a/portal/templates/onelab/onelab_about.html
+++ b/portal/templates/onelab/onelab_about.html
@@ -38,7 +38,7 @@
MySlice inititiave started in Janury 2011 by offering annotation services for the first ederated experimental resources. Today,
- MySlice has taken a big step toward becoming a tand-alone web framework, which will present all available resources from testbeds
+ MySlice has taken a big step toward becoming a stand-alone web framework, which will present all available resources from testbeds
across the world, interconnected through the Slice-based Facility Architecture (SFA) and annotated by the TopHat measurement system.