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 %>
X<%= ownerEmail %>
', contactRow: ' title="related with: <%= associations %>" <% } %> data-itemid=<%= itemID %> <% if(hidden) { %> class="hidden-row" <% } %> ><%= fullName %>
X<%= email %>
', - 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; } }