attrresolution.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. var table;
  2. $(document).ready(function () {
  3. $('#fmrel').on('submit', function (e) {
  4. e.preventDefault();
  5. var username = $('#username').val();
  6. var password = $('#password').val();
  7. var service = $('#service').val();
  8. releaseAttributes(username, password, service);
  9. });
  10. $('#fm1').on('submit', function (e) {
  11. e.preventDefault();
  12. var uid = $('#uid').val();
  13. table = $('#attributesTable').DataTable();
  14. table.clear().draw();
  15. var status = $('#status');
  16. if (uid !== null && uid !== '') {
  17. resolveAttributes(uid);
  18. status.html('Resolved attributes for username <strong>' + uid + '</strong>.');
  19. status.removeClass('alert-danger');
  20. status.addClass('alert-info');
  21. status.show();
  22. } else {
  23. status.html('No username is provided.');
  24. status.removeClass('alert-info');
  25. status.addClass('alert-danger');
  26. status.show();
  27. }
  28. });
  29. if ($.fn.dataTable.isDataTable('#attributesTable')) {
  30. table = $('#attributesTable').DataTable();
  31. } else {
  32. table = $('#attributesTable').DataTable({
  33. paging: false,
  34. searching: false
  35. });
  36. }
  37. $('#status').hide();
  38. });
  39. function resolveAttributes(uid) {
  40. $.ajax({
  41. type: 'post',
  42. url: urls.resolveAttributes,
  43. data: {'uid': uid},
  44. success: function (data) {
  45. var table = $('#attributesTable').DataTable();
  46. table.clear();
  47. var attrs = data.attributes;
  48. for (var property in attrs) {
  49. if (attrs.hasOwnProperty(property)) {
  50. table.row.add([
  51. '<code>' + property + '</code>', '<code>' + attrs[property] + '</code>'
  52. ]).draw(false);
  53. }
  54. }
  55. }
  56. });
  57. }
  58. function releaseAttributes(uid, psw, service) {
  59. $('validationresponse').empty();
  60. $('cas1').empty();
  61. $('cas2').empty();
  62. $('cas3Xml').empty();
  63. $('cas3Json').empty();
  64. $('#submitRelease').attr('disabled', 'disabled');
  65. $.ajax({
  66. type: 'post',
  67. url: urls.releaseAttributes,
  68. data: {'username': uid, 'password': psw, 'service': service},
  69. success: function (data) {
  70. var html = '<ul><li>Service Id: <code>' + data.registeredService.id + '</code></li>'
  71. + '<li>Service Identifier: <code>' + data.registeredService.serviceId + '</code></li>'
  72. + '<li>Service Name: <code>' + data.registeredService.name + '</code></li>'
  73. + '</ul><p/>';
  74. $('#validationresponse').html(html);
  75. var resp = '<pre>' + JSON.stringify(data.registeredService, null, 4) + '</pre>';
  76. $('#serviceJson').html(resp);
  77. resp = '<pre>' + data.cas1Response + '</pre>';
  78. $('#cas1').html(resp);
  79. resp = '<pre>' + data.cas2Response + '</pre>';
  80. $('#cas2').html(resp);
  81. resp = '<pre>' + data.cas3XmlResponse + '</pre>';
  82. $('#cas3Xml').html(resp);
  83. resp = '<pre>' + data.cas3JsonResponse + '</pre>';
  84. $('#cas3Json').html(resp);
  85. },
  86. error: function (err) {
  87. var html = '<div class=\'alert alert-danger\'>'
  88. + '<h4>Response Error</h4>'
  89. + 'Status: <code>' + err.responseJSON.status + '</code><p/>'
  90. + 'Exception: <code>' + err.responseJSON.exception + '</code><p/>'
  91. + 'Message: <code>' + err.responseJSON.message + '</code><p/>'
  92. + '</div>';
  93. $('#validationresponse').html(html);
  94. },
  95. complete: function() {
  96. $('#submitRelease').removeAttr('disabled');
  97. }
  98. });
  99. }