SHARE
TWEET

Untitled

MindKooper Jun 19th, 2019 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. extends layout
  2.  
  3. block bodyScripts
  4.     script(type='text/javascript').
  5.         $(document).ready(function(){
  6.            $('#approvalsGrid').jsGrid({
  7.              width: "100%", pageSize: 10, sorting: true, paging: true, filtering: true, autoload: true,
  8.              controller: {
  9.               loadData: function (filter) {
  10.                   var d = $.Deferred();
  11.                   $.ajax({
  12.                     url: "/admin/approvals",
  13.                     dataType: "json"
  14.                   }).done(function(result) {
  15.                     if (isEmptyGridFilter(filter)) {
  16.                       data = result.approvals
  17.                     }
  18.                     else  {
  19.                       data = $.grep(result.approvals, function (item) {
  20.                         if (applyGridFilter(filter, item))
  21.                           return item;
  22.                       });
  23.                     }
  24.                     d.resolve(data);
  25.                   });
  26.                   return d.promise();
  27.               }
  28.             },
  29.             fields: [
  30.               { name: "user.email", type: "text", title: "User",
  31.                 itemTemplate: function (value, item) {
  32.                   return $("<a>").attr("href", "/users/" + item.user.id).text(value);
  33.                 }
  34.               },
  35.               { name: "application.name", type: "text", title: "Application",
  36.                 itemTemplate: function(value, item) {
  37.                   return $("<a>").attr("href", "/applications/"+item.application.id).text(value);
  38.                 }
  39.               },
  40.               { name: "application.trusted", type: "text", title: "Trusted", width: "4%",
  41.                 itemTemplate: function (value, item) {
  42.                   return item.application.trusted ? 'Yes' : '-';
  43.                 }
  44.               },
  45.               { name: "api.id", type: "text", title: "API",
  46.                 itemTemplate: function(value, item) {
  47.                   return $("<a>").attr("href", "/apis/"+item.api.id).text(value);
  48.                 }
  49.               },
  50.               { name: "plan.name", type: "text", title: "Plan" },
  51.               { type: "actions",  type: "control", width: "100",
  52.                       _createFilterSwitchButton: function() {
  53.                       return this._createOnOffSwitchButton("filtering", this.searchModeButtonClass, false);
  54.                     },
  55.                     itemTemplate: function(value,item) {
  56.                       var $form = $("<form>").attr("role", "form").attr("method","post")
  57.                                               .append("<input type='hidden' name='id' value='" + item.id + "'>")
  58.                                               .append("<input type='hidden' name='api' value='" + item.api.id + "'>")
  59.                                               .append("<input type='hidden' name='app' value='" + item.application.id + "'>");
  60.                       var $approveBtn = $("<button>").attr("type", "submit")
  61.                                                       .attr("class", "btn btn-sm btn-success")
  62.                                                       .attr("style", "float: left; margin: 2px; width: 6em")
  63.                                                       .text("Approve")
  64.                                                       .on("click", function () {
  65.                                                         $.ajax({
  66.                                                           url: "/admin/approvals/approve",
  67.                                                           type: "POST",
  68.                                                           dataType: "json",
  69.                                                           data: {
  70.                                                             id: item.id,
  71.                                                             app: item.application.id,
  72.                                                             api: item.api.id
  73.                                                           }
  74.                                                         }).done(function(result) {
  75.                                                           $("#approvalsGrid").jsGrid("loadData");
  76.                                                         });
  77.                                                       });
  78.                       var $declineBtn = $("<button>").attr("type", "submit")
  79.                                                       .attr("class", "btn btn-sm btn-danger")
  80.                                                       .attr("style", "float: left; margin: 2px; width: 6em")
  81.                                                       .text("Decline")
  82.                                                       .on("click", function () {
  83.                                                         $.ajax({
  84.                                                           url: "/admin/approvals/decline",
  85.                                                           type: "POST",
  86.                                                           dataType: "json",
  87.                                                           data: {
  88.                                                             id: item.id,
  89.                                                             app: item.application.id,
  90.                                                             api: item.api.id
  91.                                                           }
  92.                                                         }).done(function(result) {
  93.                                                           $("#approvalsGrid").jsGrid("loadData");
  94.                                                         });
  95.                                                       });
  96.                       return $("<td nowrap>").append($approveBtn)
  97.                                       .append("<span>&nbsp;</span>")
  98.                                       .append($declineBtn)
  99.                                       .append($form);
  100.                     }
  101.               }
  102.             ]
  103.            });
  104.            $("#approvalsGrid").jsGrid("option", "filtering", false);
  105.         });
  106. block content
  107.     .jumbotron.wicked-admin-title
  108.         .container.wicked-title-container
  109.             h1 Pending Subscription Approvals
  110.  
  111.             p Please review the pending subscription approvals. You may either approve of or decline the subscription.
  112.  
  113.     .container.wicked-container
  114.         if approvals.length == 0
  115.             h3 No pending approvals
  116.         else
  117.  
  118.             p Before approving of "trusted" subscriptions, <a href="/help/trusted" target="_blank">please be aware of the impliciations</a>.
  119.  
  120.             div#approvalsGrid
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top