ui-soxo-bootstrap-core 2.6.0 → 2.6.1-dev.10
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/.github/workflows/npm-publish.yml +49 -19
- package/core/components/extra-info/extra-info-details.js +2 -2
- package/core/components/menu-template-api/menu-template-api.js +2 -2
- package/core/lib/Store.js +3 -3
- package/core/lib/components/global-header/global-header.js +2 -2
- package/core/lib/components/sidemenu/sidemenu.js +19 -13
- package/core/lib/elements/basic/country-phone-input/country-phone-input.js +35 -60
- package/core/lib/elements/basic/country-phone-input/phone-input.scss +14 -0
- package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +1 -1
- package/core/lib/elements/basic/menu-tree/menu-tree.js +26 -13
- package/core/lib/models/forms/components/form-creator/form-creator.js +468 -502
- package/core/lib/models/forms/components/form-creator/form-creator.scss +5 -4
- package/core/lib/models/menus/components/menu-list/menu-list.js +424 -467
- package/core/lib/pages/change-password/change-password.js +17 -24
- package/core/lib/pages/change-password/change-password.scss +45 -48
- package/core/lib/pages/login/commnication-mode-selection.js +46 -0
- package/core/lib/pages/login/communication-mode-selection.scss +60 -0
- package/core/lib/pages/login/login.js +153 -24
- package/core/lib/pages/login/login.scss +229 -334
- package/core/lib/pages/login/reset-password.js +124 -0
- package/core/lib/pages/login/reset-password.scss +31 -0
- package/core/lib/pages/profile/themes.json +4 -4
- package/core/lib/utils/api/api.utils.js +71 -48
- package/core/lib/utils/common/common.utils.js +109 -0
- package/core/lib/utils/http/http.utils.js +1 -0
- package/core/lib/utils/index.js +25 -28
- package/core/models/base/base.js +7 -3
- package/core/models/core-scripts/core-scripts.js +9 -0
- package/core/models/doctor/components/doctor-add/doctor-add.js +9 -4
- package/core/models/menus/components/menu-add/menu-add.js +1 -1
- package/core/models/menus/components/menu-lists/menu-lists.js +5 -9
- package/core/models/menus/menus.js +21 -2
- package/core/models/roles/components/role-add/role-add.js +92 -59
- package/core/models/roles/components/role-list/role-list.js +1 -1
- package/core/models/roles/roles.js +9 -0
- package/core/models/staff/components/staff-add/staff-add.js +20 -32
- package/core/models/users/components/assign-role/assign-role.js +145 -50
- package/core/models/users/components/assign-role/assign-role.scss +209 -45
- package/core/models/users/components/assign-role/avatar-props.js +45 -0
- package/core/models/users/components/user-add/user-add.js +47 -56
- package/core/models/users/components/user-add/user-edit.js +25 -4
- package/core/models/users/users.js +34 -8
- package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.js +1 -1
- package/core/modules/reporting/components/reporting-dashboard/README.md +316 -0
- package/core/modules/reporting/components/reporting-dashboard/adavance-search/advance-search.js +120 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/build-display-columns.js +75 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/build-display-columns.test.js +74 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/display-cell-renderer.js +252 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/display-cell-renderer.test.js +126 -0
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +222 -376
- package/core/modules/steps/action-buttons.js +47 -45
- package/core/modules/steps/action-buttons.scss +35 -6
- package/core/modules/steps/steps.js +12 -10
- package/core/modules/steps/steps.scss +229 -31
- package/core/modules/steps/timeline.js +21 -19
- package/package.json +3 -2
- package/core/components/external-window/DEVELOPER_GUIDE.md +0 -705
|
@@ -6,7 +6,7 @@ import { Skeleton, Typography, message, Switch, Form, Input, Select, Checkbox, R
|
|
|
6
6
|
|
|
7
7
|
import AsyncSelect from 'react-select/async';
|
|
8
8
|
|
|
9
|
-
import { Table, Card, Button, JSONInput, GlobalContext } from './../../../../lib/';
|
|
9
|
+
import { Table, Card, Button, JSONInput, GlobalContext, safeJSON, CountryPhoneInput, phoneValidator } from './../../../../lib/';
|
|
10
10
|
|
|
11
11
|
import { ModelsAPI, PagesAPI, RolesAPI } from '../../..';
|
|
12
12
|
|
|
@@ -30,7 +30,7 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
30
30
|
const [selectedBranches, setSelectedBranches] = useState([]);
|
|
31
31
|
|
|
32
32
|
// for default branch
|
|
33
|
-
const [defaultBranch, setDefaultBranch] = useState(null);
|
|
33
|
+
// const [defaultBranch, setDefaultBranch] = useState(null);
|
|
34
34
|
//Need to check this condition
|
|
35
35
|
const [authentication, setAuthentication] = useState(false);
|
|
36
36
|
|
|
@@ -42,7 +42,7 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
42
42
|
const [selectedStaff, setSelectedStaff] = useState(null);
|
|
43
43
|
const [staffList, setStaffList] = useState([]);
|
|
44
44
|
/**Converting to JSON */
|
|
45
|
-
|
|
45
|
+
const firmDetails = safeJSON(user?.firm?.f_otherdetails1) ?? {};
|
|
46
46
|
|
|
47
47
|
/**Variable for cheaking mandatory condition of mobile*/
|
|
48
48
|
let mobileRequired;
|
|
@@ -95,7 +95,10 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
95
95
|
const [body, setBody] = useState(formContent);
|
|
96
96
|
|
|
97
97
|
const [isPasswordVisible, setIsPasswordVisible] = useState(false);
|
|
98
|
-
|
|
98
|
+
|
|
99
|
+
// state for doctor and staff visibility
|
|
100
|
+
const [doctorVisible, setDoctorVisible] = useState(false);
|
|
101
|
+
const [staffVisible, setStaffVisible] = useState(false);
|
|
99
102
|
|
|
100
103
|
const formData = {
|
|
101
104
|
...body,
|
|
@@ -270,8 +273,6 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
270
273
|
const getStaff = () => {
|
|
271
274
|
UsersAPI.getAllStaff()
|
|
272
275
|
.then((res) => {
|
|
273
|
-
console.log('Staff List Response:', res);
|
|
274
|
-
|
|
275
276
|
if (Array.isArray(res)) {
|
|
276
277
|
const list = res.map((staff) => ({
|
|
277
278
|
label: `${staff.shortName || 'No Name'} (${staff.id})`,
|
|
@@ -325,20 +326,25 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
325
326
|
}
|
|
326
327
|
if (!formContent) return;
|
|
327
328
|
|
|
328
|
-
// normalize branch ids to NUMBER
|
|
329
329
|
const org =
|
|
330
330
|
typeof formContent.organization_details === 'string' ? JSON.parse(formContent.organization_details) : formContent.organization_details;
|
|
331
331
|
|
|
332
|
+
// normalize branch ids to NUMBER
|
|
332
333
|
const branchIds = (org?.branch_ids || []).map(Number);
|
|
333
|
-
|
|
334
|
+
|
|
335
|
+
// find default branch pointer
|
|
336
|
+
const defaultBranchObj = org?.branch?.find((br) => br.defaultBranch);
|
|
337
|
+
|
|
338
|
+
// extract dbPtr (branch code)
|
|
339
|
+
const defaultBranchCode = defaultBranchObj?.branch_id ? Number(defaultBranchObj.branch_id) : undefined;
|
|
334
340
|
|
|
335
341
|
// state (for filtering)
|
|
336
342
|
setSelectedBranches(branchIds);
|
|
337
343
|
|
|
338
|
-
// form
|
|
344
|
+
// form values
|
|
339
345
|
form.setFieldsValue({
|
|
340
346
|
selectedBranches: branchIds,
|
|
341
|
-
defaultBranch:
|
|
347
|
+
defaultBranch: defaultBranchCode,
|
|
342
348
|
});
|
|
343
349
|
}, [formContent, form]);
|
|
344
350
|
// Generate branch options for Select component
|
|
@@ -351,6 +357,10 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
351
357
|
* Submit values
|
|
352
358
|
*/
|
|
353
359
|
const onSubmit = (values) => {
|
|
360
|
+
const mobileData = values.mobile;
|
|
361
|
+
|
|
362
|
+
const mobileWithCountryCode = `+${mobileData.code.dialCode}${mobileData.value}`;
|
|
363
|
+
|
|
354
364
|
values.defaultBranch = String(values.defaultBranch);
|
|
355
365
|
|
|
356
366
|
/**If PanelOpen is open and edit mode then password will be existing password else new password*/
|
|
@@ -372,6 +382,7 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
372
382
|
values = {
|
|
373
383
|
...values,
|
|
374
384
|
auth_type: 'LDAP',
|
|
385
|
+
mobile: mobileWithCountryCode,
|
|
375
386
|
FA: authentication,
|
|
376
387
|
};
|
|
377
388
|
|
|
@@ -538,31 +549,17 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
538
549
|
borderTop: '1px solid #f0f0f0',
|
|
539
550
|
color: '#1890ff',
|
|
540
551
|
}}
|
|
541
|
-
onClick={() =>
|
|
552
|
+
onClick={() => setDoctorVisible(true)}
|
|
542
553
|
>
|
|
543
554
|
+ Add New Doctor
|
|
544
555
|
</div>
|
|
545
556
|
</>
|
|
546
557
|
)}
|
|
547
558
|
/>
|
|
548
|
-
{/* Render DoctorAdd OUTSIDE the Select */}
|
|
549
|
-
<DoctorAdd
|
|
550
|
-
visible={visible}
|
|
551
|
-
onCancel={() => setVisible(false)}
|
|
552
|
-
attributes={attributes}
|
|
553
|
-
doctorData={selectedDoctor}
|
|
554
|
-
doctorId={doctorID}
|
|
555
|
-
onSuccess={getDoctors}
|
|
556
|
-
/>
|
|
557
559
|
</Form.Item>
|
|
558
560
|
)}
|
|
559
561
|
{userType === 'STAFF' && (
|
|
560
|
-
<Form.Item
|
|
561
|
-
name="staff_code"
|
|
562
|
-
preserve={false} // THIS FIXES IT
|
|
563
|
-
label="Staff Code"
|
|
564
|
-
rules={[{ required: true, message: 'Please select a staff code' }]}
|
|
565
|
-
>
|
|
562
|
+
<Form.Item name="staff_code" label="Staff Code" rules={[{ required: true, message: 'Please select a staff code' }]}>
|
|
566
563
|
<Select
|
|
567
564
|
placeholder="Select Code"
|
|
568
565
|
options={staffList}
|
|
@@ -581,18 +578,13 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
581
578
|
borderTop: '1px solid #f0f0f0',
|
|
582
579
|
color: '#1890ff',
|
|
583
580
|
}}
|
|
584
|
-
onClick={() =>
|
|
581
|
+
onClick={() => setStaffVisible(true)}
|
|
585
582
|
>
|
|
586
583
|
+ Add New Staff
|
|
587
584
|
</div>
|
|
588
585
|
</>
|
|
589
586
|
)}
|
|
590
587
|
/>
|
|
591
|
-
{/* Render DoctorAdd OUTSIDE the Select */}
|
|
592
|
-
|
|
593
|
-
<StaffAdd visible={visible} onCancel={() => setVisible(false)} staffData={selectedStaff} staffId={staffID} onSuccess={getStaff} />
|
|
594
|
-
|
|
595
|
-
<></>
|
|
596
588
|
</Form.Item>
|
|
597
589
|
)}
|
|
598
590
|
</Col>
|
|
@@ -610,23 +602,10 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
610
602
|
<Form.Item
|
|
611
603
|
name="mobile"
|
|
612
604
|
label="Mobile"
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
{
|
|
616
|
-
pattern: /^[0-9]{10}$/,
|
|
617
|
-
message: 'Mobile number must be exactly 10 digits',
|
|
618
|
-
},
|
|
619
|
-
]}
|
|
605
|
+
validateTrigger="onBlur"
|
|
606
|
+
rules={[{ required: true, message: 'Mobile number required' }, { validator: phoneValidator }]}
|
|
620
607
|
>
|
|
621
|
-
<
|
|
622
|
-
placeholder="Enter Mobile"
|
|
623
|
-
maxLength={10}
|
|
624
|
-
onKeyPress={(e) => {
|
|
625
|
-
if (!/[0-9]/.test(e.key)) {
|
|
626
|
-
e.preventDefault();
|
|
627
|
-
}
|
|
628
|
-
}}
|
|
629
|
-
/>
|
|
608
|
+
<CountryPhoneInput defaultCountryCode={process.env.REACT_APP_COUNTRYCODE} enableSearch inputStyle={{ width: '100%' }} />
|
|
630
609
|
</Form.Item>
|
|
631
610
|
</Col>
|
|
632
611
|
<Col span={8}>
|
|
@@ -669,7 +648,7 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
669
648
|
<Col span={8}>
|
|
670
649
|
{/* Default Branch */}
|
|
671
650
|
<Form.Item label="Default Branch" name="defaultBranch" rules={[{ required: true, message: 'Please select default branch' }]}>
|
|
672
|
-
<Select placeholder="Select Default Branch"
|
|
651
|
+
<Select placeholder="Select Default Branch">
|
|
673
652
|
{branchOptions
|
|
674
653
|
.filter((opt) => selectedBranches.includes(Number(opt.value)))
|
|
675
654
|
.map((opt) => (
|
|
@@ -682,15 +661,20 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
682
661
|
</Col>
|
|
683
662
|
</Row>
|
|
684
663
|
<Row gutter={16}>
|
|
664
|
+
<Col span={8}>
|
|
665
|
+
<Form.Item name="user_group" label="User Group" rules={[{ required: true, message: 'Please enter your user group' }]}>
|
|
666
|
+
<Input placeholder="Enter User Group" />
|
|
667
|
+
</Form.Item>
|
|
668
|
+
</Col>
|
|
685
669
|
<Col span={8}>
|
|
686
670
|
{formContent?.id ? (
|
|
687
671
|
<>
|
|
688
|
-
<Form.Item>
|
|
672
|
+
{/* <Form.Item>
|
|
689
673
|
<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
|
|
690
674
|
<Checkbox onChange={handleCheackChange} />
|
|
691
675
|
<span>Select the option if you want to change the password</span>
|
|
692
676
|
</div>
|
|
693
|
-
</Form.Item>
|
|
677
|
+
</Form.Item> */}
|
|
694
678
|
|
|
695
679
|
{isPasswordVisible && (
|
|
696
680
|
<Form.Item
|
|
@@ -743,11 +727,7 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
743
727
|
{/* Path Ends */}
|
|
744
728
|
|
|
745
729
|
{/* Path */}
|
|
746
|
-
|
|
747
|
-
<Form.Item name="user_group" label="User Group" rules={[{ required: true, message: 'Please enter your user group' }]}>
|
|
748
|
-
<Input placeholder="Enter User Group" />
|
|
749
|
-
</Form.Item>
|
|
750
|
-
</Col>
|
|
730
|
+
|
|
751
731
|
{/* <Col span={8}>
|
|
752
732
|
<Form.Item name="role_id" label="Role" rules={[{ required: true, message: 'Please select a Role' }]}>
|
|
753
733
|
<Select placeholder="Select Role">
|
|
@@ -846,6 +826,17 @@ const UserAdd = ({ model, callback, edit, history, formContent, match, additiona
|
|
|
846
826
|
</Form.Item>
|
|
847
827
|
</Form>
|
|
848
828
|
)}
|
|
829
|
+
{/* Render DoctorAdd OUTSIDE the Select */}
|
|
830
|
+
<DoctorAdd
|
|
831
|
+
visible={doctorVisible}
|
|
832
|
+
onCancel={() => setDoctorVisible(false)}
|
|
833
|
+
// attributes={attributes}
|
|
834
|
+
doctorData={selectedDoctor}
|
|
835
|
+
doctorId={doctorID}
|
|
836
|
+
onSuccess={getDoctors}
|
|
837
|
+
/>
|
|
838
|
+
|
|
839
|
+
<StaffAdd visible={staffVisible} onCancel={() => setStaffVisible(false)} staffData={selectedStaff} staffId={staffID} onSuccess={getStaff} />
|
|
849
840
|
</section>
|
|
850
841
|
);
|
|
851
842
|
};
|
|
@@ -3,6 +3,7 @@ import { Modal, Button, Skeleton } from 'antd';
|
|
|
3
3
|
import { EditOutlined } from '@ant-design/icons';
|
|
4
4
|
import UserAdd from '../../../../models/users/components/user-add/user-add';
|
|
5
5
|
import { UsersAPI } from '../../..';
|
|
6
|
+
import { formatPhoneForForm } from '../../../../lib';
|
|
6
7
|
|
|
7
8
|
export default function UserEdit(record) {
|
|
8
9
|
const [visible, setVisible] = useState(false);
|
|
@@ -37,25 +38,35 @@ export default function UserEdit(record) {
|
|
|
37
38
|
} catch (e) {
|
|
38
39
|
orgDetails = {};
|
|
39
40
|
}
|
|
41
|
+
|
|
42
|
+
// find default branch pointer
|
|
43
|
+
const defaultBranchObj = orgDetails?.branch?.find((br) => br.defaultBranch);
|
|
44
|
+
|
|
45
|
+
// extract dbPtr (branch code)
|
|
46
|
+
const defaultBranchCode = defaultBranchObj?.branch_id ? Number(defaultBranchObj.branch_id) : undefined;
|
|
47
|
+
|
|
48
|
+
const formattedMobile = formatPhoneForForm(apiData.mobile);
|
|
49
|
+
|
|
40
50
|
// Construct mapped data object
|
|
41
51
|
const mappedData = {
|
|
42
52
|
id: apiData.id,
|
|
43
53
|
user_type: otherDetails.user_type || apiData.user_type,
|
|
44
54
|
name: apiData.name,
|
|
45
55
|
email: apiData.email,
|
|
46
|
-
mobile:
|
|
56
|
+
mobile: formattedMobile,
|
|
47
57
|
designation: apiData.designation_code,
|
|
48
|
-
department: apiData.department_id,
|
|
58
|
+
department: Number(apiData.department_id),
|
|
49
59
|
// Handle selected branches and default branch
|
|
50
60
|
organization_details: orgDetails,
|
|
51
61
|
selectedBranches: orgDetails.branch_ids || [],
|
|
52
|
-
defaultBranch:
|
|
62
|
+
defaultBranch: defaultBranchCode || null,
|
|
53
63
|
role_id: apiData.role_id,
|
|
54
64
|
password: apiData.password,
|
|
55
65
|
user_group: apiData.user_group,
|
|
56
66
|
// Handle doctor codes
|
|
57
67
|
default_code: apiData.doctor_code,
|
|
58
68
|
doctor_code: apiData.doctor_code,
|
|
69
|
+
staff_code: apiData.staff_id,
|
|
59
70
|
auth_type: apiData.auth_type,
|
|
60
71
|
FA: apiData.FA,
|
|
61
72
|
active: apiData.active ? true : false,
|
|
@@ -81,7 +92,17 @@ export default function UserEdit(record) {
|
|
|
81
92
|
<Skeleton active />
|
|
82
93
|
</div>
|
|
83
94
|
) : (
|
|
84
|
-
<UserAdd
|
|
95
|
+
<UserAdd
|
|
96
|
+
mode="Edit"
|
|
97
|
+
formContent={userData}
|
|
98
|
+
callback={() => {
|
|
99
|
+
setVisible(false);
|
|
100
|
+
if (record.callback) {
|
|
101
|
+
record.callback();
|
|
102
|
+
}
|
|
103
|
+
}}
|
|
104
|
+
edit={true}
|
|
105
|
+
/>
|
|
85
106
|
)}
|
|
86
107
|
</Modal>
|
|
87
108
|
</div>
|
|
@@ -149,7 +149,13 @@ class Users extends Base {
|
|
|
149
149
|
* @returns
|
|
150
150
|
*/
|
|
151
151
|
create = (formBody) => {
|
|
152
|
-
return ApiUtils.post({
|
|
152
|
+
return ApiUtils.post({
|
|
153
|
+
url: `users/create-user`,
|
|
154
|
+
formBody,
|
|
155
|
+
headers: {
|
|
156
|
+
db_ptr: 'nuraho',
|
|
157
|
+
},
|
|
158
|
+
});
|
|
153
159
|
};
|
|
154
160
|
|
|
155
161
|
/**
|
|
@@ -161,7 +167,7 @@ class Users extends Base {
|
|
|
161
167
|
return ApiUtils.get({
|
|
162
168
|
url: `branch-master/get-records`,
|
|
163
169
|
headers: {
|
|
164
|
-
db_ptr:
|
|
170
|
+
db_ptr: 'nuraho',
|
|
165
171
|
},
|
|
166
172
|
});
|
|
167
173
|
};
|
|
@@ -271,25 +277,35 @@ class Users extends Base {
|
|
|
271
277
|
* @returns
|
|
272
278
|
*/
|
|
273
279
|
updateUser = ({ id, formBody }) => {
|
|
274
|
-
return ApiUtils.put({
|
|
280
|
+
return ApiUtils.put({
|
|
281
|
+
url: `users/update-user/${id}`,
|
|
282
|
+
formBody,
|
|
283
|
+
headers: {
|
|
284
|
+
db_ptr: 'nuraho',
|
|
285
|
+
},
|
|
286
|
+
});
|
|
275
287
|
};
|
|
276
|
-
|
|
288
|
+
|
|
277
289
|
/* The `getUser` method is a function that takes an object with an `id` property as a parameter. It
|
|
278
290
|
then uses the `ApiUtils.get` function to make a GET request to the endpoint `users/` to fetch
|
|
279
291
|
user data based on the provided `id`. This method is used to retrieve a specific user's
|
|
280
292
|
information from the API. */
|
|
281
293
|
|
|
282
294
|
getUser = ({ id }) => {
|
|
283
|
-
return ApiUtils.get({
|
|
295
|
+
return ApiUtils.get({
|
|
296
|
+
url: `users/${id}`,
|
|
297
|
+
headers: {
|
|
298
|
+
db_ptr: 'nuraho',
|
|
299
|
+
},
|
|
300
|
+
});
|
|
284
301
|
};
|
|
285
|
-
|
|
302
|
+
/* The `getUserRole` method is a function that takes an object with an `id` property as a parameter.
|
|
286
303
|
It then uses the `ApiUtils.get` function to make a GET request to the endpoint `core-user-roles`
|
|
287
304
|
with the `user_id` parameter set to the provided `id`. This method is used to fetch the role or
|
|
288
305
|
roles associated with a specific user from the API. */
|
|
289
|
-
|
|
306
|
+
|
|
290
307
|
getUserRole = ({ id }) => {
|
|
291
308
|
return ApiUtils.get({ url: `core-user-roles?user_id=${id}&active=Y` });
|
|
292
|
-
|
|
293
309
|
};
|
|
294
310
|
|
|
295
311
|
/**
|
|
@@ -348,6 +364,16 @@ class Users extends Base {
|
|
|
348
364
|
url: 'staff/get-all-staff',
|
|
349
365
|
});
|
|
350
366
|
};
|
|
367
|
+
|
|
368
|
+
createForgotePassword = (formBody) => {
|
|
369
|
+
return ApiUtils.post({
|
|
370
|
+
url: `bookings/trigger-reset-password-link`,
|
|
371
|
+
formBody,
|
|
372
|
+
headers: {
|
|
373
|
+
db_ptr: 'nuraho',
|
|
374
|
+
},
|
|
375
|
+
});
|
|
376
|
+
};
|
|
351
377
|
}
|
|
352
378
|
|
|
353
379
|
export default Users;
|
|
@@ -207,7 +207,7 @@ export default function MenuDashboardCard({ record, selectedCardId, scope, dbPtr
|
|
|
207
207
|
|
|
208
208
|
'.statistic-card-container': {
|
|
209
209
|
'.ant-statistic-title': {
|
|
210
|
-
color: 'rgba(0, 0, 0, 0.
|
|
210
|
+
color: 'rgba(0, 0, 0, 0.85)',
|
|
211
211
|
fontSize: '10px',
|
|
212
212
|
marginBottom: '0px',
|
|
213
213
|
},
|