@campxdev/shared 1.10.83 → 1.10.85

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": "1.10.83",
3
+ "version": "1.10.85",
4
4
  "main": "./exports.ts",
5
5
  "scripts": {
6
6
  "start": "react-scripts start",
@@ -1,18 +1,17 @@
1
- import { Alert, Box, Button, Divider, styled, Typography } from '@mui/material'
1
+ import { Alert, Box, Button, styled, Typography } from '@mui/material'
2
+ import Cookies from 'js-cookie'
2
3
  import { useEffect, useState } from 'react'
3
4
  import {
5
+ internalserver,
4
6
  nointernet,
5
7
  pagenotfound,
6
8
  permissiondenied,
7
9
  unauth,
8
- internalserver,
9
10
  } from '../../assets/images'
10
- import Cookies from 'js-cookie'
11
- import LoginForm from '../LoginForm'
12
- import { useModal } from '../DrawerWrapper/DrawerWrapper'
13
- import { PermissionsStore } from '../../shared-state'
14
11
  import axios from '../../config/axios'
15
12
  import { openRootModal } from '../../contexts/RootModal'
13
+ import { PermissionsStore } from '../../shared-state'
14
+ import { useModal } from '../DrawerWrapper/DrawerWrapper'
16
15
 
17
16
  const StyledAlert = styled(Alert)(({ theme }) => ({
18
17
  height: '60px',
@@ -171,6 +170,7 @@ export function UnAuth({ resetBoundary }) {
171
170
  process.env.NODE_ENV === 'development' ||
172
171
  origin?.slice(-2).join('.') === 'campx.dev'
173
172
  const sessionCookie = Cookies.get('campx_session_key')
173
+
174
174
  const appinit = async () => {
175
175
  setLoading(true)
176
176
  await axios
@@ -211,6 +211,12 @@ export function UnAuth({ resetBoundary }) {
211
211
  }
212
212
  }
213
213
 
214
+ useEffect(() => {
215
+ if (!isLocalHost) {
216
+ window.location.replace(`https://www.id.campx.in/?redirect_to=${url}`)
217
+ }
218
+ }, [isLocalHost])
219
+
214
220
  return (
215
221
  <>
216
222
  <StyledBox>
@@ -0,0 +1,105 @@
1
+ import { KeyboardArrowDown } from '@mui/icons-material'
2
+ import {
3
+ Autocomplete,
4
+ BoxProps,
5
+ Popper,
6
+ TextField,
7
+ alpha,
8
+ styled,
9
+ } from '@mui/material'
10
+
11
+ export const StyledAutocomplete = styled(Autocomplete)(({ theme }) => ({
12
+ '& .MuiAutocomplete-tag': {
13
+ border: '1px solid #D1D1D1',
14
+ background: '#F8F8F8',
15
+ borderRadius: '5px',
16
+ height: '38px',
17
+ '& .MuiSvgIcon-root': {
18
+ fontSize: '15px',
19
+ marginLeft: '5px',
20
+ fontWeight: 700,
21
+ color: theme.palette.secondary.main,
22
+ '&:hover': {
23
+ color: alpha(theme.palette.secondary.main, 0.8),
24
+ },
25
+ },
26
+ },
27
+ }))
28
+
29
+ export const StyledPopper = styled(Popper)(({ theme }) => ({
30
+ minWidth: 'fit-content',
31
+ '& .MuiPaper-root': {
32
+ borderRadius: '10px',
33
+ borderTopRightRadius: 0,
34
+ borderTopLeftRadius: 0,
35
+ boxShadow: '0px 4px 16px #0000000F',
36
+ marginTop: '1px',
37
+ '& .MuiAutocomplete-listbox': {
38
+ minWidth: '240px',
39
+ padding: '0px',
40
+ '& .MuiAutocomplete-option': {
41
+ padding: '15px',
42
+ borderBottom: '1px solid rgba(18, 18, 18, 0.1)',
43
+ },
44
+ },
45
+ '&::-webkit-scrollbar': {
46
+ width: '0.5em',
47
+ height: '0.5em',
48
+ },
49
+
50
+ '&::-webkit-scrollbar-thumb': {
51
+ backgroundColor: 'rgba(0, 0, 0, 0.15)',
52
+ borderRadius: '3px',
53
+
54
+ '&:hover': {
55
+ background: 'rgba(0, 0, 0, 0.2)',
56
+ },
57
+ },
58
+ },
59
+ }))
60
+
61
+ type Props = {
62
+ options: Array<{ label: string; value: any }>
63
+ value: { label: string; value: any }
64
+ onChange?: (value: any) => void
65
+ containerProps?: BoxProps
66
+ }
67
+ export const SearchSingleSelect = ({ options, value, onChange }: Props) => {
68
+ return (
69
+ <StyledAutocomplete
70
+ sx={{ legend: { display: 'none' } }}
71
+ fullWidth
72
+ multiple={false}
73
+ getOptionLabel={(option: any) => option?.label || ''}
74
+ options={options || []}
75
+ value={value}
76
+ onChange={(e, value) => {
77
+ onChange(value)
78
+ }}
79
+ isOptionEqualToValue={(option: any, value: any) =>
80
+ option?.value === value?.value
81
+ }
82
+ disableCloseOnSelect
83
+ PopperComponent={StyledPopper}
84
+ popupIcon={<KeyboardArrowDown />}
85
+ renderInput={(params) => {
86
+ console.log(params)
87
+ return (
88
+ <TextField
89
+ inputRef={(input) => {
90
+ if (input && value) {
91
+ input.style.width = `${value.label.length * 9}px`
92
+ }
93
+ }}
94
+ InputProps={{
95
+ ...params.InputProps,
96
+ endAdornment: <>{params.InputProps.endAdornment}</>,
97
+ }}
98
+ sx={{ minWidth: '220px' }}
99
+ {...params}
100
+ />
101
+ )
102
+ }}
103
+ />
104
+ )
105
+ }
@@ -1,9 +1,6 @@
1
- import { KeyboardArrowDown } from '@mui/icons-material'
2
- import { Box } from '@mui/material'
3
1
  import { urlTenantKey } from '../../contexts/Providers'
4
2
  import { InsititutionsStore } from '../../shared-state/InstitutionsStore'
5
- import { TextField } from '../Input'
6
- import { StyledAutocomplete, StyledPopper } from '../Input/MultiSelect'
3
+ import { SearchSingleSelect } from '../Input/SearchSingleSelect'
7
4
 
8
5
  export default function SchoolSwitch() {
9
6
  const { current, institutions } = InsititutionsStore.useState((s) => s)
@@ -18,40 +15,16 @@ export default function SchoolSwitch() {
18
15
  }
19
16
  const options =
20
17
  institutions?.map((item) => ({
21
- label: item.name,
22
- value: item.code,
18
+ label: item?.name,
19
+ value: item?.code,
23
20
  })) || []
21
+ const selectedOption = { label: current?.name, value: current?.code }
24
22
 
25
23
  return (
26
- <Box sx={{ legend: { display: 'none' } }}>
27
- <StyledAutocomplete
28
- multiple={false}
29
- sx={{
30
- minWidth: '220px',
31
- }}
32
- getOptionLabel={(option: any) => option?.label || ''}
33
- options={options || []}
34
- value={{ label: current.name, value: current.code }}
35
- onChange={(e, value) => {
36
- handleChange(value)
37
- }}
38
- isOptionEqualToValue={(option: any, value: any) =>
39
- option?.value === value?.value
40
- }
41
- disableCloseOnSelect
42
- PopperComponent={StyledPopper}
43
- popupIcon={<KeyboardArrowDown />}
44
- renderInput={(params) => (
45
- <TextField
46
- label={null}
47
- InputProps={{
48
- ...params.InputProps,
49
- endAdornment: <>{params.InputProps.endAdornment}</>,
50
- }}
51
- {...params}
52
- />
53
- )}
54
- />
55
- </Box>
24
+ <SearchSingleSelect
25
+ options={options}
26
+ value={selectedOption}
27
+ onChange={handleChange}
28
+ />
56
29
  )
57
30
  }
@@ -0,0 +1,105 @@
1
+ import { SelectProps } from '@mui/material'
2
+ import { useEffect, useState } from 'react'
3
+ import axios from '../../config/axios'
4
+ import { SingleSelect } from '../Input'
5
+
6
+ type ExamGroupSelectorProps = {
7
+ name?: string
8
+ label: string
9
+ filters?: { courseId: number; examType: string }
10
+ required?: boolean
11
+ onChange?: (value: any) => void
12
+ allowAll?: boolean
13
+ error?: boolean
14
+ helperText?: string
15
+ } & SelectProps
16
+ const ExamGroupSelector = (props: ExamGroupSelectorProps) => {
17
+ const {
18
+ name,
19
+ required = false,
20
+ label,
21
+ multiple = false,
22
+ filters,
23
+ allowAll = true,
24
+ } = props
25
+ const [options, setOptions] = useState([])
26
+ const [prevExamType, setPrevExamType] = useState(null)
27
+ const [prevCourseId, setPrevCourseId] = useState(null)
28
+ let api =
29
+ filters.examType !== 'internal'
30
+ ? '/exams/exams/exam-groups'
31
+ : '/exams/internal-exams'
32
+ const handleOpen = () => {
33
+ if (filters) {
34
+ if (
35
+ (filters.examType && filters.examType !== prevExamType) ||
36
+ (filters?.courseId && filters?.courseId !== prevCourseId)
37
+ ) {
38
+ setOptions([])
39
+ axios
40
+ .get(api, {
41
+ params: {
42
+ ...filters,
43
+ isArchived: 'false',
44
+ isExamPublished: 'true',
45
+ },
46
+ })
47
+ .then((response) => {
48
+ setOptions(
49
+ filters.examType !== 'internal'
50
+ ? response.data?.examGroups
51
+ : response.data?.exams,
52
+ )
53
+ setPrevExamType(filters.examType)
54
+ setPrevCourseId(filters.courseId)
55
+ })
56
+ .catch((error) => {
57
+ console.error('Error fetching data from the API:', error)
58
+ })
59
+ }
60
+ } else if (options.length === 0) {
61
+ axios
62
+ .get(api)
63
+ .then((response) => {
64
+ setOptions(response.data)
65
+ })
66
+ .catch((error) => {
67
+ console.error('Error fetching data from the API:', error)
68
+ })
69
+ }
70
+ }
71
+ useEffect(() => {
72
+ if (props?.value && props.value != 'all') {
73
+ handleOpen()
74
+ }
75
+ }, [props.value])
76
+
77
+ const handleOptions =
78
+ options.length > 0
79
+ ? [
80
+ ...(allowAll ? [{ value: 'all', label: 'All' }] : []),
81
+ ...options.map((item) => ({
82
+ label:
83
+ filters.examType != 'internal'
84
+ ? item?.groupName
85
+ : item?.displayName,
86
+ value: item?.id,
87
+ })),
88
+ ]
89
+ : allowAll
90
+ ? [{ value: 'all', label: 'All' }]
91
+ : []
92
+
93
+ return (
94
+ <SingleSelect
95
+ name={name}
96
+ label={label}
97
+ required={required}
98
+ options={handleOptions}
99
+ onOpen={handleOpen}
100
+ defaultValue="all"
101
+ {...props}
102
+ />
103
+ )
104
+ }
105
+ export default ExamGroupSelector
@@ -0,0 +1,48 @@
1
+ import { SelectProps } from '@mui/material'
2
+ import { Controller } from 'react-hook-form'
3
+ import ExamGroupSelector from '../ExamGroupSelector'
4
+
5
+ type ExamGroupSelectorProps = {
6
+ control: any
7
+ name: string
8
+ label: string
9
+ required?: boolean
10
+ multiple?: boolean
11
+ allowAll?: boolean
12
+ filters?: { courseId: number; examType: string }
13
+ onChange?: (value: any) => void
14
+ } & SelectProps
15
+ export default function FormExamGroupSelector(props: ExamGroupSelectorProps) {
16
+ const {
17
+ name,
18
+ required = false,
19
+ control,
20
+ label,
21
+ multiple = false,
22
+ allowAll = true,
23
+ onChange,
24
+ value,
25
+ filters,
26
+ } = props
27
+
28
+ return (
29
+ <Controller
30
+ name={name}
31
+ control={control}
32
+ render={({ field, fieldState: { error } }) => (
33
+ <ExamGroupSelector
34
+ label={label}
35
+ name={name}
36
+ onChange={onChange ?? field.onChange}
37
+ value={value ?? field?.value}
38
+ allowAll={allowAll}
39
+ filters={filters}
40
+ required={required}
41
+ error={!!error}
42
+ helperText={error?.message}
43
+ {...props}
44
+ />
45
+ )}
46
+ />
47
+ )
48
+ }
@@ -1,11 +1,13 @@
1
1
  import ClassRoomSelector from './ClassRoomSelector'
2
2
  import CourseSelector from './CourseSelector'
3
3
  import DepartmentSelector from './DepartmentSelector'
4
+ import ExamGroupSelector from './ExamGroupSelector'
4
5
  import FacultySelector from './FacultySelector'
5
6
  import FeeTypeSelector from './FeeTypeSelector'
6
7
  import FormClassRoomSelector from './FormSelectors/FormClassRoomSelector'
7
8
  import FormCourseSelector from './FormSelectors/FormCourseSelector'
8
9
  import FormDepartmentSelector from './FormSelectors/FormDepartmentSelector'
10
+ import FormExamGroupSelector from './FormSelectors/FormExamGroupSelector'
9
11
  import FormFacultySelector from './FormSelectors/FormFacultySelector'
10
12
  import FormFeeTypeSelector from './FormSelectors/FormFeeTypeSelector'
11
13
  import FormProgramSelector from './FormSelectors/FormProgramSelector'
@@ -23,11 +25,13 @@ export {
23
25
  ClassRoomSelector,
24
26
  CourseSelector,
25
27
  DepartmentSelector,
28
+ ExamGroupSelector,
26
29
  FacultySelector,
27
30
  FeeTypeSelector,
28
31
  FormClassRoomSelector,
29
32
  FormCourseSelector,
30
33
  FormDepartmentSelector,
34
+ FormExamGroupSelector,
31
35
  FormFacultySelector,
32
36
  FormFeeTypeSelector,
33
37
  FormProgramSelector,
@@ -13,9 +13,8 @@ import {
13
13
  } from '@mui/material'
14
14
  import { useEffect, useMemo, useState } from 'react'
15
15
  import { usePagination, useRowSelect, useTable } from 'react-table'
16
- import BatchActionsHeader from './BatchActionsHeader'
16
+ import TableStats from '../common/TableStats'
17
17
  import { SortAscIcon, SortDescIcon, SortIcon } from '../common/icons'
18
- import { RenderTableBody } from './RenderTableBody'
19
18
  import {
20
19
  StyledLimitBox,
21
20
  StyledLimitMenu,
@@ -23,7 +22,8 @@ import {
23
22
  StyledTableFooter,
24
23
  } from '../common/styles'
25
24
  import { ColumnProps, Sort, TableProps } from '../common/types'
26
- import TableStats from '../common/TableStats'
25
+ import BatchActionsHeader from './BatchActionsHeader'
26
+ import { RenderTableBody } from './RenderTableBody'
27
27
 
28
28
  type ReactTableCell = {
29
29
  Header: any
@@ -75,6 +75,7 @@ const getTableCol = (headerItem: ColumnProps) => {
75
75
 
76
76
  export default function ReactTable({
77
77
  columns,
78
+ rowKey = 'id',
78
79
  dataSource,
79
80
  loading,
80
81
  pagination,
@@ -128,7 +129,7 @@ export default function ReactTable({
128
129
  manualPagination: true,
129
130
  autoResetSelectedRows: false,
130
131
  pageCount: pagination?.totalCount ?? dataSource?.length,
131
- getRowId: select?.enable ? (row) => row?.id : undefined,
132
+ getRowId: select?.enable ? (row) => row[rowKey] : undefined,
132
133
  },
133
134
  // useSortBy,
134
135
  usePagination,
@@ -1,14 +1,13 @@
1
1
  import Axios, { AxiosRequestConfig } from 'axios'
2
- import _ from 'lodash'
3
- import { toast } from 'react-toastify'
4
2
  import Cookies from 'js-cookie'
3
+ import { toast } from 'react-toastify'
5
4
  import { NetworkStore } from '../components/ErrorBoundary/GlobalNetworkLoadingIndicator'
6
5
  import { isDevelopment } from '../constants'
7
- import { UserStore } from '../shared-state'
8
6
  import { InsititutionsStore } from '../shared-state/InstitutionsStore'
9
7
 
10
8
  const sessionKey = Cookies.get('campx_session_key')
11
9
  const clientId = window.location.pathname.split('/')[1] ?? 'campx_dev'
10
+ const institutionId = window.location.pathname.split('/')[2] ?? 'campx_dev'
12
11
 
13
12
  export const formatParams = (params) => {
14
13
  return Object.fromEntries(
@@ -36,6 +35,8 @@ axios.interceptors.request.use(
36
35
  const { current } = InsititutionsStore.getRawState()
37
36
  if (current) {
38
37
  config.headers['x-institution-code'] = current.code
38
+ } else {
39
+ config.headers['x-institution-code'] = institutionId
39
40
  }
40
41
 
41
42
  const params = formatParams(config?.params)
@@ -1,356 +1,356 @@
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
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
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
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
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",
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
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
54
  // manage
55
- MANAGE_ROLES_AND_PROFILES = "can_manage_roles_and_profiles",
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_NOTIFICATION = "can_end_semester_examinations_notification",
92
- END_SEMESTER_EXAMINATIONS_DELETE = "can_end_semester_examinations_delete",
93
- END_SEMESTER_EXAMINATIONS_SEATING_PLAN = "can_end_semester_examinations_seating_plan",
94
- END_SEMESTER_EXAMINATIONS_MANAGE_EXAM_FEE = "can_end_semester_examinations_manage_exam_fee",
95
- END_SEMESTER_EXAMINATIONS_D_FORMS = "can_end_semester_examinations_d_forms",
96
- END_SEMESTER_EXAMINATIONS_BUNDLING = "can_end_semester_examinations_bundling",
97
- END_SEMESTER_EXAMINATIONS_MARKS_ENTRY = "can_end_semester_examinations_marks_entry",
98
- END_SEMESTER_EXAMINATIONS_INVIGILATIONS = "can_end_semester_examinations_invigilations",
99
- INTERNAL_EXAMINATIONS_ADD = "can_internal_examinations_add",
100
- INTERNAL_EXAMINATIONS_EDIT = "can_internal_examinations_edit",
101
- INTERNAL_EXAMINATIONS_DELETE = "can_internal_examinations_delete",
102
- INTERNAL_EXAMINATIONS_MANAGE_EXAM_FEE = "can_internal_examinations_manage_exam_fee",
103
- INTERNAL_EXAMINATIONS_MANAGE_HALLTICKETS = "can_internal_examinations_manage_halltickets",
104
- INTERNAL_EXAMINATIONS_SEATING_PLAN = "can_internal_examinations_seating_plan",
105
- INTERNAL_EXAMINATIONS_INVIGILATIONS = "can_internal_examinations_invigilations",
106
- EXTRA_CURRICULAR_ACTIVITIES_NEWS_FEED = "can_extra_curricular_activities_news_feed",
107
- EXTRA_CURRICULAR_ACTIVITIES_CLUBS = "can_extra_curricular_activities_clubs",
108
- EXTRA_CURRICULAR_ACTIVITIES_EVENTS = "can_extra_curricular_activities_events",
109
- EDIT_ANSWER_SHEET_MARKS = "can_edit_answer_sheet_marks",
110
- EDIT_EXTERNAL_MARKS = "can_edit_external_marks",
111
- EXAM_COLLATERALS = "can_exam_collaterals",
112
- REVALUTION = "can_revaluation",
113
- EDIT_INTERNAL_MARKS = "can_edit_internal_marks",
114
- PROCESS_RESULTS = "can_process_results",
115
- CAN_PROGRAMS_ADD = "can_programs_add",
116
- CAN_PROGRAMS_DELETE = "can_programs_delete",
117
- CAN_PROGRAMS_EDIT = "can_programs_edit",
118
- CAN_PROGRAMS_VIEW = "can_programs_view",
119
- CAN_DEGRESS_ADD = "can_degrees_add",
120
- CAN_DEGRESS_DELETE = "can_degrees_delete",
121
- CAN_DEGRESS_EDIT = "can_degrees_edit",
122
- CAN_SETTINGS_VIEW = "can_settings_view",
123
- CAN_DASHBOARD_VIEW = "can_dashboard_view",
124
- CAN_DEGRESS_VIEW = "can_degrees_view",
125
- CAN_SEMESTERS_ADD = "can_semesters_add",
126
- CAN_SEMESTERS_DELETE = "can_semesters_delete",
127
- CAN_SEMESTERS_EDIT = "can_semesters_edit",
128
- CAN_SEMESTERS_VIEW = "can_semesters_view",
129
- CAN_CURRICULUMS_ADD = "can_curriculums_add",
130
- CAN_CURRICULUMS_DELETE = "can_curriculums_delete",
131
- CAN_CURRICULUMS_EDIT = "can_curriculums_edit",
132
- CAN_CURRICULUMS_VIEW = "can_curriculums_view",
133
- CAN_ASSESSMENT_RULES_ADD = "can_assessment_rules_add",
134
- CAN_ASSESSMENT_RULES_DELETE = "can_assessment_rules_delete",
135
- CAN_ASSESSMENT_RULES_EDIT = "can_assessment_rules_edit",
136
- CAN_ASSESSMENT_RULES_VIEW = "can_assessment_rules_view",
137
- CAN_RESULTS_PROCESSING_GENERATE_MEMOS = "can_results_processing_generate_memos",
138
- CAN_RESULTS_PROCESSING_MODERATION_AND_GRAFTING = "can_results_processing_moderation_and_grafting",
139
- CAN_RESULTS_PROCESSING_PUBLISH_RESULTS = "can_results_processing_publish_results",
140
- CAN_RESULTS_PROCESSING_UPDATE_INTERNAL_MARKS = "can_results_processing_update_internal_marks",
141
- 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_NOTIFICATION = 'can_end_semester_examinations_notification',
92
+ END_SEMESTER_EXAMINATIONS_DELETE = 'can_end_semester_examinations_delete',
93
+ END_SEMESTER_EXAMINATIONS_SEATING_PLAN = 'can_end_semester_examinations_seating_plan',
94
+ END_SEMESTER_EXAMINATIONS_MANAGE_EXAM_FEE = 'can_end_semester_examinations_manage_exam_fee',
95
+ END_SEMESTER_EXAMINATIONS_D_FORMS = 'can_end_semester_examinations_d_forms',
96
+ END_SEMESTER_EXAMINATIONS_BUNDLING = 'can_end_semester_examinations_bundling',
97
+ END_SEMESTER_EXAMINATIONS_MARKS_ENTRY = 'can_end_semester_examinations_marks_entry',
98
+ END_SEMESTER_EXAMINATIONS_INVIGILATIONS = 'can_end_semester_examinations_invigilations',
99
+ INTERNAL_EXAMINATIONS_ADD = 'can_internal_examinations_add',
100
+ INTERNAL_EXAMINATIONS_EDIT = 'can_internal_examinations_edit',
101
+ INTERNAL_EXAMINATIONS_DELETE = 'can_internal_examinations_delete',
102
+ INTERNAL_EXAMINATIONS_MANAGE_EXAM_FEE = 'can_internal_examinations_manage_exam_fee',
103
+ INTERNAL_EXAMINATIONS_MANAGE_HALLTICKETS = 'can_internal_examinations_manage_halltickets',
104
+ INTERNAL_EXAMINATIONS_SEATING_PLAN = 'can_internal_examinations_seating_plan',
105
+ INTERNAL_EXAMINATIONS_INVIGILATIONS = 'can_internal_examinations_invigilations',
106
+ EXTRA_CURRICULAR_ACTIVITIES_NEWS_FEED = 'can_extra_curricular_activities_news_feed',
107
+ EXTRA_CURRICULAR_ACTIVITIES_CLUBS = 'can_extra_curricular_activities_clubs',
108
+ EXTRA_CURRICULAR_ACTIVITIES_EVENTS = 'can_extra_curricular_activities_events',
109
+ EDIT_ANSWER_SHEET_MARKS = 'can_edit_answer_sheet_marks',
110
+ EDIT_EXTERNAL_MARKS = 'can_edit_external_marks',
111
+ EXAM_COLLATERALS = 'can_exam_collaterals',
112
+ REVALUTION = 'can_revaluation',
113
+ EDIT_INTERNAL_MARKS = 'can_edit_internal_marks',
114
+ PROCESS_RESULTS = 'can_process_results',
115
+ CAN_PROGRAMS_ADD = 'can_programs_add',
116
+ CAN_PROGRAMS_DELETE = 'can_programs_delete',
117
+ CAN_PROGRAMS_EDIT = 'can_programs_edit',
118
+ CAN_PROGRAMS_VIEW = 'can_programs_view',
119
+ CAN_DEGRESS_ADD = 'can_degrees_add',
120
+ CAN_DEGRESS_DELETE = 'can_degrees_delete',
121
+ CAN_DEGRESS_EDIT = 'can_degrees_edit',
122
+ CAN_SETTINGS_VIEW = 'can_settings_view',
123
+ CAN_DASHBOARD_VIEW = 'can_dashboard_view',
124
+ CAN_DEGRESS_VIEW = 'can_degrees_view',
125
+ CAN_SEMESTERS_ADD = 'can_semesters_add',
126
+ CAN_SEMESTERS_DELETE = 'can_semesters_delete',
127
+ CAN_SEMESTERS_EDIT = 'can_semesters_edit',
128
+ CAN_SEMESTERS_VIEW = 'can_semesters_view',
129
+ CAN_CURRICULUMS_ADD = 'can_curriculums_add',
130
+ CAN_CURRICULUMS_DELETE = 'can_curriculums_delete',
131
+ CAN_CURRICULUMS_EDIT = 'can_curriculums_edit',
132
+ CAN_CURRICULUMS_VIEW = 'can_curriculums_view',
133
+ CAN_ASSESSMENT_RULES_ADD = 'can_assessment_rules_add',
134
+ CAN_ASSESSMENT_RULES_DELETE = 'can_assessment_rules_delete',
135
+ CAN_ASSESSMENT_RULES_EDIT = 'can_assessment_rules_edit',
136
+ CAN_ASSESSMENT_RULES_VIEW = 'can_assessment_rules_view',
137
+ CAN_RESULTS_PROCESSING_GENERATE_MEMOS = 'can_results_processing_generate_memos',
138
+ CAN_RESULTS_PROCESSING_MODERATION_AND_GRAFTING = 'can_results_processing_moderation_and_grafting',
139
+ CAN_RESULTS_PROCESSING_PUBLISH_RESULTS = 'can_results_processing_publish_results',
140
+ CAN_RESULTS_PROCESSING_UPDATE_INTERNAL_MARKS = 'can_results_processing_update_internal_marks',
141
+ CAN_RESULTS_PROCESSING_VIEW = 'can_results_processing_view',
142
142
 
143
143
  //newly added permissions
144
144
 
145
- CAN_PHD_FORM_VIEW = "can_admissions_view_phd_applications",
146
- CAN_PHD_FORM_DOWNLOAD = "can_admissions_download_phd_applications",
147
- CAN_CET_VIEW = "can_admissions_view_cet",
148
- CAN_CET_DOWNLOAD = "can_admissions_download_cet",
149
- CAN_HOSTELER_DASHBOARD_VIEW = "can_hosteler_dashboard_view",
150
- CAN_HOSTELER_VIEW = "can_hosteler_view",
151
- CAN_HOSTELER_ADD = "can_hosteler_add",
152
- CAN_HOSTELER_EDIT = "can_hosteler_edit",
153
- CAN_HOSTELER_CHANGE_STATUS = "can_hosteler_change_status",
154
- CAN_HOSTELER_FACE_DATA_RESET = "can_hosteler_face_data_reset",
155
- CAN_HOSTELER_FEE_PAYMENT_VIEW = "can_hosteler_fee_payments_view",
156
- CAN_HOSTELER_REPORTS_VIEW = "can_hosteler_reports_view",
157
- CAN_HOSTELER_SETTINGS_VIEW_CONFIGURATION = "can_hosteler_settings_view_configuration",
158
- CAN_HOSTELER_SETTINGS_EDIT_CONFIGURATION = "can_hosteler_settings_edit_configuration",
159
- CAN_HOSTELER_SETTINGS_ADD_FEE_TYPES = "can_hosteler_settings_add_fee_types",
160
- CAN_HOSTELER_SETTINGS_VIEW_FEE_TYPES = "can_hosteler_settings_view_fee_types",
161
- CAN_HOSTELER_SETTINGS_EDIT_FEE_TYPES = "can_hosteler_settings_edit_fee_types",
162
- CAN_HOSTELER_SETTINGS_DELETE_FEE_TYPES = "can_hosteler_settings_delete_fee_types",
163
- CAN_HOSTELERS_SETTINGS_BLOCK_VIEW = "can_hosteler_settings_blocks_view",
164
- CAN_HOSTELERS_SETTINGS_BLOCK_ADD = "can_hosteler_settings_blocks_add",
165
- CAN_HOSTELERS_SETTINGS_BLOCK_EDIT = "can_hosteler_settings_blocks_edit",
166
- CAN_HOSTELERS_SETTINGS_BLOCK_DELETE = "can_hosteler_settings_blocks_delete",
167
- CAN_HOSTELERS_SETTINGS_ROOMS_VIEW = "can_hosteler_settings_rooms_view",
168
- CAN_HOSTELERS_SETTINGS_ROOMS_ADD = "can_hosteler_settings_rooms_add",
169
- CAN_HOSTELERS_SETTINGS_ROOMS_EDIT = "can_hosteler_settings_rooms_edit",
170
- CAN_HOSTELERS_SETTINGS_ROOMS_DELETE = "can_hosteler_settings_rooms_delete",
171
- CAN_HOSTELERS_SETTINGS_ROOMS_IMPORT = "can_hosteler_settings_import_hostel_rooms",
172
- CAN_HOSTELERS_SETTINGS_AMENITIES_VIEW = "can_hosteler_settings_amenities_view",
173
- CAN_HOSTELERS_SETTINGS_AMENITIES_ADD = "can_hosteler_settings_amenities_add",
174
- CAN_HOSTELERS_SETTINGS_AMENITIES_EDIT = "can_hosteler_settings_amenities_edit",
175
- CAN_HOSTELERS_SETTINGS_AMENITIES_DELETE = "can_hosteler_settings_amenities_delete",
176
- CAN_ADMISSIONS_DASHBOARD_VIEW = "can_admission_dashboard_view",
177
- CAN_LEAD_STATUS_VIEW = "can_lead_status_view",
178
- CAN_LEAD_STATUS_EDIT = "can_lead_status_edit",
179
- CAN_LEAD_STATUS_ADD = "can_lead_status_add",
180
- CAN_LEAD_STATUS_DELETE = "can_lead_status_delete",
181
- SCHOOLS_VIEW = "can_schools_view",
182
- SCHOOLS_ADD = "can_schools_add",
183
- SCHOOLS_EDIT = "can_schools_edit",
184
- SCHOOLS_DELETE = "can_schools_delete",
185
- SUBJECT_TYPE_VIEW = "can_subject_types_view",
186
- SUBJECT_TYPE_ADD = "can_subject_types_add",
187
- SUBJECT_TYPE_EDIT = "can_subject_types_edit",
188
- SUBJECT_TYPE_DELETE = "can_subject_types_delete",
189
- ASSESSMENT_TYPE_VIEW = "can_assessment_types_view",
190
- ASSESSMENT_TYPE_ADD = "can_assessment_types_add",
191
- ASSESSMENT_TYPE_EDIT = "can_assessment_types_edit",
192
- ASSESSMENT_TYPE_DELETE = "can_assessment_types_delete",
193
- CLASSROOM_REPORTS = "can_classroom_reports",
194
- CLASSROOM_REASSIGN_FACULTY = "can_classroom_re_assign_faculty",
195
- CAN_INDIVIDUAL_PAGES_VIEW = "can_individual_pages_view",
145
+ CAN_PHD_FORM_VIEW = 'can_admissions_view_phd_applications',
146
+ CAN_PHD_FORM_DOWNLOAD = 'can_admissions_download_phd_applications',
147
+ CAN_CET_VIEW = 'can_admissions_view_cet',
148
+ CAN_CET_DOWNLOAD = 'can_admissions_download_cet',
149
+ CAN_HOSTELER_DASHBOARD_VIEW = 'can_hosteler_dashboard_view',
150
+ CAN_HOSTELER_VIEW = 'can_hosteler_view',
151
+ CAN_HOSTELER_ADD = 'can_hosteler_add',
152
+ CAN_HOSTELER_EDIT = 'can_hosteler_edit',
153
+ CAN_HOSTELER_CHANGE_STATUS = 'can_hosteler_change_status',
154
+ CAN_HOSTELER_FACE_DATA_RESET = 'can_hosteler_face_data_reset',
155
+ CAN_HOSTELER_FEE_PAYMENT_VIEW = 'can_hosteler_fee_payments_view',
156
+ CAN_HOSTELER_REPORTS_VIEW = 'can_hosteler_reports_view',
157
+ CAN_HOSTELER_SETTINGS_VIEW_CONFIGURATION = 'can_hosteler_settings_view_configuration',
158
+ CAN_HOSTELER_SETTINGS_EDIT_CONFIGURATION = 'can_hosteler_settings_edit_configuration',
159
+ CAN_HOSTELER_SETTINGS_ADD_FEE_TYPES = 'can_hosteler_settings_add_fee_types',
160
+ CAN_HOSTELER_SETTINGS_VIEW_FEE_TYPES = 'can_hosteler_settings_view_fee_types',
161
+ CAN_HOSTELER_SETTINGS_EDIT_FEE_TYPES = 'can_hosteler_settings_edit_fee_types',
162
+ CAN_HOSTELER_SETTINGS_DELETE_FEE_TYPES = 'can_hosteler_settings_delete_fee_types',
163
+ CAN_HOSTELERS_SETTINGS_BLOCK_VIEW = 'can_hosteler_settings_blocks_view',
164
+ CAN_HOSTELERS_SETTINGS_BLOCK_ADD = 'can_hosteler_settings_blocks_add',
165
+ CAN_HOSTELERS_SETTINGS_BLOCK_EDIT = 'can_hosteler_settings_blocks_edit',
166
+ CAN_HOSTELERS_SETTINGS_BLOCK_DELETE = 'can_hosteler_settings_blocks_delete',
167
+ CAN_HOSTELERS_SETTINGS_ROOMS_VIEW = 'can_hosteler_settings_rooms_view',
168
+ CAN_HOSTELERS_SETTINGS_ROOMS_ADD = 'can_hosteler_settings_rooms_add',
169
+ CAN_HOSTELERS_SETTINGS_ROOMS_EDIT = 'can_hosteler_settings_rooms_edit',
170
+ CAN_HOSTELERS_SETTINGS_ROOMS_DELETE = 'can_hosteler_settings_rooms_delete',
171
+ CAN_HOSTELERS_SETTINGS_ROOMS_IMPORT = 'can_hosteler_settings_import_hostel_rooms',
172
+ CAN_HOSTELERS_SETTINGS_AMENITIES_VIEW = 'can_hosteler_settings_amenities_view',
173
+ CAN_HOSTELERS_SETTINGS_AMENITIES_ADD = 'can_hosteler_settings_amenities_add',
174
+ CAN_HOSTELERS_SETTINGS_AMENITIES_EDIT = 'can_hosteler_settings_amenities_edit',
175
+ CAN_HOSTELERS_SETTINGS_AMENITIES_DELETE = 'can_hosteler_settings_amenities_delete',
176
+ CAN_ADMISSIONS_DASHBOARD_VIEW = 'can_admission_dashboard_view',
177
+ CAN_LEAD_STATUS_VIEW = 'can_lead_status_view',
178
+ CAN_LEAD_STATUS_EDIT = 'can_lead_status_edit',
179
+ CAN_LEAD_STATUS_ADD = 'can_lead_status_add',
180
+ CAN_LEAD_STATUS_DELETE = 'can_lead_status_delete',
181
+ SCHOOLS_VIEW = 'can_schools_view',
182
+ SCHOOLS_ADD = 'can_schools_add',
183
+ SCHOOLS_EDIT = 'can_schools_edit',
184
+ SCHOOLS_DELETE = 'can_schools_delete',
185
+ SUBJECT_TYPE_VIEW = 'can_subject_types_view',
186
+ SUBJECT_TYPE_ADD = 'can_subject_types_add',
187
+ SUBJECT_TYPE_EDIT = 'can_subject_types_edit',
188
+ SUBJECT_TYPE_DELETE = 'can_subject_types_delete',
189
+ ASSESSMENT_TYPE_VIEW = 'can_assessment_types_view',
190
+ ASSESSMENT_TYPE_ADD = 'can_assessment_types_add',
191
+ ASSESSMENT_TYPE_EDIT = 'can_assessment_types_edit',
192
+ ASSESSMENT_TYPE_DELETE = 'can_assessment_types_delete',
193
+ CLASSROOM_REPORTS = 'can_classroom_reports',
194
+ CLASSROOM_REASSIGN_FACULTY = 'can_classroom_re_assign_faculty',
195
+ CAN_INDIVIDUAL_PAGES_VIEW = 'can_individual_pages_view',
196
196
 
197
197
  // Exams
198
198
 
199
199
  // OMRS
200
- CAN_OMRS_VIEW = "can_omrs_view",
201
- CAN_OMRS_UPDATE = "can_omrs_update",
202
- CAN_OMRS_DOWNLOAD = "can_omrs_download",
200
+ CAN_OMRS_VIEW = 'can_omrs_view',
201
+ CAN_OMRS_UPDATE = 'can_omrs_update',
202
+ CAN_OMRS_DOWNLOAD = 'can_omrs_download',
203
203
 
204
204
  // Hall tickets
205
- CAN_HALL_TICKETS_VIEW = "can_hall_tickets_view",
206
- CAN_HALL_TICKETS_DOWNLOAD = "can_hall_tickets_download",
205
+ CAN_HALL_TICKETS_VIEW = 'can_hall_tickets_view',
206
+ CAN_HALL_TICKETS_DOWNLOAD = 'can_hall_tickets_download',
207
207
 
208
208
  // Paper Configuration
209
- CAN_PAPER_CONFIGURATION_VIEW = "can_paper_configuration_view",
210
- CAN_PAPER_CONFIGURATION_ADD = "can_paper_configuration_add",
211
- CAN_PAPER_CONFIGURATION_EDIT = "can_paper_configuration_edit",
212
- CAN_PAPER_CONFIGURATION_DELETE = "can_paper_configuration_delete",
213
- CAN_PAPER_CONFIGURATION_UPLOAD = "can_paper_configuration_upload",
214
- CAN_PAPER_CONFIGURATION_DOWNLOAD = "can_paper_configuration_download",
209
+ CAN_PAPER_CONFIGURATION_VIEW = 'can_paper_configuration_view',
210
+ CAN_PAPER_CONFIGURATION_ADD = 'can_paper_configuration_add',
211
+ CAN_PAPER_CONFIGURATION_EDIT = 'can_paper_configuration_edit',
212
+ CAN_PAPER_CONFIGURATION_DELETE = 'can_paper_configuration_delete',
213
+ CAN_PAPER_CONFIGURATION_UPLOAD = 'can_paper_configuration_upload',
214
+ CAN_PAPER_CONFIGURATION_DOWNLOAD = 'can_paper_configuration_download',
215
215
 
216
216
  // Time table
217
- CAN_EXAM_TIMETABLE_VIEW = "can_exam_timetable_view",
218
- CAN_EXAM_TIMETABLE_ADD = "can_exam_timetable_add",
219
- CAN_EXAM_TIMETABLE_EDIT = "can_exam_timetable_edit",
220
- CAN_EXAM_TIMETABLE_DELETE = "can_exam_timetable_delete",
217
+ CAN_EXAM_TIMETABLE_VIEW = 'can_exam_timetable_view',
218
+ CAN_EXAM_TIMETABLE_ADD = 'can_exam_timetable_add',
219
+ CAN_EXAM_TIMETABLE_EDIT = 'can_exam_timetable_edit',
220
+ CAN_EXAM_TIMETABLE_DELETE = 'can_exam_timetable_delete',
221
221
 
222
222
  // Registrations
223
- CAN_REGISTARTIONS_VIEW = "can_exam_registrations_view",
224
- CAN_REGISTARTIONS_ADD = "can_exam_registrations_add",
225
- CAN_REGISTARTIONS_CHALAN_UPLOAD = "can_exam_registrations_chalan_upload",
226
- CAN_REGISTARTIONS_SUBMIT = "can_exam_registrations_submit",
223
+ CAN_REGISTARTIONS_VIEW = 'can_exam_registrations_view',
224
+ CAN_REGISTARTIONS_ADD = 'can_exam_registrations_add',
225
+ CAN_REGISTARTIONS_CHALAN_UPLOAD = 'can_exam_registrations_chalan_upload',
226
+ CAN_REGISTARTIONS_SUBMIT = 'can_exam_registrations_submit',
227
227
 
228
228
  // Internal Marks
229
- CAN_INTERNAL_MARKS_VIEW = "can_internal_marks_view",
230
- CAN_INTERNAL_MARKS_ADD = "can_internal_marks_add",
231
- CAN_INTERNAL_MARKS_EDIT = "can_internal_marks_edit",
229
+ CAN_INTERNAL_MARKS_VIEW = 'can_internal_marks_view',
230
+ CAN_INTERNAL_MARKS_ADD = 'can_internal_marks_add',
231
+ CAN_INTERNAL_MARKS_EDIT = 'can_internal_marks_edit',
232
232
 
233
233
  // External Marks
234
- CAN_EXTERNAL_MARKS_VIEW = "can_external_marks_view",
235
- CAN_EXTERNAL_MARKS_ADD = "can_external_marks_add",
236
- CAN_EXTERNAL_MARKS_EDIT = "can_external_marks_edit",
234
+ CAN_EXTERNAL_MARKS_VIEW = 'can_external_marks_view',
235
+ CAN_EXTERNAL_MARKS_ADD = 'can_external_marks_add',
236
+ CAN_EXTERNAL_MARKS_EDIT = 'can_external_marks_edit',
237
237
 
238
238
  // D Form
239
- CAN_D_FORM_VIEW = "can_d_forms_view",
240
- CAN_D_FORM_ADD = "can_d_forms_add",
241
- CAN_D_FORM_DOWNLOAD = "can_d_forms_download",
239
+ CAN_D_FORM_VIEW = 'can_d_forms_view',
240
+ CAN_D_FORM_ADD = 'can_d_forms_add',
241
+ CAN_D_FORM_DOWNLOAD = 'can_d_forms_download',
242
242
 
243
243
  // Evaluators
244
- CAN_EVALUATORS_VIEW = "can_evaluators_view",
245
- CAN_EVALUATORS_ADD = "can_evaluators_add",
246
- CAN_EVALUATORS_EDIT = "can_evaluators_edi",
247
- CAN_EVALUATORS_DELETE = "can_evaluators_delete",
244
+ CAN_EVALUATORS_VIEW = 'can_evaluators_view',
245
+ CAN_EVALUATORS_ADD = 'can_evaluators_add',
246
+ CAN_EVALUATORS_EDIT = 'can_evaluators_edi',
247
+ CAN_EVALUATORS_DELETE = 'can_evaluators_delete',
248
248
 
249
249
  // Rooms
250
- CAN_EXAM_ROOM_VIEW = "can_exam_rooms_view",
251
- CAN_EXAM_ROOM_ADD = "can_exam_rooms_add",
252
- CAN_EXAM_ROOM_EDIT = "can_exam_rooms_edit",
253
- CAN_EXAM_ROOM_DELETE = "can_exam_rooms_delete",
250
+ CAN_EXAM_ROOM_VIEW = 'can_exam_rooms_view',
251
+ CAN_EXAM_ROOM_ADD = 'can_exam_rooms_add',
252
+ CAN_EXAM_ROOM_EDIT = 'can_exam_rooms_edit',
253
+ CAN_EXAM_ROOM_DELETE = 'can_exam_rooms_delete',
254
254
 
255
255
  // Time slots
256
- CAN_TIME_SLOTS_VIEW = "can_time_slots_view",
257
- CAN_TIME_SLOTS_ADD = "can_time_slots_add",
258
- CAN_TIME_SLOTS_EDIT = "can_time_slots_edit",
259
- CAN_TIME_SLOTS_DELETE = "can_time_slots_delete",
256
+ CAN_TIME_SLOTS_VIEW = 'can_time_slots_view',
257
+ CAN_TIME_SLOTS_ADD = 'can_time_slots_add',
258
+ CAN_TIME_SLOTS_EDIT = 'can_time_slots_edit',
259
+ CAN_TIME_SLOTS_DELETE = 'can_time_slots_delete',
260
260
  }
261
261
 
262
262
  export interface IPermissions {
263
263
  // view
264
- can_view_audit_logs: boolean;
265
- can_students_view: boolean;
266
- can_admissions_view: boolean;
267
- can_users_view: boolean;
268
- can_subjects_view: boolean;
269
- can_course_registration_view: boolean;
270
- can_end_semester_examinations_view: boolean;
271
- can_internal_examinations_view: boolean;
272
- can_view_answer_sheet_report: boolean;
273
- can_feed_add: boolean;
274
- can_classroom_view: boolean;
275
- can_classroom_edit: boolean;
276
- can_classroom_delete: boolean;
277
- can_classroom_add: boolean;
278
- can_tasks_view: boolean;
279
- can_classroom_revoke_marks: boolean;
264
+ can_view_audit_logs: boolean
265
+ can_students_view: boolean
266
+ can_admissions_view: boolean
267
+ can_users_view: boolean
268
+ can_subjects_view: boolean
269
+ can_course_registration_view: boolean
270
+ can_end_semester_examinations_view: boolean
271
+ can_internal_examinations_view: boolean
272
+ can_view_answer_sheet_report: boolean
273
+ can_feed_add: boolean
274
+ can_classroom_view: boolean
275
+ can_classroom_edit: boolean
276
+ can_classroom_delete: boolean
277
+ can_classroom_add: boolean
278
+ can_tasks_view: boolean
279
+ can_classroom_revoke_marks: boolean
280
280
  // manage
281
- can_manage_roles_and_profiles: boolean;
282
- can_manage_user_groups: boolean;
283
- can_manage_programs: boolean;
284
- can_manage_courses: boolean;
285
- can_manage_semesters: boolean;
286
- can_manage_curriculums: boolean;
287
- can_manage_assessments: boolean;
288
- can_users_add: boolean;
289
- can_users_edit: boolean;
290
- can_users_delete: boolean;
291
- can_users_reorder: boolean;
292
- can_admissions_add: boolean;
293
- can_admissions_edit: boolean;
294
- can_admissions_delete: boolean;
295
- can_admissions_change_status: boolean;
296
- can_admissions_import: boolean;
297
- can_admissions_export: boolean;
298
- can_admissions_confirm: boolean;
299
- can_students_add: boolean;
300
- can_students_edit: boolean;
301
- can_students_delete: boolean;
302
- can_students_detain: boolean;
303
- can_students_import: boolean;
304
- can_students_export: boolean;
305
- can_students_results: boolean;
306
- can_students_upload_photos: boolean;
307
- can_students_transfer: boolean;
308
- can_students_allotment: boolean;
309
- can_subjects_add: boolean;
310
- can_subjects_edit: boolean;
311
- can_subjects_delete: boolean;
312
- can_subjects_edit_subject_info: boolean;
313
- can_course_registration_add: boolean;
314
- can_course_registration_edit: boolean;
315
- can_course_registration_delete: boolean;
316
- can_end_semester_examinations_add: boolean;
317
- can_end_semester_examinations_edit: boolean;
318
- can_end_semester_examinations_delete: boolean;
319
- can_end_semester_examinations_seating_plan: boolean;
320
- can_end_semester_examinations_manage_exam_fee: boolean;
321
- can_end_semester_examinations_d_forms: boolean;
322
- can_end_semester_examinations_bundling: boolean;
323
- can_end_semester_examinations_marks_entry: boolean;
324
- can_end_semester_examinations_invigilations: boolean;
325
- can_examinations_seating_plan: boolean;
326
- can_internal_examinations_add: boolean;
327
- can_internal_examinations_edit: boolean;
328
- can_internal_examinations_delete: boolean;
329
- can_internal_examinations_manage_exam_fee: boolean;
330
- can_internal_examinations_manage_halltickets: boolean;
331
- can_internal_examinations_seating_plan: boolean;
332
- can_internal_examinations_invigilations: boolean;
333
- can_extra_curricular_activities_news_feed: boolean;
334
- can_extra_curricular_activities_clubs: boolean;
335
- can_extra_curricular_activities_events: boolean;
336
- can_edit_answer_sheet_marks: boolean;
337
- can_edit_external_marks: boolean;
338
- can_exam_collaterals: boolean;
339
- can_revalution: boolean;
340
- can_edit_internal_marks: boolean;
341
- can_process_results: boolean;
342
- can_generate_memos: boolean;
343
- can_individual_pages_view: boolean;
344
- can_tasks_add: boolean;
345
- can_tasks_edit: boolean;
346
- can_tasks_change_status: boolean;
347
- can_tasks_delete: boolean;
281
+ can_manage_roles_and_profiles: boolean
282
+ can_manage_user_groups: boolean
283
+ can_manage_programs: boolean
284
+ can_manage_courses: boolean
285
+ can_manage_semesters: boolean
286
+ can_manage_curriculums: boolean
287
+ can_manage_assessments: boolean
288
+ can_users_add: boolean
289
+ can_users_edit: boolean
290
+ can_users_delete: boolean
291
+ can_users_reorder: boolean
292
+ can_admissions_add: boolean
293
+ can_admissions_edit: boolean
294
+ can_admissions_delete: boolean
295
+ can_admissions_change_status: boolean
296
+ can_admissions_import: boolean
297
+ can_admissions_export: boolean
298
+ can_admissions_confirm: boolean
299
+ can_students_add: boolean
300
+ can_students_edit: boolean
301
+ can_students_delete: boolean
302
+ can_students_detain: boolean
303
+ can_students_import: boolean
304
+ can_students_export: boolean
305
+ can_students_results: boolean
306
+ can_students_upload_photos: boolean
307
+ can_students_transfer: boolean
308
+ can_students_allotment: boolean
309
+ can_subjects_add: boolean
310
+ can_subjects_edit: boolean
311
+ can_subjects_delete: boolean
312
+ can_subjects_edit_subject_info: boolean
313
+ can_course_registration_add: boolean
314
+ can_course_registration_edit: boolean
315
+ can_course_registration_delete: boolean
316
+ can_end_semester_examinations_add: boolean
317
+ can_end_semester_examinations_edit: boolean
318
+ can_end_semester_examinations_delete: boolean
319
+ can_end_semester_examinations_seating_plan: boolean
320
+ can_end_semester_examinations_manage_exam_fee: boolean
321
+ can_end_semester_examinations_d_forms: boolean
322
+ can_end_semester_examinations_bundling: boolean
323
+ can_end_semester_examinations_marks_entry: boolean
324
+ can_end_semester_examinations_invigilations: boolean
325
+ can_examinations_seating_plan: boolean
326
+ can_internal_examinations_add: boolean
327
+ can_internal_examinations_edit: boolean
328
+ can_internal_examinations_delete: boolean
329
+ can_internal_examinations_manage_exam_fee: boolean
330
+ can_internal_examinations_manage_halltickets: boolean
331
+ can_internal_examinations_seating_plan: boolean
332
+ can_internal_examinations_invigilations: boolean
333
+ can_extra_curricular_activities_news_feed: boolean
334
+ can_extra_curricular_activities_clubs: boolean
335
+ can_extra_curricular_activities_events: boolean
336
+ can_edit_answer_sheet_marks: boolean
337
+ can_edit_external_marks: boolean
338
+ can_exam_collaterals: boolean
339
+ can_revalution: boolean
340
+ can_edit_internal_marks: boolean
341
+ can_process_results: boolean
342
+ can_generate_memos: boolean
343
+ can_individual_pages_view: boolean
344
+ can_tasks_add: boolean
345
+ can_tasks_edit: boolean
346
+ can_tasks_change_status: boolean
347
+ can_tasks_delete: boolean
348
348
  }
349
349
 
350
350
  interface IPermissionsStore {
351
- permissions: IPermissions;
351
+ permissions: IPermissions
352
352
  }
353
353
 
354
354
  export const PermissionsStore = new Store<IPermissionsStore>({
355
355
  permissions: null,
356
- });
356
+ })
@@ -1298,6 +1298,20 @@ export enum Permission {
1298
1298
  //Database Configurations
1299
1299
  CAN_VIEW_DATABASE_CONFIG = 'can_view_database_config',
1300
1300
  CAN_EDIT_DATABASE_CONFIG = 'can_edit_database_config',
1301
+
1302
+ // Feedback
1303
+ CAN_VIEW_FEEDBACKS = 'can_view_feedbacks',
1304
+ CAN_CREATE_FEEDBACK = 'can_create_feedback',
1305
+ CAN_MANAGE_TARGET_AUDIENCE = 'can_manage_target_audience',
1306
+ CAN_CONFIGURE_FEEDBACK_FORM = 'can_configure_feedback_form',
1307
+ CAN_CHANGE_FEEDBACK_STATUS = 'can_change_feedback_status',
1308
+
1309
+ //Feedback Questions
1310
+ CAN_VIEW_FEEDBACK_QUESTIONS = 'can_view_feedback_questions',
1311
+ CAN_CREATE_FEEDBACK_QUESTION = 'can_create_feedback_question',
1312
+ CAN_EDIT_FEEDBACK_QUESTION = 'can_edit_feedback_question',
1313
+ CAN_FINALIZE_FEEDBACK_QUESTION = 'can_finalize_feedback_question',
1314
+ CAN_DELETE_FEEDBACK_QUESTION = 'can_delete_feedback_question',
1301
1315
  }
1302
1316
 
1303
1317
  export interface IPermissions {