123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- 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 = {}));
|