mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 06:53:15 +00:00
Force check form validity if action attibute is defined
Remove debug
This commit is contained in:

committed by
Romain Neutron

parent
0e02b5b8bd
commit
39e08dc81c
@@ -14,8 +14,16 @@
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
<div class="row-fluid">
|
||||
<div class="span12" ng-controller="passwordChangeFormCtrl">
|
||||
<form novalidate name="{{ form.vars.name}}" ng-submit="submit();">
|
||||
<div class="span12">
|
||||
<form
|
||||
ng-controller="passwordChangeFormCtrl"
|
||||
novalidate
|
||||
name="{{ form.vars.name}}"
|
||||
ng-submit="submit();"
|
||||
method="POST"
|
||||
action="{{ path('submit_login_new_password') }}"
|
||||
check-form-submission>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
{{ auth_macro.fieldInput(form.password, form.vars.name, 'icon-lock') }}
|
||||
|
@@ -17,8 +17,15 @@
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
<div class="row-fluid">
|
||||
<div class="span12" ng-controller="forgottenPasswordFormCtrl">
|
||||
<form novalidate name="{{ form.vars.name }}" ng-submit="submit();">
|
||||
<div class="span12">
|
||||
<form
|
||||
ng-controller="forgottenPasswordFormCtrl"
|
||||
novalidate
|
||||
name="{{ form.vars.name }}"
|
||||
ng-submit="submit();"
|
||||
action="{{ path("submit_login_forgot_password") }}"
|
||||
method="POST"
|
||||
check-form-submission>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
{{ auth_macro.fieldInput(form.email, form.vars.name, 'icon-envelope') }}
|
||||
|
@@ -31,10 +31,18 @@
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12" ng-controller="LoginFormController">
|
||||
<div class="span12">
|
||||
{{ auth_macro.alert() }}
|
||||
|
||||
<form novalidate name="{{ form.vars.name }}" ng-submit="submit();">
|
||||
<form
|
||||
ng-controller="LoginFormController"
|
||||
novalidate
|
||||
name="{{ form.vars.name }}"
|
||||
ng-submit="submit();"
|
||||
method="POST"
|
||||
action="{{ path("login_authenticate") }}"
|
||||
check-form-submission>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
{{ auth_macro.fieldInput(form.email, form.vars.name, 'icon-envelope') }}
|
||||
|
@@ -50,9 +50,17 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="span12" ng-controller="LoginFormController">
|
||||
<div class="span12">
|
||||
{{ auth_macro.alert() }}
|
||||
<form novalidate name="{{ form.vars.name }}" ng-submit="submit();">
|
||||
<form
|
||||
ng-controller="LoginFormController"
|
||||
novalidate
|
||||
name="{{ form.vars.name }}"
|
||||
ng-submit="submit();"
|
||||
action="{{ path("login_authentication_provider_bind") }}"
|
||||
method="POST"
|
||||
check-form-submission
|
||||
>
|
||||
<div class="row-fluid hidden">
|
||||
<div class="span12">
|
||||
{{ auth_macro.fieldInput(form.email, form.vars.name, 'icon-envelope') }}
|
||||
|
@@ -38,9 +38,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="span12" ng-controller="LoginFormController">
|
||||
<div class="span12">
|
||||
{{ auth_macro.alert() }}
|
||||
<form novalidate name="{{ form.vars.name }}" ng-submit="submit();">
|
||||
<form
|
||||
ng-controller="LoginFormController"
|
||||
novalidate
|
||||
name="{{ form.vars.name }}"
|
||||
ng-submit="submit();"
|
||||
action="{{ path("login_authentication_provider_mapping") }}"
|
||||
method="POST"
|
||||
check-form-submission>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
{{ auth_macro.fieldInput(form.email, form.vars.name, 'icon-envelope') }}
|
||||
|
18
www/skins/login/js/angular/app/app.js
vendored
18
www/skins/login/js/angular/app/app.js
vendored
@@ -105,6 +105,24 @@ angular.module('phraseanetAuthentication', ['ui'])
|
||||
});
|
||||
}
|
||||
}
|
||||
}).directive('checkFormSubmission', function () {
|
||||
// Angular does not prevent form submission if form is not valid and if action attribute is defined.
|
||||
// This directive change angular's behavior by cancelling form submission
|
||||
// if form is not valid even if action attribute is defined
|
||||
return {
|
||||
link: function (scope, element, attrs, controller) {
|
||||
scope.$watch(attrs.name + '.$valid', function(value) {
|
||||
if(false === value && !!element.attr('action')) {
|
||||
element.bind('submit', function(event) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
} else {
|
||||
element.unbind('submit').trigger('submit');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}).directive('alert', function () {
|
||||
return {
|
||||
restrict:'EA',
|
||||
|
Reference in New Issue
Block a user