123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419 |
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Permissions;
- (function (Permissions) {
- let Components;
- (function (Components) {
- class Permission extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.InstalledAppId = 0;
- this.appmanager = Platform.Apps.Managers.AppManager.Instance();
- this.ipermissionmanager = Permissions.Managers.PermissionManager.Instance();
- }
- cssFiles() {
- return ['libs/jquery-ui-slider-pips/jquery-ui-slider-pips.css', 'libs/jquery-ui-slider-pips/Custom-slider-ui-pips.css'];
- }
- jsFiles() {
- return ['libs/jquery-ui-slider-pips/jquery-ui-slider-pips.js', '/platform/apps/managers/interfaces/iappmanager.js', '/platform/apps/managers/appmanager.js', '/platform/apps/components/stages/stages.js', '/platform/apps/managers/stagemanager.js', '/platform/apps/components/stages/stagepermissions.js', 'platform/permission/managers/permissionmanager.js', 'platform/permission/requests/approlesetting.js', '/platform/permission/infos/role.js', '/platform/datasources/managers/interfaces/idoctypemanager.js', '/platform/datasources/managers/doctypemanager.js', '/platform/apps/components/actionproviders/docpropertyactionprovider.js', 'platform/permission/components/editrole.js', 'platform/apps/components/stages/defaultstageroles.js'];
- }
- html(id, containerid) {
- var instance = this;
- var appid = instance.appSettings.InstalledAppId;
- instance.InstalledAppId = instance.appSettings.InstalledAppId;
- let html = `<header class="bg-white shadow-bottom modal-header" style="padding:0px !important" id="roleSettingHeader">
- <div class="container-fluid">
- <a title="AddRole" id="btnAddNewRole" class=" btnRole_` + containerid + ` pull-right btn btn-icon btn-flush-nav btn-rounded mt-5" href="javascript:;"><span class="btn-icon-wrap"><i class="fa fa-plus"></i></span></a>
- <a title="Default Stage Roles" id="btnDefaultStageRoles_` + containerid + `" class="pull-right btnDefaultStageRoles_` + containerid + ` hidden btn btn-icon btn-flush-nav btn-rounded mt-5 font-10" href="javascript:;"><span class="btn-icon-wrap"><i class="ti-key"></i></span></a>
- <a title="Add Stage" id="btnAddNewStage_` + containerid + `" class="pull-right btnstage_` + containerid + ` hidden btn btn-icon btn-flush-nav btn-rounded mt-5" href="javascript:;"><span class="btn-icon-wrap"><i class="fa fa-plus"></i></span></a>
- <a href="javascript:;" title="Add ActionProvider" id="btnAddAP_` + containerid + `" class=" pull-right btnAddAP_` + containerid + ` hidden btn btn-icon btn-flush-nav btn-rounded mt-5"><span class="btn-icon-wrap"><i class="fa fa-plus"></i></span></a>
-
- <a title="Add WorkFlow" id="btnAddNewWorkFlow" class="pull-right btnWorkFlow hidden btn btn-icon btn-flush-nav btn-rounded mt-5"><span class="btn-icon-wrap"><i class="fa fa-plus"></i></span></a>
-
- <ul class="nav nav-light nav-tabs layout-detail-tabs nav-line" role="tablist" id="masterTab">
- <li class="nav-item tab-item tab-pane tab-addeditem"><a href="javascript:;" id="tbRoles_` + containerid + `" onclick=" Unibase.Platform.Permissions.Components.Permission.Instance().loadRoles(` + instance.InstalledAppId + `);" class="d-flex h-50p align-items-center nav-link text-dark font-weight-600 active"><span class="portletName">Roles</span></a></li>
- <li class="nav-item tab-item tab-pane tab-addeditem hidden li_stages"><a href="javascript:;" id="tbStage_` + containerid + `" onclick="Unibase.Platform.Apps.Components.Stages.Instance().loadStages('` + containerid + `',` + appid + `);" class="d-flex h-50p align-items-center nav-link text-dark font-weight-600 "><span class="portletName">Stages</span></a></li>
- <li class="nav-item tab-item tab-pane tab-addeditem"><a href="javascript:;" id="tbProviders_` + containerid + `" onclick="Unibase.Platform.Apps.Components.DocPropertyActionProvider.Instance().loadActionProviders('` + containerid + `',` + appid + `);" class="d-flex h-50p align-items-center nav-link text-dark font-weight-600 "><span class="portletName">Action Providers</span></a></li>
- </ul>
- </div>
- </header>
- <section data-simplebar class="simple-scroll-bar scrollable">
- <div class="clear" id="message">
- </div>
- <div class="tab-content row mt-n" id="tabs">
- <div class="tab-pane col-sm-12 active" id="roles">
-
- <div id="div_Roles" class="card">
- <input type="hidden" id="hf_RoleId" value="" />
- <input type="hidden" id="hf_StageId" value="" />
- <div class="card-header">
- <input class="form-control rounded-input txt_rolesearch pull-right mt-5" id="RoleSearch" type="text" placeholder="Search" aria-label="Search" autocomplete="off" style="display:inline;height:30px">
- </div>
- <div class="card-body">
- <div class="rolelist-div text-body" id="div_errormessage">
- </div>
- <div class="" id="CreateStageDiv"></div>
- </div>
- </div>
-
- </div>
- <div class="tab-pane col-sm-12" id="stage_` + containerid + `">
- <div id="div_Stages" class="card"><div class="card-body div_stages">
- </div>
- </div>
- </div>
- <div class="tab-pane col-sm-12" id="ActionProviders_` + containerid + `">
- <div id="div_ActionProviders" class="card"><div class="card-body">
- </div>
- </div>
- </div>
- </div>
- </section>
- <footer class="bg-white footer ft_permissions">
- <a href="javascript:;" id="btn_rolesClose_` + containerid + `" class="btn btn-light btn-sm mr-auto btn-close">Close</a>
- </footer>`;
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- var appid = instance.appSettings.InstalledAppId;
- instance.InstalledAppId = instance.appSettings.InstalledAppId;
- instance.appmanager.getInstallApp(appid).then(function (appresponse) {
- if (appresponse.result.EnableStage) {
- $(".li_stages").removeClass('hidden');
- }
- });
- $("#tbRoles_" + containerid).click(function () {
- $(".tab-addeditem").find(".nav-link").removeClass("active");
- $(this).addClass("active");
- $("#tabs").find(".tab-pane").removeClass("active");
- $("#roles").addClass('active');
- $(".btnFilter_" + containerid).addClass('hidden');
- $(".btnstage_" + containerid).addClass('hidden');
- $(".btnRole_" + containerid).removeClass('hidden');
- $(".btnWorkFlow").addClass('hidden');
- $(".btnAddAP_" + containerid).addClass('hidden');
- $('#btnDefaultStageRoles_' + containerid + '').addClass('hidden');
- });
- $("#tbStage_" + containerid).click(function () {
- $(".tab-addeditem").find(".nav-link").removeClass("active");
- $(this).addClass("active");
- $("#tabs").find(".tab-pane").removeClass("active");
- $("#stage_" + containerid).addClass('active');
- $(".btnRole_" + containerid).addClass('hidden');
- $(".btnFilter_" + containerid).addClass('hidden');
- $(".btnstage_" + containerid).removeClass('hidden');
- $(".btnWorkFlow").addClass('hidden');
- $(".btnAddAP_" + containerid).addClass('hidden');
- $('#btnDefaultStageRoles_' + containerid + '').removeClass('hidden');
- });
- $("#tbProviders_" + containerid).click(function () {
- $(".tab-addeditem").find(".nav-link").removeClass("active");
- $(this).addClass("active");
- $("#tabs").find(".tab-pane").removeClass("active");
- $("#ActionProviders_" + containerid).addClass('active');
- $(".btnRole_" + containerid).addClass('hidden');
- $(".btnstage_" + containerid).addClass('hidden');
- $(".btnAddAP_" + containerid).removeClass('hidden');
- $(".btnWorkFlow").addClass('hidden');
- $('#btnDefaultStageRoles_' + containerid + '').addClass('hidden');
- });
- $('#btnAddNewRole').click(function () {
- Unibase.Platform.Permissions.Components.EditRole.Instance().editRole(id, appid);
- });
- $('#btnAddNewStage_' + containerid).click(function () {
- Unibase.Platform.Apps.Components.Stages.Instance().AddStage(0);
- });
- $('#btnAddAP_' + containerid).click(function () {
- Unibase.Platform.Apps.Components.DocPropertyActionProvider.Instance().AddActionProvider(0);
- });
- $('#btnDefaultStageRoles_' + containerid + '').click(function () {
- Unibase.Platform.Apps.Components.DefaultStageRoles.Instance().init(appid);
- });
- $(".txt_rolesearch").on('input', function () {
- var term = $(".txt_rolesearch").val();
- instance.loadRoles(appid, term);
- });
- instance.loadRoles(appid, "");
- }
- init() {
- var instance = this;
- this.navigationHelper.popup(0, '', instance, null, Platform.Helpers.Size.Large);
- instance.loadRoles(0, "");
- }
- loadPermissions(roleid, Isrole, IsStage, installedappid) {
- var instance = this;
- var roleId = Number(roleid);
- $("#hf_RoleId").val(roleId);
- if (Isrole == true) {
- var collapsed = $("#panelId-" + roleId).hasClass('collapse');
- if (!collapsed) {
- $("#panelId-" + roleId).addClass('collapse');
- $(".roleid-" + roleId).find(".fa-chevron-down").removeClass('d-none');
- $(".roleid-" + roleId).find(".fa-chevron-up").addClass('d-none');
- }
- else {
- $(".roleid-" + roleId).find(".fa-chevron-up").removeClass('d-none');
- $(".roleid-" + roleId).find(".fa-chevron-down").addClass('d-none');
- $("#panelId-" + roleId).removeClass('collapse');
- $(".roleid-" + roleId).find(".sliderDetails").remove();
- }
- }
- var installedPageId = installedappid;
- if (installedPageId == undefined) {
- installedPageId = 0;
- }
- instance.ipermissionmanager.getRoleSettings(roleId, Number(installedPageId), IsStage).then(function (response) {
- var SId = 0;
- var records = response.result;
- for (var i = 0; i < records.length; i++) {
- var ApplicableValue = [];
- var ApplicableLabels = [];
- var ApplicableText = ["None", "Owner", "Manager", "Admin", "Allow"];
- var ApplicableValues = records[i].ApplicableValuesList;
- var settingVal = records[i].SettingValue;
- for (var j = 0; j < ApplicableValues.length; j++) {
- var PermissionLevel = "";
- var pv = ApplicableValues[j];
- var permissionValue = pv.toString();
- switch (permissionValue) {
- case "0":
- PermissionLevel = "None";
- break;
- case "1":
- PermissionLevel = "None";
- break;
- case "2":
- PermissionLevel = "Owner";
- break;
- case "3":
- PermissionLevel = "Manager";
- break;
- case "4":
- PermissionLevel = "Admin";
- break;
- case "5":
- PermissionLevel = "Allow";
- break;
- }
- ApplicableValue.push(PermissionLevel);
- ApplicableLabels.push('<span>' + PermissionLevel + '</span>');
- }
- var SettingName = records[i].SettingName;
- var SystemName = records[i].SystemName;
- var apppermissionId = records[i].AppPermissionId;
- var html = "";
- if (records[i].StageId == 0) {
- var Isrole = false;
- var IsStage = true;
- html += "<div class='sliderDetails py-15'><div class='row'>" +
- " <div class='col-sm-4'>" +
- "<b>" + SettingName + "</b>" +
- "</div>";
- html += "<div class='col-sm-8 slider-container'>" +
- "<div class='block alert alert-primary mb-5 hidden'><label id='stages" + roleId + SystemName + "' class='lblAllStages hidden'>Applicable to all stages? <input type='checkbox' id='chk_AllStages_" + roleId + SystemName + "' checked onclick='Unibase.Platform.Permissions.Components.Permission.Instance().change(\"" + SystemName + "\",\"" + roleId + "\",\"" + Isrole + "\",\"" + IsStage + "\",\"" + i + "\"," + Number(installedPageId) + ");' value='' /></label></div>" +
- "<input type='hidden' class='applicablevalue' value='" + ApplicableValue.length + "' /><input type='hidden' class='appId' value='" + apppermissionId + "' /><input type='hidden' class='dd' value='" + i + "' /> <input type='hidden' id='hf_SystemName_1_' class='systemname' value='" + SystemName + "' /><div id='slider_" + i + SystemName + roleId + "' class='col-sm-12 double-label-slider' style='height:8px'></div>" +
- "</div>" +
- "</div><div class='bg-purple-light-5' style='display:none;' id='div_stage_settings_" + roleId + SystemName + "_container'><div class='pt-5 pb-5' id='div_stage_settings_" + roleId + SystemName + "'></div></div></div>";
- if (ApplicableValue.length < 2) {
- var status1 = "";
- var status2 = "";
- if (settingVal == 5) {
- status2 = 'checked';
- status1 = '';
- }
- else {
- status2 = '';
- status1 = 'checked';
- }
- if (settingVal == 5) {
- $(".option1" + roleId + SettingName).removeAttr("checked");
- $(".option2" + roleId + SettingName).prop("checked", true);
- }
- }
- $(".roleid-" + roleId).find(".sliderdiv").append(html);
- if (records[i].StagesList == 0) {
- $("#stages" + roleId + SystemName).addClass('hidden');
- }
- $(".roleid-" + roleId).find("#slider_" + i + SystemName + roleId)
- .slider({
- max: ApplicableValue.length - 1,
- min: 0,
- value: settingVal - 1,
- animate: 250
- })
- .slider("pips", {
- rest: "label",
- labels: ApplicableLabels
- });
- $(".roleid-" + roleId).find("#slider_" + i + SystemName + roleId).on("slidestop", function (event, ui) {
- var SettingValue = 0;
- var systemName = $(this).parents(".slider-container").find('.systemname').val();
- var approleId = $(this).parents(".slider-container").find('.appId').val();
- var applicablevalue = $(this).parents(".slider-container").find('.applicablevalue').val();
- if (applicablevalue == 2) {
- if (ui.value == 0) {
- SettingValue = ui.value + 1;
- }
- else {
- SettingValue = ui.value + 4;
- }
- }
- else {
- SettingValue = ui.value + 1;
- }
- instance.changeAppRoleSetting(SettingValue, systemName, roleId, SId, approleId, installedappid);
- });
- }
- else {
- var SettingName = records[i].StageName;
- var SId = Number(records[i].StageId);
- var html2 = "<div class='ma-20 mr-25' id='div_stage_settings_" + roleId + SId + SystemName + "'><div class='sliderDetails row'>" +
- " <div class='col-sm-4'>" +
- "<b>" + SettingName + "</b>" +
- "</div>" +
- "<div class='col-sm-8 slider-container'><input type='hidden' class='sid' value='" + SId + "' /><input type='hidden' class='systemname' value='" + SystemName + "' /><div id='slider" + i + "' class='col-sm-12 double-label-slider' style='height:8px'></div></div></div></div>";
- if ($("#div_stage_settings_" + roleId + SystemName).find("#div_stage_settings_" + roleId + SId + SystemName).length == 0) {
- $("#div_stage_settings_" + roleId + SystemName).append(html2);
- }
- $("#div_stage_settings_" + roleId + SId + SystemName).find("#slider" + i)
- .slider({
- max: ApplicableValue.length - 1,
- min: 0,
- value: settingVal - 1,
- animate: 250
- })
- .slider("pips", {
- rest: "label",
- labels: ApplicableLabels
- });
- $("#div_stage_settings_" + roleId + SId + SystemName).find("#slider" + i).on("slidestop", function (event, ui) {
- var SettingValue = 0;
- var systemName = $(this).parents(".slider-container").find('.systemname').val();
- var sid = $(this).parents(".slider-container").find('.sid').val();
- var applicablevalue = $(this).parents(".slider-container").find('.applicablevalue').val();
- if (applicablevalue == 2) {
- if (ui.value == 0) {
- SettingValue = ui.value + 1;
- }
- else {
- SettingValue = ui.value + 4;
- }
- }
- else {
- SettingValue = ui.value + 1;
- }
- instance.changeAppRoleSetting(SettingValue, systemName, roleId, sid, apppermissionId, installedappid);
- });
- var k = "#div_stage_settings_" + roleId + SystemName;
- var u = k + " .ui-slider-handle";
- var v = k + " .ui-slider-line";
- $(u).css("background-color", "#ab26aa");
- $(u).addClass("childSlider");
- $(v).css("box-shadow", "0 0 0 2px #ab26aa");
- }
- }
- $("#div_New_" + roleId + SystemName).show();
- });
- }
- statehover() {
- $(".type_last").addClass('state_hover');
- }
- change(SystemName, roleId, Isrole, IsStage, i, installedappid) {
- var instance = this;
- if ($("#chk_AllStages_" + roleId + SystemName).is(':checked')) {
- $("#div_stage_settings_" + roleId + SystemName + "_container").hide();
- $("#slider_" + i + SystemName + roleId).removeClass('hidden');
- }
- else {
- $("#div_stage_settings_" + roleId + SystemName + "_container").show();
- $("#div_stage_settings_" + roleId + SystemName).empty();
- instance.loadPermissions(roleId, Isrole, IsStage, installedappid);
- }
- }
- loadRoles(installedappid, term) {
- var instance = this;
- $(".Role-panel").each(function () {
- $(this).remove();
- });
- instance.ipermissionmanager.getRoles(term).then(function (response) {
- var data = response.result;
- if (data.length > 0) {
- for (var i = 0; i < data.length; i++) {
- var roleId = data[i].RoleId;
- var roleName = data[i].RoleName;
- var description = data[i].Description;
- var IsAdminRole = data[i].IsAdminRole;
- var link = "";
- var admininstruction = "";
- var Isrole = true;
- var IsStage = false;
- var SystemName = null;
- if (IsAdminRole != true) {
- link = "Unibase.Platform.Permissions.Components.Permission.Instance().loadPermissions(" + roleId + "," + Isrole + ", " + IsStage + "," + installedappid + ")";
- }
- else {
- admininstruction = " - This is admin default role can't access";
- }
- var html = "<section class='no-border Role-panel clearfix roleid-" + roleId + "' >" +
- "<header class='panel-heading border-bottom border-secondary roleHeader'>" +
- "<div class='row align-items-center'><a class='list-group col-sm-11 col-10' href='javascript:;' onclick='" + link + "' class='panel-toggle text-muted sliderdiv2'><div class='text-body d-flex align-items-center mt-10 mb-10 biz-highlight-bg-color'><span class='font-bold ml-10 col-sm-10'>" + roleName + admininstruction + "</span>" +
- "<span class='btn pull-right col-sm-1 col-1 p-0'><i class='fa fa-chevron-up d-none pull-right biz-highlight-bg-color'></i><i class='fa fa-chevron-down pull-right'></i></span></div></a>";
- if (IsAdminRole != true) {
- html += "<span class='col-2 col-sm-1'><a onclick='Unibase.Platform.Permissions.Components.EditRole.Instance().editRole(" + roleId + ", " + installedappid + ");' class='btn pull-right col-sm-1'><i class='fa fa-pencil pull-right biz-highlight-bg-color'></i></a></span>";
- }
- html += "</div></header>" +
- "<div id='panelId-" + roleId + "' class='panel-body bg-white collapse container'>" +
- "<div class='sliderdiv mr-10'>" +
- "</div>" +
- "</div>" +
- "</section>";
- var info = $('.rolelist-div').find(".roleid-" + roleId + "");
- if (IsAdminRole == true) {
- if (info.length == 0) {
- $('.rolelist-div').prepend(html);
- }
- }
- else {
- if (info.length == 0) {
- $('.rolelist-div').append(html);
- }
- }
- }
- ;
- }
- });
- }
- changeAppRoleSetting(settingValue, settingName, roleId, SId, approleSettingId, appinstalledid) {
- var instance = this;
- var InstalledAppId = appinstalledid;
- if (InstalledAppId == undefined) {
- InstalledAppId = 0;
- }
- let reqObj = new Unibase.Platform.Permissions.Requests.AppPermission();
- reqObj.StageId = Number(SId);
- reqObj.RoleId = Number(roleId);
- reqObj.SettingValue = settingValue;
- reqObj.SettingName = settingName;
- reqObj.InstalledAppId = Number(InstalledAppId);
- reqObj.AppPermissionId = Number(approleSettingId);
- instance.ipermissionmanager.saveRoleSetting(reqObj).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, "div_errormessage");
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, "div_errormessage");
- }
- });
- }
- static Instance() {
- return new Permission();
- }
- }
- Components.Permission = Permission;
- })(Components = Permissions.Components || (Permissions.Components = {}));
- })(Permissions = Platform.Permissions || (Platform.Permissions = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|