add ssh key form input shadows removed
This commit is contained in:
		
					parent
					
						
							
								062ca69d9d
							
						
					
				
			
			
				commit
				
					
						4216d9911a
					
				
			
		
					 3 changed files with 34 additions and 22 deletions
				
			
		| 
						 | 
					@ -171,11 +171,10 @@ h2,h3,h4,h5{
 | 
				
			||||||
    border-radius: 0;
 | 
					    border-radius: 0;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
 | 
					    padding-left: 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.form_key_name::-webkit-input-placeholder{
 | 
					.form_key_name::-webkit-input-placeholder{
 | 
				
			||||||
    position: relative;
 | 
					 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-weight:100;
 | 
					    font-weight:100;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
| 
						 | 
					@ -183,21 +182,18 @@ h2,h3,h4,h5{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.form_key_name::-moz-input-placeholder{
 | 
					.form_key_name::-moz-input-placeholder{
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.form_key_name:-moz-input-placeholder{
 | 
					.form_key_name:-moz-input-placeholder{
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.form_key_name:-ms-input-placeholder {
 | 
					.form_key_name:-ms-input-placeholder {
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
| 
						 | 
					@ -206,7 +202,6 @@ h2,h3,h4,h5{
 | 
				
			||||||
.form_public_key::-webkit-input-placeholder{
 | 
					.form_public_key::-webkit-input-placeholder{
 | 
				
			||||||
    position: relative;
 | 
					    position: relative;
 | 
				
			||||||
    top: 80%;
 | 
					    top: 80%;
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
| 
						 | 
					@ -215,7 +210,6 @@ h2,h3,h4,h5{
 | 
				
			||||||
.form_public_key::-moz-input-placeholder{
 | 
					.form_public_key::-moz-input-placeholder{
 | 
				
			||||||
    position: relative;
 | 
					    position: relative;
 | 
				
			||||||
    top: 80%;
 | 
					    top: 80%;
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
| 
						 | 
					@ -224,7 +218,6 @@ h2,h3,h4,h5{
 | 
				
			||||||
.form_public_key:-moz-input-placeholder{
 | 
					.form_public_key:-moz-input-placeholder{
 | 
				
			||||||
    position: relative;
 | 
					    position: relative;
 | 
				
			||||||
    top: 80%;
 | 
					    top: 80%;
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
| 
						 | 
					@ -232,7 +225,6 @@ h2,h3,h4,h5{
 | 
				
			||||||
.form_public_key:-ms-input-placeholder {
 | 
					.form_public_key:-ms-input-placeholder {
 | 
				
			||||||
    position: relative;
 | 
					    position: relative;
 | 
				
			||||||
    top: 80%;
 | 
					    top: 80%;
 | 
				
			||||||
    left:-10px;
 | 
					 | 
				
			||||||
    font-size: 20px;
 | 
					    font-size: 20px;
 | 
				
			||||||
    font-weight:200;
 | 
					    font-weight:200;
 | 
				
			||||||
    font-family: 'Lato-Light', sans-serif;
 | 
					    font-family: 'Lato-Light', sans-serif;
 | 
				
			||||||
| 
						 | 
					@ -263,3 +255,13 @@ h2,h3,h4,h5{
 | 
				
			||||||
.custom_form_button{
 | 
					.custom_form_button{
 | 
				
			||||||
    border-radius: 0;
 | 
					    border-radius: 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.form_key_name:focus,
 | 
				
			||||||
 | 
					.form_public_key:focus,
 | 
				
			||||||
 | 
					.has-error .form_key_name,
 | 
				
			||||||
 | 
					.has-error .form_public_key,
 | 
				
			||||||
 | 
					.has-error .form_key_name:focus,
 | 
				
			||||||
 | 
					.has-error .form_public_key:focus {
 | 
				
			||||||
 | 
					    box-shadow: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,7 @@
 | 
				
			||||||
                     <div class="ssh-header-container">
 | 
					                     <div class="ssh-header-container">
 | 
				
			||||||
                         <p>
 | 
					                         <p>
 | 
				
			||||||
                             <a class="btn btn-primary btn-custom-download" href="{% url 'hosting:choice_ssh_keys' %}" >
 | 
					                             <a class="btn btn-primary btn-custom-download" href="{% url 'hosting:choice_ssh_keys' %}" >
 | 
				
			||||||
                                 <span class="button-plus">✚</span> {% trans "Add Key"%}
 | 
					                                <span class="button-plus">✚</span>  {% trans "Add Key"%}
 | 
				
			||||||
                             </a>
 | 
					                             </a>
 | 
				
			||||||
                         </p>
 | 
					                         </p>
 | 
				
			||||||
                         <h5 class="ssh-key-header">To generate a new key pair or to upload your existing key, click "Add Key"</h5>
 | 
					                         <h5 class="ssh-key-header">To generate a new key pair or to upload your existing key, click "Add Key"</h5>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -197,8 +197,10 @@ class SignupView(CreateView):
 | 
				
			||||||
        name = form.cleaned_data.get('name')
 | 
					        name = form.cleaned_data.get('name')
 | 
				
			||||||
        email = form.cleaned_data.get('email')
 | 
					        email = form.cleaned_data.get('email')
 | 
				
			||||||
        password = form.cleaned_data.get('password')
 | 
					        password = form.cleaned_data.get('password')
 | 
				
			||||||
        this_base_url = "{0}://{1}".format(self.request.scheme, self.request.get_host())
 | 
					        this_base_url = "{0}://{1}".format(self.request.scheme,
 | 
				
			||||||
        CustomUser.register(name, password, email, app='dcl', base_url=this_base_url)
 | 
					                                           self.request.get_host())
 | 
				
			||||||
 | 
					        CustomUser.register(name, password, email,
 | 
				
			||||||
 | 
					                            app='dcl', base_url=this_base_url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return HttpResponseRedirect(reverse_lazy('hosting:signup-validate'))
 | 
					        return HttpResponseRedirect(reverse_lazy('hosting:signup-validate'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -208,8 +210,10 @@ class SignupValidateView(TemplateView):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_context_data(self, **kwargs):
 | 
					    def get_context_data(self, **kwargs):
 | 
				
			||||||
        context = super(SignupValidateView, self).get_context_data(**kwargs)
 | 
					        context = super(SignupValidateView, self).get_context_data(**kwargs)
 | 
				
			||||||
        login_url = '<a href="' + reverse('hosting:login') + '">' + str(_('login')) + '</a>'
 | 
					        login_url = '<a href="' + \
 | 
				
			||||||
        home_url = '<a href="' + reverse('datacenterlight:index') + '">Data Center Light</a>'
 | 
					            reverse('hosting:login') + '">' + str(_('login')) + '</a>'
 | 
				
			||||||
 | 
					        home_url = '<a href="' + \
 | 
				
			||||||
 | 
					            reverse('datacenterlight:index') + '">Data Center Light</a>'
 | 
				
			||||||
        message = '{signup_success_message} {lurl}</a> \
 | 
					        message = '{signup_success_message} {lurl}</a> \
 | 
				
			||||||
                 <br />{go_back} {hurl}.'.format(
 | 
					                 <br />{go_back} {hurl}.'.format(
 | 
				
			||||||
            signup_success_message=_(
 | 
					            signup_success_message=_(
 | 
				
			||||||
| 
						 | 
					@ -230,15 +234,18 @@ class SignupValidatedView(SignupValidateView):
 | 
				
			||||||
    def get_context_data(self, **kwargs):
 | 
					    def get_context_data(self, **kwargs):
 | 
				
			||||||
        context = super(SignupValidateView, self).get_context_data(**kwargs)
 | 
					        context = super(SignupValidateView, self).get_context_data(**kwargs)
 | 
				
			||||||
        validated = CustomUser.validate_url(self.kwargs['validate_slug'])
 | 
					        validated = CustomUser.validate_url(self.kwargs['validate_slug'])
 | 
				
			||||||
        login_url = '<a href="' + reverse('hosting:login') + '">' + str(_('login')) + '</a>'
 | 
					        login_url = '<a href="' + \
 | 
				
			||||||
 | 
					            reverse('hosting:login') + '">' + str(_('login')) + '</a>'
 | 
				
			||||||
        section_title = _('Account activation')
 | 
					        section_title = _('Account activation')
 | 
				
			||||||
        if validated:
 | 
					        if validated:
 | 
				
			||||||
            message = '{account_activation_string} <br /> {login_string} {lurl}.'.format(
 | 
					            message = '{account_activation_string} <br /> {login_string} {lurl}.'.format(
 | 
				
			||||||
                account_activation_string=_("Your account has been activated."),
 | 
					                account_activation_string=_(
 | 
				
			||||||
 | 
					                    "Your account has been activated."),
 | 
				
			||||||
                login_string=_("You can now"),
 | 
					                login_string=_("You can now"),
 | 
				
			||||||
                lurl=login_url)
 | 
					                lurl=login_url)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            home_url = '<a href="' + reverse('datacenterlight:index') + '">Data Center Light</a>'
 | 
					            home_url = '<a href="' + \
 | 
				
			||||||
 | 
					                reverse('datacenterlight:index') + '">Data Center Light</a>'
 | 
				
			||||||
            message = '{sorry_message} <br />{go_back_to} {hurl}'.format(
 | 
					            message = '{sorry_message} <br />{go_back_to} {hurl}'.format(
 | 
				
			||||||
                sorry_message=_("Sorry. Your request is invalid."),
 | 
					                sorry_message=_("Sorry. Your request is invalid."),
 | 
				
			||||||
                go_back_to=_('Go back to'),
 | 
					                go_back_to=_('Go back to'),
 | 
				
			||||||
| 
						 | 
					@ -384,7 +391,8 @@ class SSHKeyChoiceView(LoginRequiredMixin, View):
 | 
				
			||||||
        name = generate_ssh_key_name()
 | 
					        name = generate_ssh_key_name()
 | 
				
			||||||
        private_key, public_key = UserHostingKey.generate_keys()
 | 
					        private_key, public_key = UserHostingKey.generate_keys()
 | 
				
			||||||
        content = ContentFile(private_key)
 | 
					        content = ContentFile(private_key)
 | 
				
			||||||
        ssh_key = UserHostingKey.objects.create(user=request.user, public_key=public_key, name=name)
 | 
					        ssh_key = UserHostingKey.objects.create(
 | 
				
			||||||
 | 
					            user=request.user, public_key=public_key, name=name)
 | 
				
			||||||
        filename = name + '_' + str(uuid.uuid4())[:8] + '_private.pem'
 | 
					        filename = name + '_' + str(uuid.uuid4())[:8] + '_private.pem'
 | 
				
			||||||
        ssh_key.private_key.save(filename, content)
 | 
					        ssh_key.private_key.save(filename, content)
 | 
				
			||||||
        return redirect(reverse_lazy('hosting:ssh_keys'), foo='bar')
 | 
					        return redirect(reverse_lazy('hosting:ssh_keys'), foo='bar')
 | 
				
			||||||
| 
						 | 
					@ -407,7 +415,8 @@ class SSHKeyCreateView(LoginRequiredMixin, FormView):
 | 
				
			||||||
        form.save()
 | 
					        form.save()
 | 
				
			||||||
        if 'dcl-generated-key-' in form.instance.name:
 | 
					        if 'dcl-generated-key-' in form.instance.name:
 | 
				
			||||||
            content = ContentFile(form.cleaned_data.get('private_key'))
 | 
					            content = ContentFile(form.cleaned_data.get('private_key'))
 | 
				
			||||||
            filename = form.cleaned_data.get('name') + '_' + str(uuid.uuid4())[:8] + '_private.pem'
 | 
					            filename = form.cleaned_data.get(
 | 
				
			||||||
 | 
					                'name') + '_' + str(uuid.uuid4())[:8] + '_private.pem'
 | 
				
			||||||
            form.instance.private_key.save(filename, content)
 | 
					            form.instance.private_key.save(filename, content)
 | 
				
			||||||
        context = self.get_context_data()
 | 
					        context = self.get_context_data()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -433,10 +442,11 @@ class SSHKeyCreateView(LoginRequiredMixin, FormView):
 | 
				
			||||||
        manager = OpenNebulaManager()
 | 
					        manager = OpenNebulaManager()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Get user ssh key
 | 
					        # Get user ssh key
 | 
				
			||||||
        public_key = form.cleaned_data.get('public_key', '').decode('utf-8')
 | 
					        public_key = form.cleaned_data.get('public_key', '')
 | 
				
			||||||
        # Add ssh key to user
 | 
					        # Add ssh key to user
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            manager.add_public_key(user=owner, public_key=public_key, merge=True)
 | 
					            manager.add_public_key(
 | 
				
			||||||
 | 
					                user=owner, public_key=public_key, merge=True)
 | 
				
			||||||
        except ConnectionError:
 | 
					        except ConnectionError:
 | 
				
			||||||
            pass
 | 
					            pass
 | 
				
			||||||
        except WrongNameError:
 | 
					        except WrongNameError:
 | 
				
			||||||
| 
						 | 
					@ -591,7 +601,7 @@ class PaymentVMView(LoginRequiredMixin, FormView):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Create a Hosting Bill
 | 
					            # Create a Hosting Bill
 | 
				
			||||||
            HostingBill.create(
 | 
					            HostingBill.create(
 | 
				
			||||||
                 customer=customer, billing_address=billing_address)
 | 
					                customer=customer, billing_address=billing_address)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Create Billing Address for User if he does not have one
 | 
					            # Create Billing Address for User if he does not have one
 | 
				
			||||||
            if not customer.user.billing_addresses.count():
 | 
					            if not customer.user.billing_addresses.count():
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue