[GDPR] Adjusted TOS/Privacy acceptance (#684)

* initial commit for GDPR terms/privacy acceptance

* updated styling/formatting

* Fixed line break in blockquote

* removed unused submit message

* Removed variables/logic now found in superclass

* update jslib (76c0964 -> 5e50aa1)
This commit is contained in:
Vincent Salucci 2020-11-02 16:33:15 -06:00 committed by GitHub
parent ebe5a6030e
commit 1aa708aed4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 18 deletions

2
jslib

@ -1 +1 @@
Subproject commit 76c09641ba8ef6cdbf74977a7a719b9aa099edb7 Subproject commit 5e50aa1a195bde11fdc14e9bdf71542766fdbb8d

View File

@ -25,8 +25,8 @@
</cite> </cite>
</figcaption> </figcaption>
<blockquote> <blockquote>
"Bitwarden has become a popular choice among open-source software advocates. After using it for a "Bitwarden has become a popular choice among open-source software advocates. After using
few months, I can see why." - February 2020 it for a few months, I can see why." - February 2020
</blockquote> </blockquote>
</figure> </figure>
</div> </div>
@ -44,14 +44,15 @@
<p class="lead text-center mb-4" *ngIf="!layout">{{'createAccount' | i18n}}</p> <p class="lead text-center mb-4" *ngIf="!layout">{{'createAccount' | i18n}}</p>
<div class="card d-block"> <div class="card d-block">
<div class="card-body"> <div class="card-body">
<app-callout title="{{'createOrganizationStep1' | i18n}}" type="info" icon="fa-thumb-tack" <app-callout title="{{'createOrganizationStep1' | i18n}}" type="info"
*ngIf="showCreateOrgMessage"> icon="fa-thumb-tack" *ngIf="showCreateOrgMessage">
{{'createOrganizationCreatePersonalAccount' | i18n}} {{'createOrganizationCreatePersonalAccount' | i18n}}
</app-callout> </app-callout>
<div class="form-group"> <div class="form-group">
<label for="email">{{'emailAddress' | i18n}}</label> <label for="email">{{'emailAddress' | i18n}}</label>
<input id="email" class="form-control" type="text" name="Email" [(ngModel)]="email" <input id="email" class="form-control" type="text" name="Email" [(ngModel)]="email"
required [appAutofocus]="email === ''" inputmode="email" appInputVerbatim="false"> required [appAutofocus]="email === ''" inputmode="email"
appInputVerbatim="false">
<small class="form-text text-muted">{{'emailAddressDesc' | i18n}}</small> <small class="form-text text-muted">{{'emailAddressDesc' | i18n}}</small>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -120,6 +121,19 @@
<input id="hint" class="form-control" type="text" name="Hint" [(ngModel)]="hint"> <input id="hint" class="form-control" type="text" name="Hint" [(ngModel)]="hint">
<small class="form-text text-muted">{{'masterPassHintDesc' | i18n}}</small> <small class="form-text text-muted">{{'masterPassHintDesc' | i18n}}</small>
</div> </div>
<div class="form-group" *ngIf="showTerms">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="acceptPolicies"
[(ngModel)]="acceptPolicies" name="AcceptPolicies">
<label class="form-check-label small text-muted" for="acceptPolicies">
{{'acceptPolicies' | i18n}}<br>
<a href="https://bitwarden.com/terms/" target="_blank"
rel="noopener">{{'termsOfService' | i18n}}</a>,
<a href="https://bitwarden.com/privacy/" target="_blank"
rel="noopener">{{'privacyPolicy' | i18n}}</a>
</label>
</div>
</div>
<hr> <hr>
<div class="d-flex mb-2"> <div class="d-flex mb-2">
<button type="submit" class="btn btn-primary btn-block btn-submit" <button type="submit" class="btn btn-primary btn-block btn-submit"
@ -132,13 +146,6 @@
{{'cancel' | i18n}} {{'cancel' | i18n}}
</a> </a>
</div> </div>
<small class="text-muted" *ngIf="showTerms">
{{'submitAgreePolicies' | i18n}}
<a href="https://bitwarden.com/terms/" target="_blank"
rel="noopener">{{'termsOfService' | i18n}}</a>,
<a href="https://bitwarden.com/privacy/" target="_blank"
rel="noopener">{{'privacyPolicy' | i18n}}</a>
</small>
</div> </div>
</div> </div>
</div> </div>

View File

@ -27,7 +27,6 @@ import { ReferenceEventRequest } from 'jslib/models/request/referenceEventReques
}) })
export class RegisterComponent extends BaseRegisterComponent { export class RegisterComponent extends BaseRegisterComponent {
showCreateOrgMessage = false; showCreateOrgMessage = false;
showTerms = true;
layout = ''; layout = '';
enforcedPolicyOptions: MasterPasswordPolicyOptions; enforcedPolicyOptions: MasterPasswordPolicyOptions;
@ -40,7 +39,6 @@ export class RegisterComponent extends BaseRegisterComponent {
passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) { passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) {
super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService, super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,
passwordGenerationService); passwordGenerationService);
this.showTerms = !platformUtilsService.isSelfHost();
} }
getPasswordScoreAlertDisplay() { getPasswordScoreAlertDisplay() {

View File

@ -2810,9 +2810,11 @@
"nothingSelected": { "nothingSelected": {
"message": "You have not selected anything." "message": "You have not selected anything."
}, },
"submitAgreePolicies": { "acceptPolicies": {
"message": "By clicking the \"Submit\" button, you agree to the following policies:", "message": "By checking this box you agree to the following:"
"description": "A policy is something like Terms of Service, Privacy Policy, etc." },
"acceptPoliciesError": {
"message": "Terms of Service and Privacy Policy have not been acknowledged."
}, },
"termsOfService": { "termsOfService": {
"message": "Terms of Service" "message": "Terms of Service"