You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
6.6 KiB

  1. import { lazy } from 'react';
  2. // project import
  3. import Loadable from 'components/Loadable';
  4. // import MainLayout from 'layout/MainLayout';
  5. const MainLayout = Loadable(lazy(() => import('layout/MainLayout')));
  6. import {isGranted, isGrantedAny} from "auth/utils";
  7. import { isPasswordExpiry } from "utils/Utils";
  8. // render - dashboard
  9. const DashboardDefault = Loadable(lazy(() => import('pages/Dashboard/GLD')));
  10. const ApplicationDetail = Loadable(lazy(() => import('pages/PublicNotice/Details_GLD')));
  11. const ApplicationSearch = Loadable(lazy(() => import('pages/PublicNotice/Search_GLD')));
  12. const ApplicationMarkAsPaidSearch = Loadable(lazy(() => import('pages/PublicNotice/Search_Mark_As_Paid_GLD')));
  13. const ProofSearch = Loadable(lazy(() => import('pages/Proof/Search_GLD')));
  14. const ProofCreate_FromApp = Loadable(lazy(() => import('pages/Proof/Create_FromApp')));
  15. const ProofReply_GLD = Loadable(lazy(() => import('pages/Proof/Reply_GLD')));
  16. const PaymentSearch_GLD = Loadable(lazy(() => import('pages/Payment/Search_GLD')));
  17. const PaymentDetails_GLD = Loadable(lazy(() => import('pages/Payment/Details_GLD')));
  18. const DemandNote_Create = Loadable(lazy(() => import('pages/DemandNote/Create')));
  19. const DemandNote_Export = Loadable(lazy(() => import('pages/DemandNote/Export')));
  20. const DemandNote_Search = Loadable(lazy(() => import('pages/DemandNote/Search')));
  21. const DemandNote_Details = Loadable(lazy(() => import('pages/DemandNote/Details')));
  22. const GFMIS_Search = Loadable(lazy(() => import('pages/GFMIS')));
  23. const UserMaintainPage = Loadable(lazy(() => import('pages/User/GLDUserProfile')));
  24. const SystemSetting = Loadable(lazy(() => import('pages/Setting/SystemSetting')));
  25. const AnnouncementDetails = Loadable(lazy(() => import('pages/Announcement/Details')));
  26. const AnnouncementSearch = Loadable(lazy(() => import('pages/Announcement/Search')));
  27. const EmailTemplatePage = Loadable(lazy(() => import('pages/EmailTemplate/Search_GLD')));
  28. const EmailTemplateDetailPage = Loadable(lazy(() => import('pages/EmailTemplate/Detail_GLD')));
  29. const HolidayPage = Loadable(lazy(() => import('pages/Holiday')));
  30. const GazetteIssuePage = Loadable(lazy(() => import('pages/GazetteIssue/index')));
  31. const DrImport = Loadable(lazy(() => import('pages/Setting/DrImport')));
  32. const AuditLogPage = Loadable(lazy(() => import('pages/AuditLog/index')));
  33. const ReconReportPage = Loadable(lazy(() => import('pages/Recon')));
  34. const ChangePasswordPage = Loadable(lazy(() => import('pages/User/ChangePasswordPage')));
  35. // ==============================|| MAIN ROUTING ||============================== //
  36. const GLDUserRoutes = {
  37. path: '/',
  38. element: <MainLayout />,
  39. children: [
  40. (
  41. isPasswordExpiry()?
  42. {
  43. path: '/',
  44. element: <ChangePasswordPage />
  45. }:
  46. {
  47. path: '/',
  48. element: <DashboardDefault />
  49. }
  50. ),
  51. {
  52. path: '/',
  53. children: [
  54. {
  55. path: '/dashboard',
  56. element: <DashboardDefault />
  57. },
  58. {
  59. path: '/application/:id',
  60. element: <ApplicationDetail/>
  61. },
  62. {
  63. path: '/application/search',
  64. element: <ApplicationSearch/>
  65. },
  66. isGranted(["MAINTAIN_PAYMENT"])?
  67. {
  68. path: '/application/markAsPaid/search',
  69. element: <ApplicationMarkAsPaidSearch/>
  70. }:{},
  71. isGrantedAny(["VIEW_PROOF","MAINTAIN_PROOF"])?{
  72. path: '/proof/search',
  73. element: <ProofSearch/>
  74. }:{},
  75. isGranted("MAINTAIN_PROOF")?
  76. {
  77. path: '/proof/create/:id',
  78. element: <ProofCreate_FromApp/>
  79. }:{},
  80. isGrantedAny(["VIEW_PROOF","MAINTAIN_PROOF"])?{
  81. path: '/proof/reply/:id',
  82. element: <ProofReply_GLD/>
  83. }:{},
  84. isGranted(["MAINTAIN_PAYMENT"])?
  85. {
  86. path: '/paymentPage/search',
  87. element: <PaymentSearch_GLD/>
  88. }:{},
  89. isGranted(["MAINTAIN_PAYMENT"])?
  90. {
  91. path: '/paymentPage/details/:id',
  92. element: <PaymentDetails_GLD/>
  93. }:{},
  94. isGranted(["MAINTAIN_DEMANDNOTE"])?
  95. {
  96. path: '/paymentPage/createDemandNote',
  97. element: <DemandNote_Create/>
  98. }:{},
  99. isGranted(["MAINTAIN_DEMANDNOTE"])?
  100. {
  101. path: '/paymentPage/exportGDN',
  102. element: <DemandNote_Export/>
  103. }:{},
  104. isGrantedAny(["VIEW_DEMANDNOTE","MAINTAIN_DEMANDNOTE"])?
  105. {
  106. path: '/paymentPage/demandNote',
  107. element: <DemandNote_Search/>
  108. }:{},
  109. isGrantedAny(["VIEW_DEMANDNOTE","MAINTAIN_DEMANDNOTE"])?
  110. {
  111. path: '/paymentPage/demandNote/details/:id',
  112. element: <DemandNote_Details/>
  113. }:{},
  114. isGranted("MAINTAIN_RECON") ?
  115. {
  116. path: '/paymentPage/reconReport',
  117. element: <ReconReportPage/>
  118. }:{},
  119. isGranted("MAINTAIN_RECON") ?
  120. {
  121. path: '/gfmis/search',
  122. element: <GFMIS_Search/>
  123. }:{},
  124. {
  125. path: '/user/profile',
  126. element: <UserMaintainPage />
  127. },
  128. isGranted("MAINTAIN_SETTING") ?
  129. {
  130. path: '/setting/sys',
  131. element: <SystemSetting />
  132. }:{},
  133. isGranted("MAINTAIN_ANNOUNCEMENT") ?
  134. {
  135. path: '/setting/announcement',
  136. element: <AnnouncementSearch />
  137. }:{},
  138. isGranted("MAINTAIN_ANNOUNCEMENT")?
  139. {
  140. path: '/setting/announcement/details/:id',
  141. element: <AnnouncementDetails />
  142. }:{},
  143. isGranted("MAINTAIN_EMAIL")?
  144. {
  145. path: '/setting/emailTemplate',
  146. element: <EmailTemplatePage/>
  147. }:{},
  148. isGranted("MAINTAIN_EMAIL")?
  149. {
  150. path: '/setting/emailTemplate/:id',
  151. element: <EmailTemplateDetailPage/>
  152. }:{},
  153. isGranted("MAINTAIN_GAZETTE_ISSUE")?
  154. {
  155. path: '/setting/holiday',
  156. element: <HolidayPage/>
  157. }:{},
  158. isGranted("MAINTAIN_GAZETTE_ISSUE")?
  159. {
  160. path: '/setting/gazetteissuepage',
  161. element: <GazetteIssuePage/>
  162. }:{},
  163. isGranted("MAINTAIN_DR")?
  164. {
  165. path: '/setting/drImport',
  166. element: <DrImport />
  167. }:{},
  168. {
  169. path: '/setting/auditLog',
  170. element: <AuditLogPage />
  171. },
  172. ]
  173. },
  174. ]
  175. };
  176. export default GLDUserRoutes;