def execute_query(request, query):
if not 'manifold' in request.session or not 'auth' in request.session['manifold']:
request.session.flush()
- raise Exception, "User not authenticated"
+ #raise Exception, "User not authenticated"
+ host = request.get_host()
+ return redirect(host)
manifold_api_session_auth = request.session['manifold']['auth']
return _execute_query(request, query, manifold_api_session_auth)
value = this.dataset['platform'];
// handle the hrn that include . in their name (has to be in sync with the data from SFA)
- value = value.replace(/\./g,"\\.");
+ //value = value.replace(/\./g,"\\.");
key = "network_hrn";
op = "included";
return $(this).hasClass('active') ? self._addFilter(key, op, value) : self._removeFilter(key, op, value);
def authority_get_pis(request, authority_hrn):
query = Query.get('authority').filter_by('authority_hrn', '==', authority_hrn).select('pi_users')
results = execute_admin_query(request, query)
+ print "authority_get_pis = %s" % results
# NOTE: temporarily commented. Because results is giving empty list.
# Needs more debugging
#if not results:
def authority_get_pi_emails(request, authority_hrn):
pi_users = authority_get_pis(request,authority_hrn)
+ print "pi_users = %s" % pi_users
+
if any(d['pi_users'] == None for d in pi_users):
theme.template_name = 'email_default_recipients.txt'
default_email = render_to_string(theme.template, request)
try:
# Send an email: the recipients are the PI of the authority
recipients = authority_get_pi_emails(wsgi_request, request['authority_hrn'])
-
+
theme.template_name = 'slice_request_email.txt'
text_content = render_to_string(theme.template, request)
subject = subject.replace('\n', '')
sender = email
- msg = EmailMultiAlternatives(subject, text_content, sender, [recipients])
- print msg
+ msg = EmailMultiAlternatives(subject, text_content, sender, recipients)
msg.attach_alternative(html_content, "text/html")
msg.send()
except Exception, e:
sender = render_to_string(theme.template, request)
sender = sender.replace('\n', '')
- msg = EmailMultiAlternatives(subject, text_content, sender, [recipients])
+ msg = EmailMultiAlternatives(subject, text_content, sender, recipients)
msg.attach_alternative(html_content, "text/html")
msg.send()
except Exception, e:
print "Failed to send email, please check the mail templates and the SMTP configuration of your server"
+ import traceback
+ traceback.print_exc()
else:
sender = email
- msg = EmailMultiAlternatives(subject, text_content, sender, [recipients])
+ msg = EmailMultiAlternatives(subject, text_content, sender, recipients)
msg.attach_alternative(html_content, "text/html")
msg.send()
except Exception, e:
sender = render_to_string(theme.template, ctx)
sender = sender.replace('\n', '')
- msg = EmailMultiAlternatives(subject, text_content, sender, [recipients])
+ msg = EmailMultiAlternatives(subject, text_content, sender, recipients)
msg.attach_alternative(html_content, "text/html")
msg.send()
if user_detail['email'] == user_request['email']:
errors.append('Email already registered in Manifold. Please provide a new email address.')
# Does the user exist in sfa? [query is very slow!!]
- user_query = Query().get('user').select('user_hrn','user_email')
+ #user_query = Query().get('user').select('user_hrn','user_email')
+ # XXX Test based on the user_hrn is quick
+ user_query = Query().get('user').select('user_hrn','user_email').filter_by('user_hrn','==',user_request['user_hrn'])
user_details_sfa = execute_admin_query(wsgi_request, user_query)
+
for user in user_details_sfa:
if user['user_email'] == user_request['email']:
errors.append('Email already registered in SFA registry. Please use another email.')
'resource.hostname', 'resource.type',
'resource.network_hrn',
'lease.urn',
- 'user.user_hrn',
+ #'user.user_hrn',
#'application.measurement_point.counter'
)
# for internal use in the querytable plugin;
{{map_resources}}
</div>
<div id="scheduler-tab" class="panel" style="height:370px;display:none;">
- {#scheduler#}
+ {{scheduler}}
</div>
<div id="pending" class="panel" style="height:370px;display:none;">
{{pending_resources}}
testbed_row += "<th id=testbed_check><input type=\"checkbox\" name=\"network_hrn\" value=\"all\"/></th>";
testbed_row += "<th id=testbed_icon></th>";
testbed_row += "<th>network_hrn</th>";
- testbed_row += "<th>Full name</th>";
+ //testbed_row += "<th>Full name</th>";
testbed_row += "<th>Description</th>";
testbed_row += "</tr>";
testbed_row += "</thead>";
$.each( data, function(key, val) {
testbed_row = "<tr data-keys=\""+val.network_hrn+"\" class=\"odd\">";
testbed_row += "<td><input type=\"checkbox\" name=\"network_hrn\" value=\""+val.network_hrn+"\"/></td>";
- testbed_row += "<td><img src='/static/img/testbeds/"+val.network_hrn+".png' alt='' /></td>";
+ net_hrn = val.network_hrn;
+ net_hrn = net_hrn.replace(/\\/g, '');
+ testbed_row += "<td><img src='/static/img/testbeds/"+net_hrn+".png' alt='' /></td>";
testbed_row += "<td>"+val.network_hrn+"</td>";
testbed_row += "<td>"+val.network_longname+"</td>";
- testbed_row += "<td>"+val.description+"</td>";
+ //testbed_row += "<td>"+val.description+"</td>";
testbed_row += "</thead>";
testbed_data.push(testbed_row);
pi_authorities_query = Query.get('user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities')
pi_authorities_tmp = execute_query(self.request, pi_authorities_query)
pi_authorities = set()
- for pa in pi_authorities_tmp:
- pi_authorities |= set(pa['pi_authorities'])
+ try:
+ for pa in pi_authorities_tmp:
+ pi_authorities |= set(pa['pi_authorities'])
+ except:
+ print 'No pi_authorities'
+# TODO: exception if no parent_authority
+# try:
+# for pa in pi_authorities_tmp:
+# pi_authorities |= set(pa['pi_authorities'])
+# except:
+
# # include all sub-authorities of the PI
# # if PI on ple, include all sub-auths ple.upmc, ple.inria and so on...