mario-core 2.7.5 → 2.7.9

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.
@@ -0,0 +1,10 @@
1
+ declare const changePasswordSchema: import("yup/lib/object").OptionalObjectSchema<{
2
+ oldPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
3
+ newPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
4
+ confirmedNewPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
5
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
6
+ oldPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
7
+ newPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
8
+ confirmedNewPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
9
+ }>>;
10
+ export default changePasswordSchema;
@@ -18,5 +18,6 @@ declare const useUserDetail: (id?: string | undefined) => {
18
18
  edited: boolean;
19
19
  setEdited: import("react").Dispatch<import("react").SetStateAction<boolean>>;
20
20
  setEditedTrue: () => Promise<void>;
21
+ confirmChangePassword: (data: any) => Promise<void>;
21
22
  };
22
23
  export default useUserDetail;
package/dist/index.js CHANGED
@@ -1588,7 +1588,14 @@ var TheHeader = function TheHeader() {
1588
1588
  className: styles["header-logo"]
1589
1589
  })), React__default.createElement(react.CHeaderNav, {
1590
1590
  className: "pr-3"
1591
- }, !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, null)));
1591
+ }, React__default.createElement("a", {
1592
+ className: "mr-3",
1593
+ style: {
1594
+ color: '#000'
1595
+ },
1596
+ href: 'https://marioframework.com/mario-for-me-privacy-policy/',
1597
+ target: "blank"
1598
+ }, "Privacy Policy"), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, null)));
1592
1599
  };
1593
1600
 
1594
1601
  var TITLE$3 = "Not found";
@@ -4056,6 +4063,7 @@ var setUserList = toolkit.createAction("users/setUserList");
4056
4063
  var setStudentList = toolkit.createAction("users/setStudentList");
4057
4064
 
4058
4065
  var USER_URL = BASE_URL + "/api/user";
4066
+ var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
4059
4067
  var get$5 = function get(filter) {
4060
4068
  return api.get("" + USER_URL, {
4061
4069
  params: filter
@@ -4073,6 +4081,9 @@ var update$3 = function update(data) {
4073
4081
  var remove$3 = function remove(id) {
4074
4082
  return api["delete"](USER_URL + "/" + id);
4075
4083
  };
4084
+ var changePassword = function changePassword(formData) {
4085
+ return api.post(CHANGE_PASSWORD, formData);
4086
+ };
4076
4087
 
4077
4088
  var USER_URL$1 = "/admin/user";
4078
4089
  var CREATE_USER_URL = "/admin/create-user";
@@ -4520,7 +4531,7 @@ var useUserDetail = function useUserDetail(id) {
4520
4531
  }
4521
4532
  }, [id]);
4522
4533
  var backToList = React.useCallback(function (user) {
4523
- !!user ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
4534
+ !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
4524
4535
  }, []);
4525
4536
  var confirmData = React.useCallback(function (data) {
4526
4537
  try {
@@ -4577,6 +4588,37 @@ var useUserDetail = function useUserDetail(id) {
4577
4588
  return Promise.reject(e);
4578
4589
  }
4579
4590
  }, [id, file]);
4591
+
4592
+ var confirmChangePassword = function confirmChangePassword(data) {
4593
+ try {
4594
+ var _temp13 = function _temp13() {
4595
+ dispatch(setLoading(false));
4596
+ };
4597
+
4598
+ dispatch(setLoading(true));
4599
+
4600
+ var _temp14 = _catch(function () {
4601
+ return Promise.resolve(changePassword(data)).then(function () {
4602
+ dispatch(setAlert({
4603
+ type: "success",
4604
+ message: "Change password successfully"
4605
+ }));
4606
+ });
4607
+ }, function (e) {
4608
+ var _e$response, _e$response$data;
4609
+
4610
+ dispatch(setAlert({
4611
+ type: "danger",
4612
+ message: ((_e$response = e.response) === null || _e$response === void 0 ? void 0 : (_e$response$data = _e$response.data) === null || _e$response$data === void 0 ? void 0 : _e$response$data.title) || e.message
4613
+ }));
4614
+ });
4615
+
4616
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
4617
+ } catch (e) {
4618
+ return Promise.reject(e);
4619
+ }
4620
+ };
4621
+
4580
4622
  return {
4581
4623
  userDetail: userDetail,
4582
4624
  backToList: backToList,
@@ -4585,7 +4627,8 @@ var useUserDetail = function useUserDetail(id) {
4585
4627
  setFile: setFile,
4586
4628
  edited: edited,
4587
4629
  setEdited: setEdited,
4588
- setEditedTrue: setEditedTrue
4630
+ setEditedTrue: setEditedTrue,
4631
+ confirmChangePassword: confirmChangePassword
4589
4632
  };
4590
4633
  };
4591
4634
 
@@ -4597,8 +4640,15 @@ var userSchema = yup.object({
4597
4640
  roles: yup.array().of(yup.string()).min(1, "Role is required")
4598
4641
  });
4599
4642
 
4643
+ var changePasswordSchema = yup.object({
4644
+ oldPassword: yup.string().required("Current password is required"),
4645
+ newPassword: yup.string().required("New password is required"),
4646
+ confirmedNewPassword: yup.string().required("Confirm password is required")
4647
+ });
4648
+
4600
4649
  var CREATE_USER = "Create user";
4601
4650
  var EDIT_USER_HEADER = "Edit user";
4651
+ var CHANGE_PASSWORD$1 = "Change password";
4602
4652
  var ROLES = {
4603
4653
  ADMIN: "Admin",
4604
4654
  TEACHER: "Teacher",
@@ -4611,6 +4661,10 @@ var UserDetail = function UserDetail() {
4611
4661
  var _useParams = reactRouterDom.useParams(),
4612
4662
  id = _useParams.id;
4613
4663
 
4664
+ var user = reactRedux.useSelector(function (state) {
4665
+ return state.common.user;
4666
+ });
4667
+
4614
4668
  var _useUserDetail = useUserDetail(id),
4615
4669
  userDetail = _useUserDetail.userDetail,
4616
4670
  backToList = _useUserDetail.backToList,
@@ -4619,8 +4673,14 @@ var UserDetail = function UserDetail() {
4619
4673
  setFile = _useUserDetail.setFile,
4620
4674
  edited = _useUserDetail.edited,
4621
4675
  setEdited = _useUserDetail.setEdited,
4622
- setEditedTrue = _useUserDetail.setEditedTrue;
4676
+ setEditedTrue = _useUserDetail.setEditedTrue,
4677
+ confirmChangePassword = _useUserDetail.confirmChangePassword;
4623
4678
 
4679
+ var initialValueForm = {
4680
+ oldPassword: "",
4681
+ newPassword: "",
4682
+ confirmedNewPassword: ""
4683
+ };
4624
4684
  var header = !!id ? EDIT_USER_HEADER : CREATE_USER;
4625
4685
  var confirmText = !!id ? "Update" : "Create";
4626
4686
 
@@ -4826,7 +4886,82 @@ var UserDetail = function UserDetail() {
4826
4886
  style: {
4827
4887
  maxWidth: "100%"
4828
4888
  }
4829
- }))))), React__default.createElement(DetailActionButtons, {
4889
+ }))))), user.id === id ? React__default.createElement("div", null, React__default.createElement("h5", {
4890
+ className: "mt-3"
4891
+ }, CHANGE_PASSWORD$1), React__default.createElement(formik.Formik, {
4892
+ initialValues: initialValueForm,
4893
+ enableReinitialize: true,
4894
+ validationSchema: changePasswordSchema,
4895
+ onSubmit: function onSubmit(values) {
4896
+ confirmChangePassword(values);
4897
+ }
4898
+ }, function (formProps) {
4899
+ var values = formProps.values,
4900
+ touched = formProps.touched,
4901
+ errors = formProps.errors,
4902
+ handleChange = formProps.handleChange,
4903
+ handleSubmit = formProps.handleSubmit;
4904
+ return React__default.createElement(reactstrap.Row, {
4905
+ className: "pt-2 pb-5"
4906
+ }, React__default.createElement(reactstrap.Col, {
4907
+ md: 7
4908
+ }, React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(RequiredLabel$1, {
4909
+ text: "Current password"
4910
+ }), React__default.createElement(reactstrap.Input, {
4911
+ name: "oldPassword",
4912
+ type: "password",
4913
+ value: values.oldPassword,
4914
+ onChange: function onChange(e) {
4915
+ handleChange(e);
4916
+ setEditedTrue();
4917
+ },
4918
+ onBlur: handleBlur("subject"),
4919
+ placeholder: "Current password"
4920
+ }), touched.oldPassword && errors.oldPassword && React__default.createElement(ErrorHandler, {
4921
+ text: errors.oldPassword
4922
+ }))), React__default.createElement(reactstrap.Col, {
4923
+ md: 7
4924
+ }, React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(RequiredLabel$1, {
4925
+ text: "New password"
4926
+ }), React__default.createElement(reactstrap.Input, {
4927
+ name: "newPassword",
4928
+ type: "password",
4929
+ value: values.newPassword,
4930
+ onChange: function onChange(e) {
4931
+ handleChange(e);
4932
+ setEditedTrue();
4933
+ },
4934
+ onBlur: handleBlur("subject"),
4935
+ placeholder: "New password"
4936
+ }), touched.newPassword && errors.newPassword && React__default.createElement(ErrorHandler, {
4937
+ text: errors.newPassword
4938
+ }))), React__default.createElement(reactstrap.Col, {
4939
+ md: 7
4940
+ }, React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(RequiredLabel$1, {
4941
+ text: "Confirm password"
4942
+ }), React__default.createElement(reactstrap.Input, {
4943
+ name: "confirmedNewPassword",
4944
+ type: "password",
4945
+ value: values.confirmedNewPassword,
4946
+ onChange: function onChange(e) {
4947
+ handleChange(e);
4948
+ setEditedTrue();
4949
+ },
4950
+ onBlur: handleBlur("subject"),
4951
+ placeholder: "Confirm password"
4952
+ }), touched.confirmedNewPassword && errors.confirmedNewPassword && React__default.createElement(ErrorHandler, {
4953
+ text: errors.confirmedNewPassword
4954
+ }))), React__default.createElement(reactstrap.Col, {
4955
+ md: 12
4956
+ }, React__default.createElement(reactstrap.Button, {
4957
+ color: "primary",
4958
+ size: "sm",
4959
+ className: "px-4 pl-1 mr-2 ml-3",
4960
+ onClick: function onClick() {
4961
+ return handleSubmit();
4962
+ }
4963
+ }, "Save")));
4964
+ })) : null, React__default.createElement(DetailActionButtons, {
4830
4965
  confirmText: confirmText,
4831
4966
  onConfirm: handleSubmit,
4832
4967
  onCancel: backToList