123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- BemsWebApplication.UserCheck = function (params, viewInfo) {
- 'use strict';
- var companyDataSource = BemsWebApplication.db.createDataSource('CmCompany', true, true),
- departmentDataSource = BemsWebApplication.db.createDataSource('CmDepartment', true, true),
- positionDataSource = BemsWebApplication.db.createDataSource('CmPosition', true, true),
- businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true),
- userGroupDataSource = BemsWebApplication.db.createDataSource('CmUserGroup', true);
- var companies = ko.observableArray(),
- departments = ko.observableArray(),
- positions = ko.observableArray(),
- businessFields = ko.observableArray(),
- userGroups = ko.observableArray();
- var eq = BWA.DataUtil.constructEqualFilter;
- var noteq = BWA.DataUtil.constructNotEqualFilter;
- var PermissionForBrowse = ko.observableArray(false);
- var PassWord = ko.observableArray();
- function chckchar(obj) {
- var check1 = /^(?=.*[a-zA-Z])(?=.*[0-9]).{10,20}$/.test(obj); //영문,숫자
- var check2 = /^(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{10,20}$/.test(obj); //영문,특수문자
- var check3 = /^(?=.*[^a-zA-Z0-9])(?=.*[0-9]).{10,20}$/.test(obj); //특수문자, 숫자
- if (!(check1 || check2 || check3))
- return false; // 비밀번호 정책에 부합하지 않은 경우 (기존 비밀번호인 경우 복호화없이 출력하기 위함)
- else
- return true;
- }
- // ******** 20190826 복호화 *********** //
- function unEncrypt(theText) {
- var output = new String,
- Temp = new Array(),
- Temp2 = new Array(),
- TextSize = theText.length;
- for (var i = 0; i < TextSize; i++) {
- Temp[i] = theText.charCodeAt(i);
- Temp2[i] = theText.charCodeAt(i + 1);
- }
- for (i = 0; i < TextSize; i = i + 2) {
- output += String.fromCharCode(Temp[i] - Temp2[i]);
- }
- if (chckchar(output))
- return output;
- else
- return theText;
- }
- // ******** 20190826 복호화 *********** //
- var cnt = 0;
- function clickOn() {
- cnt++;
- if (cnt == 3)
- PermissionForBrowse(true);
- }
- function PopupButtonClose() {
- PermissionForBrowse(false);
- viewModel.popupVisible(false);
- cnt = 0;
- }
- var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmUser', {
- dataSourceOptions: {
- select: [
- 'SiteId', 'CompanyId', 'DepartmentId', 'UserId', 'Name', 'UserGroupId', 'Certificated', 'BusinessFieldId', 'EmploymentType', 'EmploymentStatus',
- 'CmPosition/Name', 'CmDepartment/Name', 'CmCompany/Name', 'CmBusinessField/Name', 'CmUserGroup/Name', 'IsScheduleUser', 'IsSI', 'IsMobile', 'Passwd'
- ],
- expand: ['CmPosition', 'CmDepartment', 'CmCompany', 'CmBusinessField', 'CmUserGroup'],
- filter: [
- //['UserId', '<>', 'admin']
- eq('SiteId', BWA.UserInfo.SiteId()),
- 'and',
- noteq('UserId', 'admin'),
- ],
- extendOptions: {
- forceOriginalField: true
- }
- },
- columns: [
- { caption: $G('number'), width: '10%', alignment: 'center' },
- { dataField: 'UserId', caption: $G('userId'), width: '15%', alignment: 'center' },
- { dataField: 'Name', caption: $G('userName'), width: '15%', alignment: 'center' },
- {
- dataField: 'CmUserGroup/Name', caption: $G('permissionGroupName'), width: '15%', alignment: 'center',
- //customizeText: function(cellInfo) {
- // return $Name($G.EmploymentTypeNames, cellInfo.value);
- //}
- },
- {
- dataField: 'EmploymentStatus', caption: $G('employmentStatus'), width: '15%', alignment: 'center',
- customizeText: function (cellInfo) {
- return $Name($G.EmploymentStatusNames, cellInfo.value);
- }
- },
- { dataField: 'CmCompany/Name', caption: $G('companyName'), width: '15%', alignment: 'center' },
- { dataField: 'CmDepartment/Name', caption: $G('departmentName'), width: '15%', alignment: 'center' }
- // { caption: $G( 'affiliation' ), width: '15%', alignment: 'center' }
- ],
- popupWidth: 720,
- NoSearchView: true, // 2019.07.25 kgpark 검색버튼 삭제
- handleViewShown: function () {
- businessFieldDataSource.load().done(function (dbBusinessFields) {
- businessFields(dbBusinessFields);
- });
- userGroupDataSource.load().done(function (dbUserGroups) {
- userGroups(dbUserGroups);
- });
- companyDataSource.load().done(function (dbCompanies) {
- companies(dbCompanies);
- });
- cnt = 0;
- },
- handleAfterLoadingModelByKey: function (data, dataViewModel, isNewInPopup) {
- if (!isNewInPopup()) {
- BWA.DataUtil.setArrayDataSourceFilter(departmentDataSource, 'CompanyId', dataViewModel.CompanyId(), departments);
- }
- else {
- }
- },
- handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
- dataGrid.clearSelection();
- viewModel.isNewInPopup(false);
- var data = clickRow.data;
- var dataModel = viewModel.dataModel;
- dataModel.CompanyName = $KoSet(dataModel.CompanyName, data['CmCompany/Name']);
- dataModel.DepartmentName = $KoSet(dataModel.DepartmentName, data['CmDepartment/Name']);
- dataModel.BusinessFieldName = $KoSet(dataModel.BusinessFieldName, data['CmBusinessField/Name']);
- dataModel.UserGroupName = $KoSet(dataModel.UserGroupName, data['CmUserGroup/Name']);
- dataModel.IsScheduleUser = $KoSet(dataModel.IsScheduleUser, data.IsScheduleUser());
- dataModel.IsSI = $KoSet(dataModel.IsSI, data.IsSI());
- dataModel.IsMobile = $KoSet(dataModel.IsMobile, data.IsMobile());
- dataModel.Passwd = $KoSet(dataModel.Passwd, data.Passwd());
- if (PermissionForBrowse() == true) {
- PassWord(unEncrypt(dataModel.Passwd()));
- //setTimeout(function () {
- //}, 1000)
- }
- else {
- PassWord(dataModel.Passwd);
- }
- popupVisible(true);
- },
- handlePopupShowing: function (that) {
- positionDataSource.load().done(function (result) {
- positions(result);
- });
- },
- });
- viewModel.handleSelectBoxChangeCompanyInPopup = function (e) {
- BWA.DataUtil.setArrayDataSourceFilter(departmentDataSource, 'CompanyId', e.value, departments);
- viewModel.dataModel.DepartmentId(null);
- }
- viewModel.companyDataSource = companies;
- viewModel.departmentDataSource = departments;
- viewModel.positionDataSource = positions;
- viewModel.businessFieldDataSource = businessFields;
- viewModel.userGroupDataSource = userGroups;
- viewModel.employmentTypeNames = $G.EmploymentTypeNames;
- viewModel.employmentStatusNames = $G.EmploymentStatusNames;
- viewModel.userLicensePopup = BWA.Popup.UserLicense.create(viewModel, params);
- // 2016 02 18 hcLee 등록팝업 최초 수행후 안보이는 현상 해결
- viewModel.dataModel.CompanyName = ko.observable();
- viewModel.dataModel.DepartmentName = ko.observable();
- viewModel.dataModel.BusinessFieldName = ko.observable();
- viewModel.dataModel.UserGroupName = ko.observable();
- //$SearchView.searchViewItems.EmploymentStatus.check(true);
- //viewModel.searchViewItems.EmploymentStatus.check(true);
- //viewModel.handleSearchInSearchView = handleSearchInSearchView;
- var toolbarItems = [
- { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: PopupButtonClose } } //
- ];
- viewModel.toolbarItems = toolbarItems;
- viewModel.PermissionForBrowse = PermissionForBrowse;
- viewModel.clickOn = clickOn;
- viewModel.PassWord = PassWord;
- return viewModel;
- };
|