Skip to content

Commit 5356d7c

Browse files
authored
Merge pull request #5 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents 64228e5 + 5b29332 commit 5356d7c

File tree

5 files changed

+242
-75
lines changed

5 files changed

+242
-75
lines changed

public/version_latest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.0.1
1+
5.1.0

src/data/vendorTenantList.json

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@
1111
"vendorName": "Datto Backupify",
1212
"vendorTenantId": "8ebde5a4-a587-497c-9881-8a5c272dd1c4"
1313
},
14-
{
15-
"vendorName": "Eshgro Smarter365",
16-
"vendorTenantId": "0a3132f8-cbcd-430f-a554-b0490bea8018"
17-
},
1814
{
1915
"vendorName": "BitTitan",
2016
"vendorTenantId": "6690473e-14f0-4f77-bf88-2ae5ade8746c"
@@ -47,14 +43,6 @@
4743
"vendorName": "CloudMore AB",
4844
"vendorTenantId": "0cc4f6a9-d96a-4508-b938-32386e1c44cf"
4945
},
50-
{
51-
"vendorName": "Google Workspace",
52-
"vendorTenantId": "0f8cb250-b44f-4acd-b24e-2524ef9f85ac"
53-
},
54-
{
55-
"vendorName": "Merill",
56-
"vendorTenantId": "10407d69-1ba5-4bec-8ebe-9af2f0b9e06a"
57-
},
5846
{
5947
"vendorName": "Citrix Cloud",
6048
"vendorTenantId": "13d925d3-c1fe-4447-9600-bb8572753a33"
@@ -191,10 +179,6 @@
191179
"vendorName": "SuperVision (KPN)",
192180
"vendorTenantId": "8edc1ef5-a81d-4229-badb-e2634a284461"
193181
},
194-
{
195-
"vendorName": "MSPMagic",
196-
"vendorTenantId": "74d3d0de-bbd7-433f-95c2-40cc5d185968"
197-
},
198182
{
199183
"vendorName": "SimeonCloud",
200184
"vendorTenantId": "3d945cb7-f7da-444c-8c9e-93c3226581ec"

src/views/teams-share/onedrive/OneDriveList.jsx

Lines changed: 73 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,77 @@
1-
import { CLink } from '@coreui/react'
2-
import React from 'react'
1+
import { CButton, CLink } from '@coreui/react'
2+
import { faEllipsisV } from '@fortawesome/free-solid-svg-icons'
3+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
4+
import React, { useState } from 'react'
35
import { useSelector } from 'react-redux'
46
import { CippPageList } from 'src/components/layout'
57
import { CellTip } from 'src/components/tables'
8+
import { CippActionsOffcanvas } from 'src/components/utilities'
69

710
const OneDriveList = () => {
11+
const Offcanvas = (row, rowIndex, formatExtraData) => {
12+
const tenant = useSelector((state) => state.app.currentTenant)
13+
const [ocVisible, setOCVisible] = useState(false)
14+
15+
//console.log(row)
16+
return (
17+
<>
18+
<CButton size="sm" color="link" onClick={() => setOCVisible(true)}>
19+
<FontAwesomeIcon icon={faEllipsisV} />
20+
</CButton>
21+
<CippActionsOffcanvas
22+
title="User Information"
23+
extendedInfo={[
24+
{
25+
label: 'User Principal Name',
26+
value: `${row.UPN ?? ' '}`,
27+
},
28+
]}
29+
actions={[
30+
{
31+
label: 'Add permissions to OneDrive',
32+
color: 'info',
33+
modal: true,
34+
modalType: 'POST',
35+
modalBody: {
36+
UPN: row.UPN,
37+
TenantFilter: tenant.defaultDomainName,
38+
RemovePermission: false,
39+
},
40+
modalUrl: `/api/ExecSharePointOwner`,
41+
modalDropdown: {
42+
url: `/api/listUsers?TenantFilter=${tenant.defaultDomainName}`,
43+
labelField: 'displayName',
44+
valueField: 'userPrincipalName',
45+
},
46+
modalMessage: 'Select the User to add to this users OneDrive permissions',
47+
},
48+
{
49+
label: 'Remove permissions from OneDrive',
50+
color: 'info',
51+
modal: true,
52+
modalType: 'POST',
53+
modalBody: {
54+
UPN: row.UPN,
55+
TenantFilter: tenant.defaultDomainName,
56+
RemovePermission: true,
57+
},
58+
modalUrl: `/api/ExecSharePointOwner`,
59+
modalDropdown: {
60+
url: `/api/listUsers?TenantFilter=${tenant.defaultDomainName}`,
61+
labelField: 'displayName',
62+
valueField: 'userPrincipalName',
63+
},
64+
modalMessage: 'Select the User to remove from this users OneDrive permissions',
65+
},
66+
]}
67+
placement="end"
68+
visible={ocVisible}
69+
id={row.id}
70+
hideFunction={() => setOCVisible(false)}
71+
/>
72+
</>
73+
)
74+
}
875
const tenant = useSelector((state) => state.app.currentTenant)
976
const columns = [
1077
{
@@ -58,6 +125,10 @@ const OneDriveList = () => {
58125
)
59126
},
60127
},
128+
{
129+
name: 'Actions',
130+
cell: Offcanvas,
131+
},
61132
]
62133
return (
63134
<CippPageList

src/views/teams-share/sharepoint/SharepointList.jsx

Lines changed: 167 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,177 @@
1-
import React from 'react'
1+
import { CButton } from '@coreui/react'
2+
import { faEllipsisV } from '@fortawesome/free-solid-svg-icons'
3+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
4+
import React, { useState } from 'react'
25
import { useSelector } from 'react-redux'
36
import { CippPageList } from 'src/components/layout'
47
import { CellTip } from 'src/components/tables'
5-
6-
const columns = [
7-
{
8-
name: 'URL',
9-
selector: (row) => row['URL'],
10-
sortable: true,
11-
cell: (row) => CellTip(row['URL']),
12-
exportSelector: 'URL',
13-
},
14-
{
15-
name: 'Owner',
16-
selector: (row) => row['displayName'],
17-
sortable: true,
18-
cell: (row) => CellTip(row['displayName']),
19-
exportSelector: 'displayName',
20-
maxWidth: '300px',
21-
},
22-
{
23-
name: 'Last Active',
24-
selector: (row) => row['LastActive'],
25-
sortable: true,
26-
exportSelector: 'LastActive',
27-
maxWidth: '120px',
28-
},
29-
{
30-
name: 'File Count (Total)',
31-
selector: (row) => row['FileCount'],
32-
sortable: true,
33-
exportSelector: 'FileCount',
34-
maxWidth: '120px',
35-
},
36-
{
37-
name: 'Used (GB)',
38-
selector: (row) => row['UsedGB'],
39-
sortable: true,
40-
exportSelector: 'UsedGB',
41-
maxWidth: '120px',
42-
},
43-
{
44-
name: 'Allocated (GB)',
45-
selector: (row) => row['Allocated'],
46-
sortable: true,
47-
exportSelector: 'Allocated',
48-
maxWidth: '70px',
49-
},
50-
{
51-
name: 'Root Template',
52-
selector: (row) => row['Template'],
53-
sortable: true,
54-
cell: (row) => CellTip(row['Template']),
55-
exportSelector: 'Template',
56-
maxWidth: '200px',
57-
},
58-
]
8+
import { CippActionsOffcanvas } from 'src/components/utilities'
599

6010
const SharepointList = () => {
6111
const tenant = useSelector((state) => state.app.currentTenant)
12+
const Offcanvas = (row, rowIndex, formatExtraData) => {
13+
const tenant = useSelector((state) => state.app.currentTenant)
14+
const [ocVisible, setOCVisible] = useState(false)
6215

16+
//console.log(row)
17+
return (
18+
<>
19+
<CButton size="sm" color="link" onClick={() => setOCVisible(true)}>
20+
<FontAwesomeIcon icon={faEllipsisV} />
21+
</CButton>
22+
<CippActionsOffcanvas
23+
title="User Information"
24+
extendedInfo={[
25+
{
26+
label: 'Site URL',
27+
value: `${row.URL ?? ' '}`,
28+
},
29+
]}
30+
actions={[
31+
{
32+
label: 'Add member',
33+
color: 'info',
34+
modal: true,
35+
modalType: 'POST',
36+
modalBody: {
37+
groupId: row.UPN,
38+
TenantFilter: tenant.defaultDomainName,
39+
add: true,
40+
URL: row.URL,
41+
SharePointType: row.Template,
42+
},
43+
modalUrl: `/api/ExecSetSharePointMember`,
44+
modalDropdown: {
45+
url: `/api/listUsers?TenantFilter=${tenant.defaultDomainName}`,
46+
labelField: 'displayName',
47+
valueField: 'userPrincipalName',
48+
},
49+
modalMessage: 'Select the User to add as a member.',
50+
},
51+
{
52+
label: 'Remove member',
53+
color: 'info',
54+
modal: true,
55+
modalType: 'POST',
56+
modalBody: {
57+
groupId: row.UPN,
58+
TenantFilter: tenant.defaultDomainName,
59+
add: false,
60+
URL: row.URL,
61+
SharePointType: row.Template,
62+
},
63+
modalUrl: `/api/ExecSetSharePointMember`,
64+
modalDropdown: {
65+
url: `/api/listUsers?TenantFilter=${tenant.defaultDomainName}`,
66+
labelField: 'displayName',
67+
valueField: 'userPrincipalName',
68+
},
69+
modalMessage: 'Select the User to remove as a member.',
70+
},
71+
{
72+
label: 'Add Site Admin',
73+
color: 'info',
74+
modal: true,
75+
modalType: 'POST',
76+
modalBody: {
77+
UPN: row.UPN,
78+
TenantFilter: tenant.defaultDomainName,
79+
RemovePermission: false,
80+
URL: row.URL,
81+
},
82+
modalUrl: `/api/ExecSharePointOwner`,
83+
modalDropdown: {
84+
url: `/api/listUsers?TenantFilter=${tenant.defaultDomainName}`,
85+
labelField: 'displayName',
86+
valueField: 'userPrincipalName',
87+
},
88+
modalMessage: 'Select the User to add to the Site Admins permissions',
89+
},
90+
{
91+
label: 'Remove Site Admin',
92+
color: 'info',
93+
modal: true,
94+
modalType: 'POST',
95+
modalBody: {
96+
UPN: row.UPN,
97+
TenantFilter: tenant.defaultDomainName,
98+
RemovePermission: true,
99+
URL: row.URL,
100+
},
101+
modalUrl: `/api/ExecSharePointOwner`,
102+
modalDropdown: {
103+
url: `/api/listUsers?TenantFilter=${tenant.defaultDomainName}`,
104+
labelField: 'displayName',
105+
valueField: 'userPrincipalName',
106+
},
107+
modalMessage: 'Select the User to remove from the Site Admins permission',
108+
},
109+
]}
110+
placement="end"
111+
visible={ocVisible}
112+
id={row.id}
113+
hideFunction={() => setOCVisible(false)}
114+
/>
115+
</>
116+
)
117+
}
118+
const columns = [
119+
{
120+
name: 'URL',
121+
selector: (row) => row['URL'],
122+
sortable: true,
123+
cell: (row) => CellTip(row['URL']),
124+
exportSelector: 'URL',
125+
},
126+
{
127+
name: 'Owner',
128+
selector: (row) => row['displayName'],
129+
sortable: true,
130+
cell: (row) => CellTip(row['displayName']),
131+
exportSelector: 'displayName',
132+
maxWidth: '300px',
133+
},
134+
{
135+
name: 'Last Active',
136+
selector: (row) => row['LastActive'],
137+
sortable: true,
138+
exportSelector: 'LastActive',
139+
maxWidth: '120px',
140+
},
141+
{
142+
name: 'File Count (Total)',
143+
selector: (row) => row['FileCount'],
144+
sortable: true,
145+
exportSelector: 'FileCount',
146+
maxWidth: '120px',
147+
},
148+
{
149+
name: 'Used (GB)',
150+
selector: (row) => row['UsedGB'],
151+
sortable: true,
152+
exportSelector: 'UsedGB',
153+
maxWidth: '120px',
154+
},
155+
{
156+
name: 'Allocated (GB)',
157+
selector: (row) => row['Allocated'],
158+
sortable: true,
159+
exportSelector: 'Allocated',
160+
maxWidth: '70px',
161+
},
162+
{
163+
name: 'Root Template',
164+
selector: (row) => row['Template'],
165+
sortable: true,
166+
cell: (row) => CellTip(row['Template']),
167+
exportSelector: 'Template',
168+
maxWidth: '200px',
169+
},
170+
{
171+
name: 'Actions',
172+
cell: Offcanvas,
173+
},
174+
]
63175
return (
64176
<CippPageList
65177
title="SharePoint List"

version_latest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.0.1
1+
5.1.0

0 commit comments

Comments
 (0)