Reg template: generic one doesn't contain req org
[unfold.git] / portal / templates / registration_view.html
index 3cdbecf..6c04487 100644 (file)
 {% block content %}        
 
 <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">
-               <p></p>
-               <p><strong>Questions? <a href="/portal/contact" >Contact us.</a></strong></p>
+       <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="row"><div class="col-sm-12">
-<form class="cmxform form-horizontal" id="registrationForm" method="post" enctype="multipart/form-data" role="form">
-{% csrf_token %}
-       <div class="form-group">
-               <label for="authority_hrn" class="control-label">Organization</label>
-               <p></p>
-               <input id="authority_hrn" 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. If it is not in the list, 
-               please request its addition by clicking the link below. 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/>
-               <p></p>
-               <p>Organization not listed? <a href="/portal/join">Request its addition now.</a></p>
+                               <form action="/register" class="cmxform form-horizontal" method="post" enctype="multipart/form-data">
+<div class="row">
+       <div class="col-md-12">
+                       <div class="form-group">
+                               {% 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>
+                {% if authorities %}
+                    {% for authority in authorities %}
+                        {% if authority.name %}
+                            {% if authority.authority_hrn == authority_hrn %}
+                                <option value="{{ authority.authority_hrn }}" selected>{{authority.name}}</option>
+                            {% else %}
+                                <option value="{{ authority.authority_hrn }}">{{authority.name}}</option>
+                            {% endif %}
+                        {% else %}
+                            {% if authority.authority_hrn == authority_hrn %}
+                            <option value="{{ authority.authority_hrn }}" selected>{{authority.authority_hrn}}</option>
+                            {% else %}
+                            <option value="{{ authority.authority_hrn }}">{{authority.authority_hrn}}</option>
+                            {% endif %}
+                        {% endif %}
+                    {% endfor %}
+                {% else %}
+                    <option value:"">No authority found !!!</option>
+                {% endif %}
+                </select>
+                </div>
+                               <p></p>
+                       </div>
        </div>
+</div>
 
-       <div class="row">
-       <div class="col-md-4">
+<div class="row">
+       <div class="col-md-6">
        
            <div class="form-group">
                        <label for="firstname" class="control-label">Personal information</label>
                        <p></p>
-                       <input type="text" name="firstname" class="form-control" style="width:200px" minlength="2" value="{{ first_name }}" placeholder="First name" required />
+                       <input type="text" name="firstname" class="form-control" style="width:350px" minlength="2" value="{{ first_name }}" placeholder="First name" required />
            </div>
            <div class="form-group">
-                       <input type="text" name="lastname" size="25" class="form-control" style="width:200px" minlength="2" value="{{ last_name }}" placeholder="Last name" required />
+                       <input type="text" name="lastname" size="25" class="form-control" style="width:350px" minlength="2" value="{{ last_name }}" placeholder="Last name" required />
            </div>
                <div class="form-group">
-               <input type="email" name="email" size="25"  class="form-control" style="width:200px" value="{{ email }}" 
+               <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/>
+                       placeholder="Email" required />
                </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="col-md-4">
+       <div class="col-md-6">
            <div class="form-group">
              <label for="password" class="control-label">Authentication</label>
                  <p></p>       
-             <input type="password"  id="password" name="password"   class="form-control" style="width:200px" minlength="4" value="{{ password }}" 
+             <input type="password"  id="password" name="password"   class="form-control" style="width:250px" minlength="4" value="{{ password }}" 
                        title="Your password allows you to log in to this portal."
-                       placeholder="Password" required/>
+                       placeholder="Password" required />
            </div>
            <div class="form-group">
-                       <input type="password"  id="confirmpassword" name="confirmpassword" style="width:200px"  minlength="4" class="form-control" value="" 
-                               placeholder="Confirm password" required/>
+                       <input type="password"  id="confirmpassword" name="confirmpassword" style="width:250px"  minlength="4" class="form-control" value="" 
+                               placeholder="Confirm password" required />
            </div>
            <div class="form-group">
-               <!--<label for="question" class="control-label">Keys</label> -->
-                       <select name="question" class="form-control" style="width:200px" id="key-policy" 
-                               title="Your public/private key pair allows you to access the testbeds." required>        
+                       <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>
            </div>
            <div class="form-group" 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" required/>
+               <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="http://trac.myslice.info/wiki/InstallSfa" target="_blank">delegate your public key to the portal.</a>
+                               <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">
+               <div class="form-group">
+                       <p></p>
+                       <input type="checkbox" name="agreement" value="agreement" required />&nbsp;&nbsp; I agree to the 
+                       <a href="#" data-toggle="modal" data-target="#myModal">terms and conditions.</a> 
+               </div>
+       </div>
+</div>
+<div class="row">
+       <div class="col-md-12">
+               <div class="form-group" id="register">
+                       <p></p> 
+               <input class="submit btn btn-onelab" type="submit" value="Sign up" />
+               </form>
+           </div>
        </div>
+</div>
 
-       <div class="form-group">
-               <p></p>
-               <input type="checkbox" name="agreement" value="agreement" required/> I agree to the 
-               <button class="btn btn-default btn-xs" data-toggle="modal" data-target="#myModal">terms and conditions.</button> 
-       </div>
        <!-- Modal - columns selector -->
-               <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+<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">
                                </div>
                                <div class="modal-body">
                                                <p align="left">
-                                       for OneLab Basic level service
-                                       <br/>
-                                       Version 0.6 of 20 May 2014
-                                               <br>
-                                               <a href="/portal/terms" target="_blank">[Printable format]</a>
+                                                       To be added soon.
                                                </p>
-                                       <h1 align="left">1 Context</h1>
-                                       <h2 align="left">1.1 OneLab</h2>
-                                       <p align="left">
-                               OneLab is an experimental facility for testing new ideas and new technologies in the area of computer networking. It consists of a variety of types of
-                               platforms, including:</p>
-                                       <ul type="disc">
-                               <li>
-                               <strong>internet overlay testbeds</strong>
-                               , testbeds that offer virtual machines distributed across locations in different countries, allowing users to deploy overlays on the internet;
-                               </li>
-                               <li>
-                               <strong>wireless testbeds</strong>
-                               , testbeds that consist of clusters of computers that are within Wi-Fi communication range of each other, either in an office environment or in an
-                               isolated setting;
-                               </li>
-                               <li>
-                               <strong>internet of things testbeds</strong>
-                               , testbeds that consist of embedded computing nodes with sensor capabilities, communicating wirelessly in an isolated environment;
-                               </li>
-                               <li>
-                               <strong>emulation testbeds,</strong>
-                               computing clusters that offer virtual machines on servers that are interconnected by a high speed switch, enabling large scale network emulation.
-                               </li>
-                                       </ul>
-                                       <p align="left">
-                               This list of types of platforms is subject to change, and the current list, along with the identities of the specific platforms of each type, can be found
-                               on the OneLab website (onelab.eu).</p>
-                                       <p align="left">
-                               Each platform has its own owners, and OneLab is the grouping of these platforms through a consortium of institutions. The OneLab consortium is coordinated
-                               by UPMC Sorbonne Universités. It operates on a not-for-profit basis.</p>
-                                       <p align="left">
-                               Access to OneLab may also provide access to additional platforms that are not part of OneLab, due to a federation agreement between OneLab and the owners
-                               of those platforms.</p>
-                                       <h2 align="left">1.2 Fee-free Basic level service</h2>
-                                       <p align="left">These terms and conditions define and apply to OneLab's Basic level service, which is available free of charge.</p>
-                                       <p align="left">
-                               Users who would like additional services are encouraged to contact support@onelab.eu. Some additional services require a written agreement, but are
-                               otherwise free. Others require the payment of fees or in-kind contributions. (An example of an in-kind contribution is the hosting of a PlanetLab Europe
-                               server node.)</p>
-                                       <h2 align="left">1.3 Managers and standard users</h2>
-                                       <p align="left">
-                               There are two classes of OneLab user: the manager and the standard user. OneLab grants access rights to managers, who, in turn, provide access rights to
-                                       standard users. Examples are: for a small enterprise, an executive may be the manager and the employees may be standard users; for a research team, a
-                               senior scientist (faculty member or research scientist) may be a manager and doctoral students and other members of the team may be standard users; for a
-                               university course, a professor may be a manager and the students may be standard users.</p>
-                                       <h2 align="left">1.4 These terms and conditions</h2>
-                                       <p align="left">
-                               Acceptance of these terms and conditions is a condition of obtaining OneLab Basic level user service. They are posted to the OneLab portal site
-                               (portal.onelab.eu). They may be changed without other notice than the posting of a new version to the portal site.</p>
-                                       <h1 align="left">2 Services provided by OneLab</h1>
-                                       <h2 align="left">2.1 Access to the experimental facility</h2>
-                                       <p align="left">
-                               OneLab provides users with access to the platforms that make up the experimental facility. Each platform owner determines the specifics of this access (for
-                               example, how many nodes are available to a user, what happens in case of oversubscription, etc.), with the proviso that Basic level service requires that
-                                       users be able to conduct meaningful experiments on every OneLab testbed.</p>
-                                       <p align="left">
-                               Basic level service may also provide access to platforms that are federated with OneLab, but such access depends upon the terms of the federation
-                               agreements with those platforms, which may require that the user have a higher level of service in order to gain access. For example, Basic level service
-                               provides access to PlanetLab Europe, a OneLab platform, without providing access to PlanetLab Central, a federated platform. Users wanting full access
-                               across the global PlanetLab system should contact support@onelab.eu to arrange to enter into a PlanetLab Europe membership agreement.</p>
-                                       <p align="left">OneLab's role is to facilitate access to the platforms. Specifically, it provides each user with:</p>
-                                       <ul>
-                               <li align="left">
-                               <strong>a single account,</strong>
-                               the credentials for which can be used to access all of the OneLab testbeds;
-                               </li>
-                               <li align="left">
-                               <strong>tools through which to access the testbeds</strong>
-                               , including, notably, a web-based portal (portal.onelab.eu) that allows a user to see the resources available on each testbed and to reserve them,
-                               along with a number of experiment control tools that a user can employ to deploy an experiment on those resources;
-                               </li>
-                               <li align="left">
-                               <strong>support</strong>
-                               , with documentation on how to use the tools, pointers to documentation for individual testbeds, and a helpdesk to respond to user questions.
-                               </li>
-                                       </ul>
-<p align="left">
-    Additional support, such as accompaniment through the design and deployment of experiments and the interpretation of their results, is available through
-    higher levels of service.
-</p>
-<h2 align="left">
-    2.2 Best effort, without guarantees
-</h2>
-<p align="left">
-    OneLab and the owners of the individual OneLab testbeds do their best to provide the services outlined here, with the understanding that Basic level
-    service offers no guarantees. Users should clearly understand the following limitations.
-</p>
-<ul type="disc">
-    <li>
-        <strong>Reliability:</strong>
-        OneLab does not provide any guarantees with respect to the reliability of the portal, of other tools, or of the individual nodes on platforms. These
-        may be taken down for maintenance, rebooted, or reinstalled at any time. Reinstallation implies that disks are wiped, meaning that users should not
-        consider a local disk to be a persistent form of storage.
-    </li>
-    <li>
-        <strong>Fitness:</strong>
-        OneLab does not guarantee that the platforms are suitable for the experiments that users intend to conduct. There may be limitations in the
-        technologies that are offered that prevent certain types of experiments from being carried out.
-    </li>
-    <li>
-        <strong>Privacy</strong>
-        : OneLab does not guarantee the privacy of traffic generated on the platforms (e.g., wireless signals, packets). Unless otherwise specified by an
-        individual platform owner, users should assume that traffic is monitored and logged. Such monitoring may be done intentionally, for example, to allow
-        platform administrators as well as other users to investigate abuse.
-    </li>
-</ul>
-<p align="left">
-    Users who seek such guarantees are invited to consider a higher level of service.
-</p>
-<h2 align="left">
-    2.3 Limitedliability
-</h2>
-<p align="left">
-    In no event shall the partners of the OneLab consortium be liable to any user for any consequential, incidental, punitive, or lost profit damages, or for
-    any damages arising out of loss of use or loss of data, to the extent that such damages arise out of the activities of OneLab consortium partners, or any
-    breach of the present terms and conditions, even if the consortium partner has been advised of the possibility of such damages.
-</p>
-<p align="left">
-    Nothing contained in these terms and conditions shall be deemed as creating any rights or liabilities in or for third parties who are not Basic level users
-    of OneLab.
-</p>
-<h1 align="left">
-    3 Acceptable use policy
-</h1>
-<h2 align="left">
-    3.1 Responsibilities of managers and standard users
-</h2>
-<p align="left">
-    OneLab creates and administers accounts for managers and delegates to managers the responsibility for creating and administering accounts for standard
-    users. Both managers and standard users are required to follow OneLab's acceptable use policy. In addition, managers are fully responsible for the
-    activities of the standard users whose accounts they create.
-</p>
-<p align="left">
-    A manager is expected to grant user access only an individual with whom he or she has a working relationship. In general, this means an individual who
-    works for the same institution as the manager, or, in the case of higher education and research, an individual who is a student at the university where the
-    manager works. Managers may also grant access to individuals from other institutions, provided that they are collaborating on a common project on OneLab.
-    If there is a doubt, a manager should refer the question to support@onelab.eu.
-</p>
-<h2 align="left">
-    3.2 Types of use
-</h2>
-<p align="left">
-    OneLab may be used by enterprise, by scientific researchers, and by educators.
-</p>
-<p align="left">
-    OneLab may be used for pre-commercial research and development. In keeping with OneLab's not-for-profit status, it may not be used to deploy services that
-    are designed to generate a commercial profit.
-</p>
-<p align="left">
-    Not-for-profit use of OneLab to deploy services that are designed to generate revenue requires prior approval through a written agreement, and thus may not
-    be carried out on a Basic level account. Interested users are invited to contact support@onelab.eu.
-</p>
-<p align="left">
-    OneLab may be used for scientific research.
-</p>
-<p align="left">
-    OneLab may be used to host lab exercises for university courses.
-</p>
-<p align="left">
-    Questions about other types of use should be addressed to support@onelab.eu.
-</p>
-<h2 align="left">
-    3.3 Applicable laws and regulations
-</h2>
-<p align="left">
-    OneLab is managed, and the portal is hosted, in France. Information regarding the countries in which individual testbeds are managed and hosted is
-    available from those testbeds. Users are responsible for being aware of the countries in which their experiments are deployed and for ensuring that their
-    use of OneLab fully conforms to the laws and regulations of those countries, as well as the laws and regulations of the country in which they themselves
-    are present when conducting their experiments.
-</p>
-<p align="left">
-    Above and beyond specific national laws, the activities email spamming, phishing through web services, and all types of Internet fraud are prohibited on
-    OneLab.
-</p>
-<h2>
-    3.4 Security and accounting mechanisms
-</h2>
-<p align="left">
-    Users are expected to respect the security and accounting mechanisms put in place by OneLab, its platforms, and federated platforms. For example, access to
-    PlanetLab Europe is designed to take place through the SSH cryptographically-secured connection protocol, which uses public/private key pair
-    authentication, and so users should not attempt to bypass this mechanism. As another example, OneLab's notion of a "slice" associates a set of resources
-    with the group of users who have reserved those resources, and users should not attempt to obscure the identities of participants in a slice.
-</p>
-<p align="left">
-    Hacking attempts against the OneLab portal and testbeds are not permitted. This includes "red team" (hacker test) experiments.
-</p>
-<h2>
-    3.5 Sharing of resources
-</h2>
-<p align="left">
-    OneLab is intended for ambitious experiments. Large numbers of resources and extended leases on resources may legitimately be granted in order to carry
-    these out. At the same time, OneLab and its testbeds are shared environments, and when there is contention for resources, limits must be imposed.
-</p>
-<p align="left">
-    Each OneLab platform sets its own policies for handling resource contention. As a general rule, users are encouraged to design their experiments to use
-    resources efficiently. In particular, spinning/busy-waiting techniques for extended periods of time are strongly discouraged. Some resource contention
-    policies (e.g., PlanetLab Europe's) terminate the jobs that are using the most resources in the case of contention.
-</p>
-<h2>
-    3.6 Internet-connected platforms
-</h2>
-<p align="left">
-    Some of OneLab's platforms allow experiments to take place on resources that have access to the public internet. These experiments can potentially generate
-    traffic to, and receive traffic from, any host or router in the internet.<a></a><a id="_anchor_1" href="#_msocom_1" name="_msoanchor_1">[LB1]</a>
-</p>
-<p align="left">
-    Furthermore, some internet-connected platforms (e.g., PlanetLab Europe) consist of servers that are hosted by a large number of member institutions.
-</p>
-<p align="left">
-    The accessibility of internet-connected platforms and the distributed hosting model of some of these platforms imply certain responsibilities on the part
-    of users, as detailed below.
-</p>
-<h3>
-    3.6.1 General guidance
-</h3>
-<p align="left">
-    A good litmus test when considering whether an experiment is appropriate for such internet-connected platforms is to ask what the network administrator at
-    one's own organisation would say about the experiment running locally. If the experiment disrupts local activity (e.g., uses more than its share of the
-    site's internet bandwidth) or triggers complaints from remote network administrators (e.g., performs systematic port scans), then it is not appropriate for
-    such internet-connected platforms.
-</p>
-<p align="left">
-    It is the responsibility of the user and the user's manager to ensure that an application that will run on an internet-connected platform is tested and
-    debugged in a controlled environment, to better understand its behaviour prior to deployment.
-</p>
-<h3>
-    3.6.2 Standards of network etiquette
-</h3>
-<p align="left">
-    Internet-connected platforms are designed to support experiments that generate unusual traffic, such as network measurements. However, it is expected that
-    all users adhere to widely accepted standards of network etiquette in an effort to minimise complaints from network administrators. Activities that have
-    been interpreted as worm and denial-of-service attacks in the past (and should be avoided) include sending SYN packets to port 80 on random machines,
-    probing random IP addresses, repeatedly pinging routers, overloading bottleneck links with measurement traffic, and probing a single target machine from
-    many nodes.
-</p>
-<p align="left">
-    For internet-connected platforms that have a distributed hosting model, each host institution will have its own acceptable use policy. Users should not
-    knowingly violate such local policies. Conflicts between local policies and OneLab's stated goal of supporting research into wide-area networks should be
-    brought to the attention of OneLab administrators at support@onelab.eu.
-</p>
-<h3>
-    3.6.3 Specific network usage rules
-</h3>
-<p align="left">
-    It is not allowed to use one or more nodes of an internet-connected platform to generate a high number of network flows or flood a site with high traffic
-    to the point of interfering with its normal operation. Use of congestion-controlled flows for large transfers is highly encouraged.
-</p>
-<p align="left">
-    It is not allowed to perform systematic or random port or address block scans from an internet-connected platform.
-</p>
-<p align="left">
-    For internet-connected platforms that use a distributed hosting model, it is not allowed to spoof or sniff traffic on a hosted server or on the network the
-    server belongs to.
-</p>
-<p align="left">
-    Access to a server on a distributed hosting platform may not be used to gain access to other servers or networked equipment that are not part of the
-    testbed.
-</p>
-<h2>
-    3.7 Wireless platforms
-</h2>
-<p align="left">
-    Wireless-connected platforms give users access to nodes that communicate via Wi-Fi and other wireless technologies. They may be capable of detecting
-    wireless activity in the neighbourhood of those nodes: traffic generated by other users of the platform or by individuals not associated with the platform.
-    In general, much of the traffic will be encrypted, with certain aspects (such as SSIDs) not encrypted, but it is also possible that there will be fully
-    unencrypted traffic. They may also be capable of generating wireless activity that reaches equipment outside of the testbed.
-</p>
-<p align="left">
-    Furthermore, some wireless-connected platforms may have built-in limitations to prevent them from generating signals at a strength that exceeds health and
-    safety regulations.
-</p>
-<p align="left">
-    These characteristics of wireless-connected platforms imply certain responsibilities on the part of users, as detailed below.
-</p>
-<h3>
-    3.7.1 Specific network usage rules
-</h3>
-<p align="left">
-    Experimenters may make no attempt to defeat the encryption of encrypted third-party traffic. Furthermore, experimenters must treat with utmost discretion
-    any unencrypted traffic. Limited metadata can be recorded for the bona fide purposes of an experiment, but under no case should third party communications
-    be recorded.
-</p>
-<p align="left">
-    No attempt may be made to reverse engineer traffic in order to learn the identities of the parties who have generated the traffic.
-</p>
-<p align="left">
-    Wireless-connected platforms may not be used to gain access to any network equipment that is not part of the testbed itself.
-</p>
-<p align="left">
-    It is not allowed to perform systematic or random scans of wireless networks that are not part of a wireless-connected platform. Similarly, it is not
-    allowed to spoof or sniff wireless traffic of the institution that hosts a wireless-connected platform or of other networks in the proximity.
-</p>
-<p align="left">
-    Care must be taken so that traffic on wireless-connected platforms does not interfere with the normal functioning of network equipment that is not part of
-    the testbed itself.
-</p>
-<p align="left">
-    No attempt may be made to defeat the mechanisms that limit signal strength on wireless-connected platforms.
-</p>
-<h2>
-    3.8 Handling suspected violations
-</h2>
-<p align="left">
-    Suspected violations of the OneLab acceptable use policy should be reported to support@onelab.eu.
-</p>
-<p align="left">
-    Upon notification or detection of a possible violation, OneLab management will attempt to understand if a violation has in fact occurred. To do so,
-    management will freely communicate with the users concerned, the operators of the platforms concerned, as well as any third parties that might be involved.
-    An example of a third party is a network operator who detects what they believe to be unauthorized traffic emanating from a OneLab platform.
-</p>
-<p align="left">
-    The priority is to resolve any real or apparent violations amicably. However, if OneLab management believes that a violation may have occurred, it can, at
-    its sole discretion, and without prior notice, apply any of the following measures:
-</p>
-<ul type="disc">
-    <li>
-        notification of the users of the concerned slice (set of resources);
-    </li>
-    <li>
-        disabling of the concerned slice;
-    </li>
-    <li>
-        disabling an individual user's account;
-    </li>
-    <li>
-        reporting of the user's activity to his/her manager;
-    </li>
-    <li>
-        disabling of the manager's account and all user accounts for which the manager is responsible;
-    </li>
-    <li>
-        disabling of all accounts associated with the user's institution.
-    </li>
-</ul>
-<p align="left">
-    In the case of suspected illegal activity, OneLab management might need, without prior notice, to notify the relevant authorities.
-</p>
-<div>
-    <div>
-        <div id="_com_1">
-        </div>
-    </div>
-</div>
+
                                </div>
                                <div class="modal-footer">
                                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                </div>
                        </div>
                        </div>
-               </div>
-
-    <div class="form-group" id="register">
-               <p></p> 
-       <button class="submit btn btn-primary" type="submit">Sign up</button>
-    </div>
-</form>  
 </div>
+
+    
 <script>
-jQuery(document).ready(function(){
+$(document).ready(function(){
     var availableTags = [
     {% if authorities %}
         {% for authority in authorities %}
             {% if authority.name %}
-                {value:"{{ authority.name }}",label:"{{authority.name}}"},
-                       // to show only full name
-           // {% else %}
-           //     {value:"{{ authority.authority_hrn }}",label:"{{authority.authority_hrn}}"},
+                {value:"{{ authority.authority_hrn }}",label:"{{authority.name}}"},
+                       // show hrn if we don't have the name
+            {% else %}
+                {value:"{{ authority.authority_hrn }}",label:"{{authority.authority_hrn}}"},
             {% endif %}
         {% endfor %}    
     {% else %}
         {value:"",label:"No authority found !!!"}
     {% endif %}
     ];
-    jQuery( "#authority_hrn" ).autocomplete({
-      source: availableTags,
-      minLength: 0,
-      change: function (event, ui) {
-          if(!ui.item){
-              //http://api.jqueryui.com/autocomplete/#event-change -
-              // The item selected from the menu, if any. Otherwise the property is null
-              //so clear the item for force selection
-              jQuery("#authority_hrn").val("");
-          }
-      }
-      //select: function( event, ui ) {console.log(jQuery(this))}
-    });
-       // for hover texts
-       jQuery('[title!=""]').qtip();
+       // sorting the list
+    
+       availableTags.sort(function(a,b){
+               var nameA=a.value.toLowerCase(), nameB=b.value.toLowerCase();
+               if (nameA < nameB) {
+               return -1;
+               }
+               if (nameA > nameB) {
+               return 1;
+               }
+       return 0;
+       }); 
+       // auto-complete the form
+    jQuery("#org_name").combobox();
+       $('[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 %}