@itilite/iui-user-management 1.3.15 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -35,6 +35,37 @@ function _extends() {
35
35
  };
36
36
  return _extends.apply(this, arguments);
37
37
  }
38
+ function _unsupportedIterableToArray(o, minLen) {
39
+ if (!o) return;
40
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
41
+ var n = Object.prototype.toString.call(o).slice(8, -1);
42
+ if (n === "Object" && o.constructor) n = o.constructor.name;
43
+ if (n === "Map" || n === "Set") return Array.from(o);
44
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
45
+ }
46
+ function _arrayLikeToArray(arr, len) {
47
+ if (len == null || len > arr.length) len = arr.length;
48
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
49
+ return arr2;
50
+ }
51
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
52
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
53
+ if (it) return (it = it.call(o)).next.bind(it);
54
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
55
+ if (it) o = it;
56
+ var i = 0;
57
+ return function () {
58
+ if (i >= o.length) return {
59
+ done: true
60
+ };
61
+ return {
62
+ done: false,
63
+ value: o[i++]
64
+ };
65
+ };
66
+ }
67
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
68
+ }
38
69
 
39
70
  var _Pact = /*#__PURE__*/function () {
40
71
  function _Pact() {}
@@ -392,6 +423,12 @@ var userAddEditUrl = {
392
423
  },
393
424
  undoRejectUserVerification: function undoRejectUserVerification(userId) {
394
425
  return "api/v1/onboarding/user-signup-reject/" + userId + "?action=undo";
426
+ },
427
+ cardsEditUserDetails: function cardsEditUserDetails(userId) {
428
+ return env.getCardsapiURL() + "/card/authorization/user/" + userId;
429
+ },
430
+ cardsAddUsersDetails: function cardsAddUsersDetails() {
431
+ return env.getCardsapiURL() + "/card/authorization/company/" + IUILocalStorageService.getCompanyId() + "/roles";
395
432
  }
396
433
  };
397
434
  var userListUrl = {
@@ -750,7 +787,6 @@ var departmentHeadOptions = function departmentHeadOptions(search, loadedOptions
750
787
  data: item
751
788
  };
752
789
  });
753
- console.log(response.next);
754
790
  return {
755
791
  options: mappedValue,
756
792
  hasMore: !!response.next,
@@ -795,6 +831,7 @@ var styles$1 = {"card":"_3_S9J","cardNumber":"_36E9M","cardDigit":"_2pm-T","expi
795
831
  var SHOW_LOADER = 'SHOW_LOADER';
796
832
  var STOP_LOADER = 'STOP_LOADER';
797
833
  var SET_RENDER_FIELDS = 'SET_RENDER_FIELDS';
834
+ var SET_CARDS_DETAILS = 'SET_CARDS_DETAILS';
798
835
  var SET_CUSTOM_FIELD = 'SET_CUSTOM_FIELD';
799
836
  var SET_TRAVEL_APPROVER_FIELD = 'SET_TRAVEL_APPROVER_FIELD';
800
837
  var SET_EXPENSE_APPROVER_FIELD = 'SET_EXPENSE_APPROVER_FIELD';
@@ -839,9 +876,15 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
839
876
  if (payload.productAccess.expense) {
840
877
  product.expense = payload.expenseRole || null;
841
878
  }
879
+ if (payload.productAccess.card) {
880
+ var splitRole = payload.cardsRole.split(":");
881
+ var cardsUsmRole = splitRole[2];
882
+ product.card = cardsUsmRole || null;
883
+ }
842
884
  return product;
843
885
  }(),
844
- approvers: {}
886
+ approvers: {},
887
+ requested_user_is_admin: payload.isCardsAdmin
845
888
  };
846
889
  var userTags = [];
847
890
  for (var key in payload.userTagType) {
@@ -933,13 +976,20 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
933
976
  var res = {
934
977
  fields: {
935
978
  user_personal_info: {},
936
- employee_info: {}
979
+ employee_info: {},
980
+ requested_user_is_admin: payload.isCardsAdmin
937
981
  }
938
982
  };
939
983
  if (!env$1.isProfilePage()) {
940
984
  res.fields.product = function () {
941
- if (payload.productAccess.travel && payload.productAccess.expense) {
985
+ if (payload.productAccess.travel && payload.productAccess.expense && payload.productAccess.card) {
986
+ return 'expense+travel+card';
987
+ } else if (payload.productAccess.travel && payload.productAccess.expense) {
942
988
  return 'expense+travel';
989
+ } else if (payload.productAccess.expense && payload.productAccess.card) {
990
+ return 'expense+card';
991
+ } else if (payload.productAccess.travel && payload.productAccess.card) {
992
+ return 'travel+card';
943
993
  } else if (payload.productAccess.travel) {
944
994
  return 'travel';
945
995
  } else {
@@ -954,6 +1004,11 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
954
1004
  if (payload.productAccess.expense) {
955
1005
  roles.expense = payload.expenseRole;
956
1006
  }
1007
+ if (payload.productAccess.card) {
1008
+ var splitRole = payload.cardsRole.split(":");
1009
+ var cardsUsmRole = splitRole[2];
1010
+ roles.card = cardsUsmRole;
1011
+ }
957
1012
  return roles;
958
1013
  }();
959
1014
  res.fields.custom_attributes = payload.customFieldsInput;
@@ -1292,6 +1347,12 @@ var setRenderFields = function setRenderFields(payload) {
1292
1347
  payload: payload
1293
1348
  };
1294
1349
  };
1350
+ var setCardsDetails = function setCardsDetails(payload) {
1351
+ return {
1352
+ type: SET_CARDS_DETAILS,
1353
+ payload: payload
1354
+ };
1355
+ };
1295
1356
  var setCustomField = function setCustomField(payload) {
1296
1357
  return {
1297
1358
  type: SET_CUSTOM_FIELD,
@@ -1363,7 +1424,7 @@ var fetchCountryCodes = function fetchCountryCodes() {
1363
1424
  return new Promise(function (resolve, reject) {
1364
1425
  api$2.get(userAddEditUrl.countryCode()).then(function (res) {
1365
1426
  dispatch(setCountryCodes(res.data.country_code_details));
1366
- resolve('success');
1427
+ resolve(res.data.country_code_details);
1367
1428
  })["catch"](function (err) {
1368
1429
  reject(err);
1369
1430
  })["finally"](function () {});
@@ -3194,6 +3255,12 @@ var products = [{
3194
3255
  name: 'expense',
3195
3256
  type: 'checkbox',
3196
3257
  disableText: 'Please get in touch with your administrator to change this value.'
3258
+ }, {
3259
+ id: 3,
3260
+ label: 'Card',
3261
+ name: 'card',
3262
+ type: 'checkbox',
3263
+ disableText: 'Please get in touch with your administrator to change this value.'
3197
3264
  }];
3198
3265
  var dropdownList = {
3199
3266
  gender: [{
@@ -3364,6 +3431,34 @@ var expenseConstants = {
3364
3431
  disableText: 'Please get in touch with your administrator to change this value.'
3365
3432
  }]
3366
3433
  };
3434
+ var cardsConstants = {
3435
+ heading: 'Card specific information',
3436
+ roleHeading: 'Card role',
3437
+ roleDescription: 'Roles allow users to only access relevant features and functionalities',
3438
+ roles: [{
3439
+ id: 1,
3440
+ label: 'Card holder',
3441
+ description: 'Can view own cards and transactions.',
3442
+ value: '',
3443
+ name: '',
3444
+ type: 'radio',
3445
+ isAssigned: false,
3446
+ fullWidth: false,
3447
+ visibility: true,
3448
+ disableText: 'Please get in touch with your administrator to change this value.'
3449
+ }, {
3450
+ id: 2,
3451
+ label: 'Card admin',
3452
+ description: 'Has full administrative access to the card program. Can issue cards, set card limits, add users, has visibility into all transactions, statements and balances.',
3453
+ value: '',
3454
+ name: '',
3455
+ type: 'radio',
3456
+ isAssigned: false,
3457
+ fullWidth: false,
3458
+ visibility: true,
3459
+ disableText: 'Please get in touch with your administrator to change this value.'
3460
+ }]
3461
+ };
3367
3462
  var passportInfo = [{
3368
3463
  id: 1,
3369
3464
  label: 'Passport issuing country',
@@ -3593,6 +3688,12 @@ var initialState = {
3593
3688
  travelConstants: travelConstants,
3594
3689
  expenseConstants: expenseConstants
3595
3690
  },
3691
+ isCardsDetailsRendered: false,
3692
+ isCardsAdmin: false,
3693
+ cardsDetails: {
3694
+ cardsRoles: cardsConstants.roles,
3695
+ cardsConstants: cardsConstants
3696
+ },
3596
3697
  dropdownList: dropdownList,
3597
3698
  maxTravelApprovers: 10,
3598
3699
  maxExpenseApprovers: 10,
@@ -3759,11 +3860,37 @@ var reducer = function reducer(state, action) {
3759
3860
  isRendered: true
3760
3861
  });
3761
3862
  }
3863
+ case SET_CARDS_DETAILS:
3864
+ {
3865
+ var _action$payload8, _action$payload8$role, _action$payload9;
3866
+ var cardsDetails = _extends({}, state.cardsDetails);
3867
+ if (action !== null && action !== void 0 && (_action$payload8 = action.payload) !== null && _action$payload8 !== void 0 && (_action$payload8$role = _action$payload8.roles) !== null && _action$payload8$role !== void 0 && _action$payload8$role.length) {
3868
+ cardsDetails.cardsRoles = action.payload.roles.map(function (role) {
3869
+ return {
3870
+ id: role.id,
3871
+ label: role.name,
3872
+ description: role.description,
3873
+ value: role.value,
3874
+ isAssigned: role.is_assigned,
3875
+ name: role.value,
3876
+ type: 'radio',
3877
+ fullWidth: false,
3878
+ visibility: true,
3879
+ disableText: 'Please get in touch with your administrator to change this value.'
3880
+ };
3881
+ });
3882
+ }
3883
+ return _extends({}, state, {
3884
+ cardsDetails: cardsDetails,
3885
+ isCardsDetailsRendered: true,
3886
+ isCardsAdmin: action === null || action === void 0 ? void 0 : (_action$payload9 = action.payload) === null || _action$payload9 === void 0 ? void 0 : _action$payload9.requested_user_is_admin
3887
+ });
3888
+ }
3762
3889
  case SET_STATIC_FIELDS_VISIBILITY:
3763
3890
  {
3764
3891
  var _personalInfo = state.renderFields.personalInfo.map(function (input) {
3765
- var _action$payload8;
3766
- if (action !== null && action !== void 0 && action.payload && Object.hasOwnProperty.call(action.payload, input.name) && action !== null && action !== void 0 && (_action$payload8 = action.payload) !== null && _action$payload8 !== void 0 && _action$payload8[input.name]) {
3892
+ var _action$payload10;
3893
+ if (action !== null && action !== void 0 && action.payload && Object.hasOwnProperty.call(action.payload, input.name) && action !== null && action !== void 0 && (_action$payload10 = action.payload) !== null && _action$payload10 !== void 0 && _action$payload10[input.name]) {
3767
3894
  if (Object.hasOwnProperty.call(action.payload[input.name], 'readOnly')) {
3768
3895
  input.readOnly = action.payload[input.name].readOnly;
3769
3896
  }
@@ -4816,7 +4943,9 @@ var ErrorMessages = {
4816
4943
  passport_expiry_date: 'Please enter passport expiry date.',
4817
4944
  passport_photo: 'Please attach passport photo.',
4818
4945
  travel_docs: 'Please attach travel docs.',
4819
- products: 'Please select atleast one product access.'
4946
+ products: 'Please select atleast one product access.',
4947
+ only_cards_products: 'Currently, Card cannot be selected as a standalone option. Please add at least one more product.',
4948
+ none_products: 'Select at least one product. If opting for card, please choose at least one additional product.'
4820
4949
  };
4821
4950
 
4822
4951
  function AddPanelDialog(_ref) {
@@ -4866,7 +4995,73 @@ function AddPanelDialog(_ref) {
4866
4995
  })));
4867
4996
  }
4868
4997
 
4869
- var IUIToastMessageService$4 = utils.services.IUIToastMessageService;
4998
+ var CardsField = function CardsField(props) {
4999
+ var cardsConstants = props.cardsConstants,
5000
+ _props$onRoleChange = props.onRoleChange,
5001
+ onRoleChange = _props$onRoleChange === void 0 ? function () {} : _props$onRoleChange,
5002
+ _props$roleValue = props.roleValue,
5003
+ roleValue = _props$roleValue === void 0 ? '' : _props$roleValue,
5004
+ _props$isProfile = props.isProfile,
5005
+ isProfile = _props$isProfile === void 0 ? false : _props$isProfile,
5006
+ _props$roles = props.roles,
5007
+ roles = _props$roles === void 0 ? [] : _props$roles,
5008
+ _props$cardsAdmin = props.cardsAdmin,
5009
+ cardsAdmin = _props$cardsAdmin === void 0 ? false : _props$cardsAdmin,
5010
+ editUserId = props.editUserId,
5011
+ loggedInUserId = props.loggedInUserId;
5012
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
5013
+ container: true,
5014
+ className: (styles.headingPadding)
5015
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
5016
+ variant: "h3",
5017
+ className: clsx(styles.heading, styles.headingMedium)
5018
+ }, cardsConstants.heading)), /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
5019
+ className: styles.dividerColor
5020
+ }), /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
5021
+ container: true,
5022
+ className: clsx(styles.product_info, styles.sectionWrapper)
5023
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
5024
+ item: true,
5025
+ sm: 12,
5026
+ md: 4
5027
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
5028
+ label: cardsConstants.roleHeading,
5029
+ headerType: true,
5030
+ description: cardsConstants.roleDescription
5031
+ })), /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
5032
+ item: true,
5033
+ sm: 12,
5034
+ md: 8,
5035
+ lg: 8,
5036
+ xl: 6
5037
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
5038
+ container: true,
5039
+ className: styles.formFieldsWrapper
5040
+ }, isProfile || loggedInUserId === editUserId ? /*#__PURE__*/React__default.createElement(UserRole, {
5041
+ list: roles,
5042
+ value: roleValue
5043
+ }) : /*#__PURE__*/React__default.createElement(iuistyles.IUIRadio, {
5044
+ list: roles,
5045
+ value: roleValue,
5046
+ onValueChange: onRoleChange,
5047
+ disabled: cardsAdmin ? false : true
5048
+ })), !cardsAdmin && !isProfile && /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
5049
+ item: true,
5050
+ sm: 12,
5051
+ md: 12,
5052
+ lg: 12,
5053
+ style: {
5054
+ marginTop: "24px"
5055
+ }
5056
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
5057
+ variant: "body2",
5058
+ component: "span",
5059
+ className: styles.errorTextCls
5060
+ }, editUserId ? "Only Card admin can change the Card role." : "Only Card admin can change card roles. By default this user will have Card Holder role.")))));
5061
+ };
5062
+
5063
+ var IUIToastMessageService$4 = utils.services.IUIToastMessageService,
5064
+ IUILocalStorageService$5 = utils.services.IUILocalStorageService;
4870
5065
  var env$4 = utils.configs.env;
4871
5066
  var UserAddEdit = function UserAddEdit(props) {
4872
5067
  var isEditMode = props.isEditMode,
@@ -4893,7 +5088,10 @@ var UserAddEdit = function UserAddEdit(props) {
4893
5088
  isRendered = _useSelector.isRendered,
4894
5089
  maxTravelApprovers = _useSelector.maxTravelApprovers,
4895
5090
  maxExpenseApprovers = _useSelector.maxExpenseApprovers,
4896
- maxMembershipInput = _useSelector.maxMembershipInput;
5091
+ maxMembershipInput = _useSelector.maxMembershipInput,
5092
+ isCardsDetailsRendered = _useSelector.isCardsDetailsRendered,
5093
+ isCardsAdmin = _useSelector.isCardsAdmin,
5094
+ cardsDetails = _useSelector.cardsDetails;
4897
5095
  var _useSelector2 = reactRedux.useSelector(function (state) {
4898
5096
  return state.common;
4899
5097
  }),
@@ -4906,7 +5104,8 @@ var UserAddEdit = function UserAddEdit(props) {
4906
5104
  var location = reactRouterDom.useLocation();
4907
5105
  var _useState = React.useState({
4908
5106
  travel: false,
4909
- expense: false
5107
+ expense: false,
5108
+ card: false
4910
5109
  }),
4911
5110
  productAccess = _useState[0],
4912
5111
  setProductAccess = _useState[1];
@@ -4917,13 +5116,13 @@ var UserAddEdit = function UserAddEdit(props) {
4917
5116
  errorMsgs.products = '';
4918
5117
  var _productAccess = _extends({}, productAccess);
4919
5118
  _productAccess[value] = !_productAccess[value];
4920
- if (_productAccess.travel === false && _productAccess.expense === false) {
5119
+ if (_productAccess.travel === false && _productAccess.expense === false && _productAccess.card === true) {
4921
5120
  var _errorArray = [].concat(errorArray);
4922
5121
  var _errorMsgs = _extends({}, errorMsgs);
4923
5122
  if (_errorArray.indexOf('products') === -1) {
4924
5123
  _errorArray.push('products');
4925
5124
  }
4926
- _errorMsgs.products = ErrorMessages.products;
5125
+ _errorMsgs.products = ErrorMessages.only_cards_products;
4927
5126
  setErrorArray(_errorArray);
4928
5127
  setErrorMsgs(_errorMsgs);
4929
5128
  var el = document.getElementById('products');
@@ -4933,13 +5132,202 @@ var UserAddEdit = function UserAddEdit(props) {
4933
5132
  block: 'center'
4934
5133
  });
4935
5134
  }
5135
+ } else if (_productAccess.travel === false && _productAccess.expense === false && _productAccess.card === false) {
5136
+ var _errorArray2 = [].concat(errorArray);
5137
+ var _errorMsgs2 = _extends({}, errorMsgs);
5138
+ if (_errorArray2.indexOf('products') === -1) {
5139
+ _errorArray2.push('products');
5140
+ }
5141
+ _errorMsgs2.products = ErrorMessages.products;
5142
+ setErrorArray(_errorArray2);
5143
+ setErrorMsgs(_errorMsgs2);
5144
+ var _el = document.getElementById('products');
5145
+ if (_el) {
5146
+ _el.scrollIntoView({
5147
+ behavior: 'smooth',
5148
+ block: 'center'
5149
+ });
5150
+ }
4936
5151
  } else {
4937
5152
  setErrorArray(errorArray);
4938
5153
  setErrorMsgs(errorMsgs);
4939
5154
  }
4940
5155
  setProductAccess(_productAccess);
4941
5156
  };
4942
- var _useState2 = React.useState({
5157
+ var _useState2 = React.useState(''),
5158
+ newCountryCode = _useState2[0],
5159
+ setNewCountryCode = _useState2[1];
5160
+ var _useState3 = React.useState(),
5161
+ countryDialCode = _useState3[0],
5162
+ setCountryDialCode = _useState3[1];
5163
+ var _useState4 = React.useState([]),
5164
+ countryContactCode = _useState4[0],
5165
+ setCountryContactCode = _useState4[1];
5166
+ var updateUserApiCall = function updateUserApiCall(payload, inputChangeLog) {
5167
+ dispatch(updateUser(payload, isProfile ? id : editUserId, inputChangeLog)).then(function (res) {
5168
+ if (isProfile) {
5169
+ var _config$routes, _config$routes$profil, _config$routes$profil2;
5170
+ (config === null || config === void 0 ? void 0 : (_config$routes = config.routes) === null || _config$routes === void 0 ? void 0 : (_config$routes$profil = _config$routes.profile) === null || _config$routes$profil === void 0 ? void 0 : (_config$routes$profil2 = _config$routes$profil.redirectUrl) === null || _config$routes$profil2 === void 0 ? void 0 : _config$routes$profil2.submit) && history.push(config.routes.profile.redirectUrl.submit);
5171
+ } else {
5172
+ var _config$routes2, _config$routes2$users, _config$routes2$users2;
5173
+ (config === null || config === void 0 ? void 0 : (_config$routes2 = config.routes) === null || _config$routes2 === void 0 ? void 0 : (_config$routes2$users = _config$routes2.users) === null || _config$routes2$users === void 0 ? void 0 : (_config$routes2$users2 = _config$routes2$users.list) === null || _config$routes2$users2 === void 0 ? void 0 : _config$routes2$users2.path) && history.push(config.routes.users.list.path);
5174
+ }
5175
+ setFilesForDelete([]);
5176
+ setProfilePicDelete([]);
5177
+ })["catch"](function (err) {
5178
+ if (typeof err === 'object') {
5179
+ if (err.country_code) {
5180
+ err.contact_number = err.country_code;
5181
+ }
5182
+ if (err.contact_country_code) {
5183
+ err.contact_number = err.contact_country_code;
5184
+ }
5185
+ if (err.passport) {
5186
+ err.passport_photo = _extends({}, err.passport);
5187
+ delete err.passport;
5188
+ }
5189
+ setErrorArray(Object.keys(err));
5190
+ setErrorMsgs(err);
5191
+ var _loop = function _loop() {
5192
+ if (Object.hasOwnProperty.call(err, key)) {
5193
+ if (err[key]) {
5194
+ if (key in passportInfoInput || key in travelPreferenceInfo || key in secureTravelInputInfo) {
5195
+ setAdditionalInfoFlag('open');
5196
+ }
5197
+ var el = document.getElementById(key === 'country_code' || key === 'contact_country_code' ? 'contact_number' : key);
5198
+ if (el) {
5199
+ setTimeout(function () {
5200
+ el.scrollIntoView({
5201
+ behavior: 'smooth',
5202
+ block: 'center'
5203
+ });
5204
+ }, 500);
5205
+ return 1;
5206
+ }
5207
+ }
5208
+ }
5209
+ };
5210
+ for (var key in err) {
5211
+ if (_loop()) break;
5212
+ }
5213
+ } else if (typeof err === 'string') {
5214
+ IUIToastMessageService$4.warningNotify(err);
5215
+ } else {
5216
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5217
+ }
5218
+ })["finally"](function () {
5219
+ dispatch(stopLoader());
5220
+ });
5221
+ };
5222
+ var createUserApiCall = function createUserApiCall(payload) {
5223
+ dispatch(createUser(payload)).then(function (res) {
5224
+ var _config$routes3, _config$routes3$users, _config$routes3$users2;
5225
+ if (config !== null && config !== void 0 && (_config$routes3 = config.routes) !== null && _config$routes3 !== void 0 && (_config$routes3$users = _config$routes3.users) !== null && _config$routes3$users !== void 0 && (_config$routes3$users2 = _config$routes3$users.list) !== null && _config$routes3$users2 !== void 0 && _config$routes3$users2.path) {
5226
+ history.push({
5227
+ pathname: config.routes.users.list.path
5228
+ });
5229
+ }
5230
+ })["catch"](function (err) {
5231
+ if (typeof err === 'object') {
5232
+ if (err.country_code) {
5233
+ err.contact_number = err.country_code;
5234
+ }
5235
+ if (err.contact_country_code) {
5236
+ err.contact_number = err.contact_country_code;
5237
+ }
5238
+ if (err.passport) {
5239
+ err.passport_photo = _extends({}, err.passport);
5240
+ delete err.passport;
5241
+ }
5242
+ setErrorArray(Object.keys(err));
5243
+ setErrorMsgs(err);
5244
+ var _loop2 = function _loop2() {
5245
+ if (Object.hasOwnProperty.call(err, key)) {
5246
+ if (err[key]) {
5247
+ if (key in passportInfoInput || key in travelPreferenceInfo || key in secureTravelInputInfo) {
5248
+ setAdditionalInfoFlag('open');
5249
+ }
5250
+ var el = document.getElementById(key === 'country_code' || key === 'contact_country_code' ? 'contact_number' : key);
5251
+ if (el) {
5252
+ setTimeout(function () {
5253
+ el.scrollIntoView({
5254
+ behavior: 'smooth',
5255
+ block: 'center'
5256
+ });
5257
+ }, 500);
5258
+ return 1;
5259
+ }
5260
+ }
5261
+ }
5262
+ };
5263
+ for (var key in err) {
5264
+ if (_loop2()) break;
5265
+ }
5266
+ } else if (typeof err === 'string') {
5267
+ IUIToastMessageService$4.warningNotify(err);
5268
+ } else {
5269
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5270
+ }
5271
+ })["finally"](function () {
5272
+ dispatch(stopLoader());
5273
+ });
5274
+ };
5275
+ var fetchEditUserCardsDetails = function fetchEditUserCardsDetails(editUserId) {
5276
+ fetch(userAddEditUrl.cardsEditUserDetails(editUserId), {
5277
+ method: 'GET',
5278
+ headers: {
5279
+ 'Content-Type': 'application/json',
5280
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
5281
+ }
5282
+ }).then(function (response) {
5283
+ return response.json();
5284
+ }).then(function (res) {
5285
+ var _res$roles;
5286
+ if (res !== null && res !== void 0 && (_res$roles = res.roles) !== null && _res$roles !== void 0 && _res$roles.length) {
5287
+ dispatch(setCardsDetails(res));
5288
+ } else {
5289
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5290
+ }
5291
+ })["catch"](function (error) {
5292
+ console.log("errorrr", error);
5293
+ });
5294
+ };
5295
+ var fetchLoggedUserCardsDetails = function fetchLoggedUserCardsDetails() {
5296
+ fetch(userAddEditUrl.cardsAddUsersDetails(), {
5297
+ method: 'GET',
5298
+ headers: {
5299
+ 'Content-Type': 'application/json',
5300
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
5301
+ }
5302
+ }).then(function (response) {
5303
+ return response.json();
5304
+ }).then(function (res) {
5305
+ var _res$roles2;
5306
+ if (res !== null && res !== void 0 && (_res$roles2 = res.roles) !== null && _res$roles2 !== void 0 && _res$roles2.length) {
5307
+ dispatch(setCardsDetails(res));
5308
+ } else {
5309
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5310
+ }
5311
+ })["catch"](function (error) {
5312
+ console.log("errorrr", error);
5313
+ });
5314
+ };
5315
+ React.useEffect(function () {
5316
+ var countryObject = countryContactCode.find(function (t) {
5317
+ return t.dial_code === countryDialCode;
5318
+ });
5319
+ if (countryObject) {
5320
+ setPersonalInfoInput(_extends({}, personalInfoInput, {
5321
+ country_code: countryObject.code
5322
+ }));
5323
+ }
5324
+ }, [countryDialCode]);
5325
+ React.useEffect(function () {
5326
+ var extractedNumber = newCountryCode.substring(1);
5327
+ var convertedNumber = parseInt(extractedNumber);
5328
+ setCountryDialCode(convertedNumber);
5329
+ }, [newCountryCode]);
5330
+ var _useState5 = React.useState({
4943
5331
  first_name: '',
4944
5332
  last_name: '',
4945
5333
  email: '',
@@ -4950,9 +5338,9 @@ var UserAddEdit = function UserAddEdit(props) {
4950
5338
  contact_country_code: '',
4951
5339
  profile_pic: []
4952
5340
  }),
4953
- personalInfoInput = _useState2[0],
4954
- setPersonalInfoInput = _useState2[1];
4955
- var _useState3 = React.useState({
5341
+ personalInfoInput = _useState5[0],
5342
+ setPersonalInfoInput = _useState5[1];
5343
+ var _useState6 = React.useState({
4956
5344
  emp_level: {
4957
5345
  value: '',
4958
5346
  label: 'Select employee level'
@@ -4985,9 +5373,9 @@ var UserAddEdit = function UserAddEdit(props) {
4985
5373
  label: defaultCurrency
4986
5374
  }
4987
5375
  }),
4988
- employeeInfoInput = _useState3[0],
4989
- setEmployeeInfoInput = _useState3[1];
4990
- var _useState4 = React.useState({
5376
+ employeeInfoInput = _useState6[0],
5377
+ setEmployeeInfoInput = _useState6[1];
5378
+ var _useState7 = React.useState({
4991
5379
  emp_level: 0,
4992
5380
  entity: 0,
4993
5381
  business_unit: 0,
@@ -4996,48 +5384,48 @@ var UserAddEdit = function UserAddEdit(props) {
4996
5384
  manager_id: 0,
4997
5385
  skip_manager_id: 0
4998
5386
  }),
4999
- cacheForAsyncDropdown = _useState4[0],
5000
- clearCacheForAsyncDropdown = _useState4[1];
5001
- var _useState5 = React.useState({}),
5002
- userTagType = _useState5[0],
5003
- setUserTagType = _useState5[1];
5004
- var _useState6 = React.useState(false),
5005
- scroll = _useState6[0],
5006
- setScroll = _useState6[1];
5007
- var _useState7 = React.useState({}),
5008
- customFieldsInput = _useState7[0],
5009
- setCustomFieldsInput = _useState7[1];
5010
- var _useState8 = React.useState('traveler'),
5011
- travelRole = _useState8[0],
5012
- setTravelRole = _useState8[1];
5013
- var _useState9 = React.useState({}),
5014
- travelApproversInput = _useState9[0],
5015
- setTravelApproversInput = _useState9[1];
5016
- var _useState10 = React.useState({
5387
+ cacheForAsyncDropdown = _useState7[0],
5388
+ clearCacheForAsyncDropdown = _useState7[1];
5389
+ var _useState8 = React.useState({}),
5390
+ userTagType = _useState8[0],
5391
+ setUserTagType = _useState8[1];
5392
+ var _useState9 = React.useState(false),
5393
+ scroll = _useState9[0],
5394
+ setScroll = _useState9[1];
5395
+ var _useState10 = React.useState({}),
5396
+ customFieldsInput = _useState10[0],
5397
+ setCustomFieldsInput = _useState10[1];
5398
+ var _useState11 = React.useState('traveler'),
5399
+ travelRole = _useState11[0],
5400
+ setTravelRole = _useState11[1];
5401
+ var _useState12 = React.useState({}),
5402
+ travelApproversInput = _useState12[0],
5403
+ setTravelApproversInput = _useState12[1];
5404
+ var _useState13 = React.useState({
5017
5405
  value: '',
5018
5406
  label: 'Select approver'
5019
5407
  }),
5020
- travelFYI = _useState10[0],
5021
- setTravelFYI = _useState10[1];
5022
- var _useState11 = React.useState([]),
5023
- membershipInfoInput = _useState11[0],
5024
- setMembershipInfoInput = _useState11[1];
5025
- var _useState12 = React.useState([]),
5026
- removedMembershipInfoInput = _useState12[0],
5027
- setRemovedMembershipInfoInput = _useState12[1];
5028
- var _useState13 = React.useState({
5408
+ travelFYI = _useState13[0],
5409
+ setTravelFYI = _useState13[1];
5410
+ var _useState14 = React.useState([]),
5411
+ membershipInfoInput = _useState14[0],
5412
+ setMembershipInfoInput = _useState14[1];
5413
+ var _useState15 = React.useState([]),
5414
+ removedMembershipInfoInput = _useState15[0],
5415
+ setRemovedMembershipInfoInput = _useState15[1];
5416
+ var _useState16 = React.useState({
5029
5417
  flight_seat_preference: '',
5030
5418
  meal_preference: ''
5031
5419
  }),
5032
- travelPreferenceInfo = _useState13[0],
5033
- settravelPreferenceInfo = _useState13[1];
5034
- var _useState14 = React.useState({
5420
+ travelPreferenceInfo = _useState16[0],
5421
+ settravelPreferenceInfo = _useState16[1];
5422
+ var _useState17 = React.useState({
5035
5423
  trusted_traveller: '',
5036
5424
  redress_number: ''
5037
5425
  }),
5038
- secureTravelInputInfo = _useState14[0],
5039
- setSecureTravelInputInfo = _useState14[1];
5040
- var _useState15 = React.useState({
5426
+ secureTravelInputInfo = _useState17[0],
5427
+ setSecureTravelInputInfo = _useState17[1];
5428
+ var _useState18 = React.useState({
5041
5429
  passport_issue_country: {
5042
5430
  value: '',
5043
5431
  label: 'Select country'
@@ -5052,39 +5440,76 @@ var UserAddEdit = function UserAddEdit(props) {
5052
5440
  passport_photo: [],
5053
5441
  travel_docs: []
5054
5442
  }),
5055
- passportInfoInput = _useState15[0],
5056
- setPassportInfoInput = _useState15[1];
5057
- var _useState16 = React.useState([]),
5058
- filesForDelete = _useState16[0],
5059
- setFilesForDelete = _useState16[1];
5060
- var _useState17 = React.useState([]),
5061
- profilePicDelete = _useState17[0],
5062
- setProfilePicDelete = _useState17[1];
5063
- var _useState18 = React.useState(config.env.isTravelProduct && isProfile ? 'open' : ''),
5064
- isAdditionalInfoExpanded = _useState18[0],
5065
- setAdditionalInfoFlag = _useState18[1];
5066
- var _useState19 = React.useState('submitter'),
5067
- expenseRole = _useState19[0],
5068
- setExpenseRole = _useState19[1];
5069
- var _useState20 = React.useState({}),
5070
- expenseApproversInput = _useState20[0],
5071
- setExpenseApproversInput = _useState20[1];
5072
- var _useState21 = React.useState({
5443
+ passportInfoInput = _useState18[0],
5444
+ setPassportInfoInput = _useState18[1];
5445
+ var _useState19 = React.useState([]),
5446
+ filesForDelete = _useState19[0],
5447
+ setFilesForDelete = _useState19[1];
5448
+ var _useState20 = React.useState([]),
5449
+ profilePicDelete = _useState20[0],
5450
+ setProfilePicDelete = _useState20[1];
5451
+ var _useState21 = React.useState(config.env.isTravelProduct && isProfile ? 'open' : ''),
5452
+ isAdditionalInfoExpanded = _useState21[0],
5453
+ setAdditionalInfoFlag = _useState21[1];
5454
+ var _useState22 = React.useState('submitter'),
5455
+ expenseRole = _useState22[0],
5456
+ setExpenseRole = _useState22[1];
5457
+ var _useState23 = React.useState({}),
5458
+ expenseApproversInput = _useState23[0],
5459
+ setExpenseApproversInput = _useState23[1];
5460
+ var _useState24 = React.useState({
5073
5461
  value: '',
5074
5462
  label: 'Select approver'
5075
5463
  }),
5076
- expenseFYI = _useState21[0],
5077
- setExpenseFYI = _useState21[1];
5464
+ expenseFYI = _useState24[0],
5465
+ setExpenseFYI = _useState24[1];
5466
+ var _useState25 = React.useState(''),
5467
+ cardsRole = _useState25[0],
5468
+ setCardsRole = _useState25[1];
5469
+ React.useEffect(function () {
5470
+ if (productAccess.card === false) {
5471
+ setCardsRole('');
5472
+ }
5473
+ }, [productAccess.card]);
5474
+ React.useEffect(function () {
5475
+ if (isCardsDetailsRendered && !isProfile && productAccess.card) {
5476
+ var selectedRole = cardsDetails.cardsRoles.find(function (role) {
5477
+ return role.isAssigned;
5478
+ });
5479
+ if (selectedRole) {
5480
+ setCardsRole(selectedRole.value);
5481
+ } else {
5482
+ var defaultRole = cardsDetails.cardsRoles.find(function (role) {
5483
+ var splitRoleVal = role.value.split(':');
5484
+ return splitRoleVal[2] === 'card-holder';
5485
+ });
5486
+ if (defaultRole) {
5487
+ setCardsRole(defaultRole.value);
5488
+ }
5489
+ }
5490
+ } else if (isCardsDetailsRendered && isProfile && productAccess.card) {
5491
+ var targetRole = isCardsAdmin ? 'card-admin' : 'card-holder';
5492
+ for (var _iterator = _createForOfIteratorHelperLoose(cardsDetails.cardsRoles), _step; !(_step = _iterator()).done;) {
5493
+ var role = _step.value;
5494
+ var splitRoleVal = role.value.split(':');
5495
+ var profileRole = splitRoleVal[2];
5496
+ if (profileRole === targetRole) {
5497
+ setCardsRole(role.value);
5498
+ break;
5499
+ }
5500
+ }
5501
+ }
5502
+ }, [isCardsDetailsRendered, cardsDetails, isProfile, productAccess.card, isCardsAdmin]);
5078
5503
  var asyncSelectRefs = React.useRef({
5079
5504
  emp_level: React.useRef(null),
5080
5505
  entity: React.useRef(null),
5081
5506
  business_unit: React.useRef(null),
5082
5507
  department: React.useRef(null)
5083
5508
  });
5084
- var _useState22 = React.useState([]),
5085
- errorArray = _useState22[0],
5086
- setErrorArray = _useState22[1];
5087
- var _useState23 = React.useState({
5509
+ var _useState26 = React.useState([]),
5510
+ errorArray = _useState26[0],
5511
+ setErrorArray = _useState26[1];
5512
+ var _useState27 = React.useState({
5088
5513
  first_name: '',
5089
5514
  last_name: '',
5090
5515
  email: '',
@@ -5114,9 +5539,9 @@ var UserAddEdit = function UserAddEdit(props) {
5114
5539
  userTagType: '',
5115
5540
  profile_pic: ''
5116
5541
  }),
5117
- errorMsgs = _useState23[0],
5118
- setErrorMsgs = _useState23[1];
5119
- var _useState24 = React.useState({
5542
+ errorMsgs = _useState27[0],
5543
+ setErrorMsgs = _useState27[1];
5544
+ var _useState28 = React.useState({
5120
5545
  first_name: false,
5121
5546
  last_name: false,
5122
5547
  email: false,
@@ -5143,14 +5568,14 @@ var UserAddEdit = function UserAddEdit(props) {
5143
5568
  userTagType: false,
5144
5569
  profile_pic: false
5145
5570
  }),
5146
- inputChangeLog = _useState24[0],
5147
- updateInputChangeLog = _useState24[1];
5148
- var _useState25 = React.useState([]),
5149
- uploadedFiles = _useState25[0],
5150
- setUploadedFiles = _useState25[1];
5151
- var _useState26 = React.useState(70),
5152
- maxLengthForModal = _useState26[0],
5153
- setMaxLengthForModal = _useState26[1];
5571
+ inputChangeLog = _useState28[0],
5572
+ updateInputChangeLog = _useState28[1];
5573
+ var _useState29 = React.useState([]),
5574
+ uploadedFiles = _useState29[0],
5575
+ setUploadedFiles = _useState29[1];
5576
+ var _useState30 = React.useState(70),
5577
+ maxLengthForModal = _useState30[0],
5578
+ setMaxLengthForModal = _useState30[1];
5154
5579
  var defaultAddModalData = {
5155
5580
  isOpen: false,
5156
5581
  isError: false,
@@ -5166,9 +5591,9 @@ var UserAddEdit = function UserAddEdit(props) {
5166
5591
  maxLength: maxLengthForModal,
5167
5592
  minLength: 0
5168
5593
  };
5169
- var _useState27 = React.useState(defaultAddModalData),
5170
- addModalData = _useState27[0],
5171
- setAddModalData = _useState27[1];
5594
+ var _useState31 = React.useState(defaultAddModalData),
5595
+ addModalData = _useState31[0],
5596
+ setAddModalData = _useState31[1];
5172
5597
  var onAddModalClose = function onAddModalClose() {
5173
5598
  setAddModalData(_extends({}, defaultAddModalData));
5174
5599
  };
@@ -5345,7 +5770,6 @@ var UserAddEdit = function UserAddEdit(props) {
5345
5770
  _value = args._value,
5346
5771
  _isError = args._isError,
5347
5772
  _errorMsg = args._errorMsg;
5348
- console.log(_name, _value);
5349
5773
  setEmployeeInfoInput(_extends({}, employeeInfoInput, (_extends8 = {}, _extends8[_name] = _value, _extends8)));
5350
5774
  updateError(_name, _isError, _errorMsg);
5351
5775
  if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
@@ -5379,7 +5803,6 @@ var UserAddEdit = function UserAddEdit(props) {
5379
5803
  var _extends12;
5380
5804
  var _name = _ref3._name,
5381
5805
  _value = _ref3._value;
5382
- console.log(_name, _value, 'travel');
5383
5806
  setTravelApproversInput(_extends({}, travelApproversInput, (_extends12 = {}, _extends12[_name] = _value, _extends12)));
5384
5807
  };
5385
5808
  var onExpenseApproversInputChange = function onExpenseApproversInputChange(_ref4) {
@@ -5581,6 +6004,11 @@ var UserAddEdit = function UserAddEdit(props) {
5581
6004
  }, [isTokenVerified]);
5582
6005
  React.useEffect(function () {
5583
6006
  if (isRendered === true) {
6007
+ renderFields === null || renderFields === void 0 ? void 0 : renderFields.products.forEach(function (prod) {
6008
+ if ((prod === null || prod === void 0 ? void 0 : prod.name) === 'card') {
6009
+ editUserId ? fetchEditUserCardsDetails(editUserId) : fetchLoggedUserCardsDetails();
6010
+ }
6011
+ });
5584
6012
  setPersonalInfoInput(_extends({}, personalInfoInput, {
5585
6013
  country_code: countryCode
5586
6014
  }));
@@ -5591,6 +6019,7 @@ var UserAddEdit = function UserAddEdit(props) {
5591
6019
  }
5592
6020
  }));
5593
6021
  dispatch(fetchCountryCodes()).then(function (_res) {
6022
+ setCountryContactCode(_res);
5594
6023
  if (isEditMode) {
5595
6024
  if (!isProfile && !editUserId) return false;
5596
6025
  dispatch(setStaticFieldsVisibility({
@@ -5701,7 +6130,8 @@ var UserAddEdit = function UserAddEdit(props) {
5701
6130
  var products = res.user_product.split('+');
5702
6131
  setProductAccess({
5703
6132
  travel: products.includes('travel'),
5704
- expense: products.includes('expense')
6133
+ expense: products.includes('expense'),
6134
+ card: products.includes('card')
5705
6135
  });
5706
6136
  if (products.includes('travel')) {
5707
6137
  var _res$travel_info, _res$travel_info2, _res$travel_info3, _res$travel_info4, _res$travel_info5, _res$travel_info6;
@@ -5912,13 +6342,15 @@ var UserAddEdit = function UserAddEdit(props) {
5912
6342
  IUIToastMessageService$4.warningNotify(checkAnyError);
5913
6343
  return Promise.resolve();
5914
6344
  }
5915
- console.log(employeeInfoInput, 'data');
5916
6345
  if (employeeInfoInput.manager_id.value !== '') {
5917
6346
  employeeInfoInput.manager_id = employeeInfoInput.manager.value;
5918
6347
  }
5919
6348
  if (employeeInfoInput.skip_manager_id.value !== '') {
5920
6349
  employeeInfoInput.skip_manager_id = employeeInfoInput.skip_manager.value;
5921
6350
  }
6351
+ var cardsPayload = {
6352
+ "roles": [cardsRole]
6353
+ };
5922
6354
  var payload = {
5923
6355
  personalInfoInput: personalInfoInput,
5924
6356
  employeeInfoInput: employeeInfoInput,
@@ -5937,7 +6369,9 @@ var UserAddEdit = function UserAddEdit(props) {
5937
6369
  uploadedFiles: uploadedFiles,
5938
6370
  filesForDelete: filesForDelete,
5939
6371
  profilePicDelete: profilePicDelete,
5940
- userTagType: userTagType
6372
+ userTagType: userTagType,
6373
+ cardsRole: cardsRole,
6374
+ isCardsAdmin: isCardsAdmin
5941
6375
  };
5942
6376
  if (verifyUserId) {
5943
6377
  payload.verifyUserId = verifyUserId;
@@ -5976,11 +6410,8 @@ var UserAddEdit = function UserAddEdit(props) {
5976
6410
  }
5977
6411
  }
5978
6412
  for (var _key in employeeInfo) {
5979
- console.log('key', _key);
5980
6413
  if (Object.hasOwnProperty.call(employeeInfo, _key)) {
5981
- var _employeeInfoInput$_k;
5982
- console.log('employeeInfo0000', (_employeeInfoInput$_k = employeeInfoInput[_key]) === null || _employeeInfoInput$_k === void 0 ? void 0 : _employeeInfoInput$_k.value, 'sajkdhjasj');
5983
- if (employeeInfo[_key] === false && employeeInfoInput[_key] !== undefined && (typeof employeeInfoInput[_key] === 'string' && !employeeInfoInput[_key] || typeof employeeInfoInput[_key] === 'object' && !employeeInfoInput[_key].value || !employeeInfoInput[_key].value) === '' && fieldsVisibility.employee_info[_key] !== 2) {
6414
+ if (employeeInfo[_key] === false && employeeInfoInput[_key] !== undefined && (typeof employeeInfoInput[_key] === 'string' && !employeeInfoInput[_key] || typeof employeeInfoInput[_key] === 'object' && !employeeInfoInput[_key].value) && fieldsVisibility.employee_info[_key] !== 2) {
5984
6415
  _isError = true;
5985
6416
  if (_errorArray.indexOf(_key) === -1) _errorArray.push(_key);
5986
6417
  _errorMsgs[_key] = ErrorMessages[_key];
@@ -6066,7 +6497,7 @@ var UserAddEdit = function UserAddEdit(props) {
6066
6497
  if (_isError) {
6067
6498
  setErrorArray(_errorArray);
6068
6499
  setErrorMsgs(_errorMsgs);
6069
- var _loop = function _loop() {
6500
+ var _loop3 = function _loop3() {
6070
6501
  if (Object.hasOwnProperty.call(_errorMsgs, _key3)) {
6071
6502
  if (_errorMsgs[_key3]) {
6072
6503
  if (_key3 in passportInfoInput || _key3 in travelPreferenceInfo || _key3 in secureTravelInputInfo) {
@@ -6086,115 +6517,109 @@ var UserAddEdit = function UserAddEdit(props) {
6086
6517
  }
6087
6518
  };
6088
6519
  for (var _key3 in _errorMsgs) {
6089
- if (_loop()) break;
6520
+ if (_loop3()) break;
6090
6521
  }
6091
6522
  }
6523
+ var cardApiflag = false;
6524
+ if (productAccess.card === false || isCardsAdmin === false) {
6525
+ cardApiflag = false;
6526
+ } else {
6527
+ cardApiflag = true;
6528
+ }
6092
6529
  if (!_isError) {
6093
6530
  if (isEditMode && editUserId || isProfile) {
6094
6531
  dispatch(showLoader());
6095
- dispatch(updateUser(payload, isProfile ? id : editUserId, inputChangeLog)).then(function (res) {
6096
- if (isProfile) {
6097
- var _config$routes, _config$routes$profil, _config$routes$profil2;
6098
- (config === null || config === void 0 ? void 0 : (_config$routes = config.routes) === null || _config$routes === void 0 ? void 0 : (_config$routes$profil = _config$routes.profile) === null || _config$routes$profil === void 0 ? void 0 : (_config$routes$profil2 = _config$routes$profil.redirectUrl) === null || _config$routes$profil2 === void 0 ? void 0 : _config$routes$profil2.submit) && history.push(config.routes.profile.redirectUrl.submit);
6099
- } else {
6100
- var _config$routes2, _config$routes2$users, _config$routes2$users2;
6101
- (config === null || config === void 0 ? void 0 : (_config$routes2 = config.routes) === null || _config$routes2 === void 0 ? void 0 : (_config$routes2$users = _config$routes2.users) === null || _config$routes2$users === void 0 ? void 0 : (_config$routes2$users2 = _config$routes2$users.list) === null || _config$routes2$users2 === void 0 ? void 0 : _config$routes2$users2.path) && history.push(config.routes.users.list.path);
6102
- }
6103
- setFilesForDelete([]);
6104
- setProfilePicDelete([]);
6105
- })["catch"](function (err) {
6106
- if (typeof err === 'object') {
6107
- if (err.country_code) {
6108
- err.contact_number = err.country_code;
6109
- }
6110
- if (err.contact_country_code) {
6111
- err.contact_number = err.contact_country_code;
6532
+ if (cardApiflag && !isProfile && editUserId !== (id === null || id === void 0 ? void 0 : id.toString())) {
6533
+ fetch(userAddEditUrl.cardsEditUserDetails(editUserId), {
6534
+ method: 'POST',
6535
+ body: JSON.stringify(cardsPayload),
6536
+ headers: {
6537
+ 'Content-Type': 'application/json',
6538
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
6112
6539
  }
6113
- if (err.passport) {
6114
- err.passport_photo = _extends({}, err.passport);
6115
- delete err.passport;
6116
- }
6117
- setErrorArray(Object.keys(err));
6118
- setErrorMsgs(err);
6119
- var _loop2 = function _loop2() {
6120
- if (Object.hasOwnProperty.call(err, _key4)) {
6121
- if (err[_key4]) {
6122
- if (_key4 in passportInfoInput || _key4 in travelPreferenceInfo || _key4 in secureTravelInputInfo) {
6123
- setAdditionalInfoFlag('open');
6124
- }
6125
- var el = document.getElementById(_key4 === 'country_code' || _key4 === 'contact_country_code' ? 'contact_number' : _key4);
6126
- if (el) {
6127
- setTimeout(function () {
6128
- el.scrollIntoView({
6129
- behavior: 'smooth',
6130
- block: 'center'
6131
- });
6132
- }, 500);
6133
- return 1;
6134
- }
6135
- }
6136
- }
6137
- };
6138
- for (var _key4 in err) {
6139
- if (_loop2()) break;
6540
+ }).then(function (response) {
6541
+ if (response.status === 200) {
6542
+ updateUserApiCall(payload, inputChangeLog);
6543
+ } else {
6544
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6140
6545
  }
6141
- } else if (typeof err === 'string') {
6142
- IUIToastMessageService$4.warningNotify(err);
6143
- } else {
6144
- IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6145
- }
6146
- })["finally"](function () {
6147
- dispatch(stopLoader());
6148
- });
6546
+ })["catch"](function (error) {
6547
+ console.log("errorrr", error);
6548
+ })["finally"](function () {
6549
+ dispatch(stopLoader());
6550
+ });
6551
+ } else {
6552
+ updateUserApiCall(payload, inputChangeLog);
6553
+ }
6149
6554
  } else {
6150
6555
  dispatch(showLoader());
6151
- dispatch(createUser(payload)).then(function (res) {
6152
- var _config$routes3, _config$routes3$users, _config$routes3$users2;
6153
- (config === null || config === void 0 ? void 0 : (_config$routes3 = config.routes) === null || _config$routes3 === void 0 ? void 0 : (_config$routes3$users = _config$routes3.users) === null || _config$routes3$users === void 0 ? void 0 : (_config$routes3$users2 = _config$routes3$users.list) === null || _config$routes3$users2 === void 0 ? void 0 : _config$routes3$users2.path) && history.push(config.routes.users.list.path);
6154
- })["catch"](function (err) {
6155
- if (typeof err === 'object') {
6156
- if (err.country_code) {
6157
- err.contact_number = err.country_code;
6158
- }
6159
- if (err.contact_country_code) {
6160
- err.contact_number = err.contact_country_code;
6161
- }
6162
- if (err.passport) {
6163
- err.passport_photo = _extends({}, err.passport);
6164
- delete err.passport;
6556
+ if (cardApiflag === true) {
6557
+ dispatch(createUser(payload)).then(function (res) {
6558
+ var _config$routes4, _config$routes4$users, _config$routes4$users2;
6559
+ if (res !== null && res !== void 0 && res.user_id) {
6560
+ fetch(userAddEditUrl.cardsEditUserDetails(res === null || res === void 0 ? void 0 : res.user_id), {
6561
+ method: 'POST',
6562
+ body: JSON.stringify(cardsPayload),
6563
+ headers: {
6564
+ 'Content-Type': 'application/json',
6565
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
6566
+ }
6567
+ }).then(function (response) {
6568
+ if (response.status !== 200) {
6569
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6570
+ }
6571
+ })["catch"](function (error) {
6572
+ console.log("errorrr", error);
6573
+ });
6165
6574
  }
6166
- setErrorArray(Object.keys(err));
6167
- setErrorMsgs(err);
6168
- var _loop3 = function _loop3() {
6169
- if (Object.hasOwnProperty.call(err, _key5)) {
6170
- if (err[_key5]) {
6171
- if (_key5 in passportInfoInput || _key5 in travelPreferenceInfo || _key5 in secureTravelInputInfo) {
6172
- setAdditionalInfoFlag('open');
6173
- }
6174
- var el = document.getElementById(_key5 === 'country_code' || _key5 === 'contact_country_code' ? 'contact_number' : _key5);
6175
- if (el) {
6176
- setTimeout(function () {
6177
- el.scrollIntoView({
6178
- behavior: 'smooth',
6179
- block: 'center'
6180
- });
6181
- }, 500);
6182
- return 1;
6575
+ (config === null || config === void 0 ? void 0 : (_config$routes4 = config.routes) === null || _config$routes4 === void 0 ? void 0 : (_config$routes4$users = _config$routes4.users) === null || _config$routes4$users === void 0 ? void 0 : (_config$routes4$users2 = _config$routes4$users.list) === null || _config$routes4$users2 === void 0 ? void 0 : _config$routes4$users2.path) && history.push(config.routes.users.list.path);
6576
+ })["catch"](function (err) {
6577
+ if (typeof err === 'object') {
6578
+ if (err.country_code) {
6579
+ err.contact_number = err.country_code;
6580
+ }
6581
+ if (err.contact_country_code) {
6582
+ err.contact_number = err.contact_country_code;
6583
+ }
6584
+ if (err.passport) {
6585
+ err.passport_photo = _extends({}, err.passport);
6586
+ delete err.passport;
6587
+ }
6588
+ setErrorArray(Object.keys(err));
6589
+ setErrorMsgs(err);
6590
+ var _loop4 = function _loop4() {
6591
+ if (Object.hasOwnProperty.call(err, _key4)) {
6592
+ if (err[_key4]) {
6593
+ if (_key4 in passportInfoInput || _key4 in travelPreferenceInfo || _key4 in secureTravelInputInfo) {
6594
+ setAdditionalInfoFlag('open');
6595
+ }
6596
+ var el = document.getElementById(_key4 === 'country_code' || _key4 === 'contact_country_code' ? 'contact_number' : _key4);
6597
+ if (el) {
6598
+ setTimeout(function () {
6599
+ el.scrollIntoView({
6600
+ behavior: 'smooth',
6601
+ block: 'center'
6602
+ });
6603
+ }, 500);
6604
+ return 1;
6605
+ }
6183
6606
  }
6184
6607
  }
6608
+ };
6609
+ for (var _key4 in err) {
6610
+ if (_loop4()) break;
6185
6611
  }
6186
- };
6187
- for (var _key5 in err) {
6188
- if (_loop3()) break;
6612
+ } else if (typeof err === 'string') {
6613
+ IUIToastMessageService$4.warningNotify(err);
6614
+ } else {
6615
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6189
6616
  }
6190
- } else if (typeof err === 'string') {
6191
- IUIToastMessageService$4.warningNotify(err);
6192
- } else {
6193
- IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6194
- }
6195
- })["finally"](function () {
6196
- dispatch(stopLoader());
6197
- });
6617
+ })["finally"](function () {
6618
+ dispatch(stopLoader());
6619
+ });
6620
+ } else {
6621
+ createUserApiCall(payload);
6622
+ }
6198
6623
  }
6199
6624
  }
6200
6625
  return Promise.resolve();
@@ -6212,8 +6637,8 @@ var UserAddEdit = function UserAddEdit(props) {
6212
6637
  }
6213
6638
  }
6214
6639
  } else {
6215
- var _config$routes4, _config$routes4$users, _config$routes4$users2;
6216
- (config === null || config === void 0 ? void 0 : (_config$routes4 = config.routes) === null || _config$routes4 === void 0 ? void 0 : (_config$routes4$users = _config$routes4.users) === null || _config$routes4$users === void 0 ? void 0 : (_config$routes4$users2 = _config$routes4$users.list) === null || _config$routes4$users2 === void 0 ? void 0 : _config$routes4$users2.path) && history.push(config.routes.users.list.path);
6640
+ var _config$routes5, _config$routes5$users, _config$routes5$users2;
6641
+ (config === null || config === void 0 ? void 0 : (_config$routes5 = config.routes) === null || _config$routes5 === void 0 ? void 0 : (_config$routes5$users = _config$routes5.users) === null || _config$routes5$users === void 0 ? void 0 : (_config$routes5$users2 = _config$routes5$users.list) === null || _config$routes5$users2 === void 0 ? void 0 : _config$routes5$users2.path) && history.push(config.routes.users.list.path);
6217
6642
  }
6218
6643
  };
6219
6644
  var handleCustomFieldsNavigation = function handleCustomFieldsNavigation() {
@@ -6233,17 +6658,13 @@ var UserAddEdit = function UserAddEdit(props) {
6233
6658
  if (verifyUserId) {
6234
6659
  dispatch(showLoader());
6235
6660
  dispatch(verifyUserInfo(verifyUserId)).then(function (res) {
6661
+ setNewCountryCode(res === null || res === void 0 ? void 0 : res.country_contact_code);
6236
6662
  setPersonalInfoInput(function (prevState) {
6237
6663
  return _extends({}, prevState, {
6238
- first_name: res.fname,
6239
- last_name: res.lname,
6664
+ first_name: res.first_name,
6665
+ last_name: res.last_name,
6240
6666
  email: res.email,
6241
- contact_number: res.phone,
6242
- dob: function () {
6243
- var dt = new Date(res.dob);
6244
- var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
6245
- return dt.getDate() + " " + months[dt.getMonth()] + " " + dt.getFullYear();
6246
- }(),
6667
+ contact_number: res === null || res === void 0 ? void 0 : res.contact_number,
6247
6668
  gender: function () {
6248
6669
  if (res.gender === 'male') return 'Male';else if (res.gender === 'female') return 'Female';else if (res.gender === 'others') return 'Others';else return '';
6249
6670
  }()
@@ -6530,6 +6951,13 @@ var UserAddEdit = function UserAddEdit(props) {
6530
6951
  className: styles.productContainerGap
6531
6952
  }, renderFields.products.map(function (p, i) {
6532
6953
  p.readOnly = isProfile;
6954
+ if (p.id === 3 && !isCardsAdmin && !isProfile) {
6955
+ p.readOnly = true;
6956
+ p.disableText = "Only card admin can change this access.";
6957
+ } else if (p.id === 3 && editUserId === (id === null || id === void 0 ? void 0 : id.toString())) {
6958
+ p.readOnly = true;
6959
+ p.disableText = "You cannot update your own Card product";
6960
+ }
6533
6961
  return /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
6534
6962
  item: true,
6535
6963
  sm: 12,
@@ -6622,6 +7050,21 @@ var UserAddEdit = function UserAddEdit(props) {
6622
7050
  isProfile: isProfile,
6623
7051
  editUserId: editUserId,
6624
7052
  roles: renderFields.expenseRoles
7053
+ }), /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
7054
+ className: styles.dividerColor
7055
+ }), isCardsDetailsRendered && productAccess && productAccess.card && /*#__PURE__*/React__default.createElement(CardsField, {
7056
+ cardsConstants: cardsDetails.cardsConstants,
7057
+ type: "card",
7058
+ isProfile: isProfile,
7059
+ onRoleChange: function onRoleChange(_ref7) {
7060
+ var _value = _ref7._value;
7061
+ return setCardsRole(_value);
7062
+ },
7063
+ roleValue: cardsRole,
7064
+ roles: cardsDetails.cardsRoles,
7065
+ cardsAdmin: isCardsAdmin,
7066
+ editUserId: editUserId,
7067
+ loggedInUserId: id === null || id === void 0 ? void 0 : id.toString()
6625
7068
  }))) : /*#__PURE__*/React__default.createElement(VerificationError, {
6626
7069
  config: config,
6627
7070
  errMsg: hasVerificationError
@@ -8430,7 +8873,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
8430
8873
  cell: function cell(row) {
8431
8874
  return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8432
8875
  component: "div"
8433
- }, row.products.length > 0 ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8876
+ }, row.products.length > 0 ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !row.products[0].role.toLowerCase().includes("holder") ? /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8434
8877
  component: "div",
8435
8878
  display: "flex"
8436
8879
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
@@ -8443,7 +8886,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
8443
8886
  style: {
8444
8887
  whiteSpace: 'nowrap'
8445
8888
  }
8446
- }, "\xA0" + row.products[0].role)), row.products[1] && /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8889
+ }, "\xA0" + row.products[0].role)) : "", row.products[1] && !row.products[1].role.toLowerCase().includes("holder") && /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8447
8890
  component: "div",
8448
8891
  display: "flex"
8449
8892
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
@@ -8456,7 +8899,20 @@ var StickyHeadTable = function StickyHeadTable(props) {
8456
8899
  style: {
8457
8900
  whiteSpace: 'nowrap'
8458
8901
  }
8459
- }, "\xA0" + row.products[1].role))) : '');
8902
+ }, "\xA0" + row.products[1].role)), row.products[2] && !row.products[2].role.toLowerCase().includes("holder") && /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8903
+ component: "div",
8904
+ display: "flex"
8905
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
8906
+ className: clsx(styles$5.rowText, styles$5.textTransform, styles$5.lightColor),
8907
+ style: {
8908
+ whiteSpace: 'nowrap'
8909
+ }
8910
+ }, row.products[2].name + ' / '), /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
8911
+ className: clsx(styles$5.rowText, styles$5.textTransform),
8912
+ style: {
8913
+ whiteSpace: 'nowrap'
8914
+ }
8915
+ }, "\xA0" + row.products[2].role))) : '');
8460
8916
  }
8461
8917
  }, {
8462
8918
  id: 'status',
@@ -8597,17 +9053,17 @@ var SingupRequests = function SingupRequests(props) {
8597
9053
  return dt.getDate() + " " + months[dt.getMonth()] + " " + dt.getFullYear();
8598
9054
  };
8599
9055
  var columns = [{
8600
- id: 'fname',
9056
+ id: 'first_name',
8601
9057
  label: 'Name',
8602
9058
  minWidth: 250,
8603
9059
  sortable: true,
8604
9060
  cell: function cell(row) {
8605
9061
  var _row$profile_pic2;
8606
9062
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIProfileBox, {
8607
- firstName: row.fname,
8608
- lastName: row.lname,
9063
+ firstName: row.first_name,
9064
+ lastName: row.last_name,
8609
9065
  isLetterAvatar: row.profile_pic && row.profile_pic.presigned_url ? false : true,
8610
- primaryText: row.fname + ' ' + row.lname,
9066
+ primaryText: row.first_name + ' ' + row.last_name,
8611
9067
  secondaryText: row.email,
8612
9068
  letterAvatarTextColor: "black",
8613
9069
  letterAvatarBackgroundColor: "#d3d3d3",
@@ -8616,7 +9072,7 @@ var SingupRequests = function SingupRequests(props) {
8616
9072
  }));
8617
9073
  }
8618
9074
  }, {
8619
- id: 'created',
9075
+ id: 'created_at',
8620
9076
  label: 'Requested on',
8621
9077
  minWidth: 100,
8622
9078
  sortable: true,
@@ -8626,7 +9082,7 @@ var SingupRequests = function SingupRequests(props) {
8626
9082
  width: 100
8627
9083
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
8628
9084
  className: clsx(styles$5.rowText, styles$5.textTransform)
8629
- }, formatDate(row.created)));
9085
+ }, formatDate(row.created_at)));
8630
9086
  }
8631
9087
  }, {
8632
9088
  id: 'actions',
@@ -8899,7 +9355,7 @@ var UserList = function UserList(_ref2) {
8899
9355
  var _React$useState11 = React__default.useState('asc'),
8900
9356
  signup_order = _React$useState11[0],
8901
9357
  setSignUpOrder = _React$useState11[1];
8902
- var _React$useState12 = React__default.useState('fname'),
9358
+ var _React$useState12 = React__default.useState('first_name'),
8903
9359
  signup_orderBy = _React$useState12[0],
8904
9360
  setSignUpOrderBy = _React$useState12[1];
8905
9361
  var _useState22 = React.useState(''),
@@ -8922,7 +9378,11 @@ var UserList = function UserList(_ref2) {
8922
9378
  }),
8923
9379
  signupRequestListInfo = _useSelector3.signupRequestListInfo;
8924
9380
  var redirectToNotifications = function redirectToNotifications() {
8925
- history.push(config.routes.notification.path);
9381
+ if (config.routes.notification) {
9382
+ history.push({
9383
+ pathname: config.routes.notification.path
9384
+ });
9385
+ }
8926
9386
  };
8927
9387
  var openDeactivateModal = function openDeactivateModal() {
8928
9388
  if (Object.values(selected).flat().length === 0 || Object.values(selected).flat() === undefined) {
@@ -9544,7 +10004,7 @@ var UserList = function UserList(_ref2) {
9544
10004
  variant: "body2",
9545
10005
  className: clsx(styles$5.description)
9546
10006
  }, "Verify and add users to allow them to start using ITILITE. Set up preferences for receiving sign up request updates in", ' ', /*#__PURE__*/React__default.createElement("span", {
9547
- onClick: config.routes.notification && redirectToNotifications,
10007
+ onClick: redirectToNotifications,
9548
10008
  className: clsx(config.routes.notification && 'iui__cursor-pointer iui__border--bottom_solid_black500-1')
9549
10009
  }, "Notifications"))), /*#__PURE__*/React__default.createElement(SingupRequests, {
9550
10010
  data: signupRequestListInfo,
@@ -10082,7 +10542,6 @@ function EditPanelDialog(_ref) {
10082
10542
  }, [rowData]);
10083
10543
  var history = reactRouterDom.useHistory();
10084
10544
  var handleAddPageNavigation = function handleAddPageNavigation() {
10085
- console.log(rowData);
10086
10545
  history.push({
10087
10546
  pathname: config.routes.users.add.path,
10088
10547
  state: rowData