This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,220 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Apps;
(function (Apps) {
let Components;
(function (Components) {
class AppPermission extends Platform.Core.BaseComponent {
constructor() {
super();
this.appManager = Apps.Managers.AppManager.Instance();
}
jsFiles() {
return ["platform/apps/managers/appmanager.js", "/platform/apps/enums/settingtype.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js'];
}
cssFiles() {
return [];
}
html(id, containerid) {
return `<form id="form_AppRoleSetting" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="card-header bg-white"><strong class="title font-weight-bold">Add Role Setting</strong></div>
<div class="card-body scrollable" id="div_AddAppRoleSetting" style="overflow-y: scroll; height: 477px;">
<div id="div_apppermissionmessage" class="clear"></div>
<div class="card bg-white">
<div id="Unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group" id="div_AppRoleSettingName">
<label for="AppRoleSettingName" id="lbl_SettingName" class="font-bold"> Setting Name<span class="text-danger"> *</span></label>
<input type="text" id="txt_AppRoleSettingName" class="form-control value-control required" data-isdynamic="false" placeholder="Setting Name" data-placeholder="Enter Setting Name" data-label="Setting Name" autocomplete="off">
</div></div>
<div class="col-sm-6">
<div class="input-group"><label for="permissiontype" class="font-bold">Permission Type <span class="text-danger"> *</span></label>
<select id="autocomplete_PermissionType" class="form-control text-control required" style="width:100%;" placeholder = "RoleSetting Type" data-placeholder="Permission Type"></select>
<input type="hidden" id="hfAutoComplete_PermissionType" class="hfAutoComplete_PermissionType' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value focus">
<label for="ApplicableValues" id="lbl_ApplicableValues" class="font-bold">Applicable Values<span class="text-danger"> *</span></label>
<select id="sel_ApplicableValues" class="form-control value-control required" data-isdynamic="true">
<option value="0">select</option>
<option value="1|5">None,Allow</option><option value="1|2|3|4">None,Owner,Manager,Admin</option>
</select></div></div>
</div></div>
</div>
<div class="card bg-white">
<div class="card-header"><p>Unique Key</p></div>
<div class="card-body">
<div class="row">
<div class="col-sm-11"><div class="alert alert-primary" id="txt_UniqueId"></div></div>
<div class="col-sm-1"><button id="Edit_UniqueKey" class="btn btn-secondary btn-sm mr-auto hidden">Edit</button></div></div></div></div>
<div class="bg-white card"><div class="card-header">Description</div><div class="card-body"><div class="row"><div class="col-sm-12"><div class="floating-label-form-group"><label for="txtDescription" class="font-bold">Description <span class="text-danger"> *</span></label><input type="text" id="txt_AppRoleSettingDescription" class="form-control value-control floating-label-control" placeholder="Description" data-placeholder="Enter Description" data-label="Description" autocomplete="off"/></div></div>
</div></div></div></div>
</div></div>
<div class="card-footer bg-white" id="div_Footer">
<button id="btn_CloseAppRoleSetting" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btn_SaveAppRoleSetting" class="btn btn-primary btn-sm pull-right">Save</button>
</div></div></form>`;
}
load(id, containerid, callback) {
$("#btn_CloseAppRoleSetting").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_SaveAppRoleSetting").click(function () {
let controlid = "form_AppRoleSetting";
let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
if (result == false) {
MessageHelper.Instance().showError("Mandatory Fields are missing", "div_apppermissionmessage");
return false;
}
AppPermission.Instance().saveAppRoleSettings(containerid, id);
});
var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
this.loaddata(id);
var UniqueId = '';
var apptitle = "";
if (recordid != 0) {
Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(recordid).then(function (response) {
if (response.result.length > 0) {
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (appresponse) {
if (appresponse.result != null) {
apptitle = appresponse.result.AppTitle.replace(/ /g, '');
UniqueId = response.result[0].SystemName.substring(0, response.result[0].SystemName.indexOf("_RoleSetting_"));
UniqueId = UniqueId.replace(/ /g, '');
if (id == 0) {
$("#txt_UniqueId").text(UniqueId);
}
}
});
}
else {
Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(recordid).then(function (response) {
if (response.result != null) {
var apptitle = response.result.AppTitle.replace(/ /g, '');
UniqueId = response.result.DevOrgName + "_" + response.result.ModuleTypeName + "_" + response.result.ModuleName + "_" + apptitle;
UniqueId = UniqueId.replace(/ /g, '');
if (id == 0) {
$("#txt_UniqueId").text(UniqueId);
}
}
});
}
});
}
$("#txt_AppRoleSettingName").keyup(function () {
if (id == 0) {
UniqueId = UniqueId.replace(/ /g, '');
$("#txt_UniqueId").text(UniqueId + "_RoleSetting_" + $("#txt_AppRoleSettingName").val().toString().replace(/ /g, '') + apptitle);
}
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
this.addRoleSetting(Pk_Value);
}
addRoleSetting(Pk_Value) {
this.navigationHelper.popup(Pk_Value, '', Unibase.Platform.Apps.Components.AppPermission.Instance(), null, Platform.Helpers.Size.Large);
}
loaddata(id) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/permissiontypes';
AutoCompleteHelper.getHelper().Create("#autocomplete_PermissionType", "#hfAutoComplete_PermissionType", url, function (response) {
var data = response;
});
if (id != 0) {
$(".title").text('Edit Role Setting');
this.appManager.getAppPermission(id).then(function (response) {
var option = new Option(Unibase.Platform.Apps.Enums.SettingType[response.result.PermissionLevelId], response.result.PermissionLevelId.toString(), true);
$("#autocomplete_PermissionType").append(option);
var applValue = response.result.ApplicableValues;
$('#sel_ApplicableValues option').map(function () { if ($(this).val() == applValue)
return this; }).attr('selected', 'selected');
$("#txt_AppRoleSettingName").val(response.result.SettingName);
$("#txt_AppRoleSettingDescription").val(response.result.Description);
$("#txt_UniqueId").text(response.result.SystemName);
});
}
}
saveAppRoleSettings(containerid, appRoleSettingId) {
if ($("#txt_AppRoleSettingName").val() == "" || $("#sel_AppRoleSettingType option:selected").val() == 0 || $("#sel_ApplicableValues option:selected").val() == 0) {
MessageHelper.Instance().showError("Mandatory fields are missing!", "div_apppermissionmessage");
return false;
}
$("#div_apppermissionmessage").empty();
var postData = {
AppPermissionId: appRoleSettingId,
InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
SettingName: $("#txt_AppRoleSettingName").val(),
PermissionLevelId: Number($("#autocomplete_PermissionType").val()),
ApplicableValues1: $("#sel_ApplicableValues option:selected").val().toString(),
Description: $("#txt_AppRoleSettingDescription").val(),
SystemName: $("#txt_UniqueId").text().replace(/ /g, ''),
StageId: 0,
};
this.appManager.saveAppPermission(postData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_apppermissionmessage");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_apppermissionmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
var obj = Unibase.Themes.Compact.Components.Details.Instance();
obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
}
});
}
editRoleSetting(appRoleSettingId) {
AppPermission.Instance().addRoleSetting(appRoleSettingId);
}
deleteRoleSetting(appRoleSettingId) {
var instance = this;
bootbox.confirm({
message: "Are you sure you want to Delete",
closeButton: false,
buttons: {
confirm: {
label: 'Yes',
className: 'btn-success'
},
cancel: {
label: 'No',
className: 'btn-defualt'
}
},
callback: function (result) {
if (result) {
instance.appManager.deleteAppPermission(appRoleSettingId).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_message");
}
else {
MessageHelper.Instance().showSuccess(response.message, "div_message");
var obj = Unibase.Themes.Compact.Components.Details.Instance();
obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
}
});
}
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AppPermission();
}
return this.instance;
}
}
Components.AppPermission = AppPermission;
})(Components = Apps.Components || (Apps.Components = {}));
})(Apps = Platform.Apps || (Platform.Apps = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
+42
View File
@@ -0,0 +1,42 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.appManager=i.Managers.AppManager.Instance()}jsFiles(){return["platform/apps/managers/appmanager.js","/platform/apps/enums/settingtype.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js"]}cssFiles(){return[]}html(){return`<form id="form_AppRoleSetting" data-validate="parsley" data-isdynamic="false">
<div class="card bg-light">
<div class="card-header bg-white"><strong class="title font-weight-bold">Add Role Setting</strong></div>
<div class="card-body scrollable" id="div_AddAppRoleSetting" style="overflow-y: scroll; height: 477px;">
<div id="div_apppermissionmessage" class="clear"></div>
<div class="card bg-white">
<div id="Unibase_ValidationSummary" class="clear"></div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="floating-label-form-group" id="div_AppRoleSettingName">
<label for="AppRoleSettingName" id="lbl_SettingName" class="font-bold"> Setting Name<span class="text-danger"> *</span></label>
<input type="text" id="txt_AppRoleSettingName" class="form-control value-control required" data-isdynamic="false" placeholder="Setting Name" data-placeholder="Enter Setting Name" data-label="Setting Name" autocomplete="off">
</div></div>
<div class="col-sm-6">
<div class="input-group"><label for="permissiontype" class="font-bold">Permission Type <span class="text-danger"> *</span></label>
<select id="autocomplete_PermissionType" class="form-control text-control required" style="width:100%;" placeholder = "RoleSetting Type" data-placeholder="Permission Type"></select>
<input type="hidden" id="hfAutoComplete_PermissionType" class="hfAutoComplete_PermissionType' form-control value-control" data-isdynamic="true"/>
</div></div>
<div class="col-sm-6">
<div class="floating-label-form-group floating-label-form-group-with-value focus">
<label for="ApplicableValues" id="lbl_ApplicableValues" class="font-bold">Applicable Values<span class="text-danger"> *</span></label>
<select id="sel_ApplicableValues" class="form-control value-control required" data-isdynamic="true">
<option value="0">select</option>
<option value="1|5">None,Allow</option><option value="1|2|3|4">None,Owner,Manager,Admin</option>
</select></div></div>
</div></div>
</div>
<div class="card bg-white">
<div class="card-header"><p>Unique Key</p></div>
<div class="card-body">
<div class="row">
<div class="col-sm-11"><div class="alert alert-primary" id="txt_UniqueId"></div></div>
<div class="col-sm-1"><button id="Edit_UniqueKey" class="btn btn-secondary btn-sm mr-auto hidden">Edit</button></div></div></div></div>
<div class="bg-white card"><div class="card-header">Description</div><div class="card-body"><div class="row"><div class="col-sm-12"><div class="floating-label-form-group"><label for="txtDescription" class="font-bold">Description <span class="text-danger"> *</span></label><input type="text" id="txt_AppRoleSettingDescription" class="form-control value-control floating-label-control" placeholder="Description" data-placeholder="Enter Description" data-label="Description" autocomplete="off"/></div></div>
</div></div></div></div>
</div></div>
<div class="card-footer bg-white" id="div_Footer">
<button id="btn_CloseAppRoleSetting" class="btn btn-secondary btn-sm mr-auto">Close</button>
<button id="btn_SaveAppRoleSetting" class="btn btn-primary btn-sm pull-right">Save</button>
</div></div></form>`}load(t,i){var f,r,e;$("#btn_CloseAppRoleSetting").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_SaveAppRoleSetting").click(function(){let r=n.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("form_AppRoleSetting");if(r==!1)return MessageHelper.Instance().showError("Mandatory Fields are missing","div_apppermissionmessage"),!1;u.Instance().saveAppRoleSettings(i,t)});f=n.Themes.Providers.DetailHelper.recordId;this.loaddata(t);r="";e="";f!=0&&n.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(f).then(function(i){i.result.length>0?n.Platform.Apps.Managers.AppManager.Instance().getInstallApp(f).then(function(n){n.result!=null&&(e=n.result.AppTitle.replace(/ /g,""),r=i.result[0].SystemName.substring(0,i.result[0].SystemName.indexOf("_RoleSetting_")),r=r.replace(/ /g,""),t==0&&$("#txt_UniqueId").text(r))}):n.Platform.Apps.Managers.AppManager.Instance().getInstallApp(f).then(function(n){if(n.result!=null){var i=n.result.AppTitle.replace(/ /g,"");r=n.result.DevOrgName+"_"+n.result.ModuleTypeName+"_"+n.result.ModuleName+"_"+i;r=r.replace(/ /g,"");t==0&&$("#txt_UniqueId").text(r)}})});$("#txt_AppRoleSettingName").keyup(function(){t==0&&(r=r.replace(/ /g,""),$("#txt_UniqueId").text(r+"_RoleSetting_"+$("#txt_AppRoleSettingName").val().toString().replace(/ /g,"")+e))})}loadForm(n,t){this.addRoleSetting(t)}addRoleSetting(i){this.navigationHelper.popup(i,"",n.Platform.Apps.Components.AppPermission.Instance(),null,t.Helpers.Size.Large)}loaddata(t){var i=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/permissiontypes";AutoCompleteHelper.getHelper().Create("#autocomplete_PermissionType","#hfAutoComplete_PermissionType",i,function(n){var t=n});t!=0&&($(".title").text("Edit Role Setting"),this.appManager.getAppPermission(t).then(function(t){var r=new Option(n.Platform.Apps.Enums.SettingType[t.result.PermissionLevelId],t.result.PermissionLevelId.toString(),!0),i;$("#autocomplete_PermissionType").append(r);i=t.result.ApplicableValues;$("#sel_ApplicableValues option").map(function(){if($(this).val()==i)return this}).attr("selected","selected");$("#txt_AppRoleSettingName").val(t.result.SettingName);$("#txt_AppRoleSettingDescription").val(t.result.Description);$("#txt_UniqueId").text(t.result.SystemName)}))}saveAppRoleSettings(t,i){if($("#txt_AppRoleSettingName").val()==""||$("#sel_AppRoleSettingType option:selected").val()==0||$("#sel_ApplicableValues option:selected").val()==0)return MessageHelper.Instance().showError("Mandatory fields are missing!","div_apppermissionmessage"),!1;$("#div_apppermissionmessage").empty();var r={AppPermissionId:i,InstalledAppId:Number(n.Themes.Providers.DetailHelper.recordId),SettingName:$("#txt_AppRoleSettingName").val(),PermissionLevelId:Number($("#autocomplete_PermissionType").val()),ApplicableValues1:$("#sel_ApplicableValues option:selected").val().toString(),Description:$("#txt_AppRoleSettingDescription").val(),SystemName:$("#txt_UniqueId").text().replace(/ /g,""),StageId:0};this.appManager.saveAppPermission(r).then(function(i){if(i.status==n.Data.Status.Error)MessageHelper.Instance().showError(i.message,"div_apppermissionmessage");else{MessageHelper.Instance().showSuccess(i.message,"div_apppermissionmessage");$("#"+t).modal("hide");$("#"+t).remove();var r=n.Themes.Compact.Components.Details.Instance();r._recordId=n.Themes.Providers.DetailHelper.recordId;r._installedAppId=n.Themes.Providers.DetailHelper.installedAppId;n.Themes.Compact.Components.Details.Instance().loadPortlets(r)}})}editRoleSetting(n){u.Instance().addRoleSetting(n)}deleteRoleSetting(t){var i=this;bootbox.confirm({message:"Are you sure you want to Delete",closeButton:!1,buttons:{confirm:{label:"Yes",className:"btn-success"},cancel:{label:"No",className:"btn-defualt"}},callback:function(r){r&&i.appManager.deleteAppPermission(t).then(function(t){if(t.status==n.Data.Status.Error)MessageHelper.Instance().showError(t.message,"div_message");else{MessageHelper.Instance().showSuccess(t.message,"div_message");var i=n.Themes.Compact.Components.Details.Instance();i._recordId=n.Themes.Providers.DetailHelper.recordId;i._installedAppId=n.Themes.Providers.DetailHelper.installedAppId;n.Themes.Compact.Components.Details.Instance().loadPortlets(i)}})}})}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.AppPermission=u})(r=i.Components||(i.Components={}))})(i=t.Apps||(t.Apps={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));