Captcha working on application and redirection after sending application
This commit is contained in:
@@ -31,7 +31,7 @@ app.controller("applicationController", function($scope, $http, $location, $wind
|
|||||||
$scope.response = null;
|
$scope.response = null;
|
||||||
$scope.widgetId = null;
|
$scope.widgetId = null;
|
||||||
$scope.model = {
|
$scope.model = {
|
||||||
key: '6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z'
|
key: "6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z"
|
||||||
};
|
};
|
||||||
$scope.setResponse = function(response) {
|
$scope.setResponse = function(response) {
|
||||||
$scope.response = response;
|
$scope.response = response;
|
||||||
@@ -47,16 +47,17 @@ app.controller("applicationController", function($scope, $http, $location, $wind
|
|||||||
var valid;
|
var valid;
|
||||||
//server side validation
|
//server side validation
|
||||||
$scope.member.reCaptchaResponse = vcRecaptchaService.getResponse()
|
$scope.member.reCaptchaResponse = vcRecaptchaService.getResponse()
|
||||||
if($scope.member.reCaptchaResponse === "") {
|
console.log($scope.member.reCaptchaResponse);
|
||||||
|
if($scope.member.reCaptchaResponse === "") {
|
||||||
notyError("Ole hyvä ja täytä kuvavarmennus");
|
notyError("Ole hyvä ja täytä kuvavarmennus");
|
||||||
} else {
|
} else {
|
||||||
$http.post("/members/api/request", $scope.member).then(function(data){
|
$http.post("/members/api/request", $scope.member).then(function(data){
|
||||||
notySuccess("Hakemus lähetetty!");
|
notySuccess("Hakemus lähetetty!");
|
||||||
$window.location.href = "/application/";
|
$window.location.href = "/application/success";
|
||||||
}, function(data){
|
}, function(data){
|
||||||
notyError("Jokin meni vikaan. Yritä uudelleen.");
|
notyError("Jokin meni vikaan. Yritä uudelleen.");
|
||||||
vcRecaptchaService.reload($scope.widgetId);
|
vcRecaptchaService.reload($scope.widgetId);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<div
|
<div
|
||||||
vc-recaptcha
|
vc-recaptcha
|
||||||
theme="'light'"
|
theme="'light'"
|
||||||
key="6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z"
|
key="'6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z'"
|
||||||
on-create="setWidgetId(widgetId)"
|
on-create="setWidgetId(widgetId)"
|
||||||
on-success="setResponse(response)"
|
on-success="setResponse(response)"
|
||||||
on-expire="cbExpiration()"
|
on-expire="cbExpiration()"
|
||||||
@@ -72,4 +72,4 @@
|
|||||||
<button ng-click="applicationForm.$valid && send()" type="submit" class="btn btn-success" id="sendmember">Tallenna</button>
|
<button ng-click="applicationForm.$valid && send()" type="submit" class="btn btn-success" id="sendmember">Tallenna</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="description" content="uli uli">
|
||||||
|
<meta name="author" content="veedeeämkoo">
|
||||||
|
|
||||||
|
<title>Hienoa! Jäsenhakemuksesi on nyt lähetetty.</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hienoa! Jäsenhakemuksesi on nyt lähetetty.</h1>
|
||||||
|
<a href="http://sahkoinsinoorikilta.fi">Takaisin Sähköinsinöörikillan web-sivuille</a>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+19
-12
@@ -17,23 +17,22 @@ def validateReCaptcha(response):
|
|||||||
'response': response,
|
'response': response,
|
||||||
}
|
}
|
||||||
url = "https://www.google.com/recaptcha/api/siteverify"
|
url = "https://www.google.com/recaptcha/api/siteverify"
|
||||||
headers = {'Content-type': 'application/json'}
|
headers = {'Content-type': 'application/x-www-form-urlencoded'}
|
||||||
resp = requests.post(url, data=json.dumps(values), headers=headers)
|
resp = requests.post(url, values, headers=headers)
|
||||||
result = json.loads(resp.text)
|
result = json.loads(resp.text)
|
||||||
print(resp.text)
|
print(resp.text)
|
||||||
print(values)
|
|
||||||
if not result["success"]:
|
if not result["success"]:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def sendmail(subject, message):
|
#def sendmail(subject, message):
|
||||||
send_mail(
|
#send_mail(
|
||||||
subject,
|
# subject,
|
||||||
message,
|
# message,
|
||||||
'no-reply@sahkoinsinoorikilta.fi',
|
# 'no-reply@sahkoinsinoorikilta.fi',
|
||||||
['viestintamestari@sahkoinsinoorikilta.fi'],
|
# ['viestintamestari@sahkoinsinoorikilta.fi'],
|
||||||
fail_silently=False
|
# fail_silently=False
|
||||||
)
|
#)
|
||||||
|
|
||||||
@ensure_csrf_cookie
|
@ensure_csrf_cookie
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
@@ -44,6 +43,10 @@ def index(request, *args, **kwargs):
|
|||||||
@ensure_csrf_cookie
|
@ensure_csrf_cookie
|
||||||
def applicationindex(request, *args, **kwargs):
|
def applicationindex(request, *args, **kwargs):
|
||||||
return render(request, 'application_index.html',{})
|
return render(request, 'application_index.html',{})
|
||||||
|
|
||||||
|
@ensure_csrf_cookie
|
||||||
|
def applicationSuccessIndex(request, *args, **kwargs):
|
||||||
|
return render(request, 'application_success.html',{})
|
||||||
|
|
||||||
@ensure_csrf_cookie
|
@ensure_csrf_cookie
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
@@ -120,8 +123,12 @@ def member_requests(request, *args, **kwargs):
|
|||||||
def new_member_request(request, *args, **kwargs):
|
def new_member_request(request, *args, **kwargs):
|
||||||
try:
|
try:
|
||||||
data = json.loads(request.body.decode("utf-8"))
|
data = json.loads(request.body.decode("utf-8"))
|
||||||
|
print("jsondada:")
|
||||||
|
print(data)
|
||||||
#get captcha response from member
|
#get captcha response from member
|
||||||
captcha = data.pop("reCaptchaResponse", "")
|
captcha = data.pop("reCaptchaResponse", "")
|
||||||
|
print("Captcha:")
|
||||||
|
print(captcha)
|
||||||
#send response to google and check it out
|
#send response to google and check it out
|
||||||
captcha_ok = validateReCaptcha(captcha)
|
captcha_ok = validateReCaptcha(captcha)
|
||||||
#if not ok, inform user
|
#if not ok, inform user
|
||||||
@@ -141,7 +148,7 @@ def new_member_request(request, *args, **kwargs):
|
|||||||
message += 'To mail list: ' + str(mem.jas) + '\r\n'
|
message += 'To mail list: ' + str(mem.jas) + '\r\n'
|
||||||
message += 'Created: ' + mem.created.isoformat(' ') + '\r\n'
|
message += 'Created: ' + mem.created.isoformat(' ') + '\r\n'
|
||||||
message += 'Please go to the http://sika.sahkoinsinoorikilta.fi/members/ and do something about it!\r\n'
|
message += 'Please go to the http://sika.sahkoinsinoorikilta.fi/members/ and do something about it!\r\n'
|
||||||
sendmail(subject, message)
|
#sendmail(subject, message)
|
||||||
return HttpResponse(json.dumps(mem.get_dict()))
|
return HttpResponse(json.dumps(mem.get_dict()))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return HttpResponseBadRequest('{"error" : "Invalid parameters supplied"}')
|
return HttpResponseBadRequest('{"error" : "Invalid parameters supplied"}')
|
||||||
|
|||||||
@@ -14,3 +14,4 @@ paramiko==2.0.2
|
|||||||
qrcode==5.3
|
qrcode==5.3
|
||||||
Pillow==3.3.1
|
Pillow==3.3.1
|
||||||
requests==2.11.1
|
requests==2.11.1
|
||||||
|
django-nocaptcha-recaptcha==0.0.19
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ from infoscreen.views import createSossoItem
|
|||||||
from infoscreen.views import admin as infoscreen_admin
|
from infoscreen.views import admin as infoscreen_admin
|
||||||
#application
|
#application
|
||||||
from members.views import applicationindex
|
from members.views import applicationindex
|
||||||
|
from members.views import applicationSuccessIndex
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# main
|
# main
|
||||||
@@ -83,4 +84,5 @@ urlpatterns = [
|
|||||||
url(r'^infoscreen/admin$', infoscreen_admin),
|
url(r'^infoscreen/admin$', infoscreen_admin),
|
||||||
#application
|
#application
|
||||||
url(r'^application/$', applicationindex),
|
url(r'^application/$', applicationindex),
|
||||||
|
url(r'^application/success$', applicationSuccessIndex),
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user