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.widgetId = null;
|
||||
$scope.model = {
|
||||
key: '6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z'
|
||||
key: "6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z"
|
||||
};
|
||||
$scope.setResponse = function(response) {
|
||||
$scope.response = response;
|
||||
@@ -47,16 +47,17 @@ app.controller("applicationController", function($scope, $http, $location, $wind
|
||||
var valid;
|
||||
//server side validation
|
||||
$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");
|
||||
} else {
|
||||
$http.post("/members/api/request", $scope.member).then(function(data){
|
||||
notySuccess("Hakemus lähetetty!");
|
||||
$window.location.href = "/application/";
|
||||
$window.location.href = "/application/success";
|
||||
}, function(data){
|
||||
notyError("Jokin meni vikaan. Yritä uudelleen.");
|
||||
vcRecaptchaService.reload($scope.widgetId);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<div
|
||||
vc-recaptcha
|
||||
theme="'light'"
|
||||
key="6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z"
|
||||
key="'6LevHAcUAAAAAA45B7c-7qja-2aSwHztr9xb4K2Z'"
|
||||
on-create="setWidgetId(widgetId)"
|
||||
on-success="setResponse(response)"
|
||||
on-expire="cbExpiration()"
|
||||
@@ -72,4 +72,4 @@
|
||||
<button ng-click="applicationForm.$valid && send()" type="submit" class="btn btn-success" id="sendmember">Tallenna</button>
|
||||
</form>
|
||||
</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,
|
||||
}
|
||||
url = "https://www.google.com/recaptcha/api/siteverify"
|
||||
headers = {'Content-type': 'application/json'}
|
||||
resp = requests.post(url, data=json.dumps(values), headers=headers)
|
||||
headers = {'Content-type': 'application/x-www-form-urlencoded'}
|
||||
resp = requests.post(url, values, headers=headers)
|
||||
result = json.loads(resp.text)
|
||||
print(resp.text)
|
||||
print(values)
|
||||
if not result["success"]:
|
||||
return False
|
||||
return True
|
||||
|
||||
def sendmail(subject, message):
|
||||
send_mail(
|
||||
subject,
|
||||
message,
|
||||
'no-reply@sahkoinsinoorikilta.fi',
|
||||
['viestintamestari@sahkoinsinoorikilta.fi'],
|
||||
fail_silently=False
|
||||
)
|
||||
#def sendmail(subject, message):
|
||||
#send_mail(
|
||||
# subject,
|
||||
# message,
|
||||
# 'no-reply@sahkoinsinoorikilta.fi',
|
||||
# ['viestintamestari@sahkoinsinoorikilta.fi'],
|
||||
# fail_silently=False
|
||||
#)
|
||||
|
||||
@ensure_csrf_cookie
|
||||
@require_http_methods(["GET"])
|
||||
@@ -44,6 +43,10 @@ def index(request, *args, **kwargs):
|
||||
@ensure_csrf_cookie
|
||||
def applicationindex(request, *args, **kwargs):
|
||||
return render(request, 'application_index.html',{})
|
||||
|
||||
@ensure_csrf_cookie
|
||||
def applicationSuccessIndex(request, *args, **kwargs):
|
||||
return render(request, 'application_success.html',{})
|
||||
|
||||
@ensure_csrf_cookie
|
||||
@require_http_methods(["GET"])
|
||||
@@ -120,8 +123,12 @@ def member_requests(request, *args, **kwargs):
|
||||
def new_member_request(request, *args, **kwargs):
|
||||
try:
|
||||
data = json.loads(request.body.decode("utf-8"))
|
||||
print("jsondada:")
|
||||
print(data)
|
||||
#get captcha response from member
|
||||
captcha = data.pop("reCaptchaResponse", "")
|
||||
print("Captcha:")
|
||||
print(captcha)
|
||||
#send response to google and check it out
|
||||
captcha_ok = validateReCaptcha(captcha)
|
||||
#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 += 'Created: ' + mem.created.isoformat(' ') + '\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()))
|
||||
except ValueError:
|
||||
return HttpResponseBadRequest('{"error" : "Invalid parameters supplied"}')
|
||||
|
||||
@@ -14,3 +14,4 @@ paramiko==2.0.2
|
||||
qrcode==5.3
|
||||
Pillow==3.3.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
|
||||
#application
|
||||
from members.views import applicationindex
|
||||
from members.views import applicationSuccessIndex
|
||||
|
||||
urlpatterns = [
|
||||
# main
|
||||
@@ -83,4 +84,5 @@ urlpatterns = [
|
||||
url(r'^infoscreen/admin$', infoscreen_admin),
|
||||
#application
|
||||
url(r'^application/$', applicationindex),
|
||||
url(r'^application/success$', applicationSuccessIndex),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user