From: Yasin <mohammed-yasin.rahman@lip6.fr>
Date: Wed, 21 Jan 2015 17:30:57 +0000 (+0100)
Subject: CHECK PI: check in sfa using a function in actions.py -- authority_check_pis
X-Git-Tag: myslice-1.3~114
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=67dd0c2e73f832813a1b51390264191a49a643f0;p=unfold.git

CHECK PI: check in sfa using a function in actions.py -- authority_check_pis
---

diff --git a/portal/homeview.py b/portal/homeview.py
index 3e9514f3..214bd7f3 100644
--- a/portal/homeview.py
+++ b/portal/homeview.py
@@ -19,6 +19,7 @@ from myslice.configengine               import ConfigEngine
 from myslice.theme                      import ThemeView
 from portal.account                     import Account, get_expiration
 from portal.models                      import PendingSlice
+from portal.actions                     import authority_check_pis
 
 import json, time
 import activity.user
@@ -89,10 +90,12 @@ class HomeView (FreeAccessView, ThemeView):
                                             acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
                                             acc_user_cred = account_config.get('delegated_user_credential','N/A')
                     # assigning values
-                    if acc_auth_cred=={} or acc_auth_cred=='N/A':
-                        pi = "is_not_pi"
-                    else:
-                        pi = "is_pi"
+                    #if acc_auth_cred=={} or acc_auth_cred=='N/A':
+                    #    pi = "is_not_pi"
+                    #else:
+                    #    pi = "is_pi"
+                    user_email = str(self.request.user)                   
+                    pi = authority_check_pis(self.reques, user_email)
 
                     # check if the user has creds or not
                     if acc_user_cred == {} or acc_user_cred == 'N/A':
@@ -156,11 +159,12 @@ class HomeView (FreeAccessView, ThemeView):
                                         acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
                                         acc_user_cred = account_config.get('delegated_user_credential','N/A')
             # assigning values
-            if acc_auth_cred=={} or acc_auth_cred=='N/A':
-                pi = "is_not_pi"
-            else:
-                pi = "is_pi"
-
+            #if acc_auth_cred=={} or acc_auth_cred=='N/A':
+            #    pi = "is_not_pi"
+            #else:
+            #    pi = "is_pi"
+            user_email = str(self.request.user) 
+            pi = authority_check_pis(self.request, user_email)
             # check if the user has creds or not
             if acc_user_cred == {} or acc_user_cred == 'N/A':
                 user_cred = 'no_creds'
diff --git a/portal/slicerequestview.py b/portal/slicerequestview.py
index 4a52560c..15e2d740 100644
--- a/portal/slicerequestview.py
+++ b/portal/slicerequestview.py
@@ -7,7 +7,7 @@ from unfold.page                import Page
 from manifold.core.query        import Query
 from manifoldapi.manifoldapi    import execute_admin_query, execute_query
 
-from portal.actions             import is_pi, create_slice, create_pending_slice, clear_user_creds
+from portal.actions             import is_pi, create_slice, create_pending_slice, clear_user_creds, authority_check_pis
 #from portal.forms               import SliceRequestForm
 from unfold.loginrequired       import LoginRequiredAutoLogoutView
 from ui.topmenu                 import topmenu_items_live, the_user
@@ -60,14 +60,14 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
         # Handle the case when we use only hrn and not name
         if authority_name is None:
             authority_name = user_authority
-        #
+        
         account_query  = Query().get('local:account').select('user_id','platform_id','auth_type','config')
         account_details = execute_query(wsgi_request, account_query)
-        #
+        
         platform_query  = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled')
         platform_details = execute_query(wsgi_request, platform_query)
         user_hrn = None
-        # getting user_hrn from local:account
+        #getting user_hrn from local:account
         for account_detail in account_details:
             for platform_detail in platform_details:
                 if platform_detail['platform_id'] == account_detail['platform_id']:
@@ -76,15 +76,16 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
                     if 'myslice' in platform_detail['platform']:
                         account_config = json.loads(account_detail['config'])
                         user_hrn = account_config.get('user_hrn','N/A')
-                        acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
+        #                acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
 
 
         # checking if pi or not
-        if acc_auth_cred == {} or acc_auth_cred == 'N/A':
-            pi = "is_not_pi"
-        else:
-            pi = "is_pi"
+        #if acc_auth_cred == {} or acc_auth_cred == 'N/A':
+        #    pi = "is_not_pi"
+        #else:
+        #    pi = "is_pi"
 
+        pi = authority_check_pis (wsgi_request, user_email)       
 
         # Page rendering
         page = Page(wsgi_request)
diff --git a/portal/templates/fed4fire/fed4fire_home-view.html b/portal/templates/fed4fire/fed4fire_home-view.html
index 385f698d..89972ac6 100644
--- a/portal/templates/fed4fire/fed4fire_home-view.html
+++ b/portal/templates/fed4fire/fed4fire_home-view.html
@@ -55,7 +55,7 @@
 	{%if 'creds_expired'  in user_cred %}
     	<p class="command"><a href="#" style="color:red" data-toggle="modal" data-target="#myModal">EXPIRED CREDENTIALS</a> Please delegate again your credentials to the portal!</p>
     {%endif%}
-		{%if 'is_pi'  in pi %}
+		{% if pi %}
 		<div class="col-md-3">
 			<h3>
 				EXPERIMENT
diff --git a/portal/templates/fed4fire/fed4fire_slicerequest_view.html b/portal/templates/fed4fire/fed4fire_slicerequest_view.html
index c8fecf63..0d28ec19 100644
--- a/portal/templates/fed4fire/fed4fire_slicerequest_view.html
+++ b/portal/templates/fed4fire/fed4fire_slicerequest_view.html
@@ -34,13 +34,13 @@
 				title="Please enter a name for your slice"required="required">
 			  </div>
 			  <div class="form-group">
-				{%if 'is_pi'  in pi %}
+				{% if pi %}
 				<input type="text" class="form-control" id="authority_hrn" name="org_name" style="width:300px" placeholder="Organization" 
 				title="An authority responsible for vetting your slice" required="required">
-				{%else%}
+				{% else %}
 			    <input type="text" class="form-control" id="authority_hrn" name="org_name" placeholder="Organization" style="width:300px;" 
 				title="An authority responsible for vetting your slice" required="required" readonly>
-				{%endif%}
+				{% endif %}
 			  </div>
 			  <div class="form-group">
 			    <input type="text" class="form-control" name="url" id="url" style="width:300px" placeholder="Experiment URL (if one exists)"
@@ -50,11 +50,11 @@
 			  	<textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment purpose" style="width:300px" 
 				title="Purpose of your experiment (informative)" required="required">{{ purpose }}</textarea>
 			  </div>
-			  {%if 'is_pi'  in pi %}	
+			  {% if pi %}	
 			  <button type="submit" id=submit_pi class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Create slice</button>
-			  {%else%}
+			  {% else %}
 			  <button type="submit" class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Request slice</button>
-			  {%endif%}	
+			  {% endif %}	
 			</form>
 	
 		</div>
diff --git a/portal/templates/onelab/onelab_home-view.html b/portal/templates/onelab/onelab_home-view.html
index 4e8b22c8..32e7373b 100644
--- a/portal/templates/onelab/onelab_home-view.html
+++ b/portal/templates/onelab/onelab_home-view.html
@@ -56,7 +56,7 @@
     {%endif%}
 
 	<div class="row">
-		{%if 'is_pi'  in pi %}
+		{% if pi %}
 		<div class="col-md-3">
 			<h3>
 				EXPERIMENT
diff --git a/portal/templates/onelab/onelab_slicerequest_view.html b/portal/templates/onelab/onelab_slicerequest_view.html
index 211f35da..3394e59e 100644
--- a/portal/templates/onelab/onelab_slicerequest_view.html
+++ b/portal/templates/onelab/onelab_slicerequest_view.html
@@ -34,13 +34,13 @@
 				title="Please enter a name for your slice"required="required">
 			  </div>
 			  <div class="form-group">
-				{%if 'is_pi'  in pi %}
+				{% if pi %}
 				<input type="text" class="form-control" id="authority_hrn" name="org_name" style="width:300px" placeholder="Organization" 
 				title="An authority responsible for vetting your slice" required="required">
-				{%else%}
+				{% else %}
 			    <input type="text" class="form-control" id="authority_hrn" name="org_name" placeholder="Organization" style="width:300px;" 
 				title="An authority responsible for vetting your slice" required="required" readonly>
-				{%endif%}
+				{% endif %}
 			  </div>
 			  <div class="form-group">
 			    <input type="text" class="form-control" name="url" id="url" style="width:300px" placeholder="Experiment URL (if one exists)"
@@ -50,11 +50,11 @@
 			  	<textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment purpose" style="width:300px" 
 				title="Purpose of your experiment (informative)" required="required">{{ purpose }}</textarea>
 			  </div>
-			  {%if 'is_pi'  in pi %}	
+			  {% if pi %}	
 			  <button type="submit" id=submit_pi class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Create slice</button>
-			  {%else%}
+			  {% else %}
 			  <button type="submit" class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Request slice</button>
-			  {%endif%}	
+			  {% endif %}	
 			</form>
 	
 		</div>