@campxdev/shared 0.5.4 → 0.5.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/shared",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "main": "./exports.ts",
5
5
  "scripts": {
6
6
  "start": "react-scripts start",
@@ -1,164 +1,164 @@
1
1
  import {
2
- Button,
3
- CircularProgress,
4
- Dialog,
5
- DialogTitle,
6
- IconButton,
7
- InputAdornment,
8
- Stack,
9
- styled,
10
- Typography,
11
- } from "@mui/material";
12
- import { isDevelopment } from "../constants/isDevelopment";
13
- import CloseIcon from "@mui/icons-material/Close";
14
- import { Visibility, VisibilityOff } from "@mui/icons-material";
15
- import React, { useState } from "react";
16
- import { useForm } from "react-hook-form";
17
- import { useModal } from "./DrawerWrapper/DrawerWrapper";
18
- import { FormTextField } from ".";
19
- import axios, { axiosErrorToast } from "../config/axios";
20
- import { toast } from "react-toastify";
2
+ Button,
3
+ CircularProgress,
4
+ Dialog,
5
+ DialogTitle,
6
+ IconButton,
7
+ InputAdornment,
8
+ Stack,
9
+ styled,
10
+ Typography,
11
+ } from '@mui/material'
12
+ import {isDevelopment} from '../constants/isDevelopment'
13
+ import CloseIcon from '@mui/icons-material/Close'
14
+ import {Visibility, VisibilityOff} from '@mui/icons-material'
15
+ import React, {useState} from 'react'
16
+ import {useForm} from 'react-hook-form'
17
+ import {useModal} from './DrawerWrapper/DrawerWrapper'
18
+ import {FormTextField} from '.'
19
+ import axios, {axiosErrorToast} from '../config/axios'
20
+ import {toast} from 'react-toastify'
21
21
 
22
22
  export interface DialogProps {
23
- open: boolean;
24
- onClose: any;
23
+ open: boolean
24
+ onClose: any
25
25
  }
26
26
 
27
27
  function ChangePassword(props: DialogProps) {
28
- const { onClose, open } = props;
29
- const handleClose = () => {
30
- onClose();
31
- };
32
- const modal = useModal();
28
+ const {onClose, open} = props
29
+ const handleClose = () => {
30
+ onClose()
31
+ }
32
+ const modal = useModal()
33
33
 
34
- const [showPassword, setShowPassword] = useState({
35
- oldPassword: false,
36
- newPassword: false,
37
- confirmPassword: false,
38
- });
39
- const [isLoading, setIsLoading] = useState(false);
40
- const { handleSubmit, control, reset } = useForm();
41
- const onSubmit = async (formData) => {
42
- setIsLoading(true);
43
- const { oldPassword, newPassword, confirmPassword } = formData;
44
- if (newPassword === confirmPassword) {
45
- try {
46
- await axios.post(
47
- isDevelopment
48
- ? "https://auth-api.campx.dev/auth/change-password"
49
- : "https://auth-api.campx.in/auth/change-password",
50
- {
51
- oldPassword,
52
- newPassword,
53
- }
54
- );
55
- toast.success("Password Changed Successfully");
56
- setIsLoading(false);
57
- reset();
58
- handleClose();
59
- } catch (error) {
60
- axiosErrorToast(error);
61
- setIsLoading(false);
62
- reset();
63
- handleClose();
64
- }
65
- } else {
66
- toast.error("New Password, Confirm Password must be same");
67
- setIsLoading(false);
68
- }
69
- };
34
+ const [showPassword, setShowPassword] = useState({
35
+ oldPassword: false,
36
+ newPassword: false,
37
+ confirmPassword: false,
38
+ })
39
+ const [isLoading, setIsLoading] = useState(false)
40
+ const {handleSubmit, control, reset} = useForm()
41
+ const onSubmit = async (formData) => {
42
+ setIsLoading(true)
43
+ const {oldPassword, newPassword, confirmPassword} = formData
44
+ if (newPassword === confirmPassword) {
45
+ try {
46
+ await axios.post(
47
+ isDevelopment
48
+ ? 'https://auth-api.campx.dev/auth/change-password'
49
+ : 'https://auth-api.campx.in/auth/change-password',
50
+ {
51
+ oldPassword,
52
+ newPassword,
53
+ }
54
+ )
55
+ toast.success('Password Changed Successfully')
56
+ setIsLoading(false)
57
+ reset()
58
+ handleClose()
59
+ } catch (error) {
60
+ axiosErrorToast(error)
61
+ setIsLoading(false)
62
+ reset()
63
+ handleClose()
64
+ }
65
+ } else {
66
+ toast.error('New Password, Confirm Password must be same')
67
+ setIsLoading(false)
68
+ }
69
+ }
70
70
 
71
- const fields = [
72
- { label: "Old Password", name: "oldPassword" },
73
- { label: "New Password", name: "newPassword" },
74
- { label: "Confirm Password", name: "confirmPassword" },
75
- ];
71
+ const fields = [
72
+ {label: 'Old Password', name: 'oldPassword'},
73
+ {label: 'New Password', name: 'newPassword'},
74
+ {label: 'Confirm Password', name: 'confirmPassword'},
75
+ ]
76
76
 
77
- return (
78
- <Dialog
79
- open={open}
80
- PaperProps={{
81
- sx: {
82
- borderRadius: "20px",
83
- width: "500px",
84
- padding: "20px",
85
- },
86
- }}
87
- >
88
- <StyledDialogTitle>
89
- <Typography variant="h3">Change Password</Typography>
90
- <IconButton onClick={handleClose}>
91
- <CloseIcon />
92
- </IconButton>
93
- </StyledDialogTitle>
94
- <form onSubmit={handleSubmit(onSubmit)}>
95
- <Stack gap={2} direction="column">
96
- {fields.map((item) => {
97
- return (
98
- <>
99
- <FormTextField
100
- label={item.label}
101
- control={control}
102
- name={item.name}
103
- type={showPassword[item.name] ? "text" : "password"}
104
- required
105
- InputProps={{
106
- endAdornment: (
107
- <InputAdornment position="end">
108
- <IconButton
109
- size="small"
110
- onClick={() =>
111
- setShowPassword((prev) => ({
112
- ...prev,
113
- [item.name]: !prev[item.name],
114
- }))
115
- }
116
- edge="end"
117
- >
118
- {showPassword[item.name] ? (
119
- <VisibilityOff />
120
- ) : (
121
- <Visibility />
122
- )}
123
- </IconButton>
124
- </InputAdornment>
125
- ),
126
- }}
127
- />
128
- </>
129
- );
130
- })}
77
+ return (
78
+ <Dialog
79
+ open={open}
80
+ PaperProps={{
81
+ sx: {
82
+ borderRadius: '20px',
83
+ width: '500px',
84
+ padding: '20px',
85
+ },
86
+ }}
87
+ >
88
+ <StyledDialogTitle>
89
+ <Typography variant='h3'>Change Password</Typography>
90
+ <IconButton onClick={handleClose}>
91
+ <CloseIcon />
92
+ </IconButton>
93
+ </StyledDialogTitle>
94
+ <form onSubmit={handleSubmit(onSubmit)}>
95
+ <Stack gap={2} direction='column'>
96
+ {fields.map((item) => {
97
+ return (
98
+ <>
99
+ <FormTextField
100
+ label={item.label}
101
+ control={control}
102
+ name={item.name}
103
+ type={showPassword[item.name] ? 'text' : 'password'}
104
+ required
105
+ InputProps={{
106
+ endAdornment: (
107
+ <InputAdornment position='end'>
108
+ <IconButton
109
+ size='small'
110
+ onClick={() =>
111
+ setShowPassword((prev) => ({
112
+ ...prev,
113
+ [item.name]: !prev[item.name],
114
+ }))
115
+ }
116
+ edge='end'
117
+ >
118
+ {showPassword[item.name] ? (
119
+ <VisibilityOff />
120
+ ) : (
121
+ <Visibility />
122
+ )}
123
+ </IconButton>
124
+ </InputAdornment>
125
+ ),
126
+ }}
127
+ />
128
+ </>
129
+ )
130
+ })}
131
131
 
132
- <Stack direction={"row"} gap={2} sx={{ marginTop: "20px" }}>
133
- <Button variant="outlined" onClick={handleClose}>
134
- Cancel
135
- </Button>
136
- <Button
137
- type="submit"
138
- endIcon={
139
- isLoading && (
140
- <CircularProgress
141
- style={{ color: "white" }}
142
- size="30px"
143
- thickness={1.7}
144
- />
145
- )
146
- }
147
- >
148
- Submit
149
- </Button>
150
- </Stack>
151
- </Stack>
152
- </form>
153
- </Dialog>
154
- );
132
+ <Stack direction={'row'} gap={2} sx={{marginTop: '20px'}}>
133
+ <Button variant='outlined' onClick={handleClose}>
134
+ Cancel
135
+ </Button>
136
+ <Button
137
+ type='submit'
138
+ endIcon={
139
+ isLoading && (
140
+ <CircularProgress
141
+ style={{color: 'white'}}
142
+ size='30px'
143
+ thickness={1.7}
144
+ />
145
+ )
146
+ }
147
+ >
148
+ Submit
149
+ </Button>
150
+ </Stack>
151
+ </Stack>
152
+ </form>
153
+ </Dialog>
154
+ )
155
155
  }
156
156
 
157
157
  const StyledDialogTitle = styled(DialogTitle)({
158
- display: "flex",
159
- alignItems: "center",
160
- justifyContent: "space-between",
161
- padding: "10px",
162
- marginBottom: "20px",
163
- });
164
- export default ChangePassword;
158
+ display: 'flex',
159
+ alignItems: 'center',
160
+ justifyContent: 'space-between',
161
+ padding: '10px',
162
+ marginBottom: '20px',
163
+ })
164
+ export default ChangePassword
@@ -9,16 +9,17 @@ import {ToastContainer} from '../components'
9
9
  import LoginFormProvider from './LoginFormProvider'
10
10
  import {ReactNode} from 'react'
11
11
  import {isDevelopment} from '../constants'
12
+ import useAppInit from '../hooks/useAppInit'
13
+ import Cookies from 'js-cookie'
12
14
 
13
- export default function Providers({
14
- children,
15
- basename,
16
- }: {
17
- children: ReactNode
18
- basename?: string
19
- }) {
15
+ export const campxTenantKey = Cookies.get('campx_tenant')
16
+
17
+ export default function Providers({children}: {children: ReactNode}) {
18
+ const {isInvalid} = useAppInit()
19
+
20
+ if (isInvalid) return <InvalidClientKey />
20
21
  return (
21
- <BrowserRouter basename={isDevelopment ? 'campx_dev' : basename}>
22
+ <BrowserRouter basename={isDevelopment ? 'campx_dev' : campxTenantKey}>
22
23
  <QueryClientProvider>
23
24
  <MuiThemeProvider>
24
25
  <DialogProvider>
@@ -33,3 +34,19 @@ export default function Providers({
33
34
  </BrowserRouter>
34
35
  )
35
36
  }
37
+
38
+ const InvalidClientKey = () => {
39
+ return (
40
+ <div
41
+ style={{
42
+ height: '95vh',
43
+ width: '95vw',
44
+ display: 'grid',
45
+ placeItems: 'center',
46
+ fontFamily: 'sans-serif',
47
+ }}
48
+ >
49
+ <h1>Invalid Tenant Key</h1>
50
+ </div>
51
+ )
52
+ }
@@ -0,0 +1,22 @@
1
+ import Cookies from 'js-cookie'
2
+ import {useEffect, useState} from 'react'
3
+ import {isDevelopment} from '../constants'
4
+ import {campxTenantKey} from '../contexts/Providers'
5
+
6
+ export default function useAppInit() {
7
+ const [isInvalid, setIsInvalid] = useState(false)
8
+ useEffect(() => {
9
+ if (!isDevelopment && !campxTenantKey) {
10
+ setIsInvalid(true)
11
+ }
12
+
13
+ if (window.location.pathname === '/' && isDevelopment) {
14
+ Cookies.set('campx_tenant', 'campx_dev')
15
+ window.location.href = window.location.origin + '/campx_dev'
16
+ }
17
+ }, [])
18
+
19
+ return {
20
+ isInvalid,
21
+ }
22
+ }
@@ -1,82 +1,84 @@
1
- import { useEffect, useState } from "react";
2
- import { useQuery } from "react-query";
3
- import { toast } from "react-toastify";
4
- import axios from "../config/axios";
5
- import { isDevelopment } from "../constants";
6
- import { useLoginForm } from "../contexts/LoginFormProvider";
7
- import { PermissionsStore } from "../permissions";
8
- import { AssetsStore, UserStore } from "../shared-state";
1
+ import {useEffect, useState} from 'react'
2
+ import {useQuery} from 'react-query'
3
+ import {toast} from 'react-toastify'
4
+ import axios from '../config/axios'
5
+ import {isDevelopment} from '../constants'
6
+ import {useLoginForm} from '../contexts/LoginFormProvider'
7
+ import {PermissionsStore} from '../permissions'
8
+ import {AssetsStore, UserStore} from '../shared-state'
9
9
 
10
- const url = window.location.origin;
10
+ const url = window.location.origin
11
11
 
12
12
  function useAuth(): {
13
- loading: boolean;
14
- data: {
15
- user?: any;
16
- roles?: any;
17
- username?: any;
18
- permissions?: any;
19
- assets?: {
20
- logo: string;
21
- logo_square: string;
22
- };
23
- };
13
+ loading: boolean
14
+ data: {
15
+ user?: any
16
+ roles?: any
17
+ username?: any
18
+ permissions?: any
19
+ assets?: {
20
+ logo: string
21
+ logo_square: string
22
+ }
23
+ }
24
24
  } {
25
- const { openLoginForm } = useLoginForm();
26
- const [loading, setLoading] = useState<boolean>(false);
27
- const [data, setData] = useState(null);
28
- const [payLogo, setPayLogo] = useState(null);
29
- const appInit = async () => {
30
- setLoading(true);
25
+ const {openLoginForm} = useLoginForm()
26
+ const [loading, setLoading] = useState<boolean>(false)
27
+ const [data, setData] = useState(null)
28
+ const appInit = async () => {
29
+ setLoading(true)
31
30
 
32
- axios
33
- .get("/auth/my-permissions")
34
- .then((res) => {
35
- console.log(res.data);
36
- setLoading(false);
37
- setData(res.data);
38
- UserStore.update((s) => {
39
- s.username = res.data?.username;
40
- s.user = res.data?.user;
41
- s.roles = res.data?.roles;
42
- });
31
+ axios
32
+ .get('/auth/my-permissions')
33
+ .then((res) => {
34
+ console.log(res.data)
35
+ setLoading(false)
36
+ setData(res.data)
37
+ UserStore.update((s) => {
38
+ s.username = res.data?.username
39
+ s.user = res.data?.user
40
+ s.roles = res.data?.roles
41
+ })
43
42
 
44
- PermissionsStore.update((s) => {
45
- s.permissions = {
46
- ...res.data?.permissions,
47
- can_settings_view: 1,
48
- can_dashboard_view: 1,
49
- can_individual_pages_view: 1,
50
- } as any;
51
- });
52
- AssetsStore.update((s) => {
53
- s.logo = res.data?.assets.logo;
54
- s.logo_square = res.data?.assets.logo_square;
55
- });
56
- })
57
- .catch((err) => {
58
- setLoading(false);
59
- if (err.response.status !== 401) {
60
- toast.error("Server Error");
61
- }
62
- if (isDevelopment) {
63
- openLoginForm();
64
- } else {
65
- window.location.replace(
66
- `https://www.id.campx.in/?redirect_to=${url}`
67
- );
68
- }
69
- });
70
- };
43
+ PermissionsStore.update((s) => {
44
+ s.permissions = {
45
+ ...res.data?.permissions,
46
+ can_settings_view: 1,
47
+ can_dashboard_view: 1,
48
+ can_individual_pages_view: 1,
49
+ } as any
50
+ })
51
+ AssetsStore.update((s) => {
52
+ s.logo = res.data?.assets.logo
53
+ s.logo_square = res.data?.assets.logo_square
54
+ })
55
+ })
56
+ .catch((err) => {
57
+ setLoading(false)
58
+ if (err.response.status !== 401) {
59
+ toast.error('Server Error')
60
+ }
61
+ if (isDevelopment) {
62
+ openLoginForm()
63
+ } else {
64
+ window.location.replace(`https://www.id.campx.in/?redirect_to=${url}`)
65
+ }
66
+ })
67
+ }
71
68
 
72
- useEffect(() => {
73
- appInit();
74
- }, []);
69
+ useEffect(() => {
70
+ if (window.location.pathname === '/') {
71
+ if (isDevelopment) {
72
+ window.location.replace(window.location.origin + '/campx_dev')
73
+ }
74
+ }
75
+ appInit()
76
+ }, [])
75
77
 
76
- return {
77
- loading: loading || !data?.permissions,
78
- data,
79
- };
78
+ return {
79
+ loading: loading || !data?.permissions,
80
+ data,
81
+ }
80
82
  }
81
83
 
82
- export default useAuth;
84
+ export default useAuth
@@ -1,291 +1,295 @@
1
- import { Store } from "pullstate";
1
+ import {Store} from 'pullstate'
2
2
 
3
3
  export enum Permission {
4
- VIEW_AUDIT_LOGS = "can_view_audit_logs",
5
- STUDENTS_VIEW = "can_students_view",
6
- ADMISSIONS_VIEW = "can_admissions_view",
7
- USERS_VIEW = "can_users_view",
8
- SUBJECTS_VIEW = "can_subjects_view",
9
- COURSE_REGISTRATION_VIEW = "can_course_registration_view",
10
- END_SEMESTER_EXAMINATIONS_VIEW = "can_end_semester_examinations_view",
11
- INTERNAL_EXAMINATIONS_VIEW = "can_internal_examinations_view",
12
- VIEW_ANSWER_SHEET_REPORT = "can_view_answer_sheet_report",
13
- SEATING_PLAN = "can_examinations_seating_plan",
14
- VIEW_REPORTS = "can_results_processing_view_reports",
15
- CAN_ADD_FEED = "can_feed_add",
16
- MARKS_DIVISION = "can_examinations_manage_marks_division",
4
+ VIEW_AUDIT_LOGS = 'can_view_audit_logs',
5
+ STUDENTS_VIEW = 'can_students_view',
6
+ ADMISSIONS_VIEW = 'can_admissions_view',
7
+ USERS_VIEW = 'can_users_view',
8
+ SUBJECTS_VIEW = 'can_subjects_view',
9
+ COURSE_REGISTRATION_VIEW = 'can_course_registration_view',
10
+ END_SEMESTER_EXAMINATIONS_VIEW = 'can_end_semester_examinations_view',
11
+ INTERNAL_EXAMINATIONS_VIEW = 'can_internal_examinations_view',
12
+ VIEW_ANSWER_SHEET_REPORT = 'can_view_answer_sheet_report',
13
+ SEATING_PLAN = 'can_examinations_seating_plan',
14
+ VIEW_REPORTS = 'can_results_processing_view_reports',
15
+ CAN_ADD_FEED = 'can_feed_add',
16
+ MARKS_DIVISION = 'can_examinations_manage_marks_division',
17
17
 
18
- //classroom
18
+ //classroom
19
19
 
20
- CLASSROOM_VIEW = "can_classroom_view",
21
- CLASSROOM_EDIT = "can_classroom_edit",
22
- CLASSROOM_DELETE = "can_classroom_delete",
23
- CLASSROOM_ADD = "can_classroom_add",
20
+ CLASSROOM_VIEW = 'can_classroom_view',
21
+ CLASSROOM_EDIT = 'can_classroom_edit',
22
+ CLASSROOM_DELETE = 'can_classroom_delete',
23
+ CLASSROOM_ADD = 'can_classroom_add',
24
24
 
25
- // Tasks
25
+ // Tasks
26
26
 
27
- CAN_TASKS_ADD = "can_tasks_add",
28
- CAN_TASKS_DELETE = "can_tasks_delete",
29
- CAN_TASKS_EDIT = "can_tasks_edit",
30
- CAN_TASKS_VIEW = "can_tasks_view",
31
- CAN_TASKS_CHANGE_STATUS = "can_tasks_change_status",
32
- CAN_REVOKE_MARKS = "can_classroom_revoke_marks",
27
+ CAN_TASKS_ADD = 'can_tasks_add',
28
+ CAN_TASKS_DELETE = 'can_tasks_delete',
29
+ CAN_TASKS_EDIT = 'can_tasks_edit',
30
+ CAN_TASKS_VIEW = 'can_tasks_view',
31
+ CAN_TASKS_CHANGE_STATUS = 'can_tasks_change_status',
32
+ CAN_REVOKE_MARKS = 'can_classroom_revoke_marks',
33
33
 
34
- // Academic Calendar
34
+ // Academic Calendar
35
35
 
36
- ACADEMIC_CALENDAR_VIEW = "can_academic_calendar_view",
37
- ACADEMIC_CALENDAR_EVENT_ADD = "can_academic_calendar_event_add",
38
- ACADEMIC_CALENDAR_EVENT_EDIT = "can_academic_calendar_event_edit",
39
- ACADEMIC_CALENDAR_EVENT_DELETE = "can_academic_calendar_event_delete",
36
+ ACADEMIC_CALENDAR_VIEW = 'can_academic_calendar_view',
37
+ ACADEMIC_CALENDAR_EVENT_ADD = 'can_academic_calendar_event_add',
38
+ ACADEMIC_CALENDAR_EVENT_EDIT = 'can_academic_calendar_event_edit',
39
+ ACADEMIC_CALENDAR_EVENT_DELETE = 'can_academic_calendar_event_delete',
40
40
 
41
- //Designations
42
- DESIGNATIONS_ADD = "can_designations_add",
43
- DESIGNATIONS_DELETE = "can_designations_delete",
44
- DESIGNATIONS_EDIT = "can_designations_edit",
45
- DESIGNATIONS_VIEW = "can_designations_view",
41
+ //Designations
42
+ DESIGNATIONS_ADD = 'can_designations_add',
43
+ DESIGNATIONS_DELETE = 'can_designations_delete',
44
+ DESIGNATIONS_EDIT = 'can_designations_edit',
45
+ DESIGNATIONS_VIEW = 'can_designations_view',
46
46
 
47
- //bundling
47
+ //bundling
48
48
 
49
- BUNDLING_VIEW = "can_bundling_view",
50
- BUNDLING_ADD = "can_bundling_add",
51
- BUNDLING_EDIT = "can_bundling_edit",
52
- BUNDLING_DELETE = "can_bundling_delete",
49
+ BUNDLING_VIEW = 'can_bundling_view',
50
+ BUNDLING_ADD = 'can_bundling_add',
51
+ BUNDLING_EDIT = 'can_bundling_edit',
52
+ BUNDLING_DELETE = 'can_bundling_delete',
53
53
 
54
- // manage
55
- MANAGE_ROLES_AND_PROFILES = "can_manage_roles_and_profiles",
54
+ // manage
55
+ MANAGE_ROLES_AND_PROFILES = 'can_manage_roles_and_profiles',
56
56
 
57
- MANAGE_USER_GROUPS = "can_manage_user_groups",
58
- MANAGE_ASSESSMENTS = "can_manage_assessments",
59
- USERS_ADD = "can_users_add",
60
- USERS_EDIT = "can_users_edit",
61
- USERS_DELETE = "can_users_delete",
62
- USERS_REORDER = "can_users_reorder",
63
- USERS_UPLOAD_PHOTOS = "can_user_upload_photos",
64
- USERS_EXPORT = "can_users_export",
65
- ADMISSIONS_ADD = "can_admissions_add",
66
- ADMISSIONS_EDIT = "can_admissions_edit",
67
- ADMISSIONS_DELETE = "can_admissions_delete",
68
- ADMISSIONS_CHANGE_STATUS = "can_admissions_change_status",
69
- ADMISSIONS_IMPORT = "can_admissions_import",
70
- ADMISSIONS_EXPORT = "can_admissions_export",
71
- ADMISSIONS_CONFIRM = "can_admissions_confirm",
72
- STUDENTS_ADD = "can_students_add",
73
- STUDENTS_EDIT = "can_students_edit",
74
- STUDENTS_DELETE = "can_students_delete",
75
- STUDENTS_DETAIN = "can_students_detain",
76
- STUDENTS_IMPORT = "can_students_import",
77
- STUDENTS_EXPORT = "can_students_export",
78
- STUDENTS_RESULTS = "can_students_results",
79
- STUDENTS_UPLOAD_PHOTOS = "can_students_upload_photos",
80
- STUDENTS_TRANSFER = "can_students_transfer",
81
- STUDENTS_ALLOTMENT = "can_students_allotment",
82
- SUBJECTS_ADD = "can_subjects_add",
83
- SUBJECTS_EDIT = "can_subjects_edit",
84
- SUBJECTS_DELETE = "can_subjects_delete",
85
- SUBJECTS_EDIT_SUBJECT_INFO = "can_subjects_edit_subject_info",
86
- COURSE_REGISTRATION_ADD = "can_course_registration_add",
87
- COURSE_REGISTRATION_EDIT = "can_course_registration_edit",
88
- COURSE_REGISTRATION_DELETE = "can_course_registration_delete",
89
- END_SEMESTER_EXAMINATIONS_ADD = "can_end_semester_examinations_add",
90
- END_SEMESTER_EXAMINATIONS_EDIT = "can_end_semester_examinations_edit",
91
- END_SEMESTER_EXAMINATIONS_DELETE = "can_end_semester_examinations_delete",
92
- END_SEMESTER_EXAMINATIONS_SEATING_PLAN = "can_end_semester_examinations_seating_plan",
93
- END_SEMESTER_EXAMINATIONS_MANAGE_EXAM_FEE = "can_end_semester_examinations_manage_exam_fee",
94
- END_SEMESTER_EXAMINATIONS_D_FORMS = "can_end_semester_examinations_d_forms",
95
- END_SEMESTER_EXAMINATIONS_BUNDLING = "can_end_semester_examinations_bundling",
96
- END_SEMESTER_EXAMINATIONS_MARKS_ENTRY = "can_end_semester_examinations_marks_entry",
97
- END_SEMESTER_EXAMINATIONS_INVIGILATIONS = "can_end_semester_examinations_invigilations",
98
- INTERNAL_EXAMINATIONS_ADD = "can_internal_examinations_add",
99
- INTERNAL_EXAMINATIONS_EDIT = "can_internal_examinations_edit",
100
- INTERNAL_EXAMINATIONS_DELETE = "can_internal_examinations_delete",
101
- INTERNAL_EXAMINATIONS_MANAGE_EXAM_FEE = "can_internal_examinations_manage_exam_fee",
102
- INTERNAL_EXAMINATIONS_MANAGE_HALLTICKETS = "can_internal_examinations_manage_halltickets",
103
- INTERNAL_EXAMINATIONS_SEATING_PLAN = "can_internal_examinations_seating_plan",
104
- INTERNAL_EXAMINATIONS_INVIGILATIONS = "can_internal_examinations_invigilations",
105
- EXTRA_CURRICULAR_ACTIVITIES_NEWS_FEED = "can_extra_curricular_activities_news_feed",
106
- EXTRA_CURRICULAR_ACTIVITIES_CLUBS = "can_extra_curricular_activities_clubs",
107
- EXTRA_CURRICULAR_ACTIVITIES_EVENTS = "can_extra_curricular_activities_events",
108
- EDIT_ANSWER_SHEET_MARKS = "can_edit_answer_sheet_marks",
109
- EDIT_EXTERNAL_MARKS = "can_edit_external_marks",
110
- EXAM_COLLATERALS = "can_exam_collaterals",
111
- REVALUTION = "can_revaluation",
112
- EDIT_INTERNAL_MARKS = "can_edit_internal_marks",
113
- PROCESS_RESULTS = "can_process_results",
114
- CAN_PROGRAMS_ADD = "can_programs_add",
115
- CAN_PROGRAMS_DELETE = "can_programs_delete",
116
- CAN_PROGRAMS_EDIT = "can_programs_edit",
117
- CAN_PROGRAMS_VIEW = "can_programs_view",
118
- CAN_DEGRESS_ADD = "can_degrees_add",
119
- CAN_DEGRESS_DELETE = "can_degrees_delete",
120
- CAN_DEGRESS_EDIT = "can_degrees_edit",
121
- CAN_SETTINGS_VIEW = "can_settings_view",
122
- CAN_DASHBOARD_VIEW = "can_dashboard_view",
123
- CAN_DEGRESS_VIEW = "can_degrees_view",
124
- CAN_SEMESTERS_ADD = "can_semesters_add",
125
- CAN_SEMESTERS_DELETE = "can_semesters_delete",
126
- CAN_SEMESTERS_EDIT = "can_semesters_edit",
127
- CAN_SEMESTERS_VIEW = "can_semesters_view",
128
- CAN_CURRICULUMS_ADD = "can_curriculums_add",
129
- CAN_CURRICULUMS_DELETE = "can_curriculums_delete",
130
- CAN_CURRICULUMS_EDIT = "can_curriculums_edit",
131
- CAN_CURRICULUMS_VIEW = "can_curriculums_view",
132
- CAN_ASSESSMENT_RULES_ADD = "can_assessment_rules_add",
133
- CAN_ASSESSMENT_RULES_DELETE = "can_assessment_rules_delete",
134
- CAN_ASSESSMENT_RULES_EDIT = "can_assessment_rules_edit",
135
- CAN_ASSESSMENT_RULES_VIEW = "can_assessment_rules_view",
136
- CAN_RESULTS_PROCESSING_GENERATE_MEMOS = "can_results_processing_generate_memos",
137
- CAN_RESULTS_PROCESSING_MODERATION_AND_GRAFTING = "can_results_processing_moderation_and_grafting",
138
- CAN_RESULTS_PROCESSING_PUBLISH_RESULTS = "can_results_processing_publish_results",
139
- CAN_RESULTS_PROCESSING_UPDATE_INTERNAL_MARKS = "can_results_processing_update_internal_marks",
140
- CAN_RESULTS_PROCESSING_VIEW = "can_results_processing_view",
57
+ MANAGE_USER_GROUPS = 'can_manage_user_groups',
58
+ MANAGE_ASSESSMENTS = 'can_manage_assessments',
59
+ USERS_ADD = 'can_users_add',
60
+ USERS_EDIT = 'can_users_edit',
61
+ USERS_DELETE = 'can_users_delete',
62
+ USERS_REORDER = 'can_users_reorder',
63
+ USERS_UPLOAD_PHOTOS = 'can_user_upload_photos',
64
+ USERS_EXPORT = 'can_users_export',
65
+ ADMISSIONS_ADD = 'can_admissions_add',
66
+ ADMISSIONS_EDIT = 'can_admissions_edit',
67
+ ADMISSIONS_DELETE = 'can_admissions_delete',
68
+ ADMISSIONS_CHANGE_STATUS = 'can_admissions_change_status',
69
+ ADMISSIONS_IMPORT = 'can_admissions_import',
70
+ ADMISSIONS_EXPORT = 'can_admissions_export',
71
+ ADMISSIONS_CONFIRM = 'can_admissions_confirm',
72
+ STUDENTS_ADD = 'can_students_add',
73
+ STUDENTS_EDIT = 'can_students_edit',
74
+ STUDENTS_DELETE = 'can_students_delete',
75
+ STUDENTS_DETAIN = 'can_students_detain',
76
+ STUDENTS_IMPORT = 'can_students_import',
77
+ STUDENTS_EXPORT = 'can_students_export',
78
+ STUDENTS_RESULTS = 'can_students_results',
79
+ STUDENTS_UPLOAD_PHOTOS = 'can_students_upload_photos',
80
+ STUDENTS_TRANSFER = 'can_students_transfer',
81
+ STUDENTS_ALLOTMENT = 'can_students_allotment',
82
+ SUBJECTS_ADD = 'can_subjects_add',
83
+ SUBJECTS_EDIT = 'can_subjects_edit',
84
+ SUBJECTS_DELETE = 'can_subjects_delete',
85
+ SUBJECTS_EDIT_SUBJECT_INFO = 'can_subjects_edit_subject_info',
86
+ COURSE_REGISTRATION_ADD = 'can_course_registration_add',
87
+ COURSE_REGISTRATION_EDIT = 'can_course_registration_edit',
88
+ COURSE_REGISTRATION_DELETE = 'can_course_registration_delete',
89
+ END_SEMESTER_EXAMINATIONS_ADD = 'can_end_semester_examinations_add',
90
+ END_SEMESTER_EXAMINATIONS_EDIT = 'can_end_semester_examinations_edit',
91
+ END_SEMESTER_EXAMINATIONS_DELETE = 'can_end_semester_examinations_delete',
92
+ END_SEMESTER_EXAMINATIONS_SEATING_PLAN = 'can_end_semester_examinations_seating_plan',
93
+ END_SEMESTER_EXAMINATIONS_MANAGE_EXAM_FEE = 'can_end_semester_examinations_manage_exam_fee',
94
+ END_SEMESTER_EXAMINATIONS_D_FORMS = 'can_end_semester_examinations_d_forms',
95
+ END_SEMESTER_EXAMINATIONS_BUNDLING = 'can_end_semester_examinations_bundling',
96
+ END_SEMESTER_EXAMINATIONS_MARKS_ENTRY = 'can_end_semester_examinations_marks_entry',
97
+ END_SEMESTER_EXAMINATIONS_INVIGILATIONS = 'can_end_semester_examinations_invigilations',
98
+ INTERNAL_EXAMINATIONS_ADD = 'can_internal_examinations_add',
99
+ INTERNAL_EXAMINATIONS_EDIT = 'can_internal_examinations_edit',
100
+ INTERNAL_EXAMINATIONS_DELETE = 'can_internal_examinations_delete',
101
+ INTERNAL_EXAMINATIONS_MANAGE_EXAM_FEE = 'can_internal_examinations_manage_exam_fee',
102
+ INTERNAL_EXAMINATIONS_MANAGE_HALLTICKETS = 'can_internal_examinations_manage_halltickets',
103
+ INTERNAL_EXAMINATIONS_SEATING_PLAN = 'can_internal_examinations_seating_plan',
104
+ INTERNAL_EXAMINATIONS_INVIGILATIONS = 'can_internal_examinations_invigilations',
105
+ EXTRA_CURRICULAR_ACTIVITIES_NEWS_FEED = 'can_extra_curricular_activities_news_feed',
106
+ EXTRA_CURRICULAR_ACTIVITIES_CLUBS = 'can_extra_curricular_activities_clubs',
107
+ EXTRA_CURRICULAR_ACTIVITIES_EVENTS = 'can_extra_curricular_activities_events',
108
+ EDIT_ANSWER_SHEET_MARKS = 'can_edit_answer_sheet_marks',
109
+ EDIT_EXTERNAL_MARKS = 'can_edit_external_marks',
110
+ EXAM_COLLATERALS = 'can_exam_collaterals',
111
+ REVALUTION = 'can_revaluation',
112
+ EDIT_INTERNAL_MARKS = 'can_edit_internal_marks',
113
+ PROCESS_RESULTS = 'can_process_results',
114
+ CAN_PROGRAMS_ADD = 'can_programs_add',
115
+ CAN_PROGRAMS_DELETE = 'can_programs_delete',
116
+ CAN_PROGRAMS_EDIT = 'can_programs_edit',
117
+ CAN_PROGRAMS_VIEW = 'can_programs_view',
118
+ CAN_DEGRESS_ADD = 'can_degrees_add',
119
+ CAN_DEGRESS_DELETE = 'can_degrees_delete',
120
+ CAN_DEGRESS_EDIT = 'can_degrees_edit',
121
+ CAN_SETTINGS_VIEW = 'can_settings_view',
122
+ CAN_DASHBOARD_VIEW = 'can_dashboard_view',
123
+ CAN_DEGRESS_VIEW = 'can_degrees_view',
124
+ CAN_SEMESTERS_ADD = 'can_semesters_add',
125
+ CAN_SEMESTERS_DELETE = 'can_semesters_delete',
126
+ CAN_SEMESTERS_EDIT = 'can_semesters_edit',
127
+ CAN_SEMESTERS_VIEW = 'can_semesters_view',
128
+ CAN_CURRICULUMS_ADD = 'can_curriculums_add',
129
+ CAN_CURRICULUMS_DELETE = 'can_curriculums_delete',
130
+ CAN_CURRICULUMS_EDIT = 'can_curriculums_edit',
131
+ CAN_CURRICULUMS_VIEW = 'can_curriculums_view',
132
+ CAN_ASSESSMENT_RULES_ADD = 'can_assessment_rules_add',
133
+ CAN_ASSESSMENT_RULES_DELETE = 'can_assessment_rules_delete',
134
+ CAN_ASSESSMENT_RULES_EDIT = 'can_assessment_rules_edit',
135
+ CAN_ASSESSMENT_RULES_VIEW = 'can_assessment_rules_view',
136
+ CAN_RESULTS_PROCESSING_GENERATE_MEMOS = 'can_results_processing_generate_memos',
137
+ CAN_RESULTS_PROCESSING_MODERATION_AND_GRAFTING = 'can_results_processing_moderation_and_grafting',
138
+ CAN_RESULTS_PROCESSING_PUBLISH_RESULTS = 'can_results_processing_publish_results',
139
+ CAN_RESULTS_PROCESSING_UPDATE_INTERNAL_MARKS = 'can_results_processing_update_internal_marks',
140
+ CAN_RESULTS_PROCESSING_VIEW = 'can_results_processing_view',
141
141
 
142
- //newly added permissions
142
+ //newly added permissions
143
143
 
144
- CAN_PHD_FORM_VIEW = "can_admissions_view_phd_applications",
145
- CAN_PHD_FORM_DOWNLOAD = "can_admissions_download_phd_applications",
146
- CAN_CET_VIEW = "can_admissions_view_cet",
147
- CAN_CET_DOWNLOAD = "can_admissions_download_cet",
148
- CAN_HOSTELER_DASHBOARD_VIEW = "can_hosteler_dashboard_view",
149
- CAN_HOSTELER_VIEW = "can_hosteler_view",
150
- CAN_HOSTELER_ADD = "can_hosteler_add",
151
- CAN_HOSTELER_EDIT = "can_hosteler_edit",
152
- CAN_HOSTELER_CHANGE_STATUS = "can_hosteler_change_status",
153
- CAN_HOSTELER_FACE_DATA_RESET = "can_hosteler_face_data_reset",
154
- CAN_HOSTELER_FEE_PAYMENT_VIEW = "can_hosteler_fee_payments_view",
155
- CAN_HOSTELER_REPORTS_VIEW = "can_hosteler_reports_view",
156
- CAN_HOSTELER_SETTINGS_VIEW_CONFIGURATION = "can_hosteler_settings_view_configuration",
157
- CAN_HOSTELER_SETTINGS_EDIT_CONFIGURATION = "can_hosteler_settings_edit_configuration",
158
- CAN_HOSTELER_SETTINGS_ADD_FEE_TYPES = "can_hosteler_settings_add_fee_types",
159
- CAN_HOSTELER_SETTINGS_VIEW_FEE_TYPES = "can_hosteler_settings_view_fee_types",
160
- CAN_HOSTELER_SETTINGS_EDIT_FEE_TYPES = "can_hosteler_settings_edit_fee_types",
161
- CAN_HOSTELER_SETTINGS_DELETE_FEE_TYPES = "can_hosteler_settings_delete_fee_types",
162
- CAN_HOSTELERS_SETTINGS_BLOCK_VIEW = "can_hosteler_settings_blocks_view",
163
- CAN_HOSTELERS_SETTINGS_BLOCK_ADD = "can_hosteler_settings_blocks_add",
164
- CAN_HOSTELERS_SETTINGS_BLOCK_EDIT = "can_hosteler_settings_blocks_edit",
165
- CAN_HOSTELERS_SETTINGS_BLOCK_DELETE = "can_hosteler_settings_blocks_delete",
166
- CAN_HOSTELERS_SETTINGS_ROOMS_VIEW = "can_hosteler_settings_rooms_view",
167
- CAN_HOSTELERS_SETTINGS_ROOMS_ADD = "can_hosteler_settings_rooms_add",
168
- CAN_HOSTELERS_SETTINGS_ROOMS_EDIT = "can_hosteler_settings_rooms_edit",
169
- CAN_HOSTELERS_SETTINGS_ROOMS_DELETE = "can_hosteler_settings_rooms_delete",
170
- CAN_HOSTELERS_SETTINGS_ROOMS_IMPORT = "can_hosteler_settings_import_hostel_rooms",
171
- CAN_HOSTELERS_SETTINGS_AMENITIES_VIEW = "can_hosteler_settings_amenities_view",
172
- CAN_HOSTELERS_SETTINGS_AMENITIES_ADD = "can_hosteler_settings_amenities_add",
173
- CAN_HOSTELERS_SETTINGS_AMENITIES_EDIT = "can_hosteler_settings_amenities_edit",
174
- CAN_HOSTELERS_SETTINGS_AMENITIES_DELETE = "can_hosteler_settings_amenities_delete",
175
- CAN_ADMISSIONS_DASHBOARD_VIEW = "can_admission_dashboard_view",
176
- CAN_LEAD_STATUS_VIEW = "can_lead_status_view",
177
- CAN_LEAD_STATUS_EDIT = "can_lead_status_edit",
178
- CAN_LEAD_STATUS_ADD = "can_lead_status_add",
179
- CAN_LEAD_STATUS_DELETE = "can_lead_status_delete",
180
- SCHOOLS_VIEW = "can_schools_view",
181
- SCHOOLS_ADD = "can_schools_add",
182
- SCHOOLS_EDIT = "can_schools_edit",
183
- SCHOOLS_DELETE = "can_schools_delete",
184
- SUBJECT_TYPE_VIEW = "can_subject_types_view",
185
- SUBJECT_TYPE_ADD = "can_subject_types_add",
186
- SUBJECT_TYPE_EDIT = "can_subject_types_edit",
187
- SUBJECT_TYPE_DELETE = "can_subject_types_delete",
188
- ASSESSMENT_TYPE_VIEW = "can_assessment_types_view",
189
- ASSESSMENT_TYPE_ADD = "can_assessment_types_add",
190
- ASSESSMENT_TYPE_EDIT = "can_assessment_types_edit",
191
- ASSESSMENT_TYPE_DELETE = "can_assessment_types_delete",
192
- CLASSROOM_REPORTS = "can_classroom_reports",
193
- CLASSROOM_REASSIGN_FACULTY = "can_classroom_re_assign_faculty",
194
- CAN_INDIVIDUAL_PAGES_VIEW = "can_individual_pages_view",
144
+ CAN_PHD_FORM_VIEW = 'can_admissions_view_phd_applications',
145
+ CAN_PHD_FORM_DOWNLOAD = 'can_admissions_download_phd_applications',
146
+ CAN_CET_VIEW = 'can_admissions_view_cet',
147
+ CAN_CET_DOWNLOAD = 'can_admissions_download_cet',
148
+ CAN_HOSTELER_DASHBOARD_VIEW = 'can_hosteler_dashboard_view',
149
+ CAN_HOSTELER_VIEW = 'can_hosteler_view',
150
+ CAN_HOSTELER_ADD = 'can_hosteler_add',
151
+ CAN_HOSTELER_EDIT = 'can_hosteler_edit',
152
+ CAN_HOSTELER_CHANGE_STATUS = 'can_hosteler_change_status',
153
+ CAN_HOSTELER_FACE_DATA_RESET = 'can_hosteler_face_data_reset',
154
+ CAN_HOSTELER_FEE_PAYMENT_VIEW = 'can_hosteler_fee_payments_view',
155
+ CAN_HOSTELER_REPORTS_VIEW = 'can_hosteler_reports_view',
156
+ CAN_HOSTELER_SETTINGS_VIEW_CONFIGURATION = 'can_hosteler_settings_view_configuration',
157
+ CAN_HOSTELER_SETTINGS_EDIT_CONFIGURATION = 'can_hosteler_settings_edit_configuration',
158
+ CAN_HOSTELER_SETTINGS_ADD_FEE_TYPES = 'can_hosteler_settings_add_fee_types',
159
+ CAN_HOSTELER_SETTINGS_VIEW_FEE_TYPES = 'can_hosteler_settings_view_fee_types',
160
+ CAN_HOSTELER_SETTINGS_EDIT_FEE_TYPES = 'can_hosteler_settings_edit_fee_types',
161
+ CAN_HOSTELER_SETTINGS_DELETE_FEE_TYPES = 'can_hosteler_settings_delete_fee_types',
162
+ CAN_HOSTELERS_SETTINGS_BLOCK_VIEW = 'can_hosteler_settings_blocks_view',
163
+ CAN_HOSTELERS_SETTINGS_BLOCK_ADD = 'can_hosteler_settings_blocks_add',
164
+ CAN_HOSTELERS_SETTINGS_BLOCK_EDIT = 'can_hosteler_settings_blocks_edit',
165
+ CAN_HOSTELERS_SETTINGS_BLOCK_DELETE = 'can_hosteler_settings_blocks_delete',
166
+ CAN_HOSTELERS_SETTINGS_ROOMS_VIEW = 'can_hosteler_settings_rooms_view',
167
+ CAN_HOSTELERS_SETTINGS_ROOMS_ADD = 'can_hosteler_settings_rooms_add',
168
+ CAN_HOSTELERS_SETTINGS_ROOMS_EDIT = 'can_hosteler_settings_rooms_edit',
169
+ CAN_HOSTELERS_SETTINGS_ROOMS_DELETE = 'can_hosteler_settings_rooms_delete',
170
+ CAN_HOSTELERS_SETTINGS_ROOMS_IMPORT = 'can_hosteler_settings_import_hostel_rooms',
171
+ CAN_HOSTELERS_SETTINGS_AMENITIES_VIEW = 'can_hosteler_settings_amenities_view',
172
+ CAN_HOSTELERS_SETTINGS_AMENITIES_ADD = 'can_hosteler_settings_amenities_add',
173
+ CAN_HOSTELERS_SETTINGS_AMENITIES_EDIT = 'can_hosteler_settings_amenities_edit',
174
+ CAN_HOSTELERS_SETTINGS_AMENITIES_DELETE = 'can_hosteler_settings_amenities_delete',
175
+ CAN_ADMISSIONS_DASHBOARD_VIEW = 'can_admission_dashboard_view',
176
+ CAN_LEAD_STATUS_VIEW = 'can_lead_status_view',
177
+ CAN_LEAD_STATUS_EDIT = 'can_lead_status_edit',
178
+ CAN_LEAD_STATUS_ADD = 'can_lead_status_add',
179
+ CAN_LEAD_STATUS_DELETE = 'can_lead_status_delete',
180
+ SCHOOLS_VIEW = 'can_schools_view',
181
+ SCHOOLS_ADD = 'can_schools_add',
182
+ SCHOOLS_EDIT = 'can_schools_edit',
183
+ SCHOOLS_DELETE = 'can_schools_delete',
184
+ SUBJECT_TYPE_VIEW = 'can_subject_types_view',
185
+ SUBJECT_TYPE_ADD = 'can_subject_types_add',
186
+ SUBJECT_TYPE_EDIT = 'can_subject_types_edit',
187
+ SUBJECT_TYPE_DELETE = 'can_subject_types_delete',
188
+ ASSESSMENT_TYPE_VIEW = 'can_assessment_types_view',
189
+ ASSESSMENT_TYPE_ADD = 'can_assessment_types_add',
190
+ ASSESSMENT_TYPE_EDIT = 'can_assessment_types_edit',
191
+ ASSESSMENT_TYPE_DELETE = 'can_assessment_types_delete',
192
+ CLASSROOM_REPORTS = 'can_classroom_reports',
193
+ CLASSROOM_REASSIGN_FACULTY = 'can_classroom_re_assign_faculty',
194
+ CAN_INDIVIDUAL_PAGES_VIEW = 'can_individual_pages_view',
195
+ CAN_QUOTAS_EDIT = 'can_quotas_edit',
196
+ CAN_QUOTAS_DELETE = 'can_quotas_delete',
197
+ CAN_QUOTAS_ADD = 'can_quotas_add',
198
+ CAN_QUOTAS_VIEW = 'can_quotas_view',
195
199
  }
196
200
 
197
201
  export interface IPermissions {
198
- // view
199
- can_view_audit_logs: boolean;
200
- can_students_view: boolean;
201
- can_admissions_view: boolean;
202
- can_users_view: boolean;
203
- can_subjects_view: boolean;
204
- can_course_registration_view: boolean;
205
- can_end_semester_examinations_view: boolean;
206
- can_internal_examinations_view: boolean;
207
- can_view_answer_sheet_report: boolean;
208
- can_feed_add: boolean;
209
- can_classroom_view: boolean;
210
- can_classroom_edit: boolean;
211
- can_classroom_delete: boolean;
212
- can_classroom_add: boolean;
213
- can_tasks_view: boolean;
214
- can_classroom_revoke_marks: boolean;
215
- // manage
216
- can_manage_roles_and_profiles: boolean;
217
- can_manage_user_groups: boolean;
218
- can_manage_programs: boolean;
219
- can_manage_courses: boolean;
220
- can_manage_semesters: boolean;
221
- can_manage_curriculums: boolean;
222
- can_manage_assessments: boolean;
223
- can_users_add: boolean;
224
- can_users_edit: boolean;
225
- can_users_delete: boolean;
226
- can_users_reorder: boolean;
227
- can_admissions_add: boolean;
228
- can_admissions_edit: boolean;
229
- can_admissions_delete: boolean;
230
- can_admissions_change_status: boolean;
231
- can_admissions_import: boolean;
232
- can_admissions_export: boolean;
233
- can_admissions_confirm: boolean;
234
- can_students_add: boolean;
235
- can_students_edit: boolean;
236
- can_students_delete: boolean;
237
- can_students_detain: boolean;
238
- can_students_import: boolean;
239
- can_students_export: boolean;
240
- can_students_results: boolean;
241
- can_students_upload_photos: boolean;
242
- can_students_transfer: boolean;
243
- can_students_allotment: boolean;
244
- can_subjects_add: boolean;
245
- can_subjects_edit: boolean;
246
- can_subjects_delete: boolean;
247
- can_subjects_edit_subject_info: boolean;
248
- can_course_registration_add: boolean;
249
- can_course_registration_edit: boolean;
250
- can_course_registration_delete: boolean;
251
- can_end_semester_examinations_add: boolean;
252
- can_end_semester_examinations_edit: boolean;
253
- can_end_semester_examinations_delete: boolean;
254
- can_end_semester_examinations_seating_plan: boolean;
255
- can_end_semester_examinations_manage_exam_fee: boolean;
256
- can_end_semester_examinations_d_forms: boolean;
257
- can_end_semester_examinations_bundling: boolean;
258
- can_end_semester_examinations_marks_entry: boolean;
259
- can_end_semester_examinations_invigilations: boolean;
260
- can_examinations_seating_plan: boolean;
261
- can_internal_examinations_add: boolean;
262
- can_internal_examinations_edit: boolean;
263
- can_internal_examinations_delete: boolean;
264
- can_internal_examinations_manage_exam_fee: boolean;
265
- can_internal_examinations_manage_halltickets: boolean;
266
- can_internal_examinations_seating_plan: boolean;
267
- can_internal_examinations_invigilations: boolean;
268
- can_extra_curricular_activities_news_feed: boolean;
269
- can_extra_curricular_activities_clubs: boolean;
270
- can_extra_curricular_activities_events: boolean;
271
- can_edit_answer_sheet_marks: boolean;
272
- can_edit_external_marks: boolean;
273
- can_exam_collaterals: boolean;
274
- can_revalution: boolean;
275
- can_edit_internal_marks: boolean;
276
- can_process_results: boolean;
277
- can_generate_memos: boolean;
278
- can_individual_pages_view: boolean;
279
- can_tasks_add: boolean;
280
- can_tasks_edit: boolean;
281
- can_tasks_change_status: boolean;
282
- can_tasks_delete: boolean;
202
+ // view
203
+ can_view_audit_logs: boolean
204
+ can_students_view: boolean
205
+ can_admissions_view: boolean
206
+ can_users_view: boolean
207
+ can_subjects_view: boolean
208
+ can_course_registration_view: boolean
209
+ can_end_semester_examinations_view: boolean
210
+ can_internal_examinations_view: boolean
211
+ can_view_answer_sheet_report: boolean
212
+ can_feed_add: boolean
213
+ can_classroom_view: boolean
214
+ can_classroom_edit: boolean
215
+ can_classroom_delete: boolean
216
+ can_classroom_add: boolean
217
+ can_tasks_view: boolean
218
+ can_classroom_revoke_marks: boolean
219
+ // manage
220
+ can_manage_roles_and_profiles: boolean
221
+ can_manage_user_groups: boolean
222
+ can_manage_programs: boolean
223
+ can_manage_courses: boolean
224
+ can_manage_semesters: boolean
225
+ can_manage_curriculums: boolean
226
+ can_manage_assessments: boolean
227
+ can_users_add: boolean
228
+ can_users_edit: boolean
229
+ can_users_delete: boolean
230
+ can_users_reorder: boolean
231
+ can_admissions_add: boolean
232
+ can_admissions_edit: boolean
233
+ can_admissions_delete: boolean
234
+ can_admissions_change_status: boolean
235
+ can_admissions_import: boolean
236
+ can_admissions_export: boolean
237
+ can_admissions_confirm: boolean
238
+ can_students_add: boolean
239
+ can_students_edit: boolean
240
+ can_students_delete: boolean
241
+ can_students_detain: boolean
242
+ can_students_import: boolean
243
+ can_students_export: boolean
244
+ can_students_results: boolean
245
+ can_students_upload_photos: boolean
246
+ can_students_transfer: boolean
247
+ can_students_allotment: boolean
248
+ can_subjects_add: boolean
249
+ can_subjects_edit: boolean
250
+ can_subjects_delete: boolean
251
+ can_subjects_edit_subject_info: boolean
252
+ can_course_registration_add: boolean
253
+ can_course_registration_edit: boolean
254
+ can_course_registration_delete: boolean
255
+ can_end_semester_examinations_add: boolean
256
+ can_end_semester_examinations_edit: boolean
257
+ can_end_semester_examinations_delete: boolean
258
+ can_end_semester_examinations_seating_plan: boolean
259
+ can_end_semester_examinations_manage_exam_fee: boolean
260
+ can_end_semester_examinations_d_forms: boolean
261
+ can_end_semester_examinations_bundling: boolean
262
+ can_end_semester_examinations_marks_entry: boolean
263
+ can_end_semester_examinations_invigilations: boolean
264
+ can_examinations_seating_plan: boolean
265
+ can_internal_examinations_add: boolean
266
+ can_internal_examinations_edit: boolean
267
+ can_internal_examinations_delete: boolean
268
+ can_internal_examinations_manage_exam_fee: boolean
269
+ can_internal_examinations_manage_halltickets: boolean
270
+ can_internal_examinations_seating_plan: boolean
271
+ can_internal_examinations_invigilations: boolean
272
+ can_extra_curricular_activities_news_feed: boolean
273
+ can_extra_curricular_activities_clubs: boolean
274
+ can_extra_curricular_activities_events: boolean
275
+ can_edit_answer_sheet_marks: boolean
276
+ can_edit_external_marks: boolean
277
+ can_exam_collaterals: boolean
278
+ can_revalution: boolean
279
+ can_edit_internal_marks: boolean
280
+ can_process_results: boolean
281
+ can_generate_memos: boolean
282
+ can_individual_pages_view: boolean
283
+ can_tasks_add: boolean
284
+ can_tasks_edit: boolean
285
+ can_tasks_change_status: boolean
286
+ can_tasks_delete: boolean
283
287
  }
284
288
 
285
289
  interface IPermissionsStore {
286
- permissions: IPermissions;
290
+ permissions: IPermissions
287
291
  }
288
292
 
289
293
  export const PermissionsStore = new Store<IPermissionsStore>({
290
- permissions: null,
291
- });
294
+ permissions: null,
295
+ })
@@ -5,7 +5,7 @@ import {isDevelopment} from '../constants'
5
5
  export default function logout() {
6
6
  if (isDevelopment) {
7
7
  Cookies.remove('campx_session_key')
8
- window.location.href = '/'
8
+ window.location.href = window.location.origin + '/campx_dev'
9
9
  return
10
10
  }
11
11