-{% extends "layout-unfold1.html" %}
+{% extends "layout.html" %}
-{% block unfold_main %}
+{% block content %}
-<div class="onelab-title well-lg">
- <h2>OneLab Experimenter Registration</h2>
- <h4>For First Line Support please <a href="/portal/contact" >Contact Support</a></h3>
+<div class="row">
+ <div class="col-md-12">
+ <h1><img src="{{ STATIC_URL }}icons/user-xs.png" alt="User Registration" />User sign-up</h1>
+ </div>
+</div>
+<div class="row">
+ <div class="col-md-12">
+ <p><strong>Questions? <a href="/contact" >Contact us.</a></strong></p>
+ </div>
</div>
{% if errors %}
-<ul>
- {% for error in errors %}
- <li>{{ error }}</li>
- {% endfor %}
-</ul>
+<div class="row">
+ <div class="col-md-12">
+ <ul class="error">
+ {% for error in errors %}
+ <li>{{ error | safe }}</li>
+ {% endfor %}
+ </ul>
+ </div>
+</div>
{% endif %}
-
-<div class="well">
- <form class="cmxform form-horizontal" id="registrationForm" method="post" action="" enctype="multipart/form-data" role="form">
- <fieldset>
- {% csrf_token %}
- <div class="form-group">
- <label for="firstname" class="col-xs-2 control-label">First Name</label>
- <div class="col-xs-4">
- <input type="text" name="firstname" class="form-control" minlength="2" value="{{ firstname }}" placeholder="First Name" required />
- </div>
- <div class="col-xs-6"> <p class="form-hint">Enter your first name</p> </div>
- </div>
- <div class="form-group">
- <label for="lastname" class="col-xs-2 control-label">Last Name</label>
- <div class="col-xs-4">
- <input type="text" name="lastname" size="25" class="form-control" minlength="2" value="{{ lastname }}" placeholder="Last Name" required />
- </div>
- <div class="col-xs-6"><p class="form-hint">Enter your last name</p></div>
- </div>
- <div class="form-group">
- <label for="auth_list" class="col-xs-2 control-label">Authority</label>
- <div class="col-xs-4">
- <select id="auth_list" name="authority_hrn" size="1" class="form-control" required>
- {% if authorities %}
- {% for authority in authorities %}
- <option value="{{ authority.authority_hrn }}"/>{{authority.authority_hrn}}</option>
- <!-- <option value="{{ authority.authority_hrn }}">{{authority.name}} ({{authority.authority_hrn}})</option> -->
- {% endfor %}
- {% else %} <!-- should not happen -->
- <option value="test">No authority found !!! </option>
- {% endif %}
- </select>
- </div>
- <div class="col-xs-6"><p class="form-hint">An authority responsible for vetting your account</p></div>
- </div>
+<form action="/register" class="cmxform form-horizontal" method="post" enctype="multipart/form-data">
+<div class="row">
+ <div class="col-md-6">
+ <div>
+ {% csrf_token %}
+ <label for="authority_hrn" class="control-label">Organization</label>
+ <p></p>
+ <div class="ui-widget">
+ <select id="org_name" name="org_name" class="form-control" style="width:590px" value="{{ organization }}"
+ title="Choose your organization (company/university) from the list that apears when you click in the field and start to type.
+ Use the arrow keys to scroll through the list; type part of the name to narrow down the list. We will send an email to
+ the managers that we have on record for your organization, asking them to validate your sign-up request." required>
+ <option value="">select an organization</option>
+ {% if authorities %}
+ {% for authority in authorities %}
+ {% if authority.name %}
+ <option value="{{ authority.authority_hrn }}">{{authority.name}}</option>
+ {% else %}
+ <option value="{{ authority.authority_hrn }}">{{authority.authority_hrn}}</option>
+ {% endif %}
+ {% endfor %}
+ {% else %}
+ <option value:"">No authority found !!!</option>
+ {% endif %}
+ </select>
+ </div>
+ <p></p>
+ {% include theme|add:"_authority_notListed.html" %}
+ </div>
+ </div>
+</div>
- <!-- LOGIN
- TODO: Login should be suggested from user email or first/last name, and
- checked for existence. In addition, the full HRN should be shown to the
- user.
- -->
- <div class="form-group">
- <label for="login" class="col-xs-2 control-label">Login</label>
- <div class="col-xs-4">
- <input type="text" name="login" size="25" class="form-control" minlength="2" value="{{ login }}" placeholder="Login" required />
- </div>
- <div class="col-xs-6"><p class="form-hint">Enter your login</p></div>
- </div>
-
- <div class="form-group">
- <label for="email" class="col-xs-2 control-label">Email</label>
- <div class="col-xs-4">
- <input type="email" name="email" size="25" class="form-control" value="{{ email }}" required/>
- </div>
- <div class="col-xs-6"><p class="form-hint">Enter a valid email address</p></div>
- </div>
- <div class="form-group">
- <label for="password" class="col-xs-2 control-label">Password</label>
- <div class="col-xs-4">
- <input type="password" id="password" name="password" class="form-control" minlength="4" value="{{ password }}" required/>
- </div>
- <div class="col-xs-6"><p class="form-hint">Enter password</p></div>
- </div>
- <div class="form-group">
- <label for="password" class="col-xs-2 control-label">Confirm Password</label>
- <div class="col-xs-4">
- <input type="password" id="confirmpassword" name="confirmpassword" minlength="4" class="form-control"
- value="" placeholder="Confirm Password" required/>
- </div>
- <div class="col-xs-6"><p class="form-hint">Retype the password</p></div>
- </div>
- <div class="form-group">
- <label for="question" class="col-xs-2 control-label">My Keys</label>
- <div class="col-xs-4">
- <select name="question" class="form-control" id="key-policy" required>
- <option value="generate">Generate key pairs for me </option>
- <option value="upload">Upload my public key </option>
- </select>
- </div>
- <div class="col-xs-6"><p class="form-hint">Genkey: Account Delegation Automatic (Recommended)</p> </div>
- </div>
- <div class="form-group" style="display:none;" id="upload_key">
- <label for="file" class="col-xs-2 control-label">Upload public key</label>
- <div class="col-xs-4">
- <input type="file" name="user_public_key" class="form-control" id="user_public_key" required/>
- <p class="warning" id="pkey_del_msg">Once your account is validated, you will have to delegate your credentials manually using SFA [Advanced users only]</p>
- </div>
- <div class="col-xs-6"><p class="form-hint">Account Delegation: Manual (Advanced Users)</p></div>
- </div>
- <div class="form-group" id="register">
- <button class="submit btn btn-default col-xs-12" type="submit">Register</button>
- </div>
- </div>
- </fieldset>
- </form>
+<div class="row">
+ <div class="col-md-6">
+ <p>
+ <label for="firstname" class="control-label">Personal information</label>
+ </p>
+ <p>
+ <input type="text" name="firstname" class="form-control" style="width:350px" minlength="2" value="{{ first_name }}" placeholder="First name" required />
+ </p>
+ <p>
+ <input type="text" name="lastname" size="25" class="form-control" style="width:350px" minlength="2" value="{{ last_name }}" placeholder="Last name" required />
+ </p>
+ <p>
+ <input type="email" name="email" size="25" class="form-control" style="width:350px" value="{{ email }}" title="Your e-mail address will be your identifier for logging in. We contact you to verify your account and then, occasionally, for important issues." placeholder="Email" required />
+ </p>
+ </div>
+
+ <div class="col-md-6">
+ <p>
+ <label for="password" class="control-label">Authentication</label>
+ </p>
+ <p>
+ <input type="password" id="password" name="password" class="form-control" style="width:250px" minlength="8" value="{{ password }}"
+ title="Your password allows you to log in to this portal."
+ placeholder="Password" required />
+ </p>
+ <p>
+ <input type="password" id="confirmpassword" name="confirmpassword" style="width:250px" minlength="8" class="form-control" value=""
+ placeholder="Confirm password" required />
+ </p>
+ <p>
+ <select name="question" class="form-control" style="width:350px" id="key-policy"
+ title="Your public/private key pair allows you to access the testbeds." required >
+ <option value="generate">Generate my keys for me (recommended)</option>
+ <option value="upload">Upload my public key (advanced users only)</option>
+ </select>
+ </p>
+ <div style="display:none;" id="upload_key">
+ <label for="file" class="control-label">Upload public key</label>
+ <input type="file" name="user_public_key" class="form-control" style="width:200px" id="user_public_key" />
+ <br />
+ <div class="alert alert-danger" id="pkey_del_msg">
+ In order for the portal to contact testbeds on your behalf, so as to list and reserve resources, you will need to
+ <a href="/portal/manual_delegation" target="_blank">delegate your credentials to the portal.</a>
+ </div>
+ </div>
+ </div>
+</div>
+<div class="row">
+ <div class="col-md-12">
+ <p>
+ <input type="checkbox" name="agreement" value="agreement" required /> I agree to the
+ <a href="#" data-toggle="modal" data-target="#myModal">terms and conditions.</a>
+ </p>
+ </div>
+</div>
+{% include theme|add:"_register_info.html" %}
+<div class="row">
+ <div class="col-md-12">
+ <div id="register">
+ <p>
+ <input class="submit btn btn-onelab" type="submit" value="Sign up" />
+ </p>
+ </form>
+ </div>
+ </div>
</div>
-{% endblock %}
+ <!-- Modal - columns selector -->
+<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+ <h4 class="modal-title" id="myModalLabel">Terms & Conditions</h4>
+ </div>
+ <div class="modal-body">
+ {% include theme|add:"_terms_and_conditions.html" %}
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
+
+<script>
+$(document).ready(function(){
+ // auto-complete the form
+ jQuery("#org_name").combobox();
+
+ {% if theme == 'fed4fire' %}
+ //setting the default value in the org_list
+ var temp="fed4fire.global";
+ $("#org_name").val(temp);
+ {% endif %}
+
+ $('[title!=""]').qtip();
+ $("form").validate();
+ $("form").submit(function() {
+ if ($('select option:selected').val() == 'upload') {
+ if ($('input[name=user_public_key]').val() == '') {
+ alert('Please specify the key file to upload');
+ return false;
+ }
+ }
+ });
+});
+</script>
+{% endblock %}