diff --git a/snf-admin-app/synnefo_admin/admin/static/js/common.js b/snf-admin-app/synnefo_admin/admin/static/js/common.js
index 88a2eb94ea4576a91548cb13ad6b566f9090d022..ee647159f7c10588b07b8812f751f3457e083130 100644
--- a/snf-admin-app/synnefo_admin/admin/static/js/common.js
+++ b/snf-admin-app/synnefo_admin/admin/static/js/common.js
@@ -167,6 +167,23 @@ snf = {
}
return noError;
},
+ toggleEmailErrorSign: function(el){
+ var val = el.val();
+ var errorSign = el.siblings('.error-sign');
+ var isValid = snf.modals.validateEmail(val);
+ if (!isValid) {
+ errorSign.show();
+ } else {
+ errorSign.hide();
+ }
+ },
+ validateModifyEmailForm: function(modal) {
+ var $modal = $(modal);
+ $modal.find('.new-email').each(function(i, el){
+ snf.modals.toggleEmailErrorSign($(el));
+ });
+ return $modal.find('.error-sign:visible').length >0 ? false: true ;
+ },
resetInputs: function(modal) {
var $modal = $(modal);
$modal.find('input').each(function() {
@@ -179,7 +196,7 @@ snf = {
},
html: {
singleItemInfo: '
- Name:
- <%= name %>
- ID:
- <%= id %>
',
- singleItemInfoWithEmailInput: '- Name:
- <%= name %>
- ID:
- <%= id %>
- New e-mail:
',
+ singleItemInfoWithEmailInput: '- Name:
- <%= name %>
- ID:
- <%= id %>
- New e-mail:
',
removeLogLine: 'X',
notifyPending: 'Action "<%= actionName %>"<% if (itemsCount==1) { %> for <%= itemsCount %> item <% } else if (itemsCount>0) { %> for <%= itemsCount %> items <% } %> is pending.<%= removeBtn %>
',
notifySuccess: 'Action "<%= actionName %>"<% if (itemsCount==1) { %> for <%= itemsCount %> item <% } else if (itemsCount>0) { %> for <%= itemsCount %> items <% } %> succeeded.<%= removeBtn %>
',
@@ -193,7 +210,7 @@ snf = {
warningDuplicates: 'Duplicate accounts have been detected.
',
commonRow: ' <% if(hidden) { %> class="hidden-row" <% } %> ><%= itemName %> | <%= itemID %> | <%= ownerName %> | |
',
contactRow: ' title="related with: <%= associations %>" <% } %> data-itemid=<%= itemID %> <% if(hidden) { %> class="hidden-row" <% } %> ><%= fullName %> | |
',
- modifyEmailRow: ' <% if(hidden) { %> class="hidden-row" <% } %> ><%= fullName %> | <%= email %> | X |
',
+ modifyEmailRow: ' <% if(hidden) { %> class="hidden-row" <% } %> ><%= fullName %> | <%= email %> | X |
',
}
},
@@ -214,7 +231,7 @@ snf = {
}
},
timer: 0,
- ajaxdelay: 400
+ ajaxdelay: 400,
};
function setThemeIcon() {
@@ -331,3 +348,9 @@ $(document).ready(function(){
}
});
});
+
+$('.modal').on('focusout', '.new-email', function(e){
+ var el = $(this);
+ snf.modals.toggleEmailErrorSign(el);
+});
+
diff --git a/snf-admin-app/synnefo_admin/admin/static/js/details.js b/snf-admin-app/synnefo_admin/admin/static/js/details.js
index 4e77ab0203e47122f4c2ff7fbf5f41b9b1e83ec0..ebe03cfb9f48f6a86edfabea79eb2b0c1c133feb 100644
--- a/snf-admin-app/synnefo_admin/admin/static/js/details.js
+++ b/snf-admin-app/synnefo_admin/admin/static/js/details.js
@@ -160,6 +160,10 @@ $(document).ready(function() {
if($modal.attr('data-type') === 'contact') {
noError = snf.modals.validateContactForm($modal);
}
+ if($modal.attr('data-type') === 'modify_email') {
+ var validForm = snf.modals.validateModifyEmailForm($modal);
+ noError = noError && validForm;
+ }
if(!noError) {
e.preventDefault();
e.stopPropagation();
diff --git a/snf-admin-app/synnefo_admin/admin/static/js/tables.js b/snf-admin-app/synnefo_admin/admin/static/js/tables.js
index c84f1b56959992d7f8c9589cc281aee19cc04e97..6ff6e0b06f700faebf9ea6f2a83b75a8567b4dd2 100644
--- a/snf-admin-app/synnefo_admin/admin/static/js/tables.js
+++ b/snf-admin-app/synnefo_admin/admin/static/js/tables.js
@@ -713,6 +713,10 @@ $(document).ready(function() {
var validForm = snf.modals.validateContactForm($modal);
noError = noError && validForm;
}
+ if($modal.attr('data-type') === 'modify_email') {
+ var validForm = snf.modals.validateModifyEmailForm($modal);
+ noError = noError && validForm;
+ }
if(!noError) {
e.preventDefault();
e.stopPropagation();
diff --git a/snf-admin-app/synnefo_admin/admin/static/sass/_modals.scss b/snf-admin-app/synnefo_admin/admin/static/sass/_modals.scss
index 7207d8b6719270421800487a5c248e0dc7070b87..dbea862c7b63c7a09fb874a70b99c55c3d4e2b31 100644
--- a/snf-admin-app/synnefo_admin/admin/static/sass/_modals.scss
+++ b/snf-admin-app/synnefo_admin/admin/static/sass/_modals.scss
@@ -73,7 +73,6 @@ p.progress-area {
border-color: $gray-dark;
}
}
-
}
.modal {
@@ -249,5 +248,15 @@ p.progress-area {
text-decoration: none;
}
}
+ .new-email {
+ &+.error-sign {
+ right: -25px;
+ top: 10px;
+ }
+ }
+
+ }
+ .info-list dd {
+ position: relative;
}
}