1 {% extends "layout.html" %}
6 <h1><img src="{{ STATIC_URL }}img/icon_user_small.png" alt="User Registration" /> OneLab Experimenter Registration</h1>
10 <h4>For First Line Support please <a href="/portal/contact" >Contact Support</a></h3>
14 {% for error in errors %}
20 <form class="cmxform form-horizontal" id="registrationForm" method="post" action="" enctype="multipart/form-data" role="form">
23 <div class="form-group">
24 <label for="firstname" class="col-xs-2 control-label">First Name</label>
25 <div class="col-xs-4">
26 <input type="text" name="firstname" class="form-control" minlength="2" value="{{ firstname }}" placeholder="First Name" required />
28 <div class="col-xs-6"> <p class="form-hint">Enter your first name</p> </div>
30 <div class="form-group">
31 <label for="lastname" class="col-xs-2 control-label">Last Name</label>
32 <div class="col-xs-4">
33 <input type="text" name="lastname" size="25" class="form-control" minlength="2" value="{{ lastname }}" placeholder="Last Name" required />
35 <div class="col-xs-6"><p class="form-hint">Enter your last name</p></div>
37 <div class="form-group">
38 <label for="authority_hrn" class="col-xs-2 control-label">Authority</label>
39 <div class="col-xs-4">
40 <div class="ui-widget">
41 <input id="authority_hrn" name="authority_hrn" class="form-control" value="{{ authority_hrn }}" required>
44 <div class="col-xs-6"><p class="form-hint">An authority responsible for vetting your account</p></div>
48 TODO: Login should be suggested from user email or first/last name, and
49 checked for existence. In addition, the full HRN should be shown to the
51 <div class="form-group">
52 <label for="login" class="col-xs-2 control-label">Login</label>
53 <div class="col-xs-4">
54 <input type="text" name="login" size="25" class="form-control" minlength="2" value="{{ login }}" placeholder="Login" required />
56 <div class="col-xs-6"><p class="form-hint">Enter your login</p></div>
60 <div class="form-group">
61 <label for="email" class="col-xs-2 control-label">Email</label>
62 <div class="col-xs-4">
63 <input type="email" name="email" size="25" class="form-control" value="{{ email }}" required/>
65 <div class="col-xs-6"><p class="form-hint">Enter a valid email address</p></div>
67 <div class="form-group">
68 <label for="password" class="col-xs-2 control-label">Password</label>
69 <div class="col-xs-4">
70 <input type="password" id="password" name="password" class="form-control" minlength="4" value="{{ password }}" required/>
72 <div class="col-xs-6"><p class="form-hint">Enter password</p></div>
74 <div class="form-group">
75 <label for="password" class="col-xs-2 control-label">Confirm Password</label>
76 <div class="col-xs-4">
77 <input type="password" id="confirmpassword" name="confirmpassword" minlength="4" class="form-control"
78 value="" placeholder="Confirm Password" required/>
80 <div class="col-xs-6"><p class="form-hint">Retype the password</p></div>
82 <div class="form-group">
83 <label for="question" class="col-xs-2 control-label">My Keys</label>
84 <div class="col-xs-4">
85 <select name="question" class="form-control" id="key-policy" required>
86 <option value="generate">Generate key pairs for me </option>
87 <option value="upload">Upload my public key </option>
90 <div class="col-xs-6"><p class="form-hint">Genkey: Account Delegation Automatic (Recommended)</p> </div>
92 <div class="form-group" style="display:none;" id="upload_key">
93 <label for="file" class="col-xs-2 control-label">Upload public key</label>
94 <div class="col-xs-4">
95 <input type="file" name="user_public_key" class="form-control" id="user_public_key" required/>
96 <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>
98 <div class="col-xs-6"><p class="form-hint">Account Delegation: Manual (Advanced Users)</p></div>
100 <div class="form-group" id="register">
101 <button class="submit btn btn-default col-xs-12" type="submit">Register</button>
107 jQuery(document).ready(function(){
108 var availableTags = [
110 {% for authority in authorities %}
111 {% if authority.name %}
112 {value:"{{ authority.authority_hrn }}",label:"{{authority.name}}"},
114 {value:"{{ authority.authority_hrn }}",label:"{{authority.authority_hrn}}"},
118 {value:"",label:"No authority found !!!"}
121 jQuery( "#authority_hrn" ).autocomplete({
122 source: availableTags,
124 change: function (event, ui) {
126 //http://api.jqueryui.com/autocomplete/#event-change -
127 // The item selected from the menu, if any. Otherwise the property is null
128 //so clear the item for force selection
129 jQuery("#authority_hrn").val("");
132 //select: function( event, ui ) {console.log(jQuery(this))}