add site
This commit is contained in:
		
							
								
								
									
										466
									
								
								Site/Credentials/ManageAPICredential.aspx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										466
									
								
								Site/Credentials/ManageAPICredential.aspx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,466 @@ | ||||
| <%@ Page Title="" Language="C#" MasterPageFile="~/Credentials/Credentials.master" AutoEventWireup="true" CodeFile="ManageAPICredential.aspx.cs" Inherits="ManageAPICredential" %> | ||||
|  | ||||
| <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> | ||||
|     <style type="text/css"> | ||||
|         .dialog .dialog-title .dialog-close { | ||||
|             float: right; | ||||
|             margin-right: 6px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
|  | ||||
|             .dialog .dialog-title .dialog-close:before { | ||||
|                 content: '\e600'; | ||||
|             } | ||||
|  | ||||
|         .dialog-content table { | ||||
|             border-collapse: collapse; | ||||
|             width: 100%; | ||||
|         } | ||||
|  | ||||
|             .dialog-content table td { | ||||
|                 padding-top: 30px; | ||||
|             } | ||||
|  | ||||
|                 .dialog-content table td.label { | ||||
|                     width: 130px; | ||||
|                     text-align: right; | ||||
|                     padding-right: 10px; | ||||
|                     line-height: 24px; | ||||
|                     height: 24px; | ||||
|                     vertical-align: top; | ||||
|                 } | ||||
|  | ||||
|                 .dialog-content table td input, | ||||
|                 .dialog-content table td textarea { | ||||
|                     border: 1px solid #a9a9a9; | ||||
|                     width: 200px; | ||||
|                     height: 18px; | ||||
|                     padding: 1px; | ||||
|                 } | ||||
|  | ||||
|                     .dialog-content table td input[type="checkbox"] { | ||||
|                         border: none; | ||||
|                     } | ||||
|  | ||||
|                 .dialog-content table td textarea { | ||||
|                     height: 100px; | ||||
|                     max-width: 200px; | ||||
|                 } | ||||
|  | ||||
|         .icon { | ||||
|             font-family: CalciteWebCoreIcons; | ||||
|             cursor: default; | ||||
|         } | ||||
|     </style> | ||||
|  | ||||
|     <script type="text/javascript"> | ||||
|         var credentialType = "AEMP"; | ||||
|         var credentialList; | ||||
|  | ||||
|         credentialquery = function (method, param, callback, error, nolog) { | ||||
|             _network.request("Credentials/ManageAPICredential.aspx?tp=ashx", -1, method, param, callback, error, nolog); | ||||
|         } | ||||
|  | ||||
|         function OnDelete(cr) { | ||||
|             var cre = cr; | ||||
|             if (!cre) { | ||||
|                 return; | ||||
|             } | ||||
|             showConfirm(GetTextByKey("P_APICRE_DELETETHECREDENTIALTIPS", 'Do you want to delete the credential?'), GetTextByKey("P_APICRE_DELETECREDENTIAL", 'Delete Credential'), function () { | ||||
|                 credentialquery("DeleteApiCredential", cre.ID, function (data) { | ||||
|                     OnRefresh(); | ||||
|                 }, function (err) { | ||||
|                     showAlert(GetTextByKey("P_APICRE_FAILEDDELETECREDENTIAL", 'Failed to delete this credential.'), GetTextByKey("P_APICRE_DELETECREDENTIAL", 'Delete Credential')); | ||||
|                 }); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|         function OnAdd() { | ||||
|             $('.tr_aicredential').hide(); | ||||
|             $('#tr_enabled').hide(); | ||||
|             creid = undefined; | ||||
|             $('#dialog_apiname').val('').removeAttr("disabled"); | ||||
|             $('#dialog_username').val(''); | ||||
|             $('#dialog_password').val(''); | ||||
|             $('#dialog_apikey').val(''); | ||||
|             $('#dialog_apisecret').val(''); | ||||
|             $('#dialog_apitoken').val(''); | ||||
|             $('#dialog_apitokensecret').val(''); | ||||
|             $('#dialog_enabled').attr('checked', false); | ||||
|             $('#dialog_credential .dialog-title span.title').text(GetTextByKey("P_APICRE_ADDMANUFACTURE", 'Add Credential')); | ||||
|             $('#mask_bg').show(); | ||||
|             $('#dialog_credential') | ||||
|                 .attr('act', 'add') | ||||
|                 .css({ | ||||
|                     'top': (document.documentElement.clientHeight - $('#dialog_credential').height()) / 3, | ||||
|                     'left': (document.documentElement.clientWidth - $('#dialog_credential').width()) / 2 | ||||
|                 }) | ||||
|                 .showDialogfixed(); | ||||
|             $('#dialog_urlkey').focus(); | ||||
|         } | ||||
|  | ||||
|         var creid; | ||||
|         function OnEdit() { | ||||
|             var cre = grid_dt.source[grid_dt.selectedIndex].Values; | ||||
|             if (!cre) { | ||||
|                 creid = undefined; | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             $('#tr_enabled').show(); | ||||
|             creid = cre.ID; | ||||
|             $('#dialog_apiname').val(cre.ApiDefinitionId).attr("disabled", "disabled"); | ||||
|             if (cre.HasUserName) { | ||||
|                 $('#tr_username').show(); | ||||
|                 $('#dialog_username').val(cre.UserName); | ||||
|             } | ||||
|             else { | ||||
|                 $('#tr_username').hide(); | ||||
|                 $('#dialog_username').val(''); | ||||
|             } | ||||
|  | ||||
|             if (cre.HasPassword) { | ||||
|                 $('#tr_password').show(); | ||||
|                 $('#dialog_password').val(cre.Password); | ||||
|             } | ||||
|             else { | ||||
|                 $('#tr_password').hide(); | ||||
|                 $('#dialog_password').val(''); | ||||
|             } | ||||
|  | ||||
|             if (cre.HasApiKey) { | ||||
|                 $('#tr_apikey').show(); | ||||
|                 $('#dialog_apikey').val(cre.ApiKey); | ||||
|             } | ||||
|             else { | ||||
|                 $('#tr_apikey').hide(); | ||||
|                 $('#dialog_apikey').val(''); | ||||
|             } | ||||
|  | ||||
|             if (cre.HasApiSecret) { | ||||
|                 $('#tr_apisecret').show(); | ||||
|                 $('#dialog_apisecret').val(cre.ApiSecret); | ||||
|             } | ||||
|             else { | ||||
|                 $('#tr_apisecret').hide(); | ||||
|                 $('#dialog_apisecret').val(''); | ||||
|             } | ||||
|  | ||||
|             if (cre.HasApiToken) { | ||||
|                 $('#tr_apitoken').show(); | ||||
|                 $('#dialog_apitoken').val(cre.ApiToken); | ||||
|             } | ||||
|             else { | ||||
|                 $('#tr_apitoken').hide(); | ||||
|                 $('#dialog_apitoken').val(''); | ||||
|             } | ||||
|  | ||||
|             if (cre.HasApiTokenSecret) { | ||||
|                 $('#tr_apitokensecret').show(); | ||||
|                 $('#dialog_apitokensecret').val(cre.ApiTokenSecret); | ||||
|             } | ||||
|             else { | ||||
|                 $('#tr_apitokensecret').hide(); | ||||
|                 $('#dialog_apitokensecret').val(''); | ||||
|             } | ||||
|  | ||||
|             $('#dialog_enabled').attr("checked", cre.IsEnabled); | ||||
|             $('#dialog_credential .dialog-title span.title').text(GetTextByKey("P_APICRE_EDITMANUFACTURE", 'Edit Credential')); | ||||
|             $('#mask_bg').show(); | ||||
|             $('#dialog_credential') | ||||
|                 .attr('act', 'edit') | ||||
|                 .css({ | ||||
|                     'top': (document.documentElement.clientHeight - $('#dialog_credential').height()) / 3, | ||||
|                     'left': (document.documentElement.clientWidth - $('#dialog_credential').width()) / 2 | ||||
|                 }) | ||||
|                 .showDialog(); | ||||
|             $('#dialog_urlkey').focus(); | ||||
|         } | ||||
|  | ||||
|         function OnDblClick(e) { | ||||
|             OnEdit(); | ||||
|         } | ||||
|  | ||||
|         function OnRefresh() { | ||||
|             showloading(true); | ||||
|             credentialquery("GetAPICredentialDefs", '', function (data) { | ||||
|                 showloading(false); | ||||
|                 credentialList = data; | ||||
|                 showCredentialList(credentialList); | ||||
|             }, function (err) { | ||||
|                 showloading(false); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         function getAPIDictionaries() { | ||||
|             credentialquery("GetAPIDictionaries", '', function (data) { | ||||
|                 var types = []; | ||||
|                 types.push($('<option value="-1"></option>')); | ||||
|                 if (data && data.length > 0) { | ||||
|                     for (var i = 0; i < data.length; i++) { | ||||
|                         var type = data[i]; | ||||
|                         types.push($('<option></option>').prop('selected', i == 0).val(type.Id).text(type.FriendlyName).data('dic', type)); | ||||
|                     } | ||||
|                 } else { | ||||
|                     types[0].prop('selected', true); | ||||
|                 } | ||||
|  | ||||
|                 $('#dialog_apiname').empty().append(types); | ||||
|             }, function (err) { | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         function showCredentialList(data) { | ||||
|             var rows = []; | ||||
|             for (var i = 0; i < data.length; i++) { | ||||
|                 var r = data[i]; | ||||
|                 var fr = { Values: r }; | ||||
|                 rows.push(fr); | ||||
|             } | ||||
|  | ||||
|             grid_dt.setData(rows); | ||||
|         } | ||||
|  | ||||
|         var grid_dt; | ||||
|         function InitGridData() { | ||||
|             $('#btnEdit').attr("disabled", "disabled"); | ||||
|  | ||||
|             grid_dt = new GridView('#credentiallist'); | ||||
|             grid_dt.lang = { | ||||
|                 all: GetTextByKey("P_GRID_ALL", "(All)"), | ||||
|                 ok: GetTextByKey("P_GRID_OK", "OK"), | ||||
|                 reset: GetTextByKey("P_GRID_RESET", "Reset") | ||||
|             }; | ||||
|             var list_columns = [ | ||||
|                 { name: 'ApiName', caption: GetTextByKey("P_APICRE_APINAME", "API Name"), valueIndex: 'ApiName', css: { 'width': 200, 'text-align': 'left' } }, | ||||
|                 { name: 'UserName', caption: GetTextByKey("P_APICRE_USERNAME", "User Name"), valueIndex: 'UserName', css: { 'width': 200, 'text-align': 'left' } }, | ||||
|                 { name: 'IsEnabled', caption: GetTextByKey("P_APICRE_ENABLED", "Enabled"), valueIndex: 'IsEnabled', css: { 'width': 200, 'text-align': 'left' } }, | ||||
|                 { name: 'Edit', caption: "", css: { 'width': 30, 'text-align': 'center' } }, | ||||
|                 { name: 'Delete', caption: "", css: { 'width': 30, 'text-align': 'center' } } | ||||
|             ]; | ||||
|             var columns = []; | ||||
|             // head | ||||
|             for (var hd in list_columns) { | ||||
|                 var col = {}; | ||||
|                 col.name = list_columns[hd].name; | ||||
|                 col.caption = list_columns[hd].caption; | ||||
|                 col.visible = true; | ||||
|                 col.sortable = true; | ||||
|                 col.width = list_columns[hd].css.width; | ||||
|                 col.align = list_columns[hd].css["text-align"] | ||||
|                 col.key = list_columns[hd].valueIndex; | ||||
|                 if (col.name === "Edit") { | ||||
|                     col.isurl = true; | ||||
|                     col.text = "\uf044"; | ||||
|                     col.events = { | ||||
|                         onclick: function () { | ||||
|                             OnEdit(); | ||||
|                         } | ||||
|                     }; | ||||
|                     col.classFilter = function (e) { | ||||
|                         return "icon-col"; | ||||
|                     } | ||||
|                     col.attrs = { 'title': GetTextByKey("P_APICRE_EDIT", 'Edit') }; | ||||
|                 } | ||||
|                 else if (col.name === "Delete") { | ||||
|                     col.isurl = true; | ||||
|                     col.text = "\uf00d"; | ||||
|                     col.events = { | ||||
|                         onclick: function () { | ||||
|                             OnDelete(this); | ||||
|                         } | ||||
|                     }; | ||||
|                     col.classFilter = function (e) { | ||||
|                         return "icon-col"; | ||||
|                     }; | ||||
|                     col.attrs = { 'title': GetTextByKey("P_APICRE_DELETE", 'Delete') }; | ||||
|                 } | ||||
|                 columns.push(col); | ||||
|             } | ||||
|             grid_dt.canMultiSelect = false; | ||||
|             grid_dt.columns = columns; | ||||
|             grid_dt.init(); | ||||
|             grid_dt.rowdblclick = OnEdit; | ||||
|  | ||||
|             grid_dt.selectedrowchanged = function (rowindex) { | ||||
|                 var rowdata = grid_dt.source[rowindex]; | ||||
|                 if (rowdata) { | ||||
|                     creid = rowdata.Values.ID; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         function OnDialogOK() { | ||||
|             var item = { | ||||
|                 'ApiDefinitionId': $('#dialog_apiname').val(), | ||||
|                 'ApiName': $("#dialog_apiname").find("option:selected").text(), | ||||
|                 'UserName': $('#dialog_username').val().replace(/(^\s*)|(\s*$)/g, ''), | ||||
|                 'Password': $('#dialog_password').val(), | ||||
|                 'ApiKey': $('#dialog_apikey').val().replace(/(^\s*)|(\s*$)/g, ''), | ||||
|                 'ApiSecret': $('#dialog_apisecret').val().replace(/(^\s*)|(\s*$)/g, ''), | ||||
|                 'ApiToken': $('#dialog_apitoken').val().replace(/(^\s*)|(\s*$)/g, ''), | ||||
|                 'ApiTokenSecret': $('#dialog_apitokensecret').val().replace(/(^\s*)|(\s*$)/g, ''), | ||||
|                 'IsEnabled': $('#dialog_enabled').attr("checked") == "checked" | ||||
|             }; | ||||
|             var alerttitle; | ||||
|             if (creid) { | ||||
|                 item.ID = creid; | ||||
|                 alerttitle = GetTextByKey("P_APICRE_EDITMANUFACTURE", "Edit Credential"); | ||||
|             } else { | ||||
|                 item.ID = "-1"; | ||||
|                 item.IsEnabled = true; | ||||
|                 alerttitle = GetTextByKey("P_APICRE_ADDMANUFACTURE", "Add Credential"); | ||||
|             } | ||||
|             if (!item.ApiName || item.ApiName.length == 0) { | ||||
|                 showAlert(GetTextByKey("P_APICRE_APINAMENOTBEEMPTY", 'API Name cannot be empty.'), alerttitle); | ||||
|                 $('#dialog_apiname').focus(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             showloading(true); | ||||
|             var param = JSON.stringify(item); | ||||
|             param = htmlencode(param); | ||||
|             credentialquery("UpdateApiCredentialDefs", param, function (data) { | ||||
|                 showloading(false); | ||||
|                 if (data !== 'OK') { | ||||
|                     showAlert(data, GetTextByKey("P_APICRE_SAVEMANUFACTURE", 'Save Credential')); | ||||
|                 } else { | ||||
|                     $('#dialog_credential').hideDialog(); | ||||
|                     OnRefresh(); | ||||
|                 } | ||||
|             }, function (err) { | ||||
|                 showloading(false); | ||||
|                 showAlert(GetTextByKey("P_APICRE_FAILEDTOSAVECREDENTIAL", 'Failed to save credential.'), GetTextByKey("P_APICRE_SAVEMANUFACTURE", 'Save Credential')); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|         function setInput(dic) { | ||||
|             $('#tr_username').hide(); | ||||
|             $('#tr_password').hide(); | ||||
|             $('#tr_apikey').hide(); | ||||
|             $('#tr_apitoken').hide(); | ||||
|             $('#tr_apisecret').hide(); | ||||
|             $('#tr_apitokensecret').hide(); | ||||
|             $('#dialog_username').val(''); | ||||
|             $('#dialog_password').val(''); | ||||
|             $('#dialog_apikey').val(''); | ||||
|             $('#dialog_apisecret').val(''); | ||||
|             $('#dialog_apitoken').val(''); | ||||
|             $('#dialog_apitokensecret').val(''); | ||||
|             if (dic) { | ||||
|                 if (dic.ApiUsername) { | ||||
|                     $('#tr_username').show(); | ||||
|                 } | ||||
|                 if (dic.ApiPassword) { | ||||
|                     $('#tr_password').show(); | ||||
|                 } | ||||
|                 if (dic.ApiKey) { | ||||
|                     $('#tr_apikey').show(); | ||||
|                 } | ||||
|                 if (dic.ApiSecret) { | ||||
|                     $('#tr_apisecret').show(); | ||||
|                 } | ||||
|                 if (dic.ApiToken) { | ||||
|                     $('#tr_apitoken').show(); | ||||
|                 } | ||||
|                 if (dic.ApiTokenSecret) { | ||||
|                     $('#tr_apitokensecret').show(); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         $(function () { | ||||
|             setPageTitle(GetTextByKey("P_APICREDENTIALS", 'API Credentials'), true); | ||||
|             InitGridData(); | ||||
|             getAPIDictionaries(); | ||||
|  | ||||
|             $("#dialog_apiname").change(function () { | ||||
|                 var dic = $("#dialog_apiname").find("option:selected").data("dic"); | ||||
|                 setInput(dic); | ||||
|             }) | ||||
|             $('#dialog_credential').dialog(function () { | ||||
|                 $('#mask_bg').hide(); | ||||
|             }); | ||||
|             OnRefresh(); | ||||
|             $(window).resize(function () { | ||||
|                 $("#credentiallist").css("height", $(window).height() - $("#credentiallist").offset().top - 4); | ||||
|                 grid_dt && grid_dt.resize(); | ||||
|             }).resize(); | ||||
|         }); | ||||
|  | ||||
|     </script> | ||||
| </asp:Content> | ||||
|  | ||||
| <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> | ||||
|     <div style="min-width: 400px;"> | ||||
|         <div class="page_title" data-lgid="P_APICREDENTIALS">API Credentials</div> | ||||
|         <div class="function_title"> | ||||
|             <span class="sbutton iconadd" onclick="OnAdd();" data-lgid="P_APICRE_ADD">Add</span> | ||||
|             <span class="sbutton iconrefresh" onclick="OnRefresh();" data-lgid="P_APICRE_REFRESH">Refresh</span> | ||||
|         </div> | ||||
|         <div class="clear"></div> | ||||
|         <div id="credentiallist"></div> | ||||
|     </div> | ||||
|  | ||||
|     <div id="mask_bg"> | ||||
|         <div class="loading c-spin"></div> | ||||
|     </div> | ||||
|     <div class="dialog" id="dialog_credential" style="display: none; width: 500px;"> | ||||
|         <div class="dialog-title"><span class="title" data-lgid="P_APICRE_ADDMANUFACTURE">Add Credential</span><em class="dialog-close"></em></div> | ||||
|         <div class="dialog-content" style="padding-left: 50px;"> | ||||
|             <table> | ||||
|                 <tr> | ||||
|                     <td class="label" data-lgid="P_APICRE_APINAME_COLON">API Name:</td> | ||||
|                     <td> | ||||
|                         <select id="dialog_apiname" tabindex="1" style="width: 200px;"> | ||||
|                         </select></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_username" class="tr_aicredential" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_USERNAME_COLON">User Name:</td> | ||||
|                     <td> | ||||
|                         <input type="text" id="dialog_username" maxlength="50" tabindex="1" /></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_password" class="tr_aicredential" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_PASSWORD_COLON">Password:</td> | ||||
|                     <td> | ||||
|                         <input type="password" id="dialog_password" maxlength="50" tabindex="1" /></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_apikey" class="tr_aicredential" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_APIKEY_COLON">API Key:</td> | ||||
|                     <td> | ||||
|                         <input type="text" id="dialog_apikey" maxlength="200" tabindex="1" /></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_apisecret" class="tr_aicredential" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_APISECRET_COLON">API Secret:</td> | ||||
|                     <td> | ||||
|                         <input type="text" id="dialog_apisecret" maxlength="200" tabindex="1" /></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_apitoken" class="tr_aicredential" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_APITOKEN_COLON">API Token:</td> | ||||
|                     <td> | ||||
|                         <input type="text" id="dialog_apitoken" maxlength="200" tabindex="1" /></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_apitokensecret" class="tr_aicredential" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_APITOKENSECRET_COLON">API Token Secret:</td> | ||||
|                     <td> | ||||
|                         <input type="text" id="dialog_apitokensecret" maxlength="200" tabindex="1" /></td> | ||||
|                 </tr> | ||||
|                 <tr id="tr_enabled" style="display: none;"> | ||||
|                     <td class="label" data-lgid="P_APICRE_ENABLED_COLON">Enabled:</td> | ||||
|                     <td> | ||||
|                         <input type="checkbox" id="dialog_enabled" style="width: 18px; margin: 0 auto;" tabindex="4" /> | ||||
|                     </td> | ||||
|                 </tr> | ||||
|             </table> | ||||
|         </div> | ||||
|         <div class="dialog-func"> | ||||
|             <input type="button" value="Cancel" data-lgid="P_APICRE_CANCEL" class="dialog-close" tabindex="6" /> | ||||
|             <input type="button" onclick="OnDialogOK();" value="OK" data-lgid="P_APICRE_OK" tabindex="5" /> | ||||
|             <div class="clear"></div> | ||||
|         </div> | ||||
|     </div> | ||||
| </asp:Content> | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user