Enforce terms in proxy
This commit is contained in:
parent
012ff7c604
commit
d9fd4dac35
|
|
@ -321,7 +321,8 @@ export default {
|
|||
default_billing: true
|
||||
}]
|
||||
},
|
||||
password: this.password
|
||||
password: this.password,
|
||||
accepted_terms: this.acceptedTerms
|
||||
};
|
||||
|
||||
register(registrationData).then((response) => {
|
||||
|
|
@ -331,8 +332,17 @@ export default {
|
|||
})
|
||||
.catch((error) => {
|
||||
console.warn(error);
|
||||
if (error.response.data.message && error.response.data.message === 'Ein Kunde mit der gleichen E-Mail-Adresse existiert bereits in einer zugeordneten Website.') {
|
||||
this.emailErrors = ['Die angegebene E-Mail ist bereits registriert.'];
|
||||
if (error.response.data.message) {
|
||||
switch(error.response.data.message) {
|
||||
case 'Ein Kunde mit der gleichen E-Mail-Adresse existiert bereits in einer zugeordneten Website.':
|
||||
this.emailErrors = ['Die angegebene E-Mail ist bereits registriert.'];
|
||||
break;
|
||||
case 'Die AGBs und die Datenschutzbestimmungen müssen akzeptiert werden':
|
||||
this.acceptedTermsError = ['Die AGBs und die Datenschutzbestimmungen müssen akzeptiert werden'];
|
||||
break;
|
||||
default:
|
||||
this.registrationError = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie nochmals.';
|
||||
}
|
||||
} else {
|
||||
this.registrationError = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie nochmals.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ DATA = {
|
|||
'default_billing': True,
|
||||
}
|
||||
],
|
||||
'password': '123454abasfd'
|
||||
'password': '123454abasfd',
|
||||
'accepted_terms': True
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -84,3 +85,11 @@ class ProxyTest(TestCase):
|
|||
|
||||
response = self.client.post(reverse('api:registration:proxy'), json.dumps(DATA), content_type="application/json")
|
||||
self.assertEquals(response.json()['message'], 'Ein Kunde mit der gleichen E-Mail-Adresse existiert bereits in einer zugeordneten Website.')
|
||||
|
||||
def test_requires_accepted_terms(self):
|
||||
|
||||
del DATA['customer']['accepted_terms']
|
||||
|
||||
response = self.client.post(reverse('api:registration:proxy'), json.dumps(DATA), content_type="application/json")
|
||||
self.assertEquals(response.status_code, 400)
|
||||
self.assertEquals(response.json()['message'], 'Die AGBs und die Datenschutzbestimmungen müssen akzeptiert werden')
|
||||
|
|
|
|||
|
|
@ -20,6 +20,14 @@ class RegistrationProxyView(View):
|
|||
def post(self, request, *args, **kwargs):
|
||||
hep_client = HepClient()
|
||||
data = json.loads(request.body)
|
||||
|
||||
if not self.terms_accepted(data['customer']):
|
||||
return JsonResponse(
|
||||
{
|
||||
'message': 'Die AGBs und die Datenschutzbestimmungen müssen akzeptiert werden'
|
||||
},
|
||||
status=400)
|
||||
|
||||
data['customer']['group_id'] = 5
|
||||
|
||||
try:
|
||||
|
|
@ -32,3 +40,9 @@ class RegistrationProxyView(View):
|
|||
|
||||
return JsonResponse(response_data)
|
||||
|
||||
def terms_accepted(self, customer):
|
||||
if 'accepted_terms' in customer and customer['accepted_terms']:
|
||||
del customer['accepted_terms']
|
||||
return True
|
||||
|
||||
return False
|
||||
|
|
|
|||
Loading…
Reference in New Issue