Skip to content

Commit 5cfd822

Browse files
committed
using (Membership|Role)Resource#saveCollection method
1 parent 4d4e0a1 commit 5cfd822

File tree

4 files changed

+12
-37
lines changed

4 files changed

+12
-37
lines changed

kolibri/plugins/facility/assets/src/modules/classAssignMembers/actions.js

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
1-
import client from 'kolibri/client';
2-
import urls from 'kolibri/urls';
1+
import MembershipResource from 'kolibri-common/apiResources/MembershipResource';
2+
import RoleResource from 'kolibri-common/apiResources/RoleResource';
33
import { UserKinds } from 'kolibri/constants';
44
import uniq from 'lodash/uniq';
55

6-
export async function enrollLearnersInClass(store, { classId, users }) {
7-
return client({
8-
url: urls['kolibri:core:membership_list'](),
9-
method: 'POST',
6+
export async function enrollLearnersInClass(_, { classId, users }) {
7+
return MembershipResource.saveCollection({
108
data: uniq(users).map(userId => ({
119
collection: classId,
1210
user: userId,
1311
})),
1412
});
1513
}
1614

17-
export async function assignCoachesToClass(store, { classId, coaches }) {
18-
return client({
19-
url: urls['kolibri:core:role_list'](),
20-
method: 'POST',
15+
export async function assignCoachesToClass(_, { classId, coaches }) {
16+
return RoleResource.saveCollection({
2117
data: uniq(coaches).map(userId => ({
2218
collection: classId,
2319
user: userId,

kolibri/plugins/facility/assets/src/views/users/sidePanels/AssignCoachesSidePanel.vue

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,6 @@
116116
import SidePanelModal from 'kolibri-common/components/SidePanelModal';
117117
import { bulkUserManagementStrings } from 'kolibri-common/strings/bulkUserManagementStrings';
118118
import { UserKinds } from 'kolibri/constants';
119-
import client from 'kolibri/client';
120-
import urls from 'kolibri/urls';
121119
import RoleResource from 'kolibri-common/apiResources/RoleResource';
122120
import { useGoBack } from 'kolibri-common/composables/usePreviousRoute';
123121
import { coreStrings } from 'kolibri/uiText/commonCoreStrings';
@@ -280,12 +278,7 @@
280278
);
281279
282280
// Errors will be caught in _handleAssign
283-
const response = await client({
284-
url: urls['kolibri:core:role_list'](),
285-
method: 'POST',
286-
data: roleData,
287-
});
288-
281+
const response = await RoleResource.saveCollection({ data: roleData });
289282
const { created, invalid } = response.data;
290283
291284
// Only add roles that were actually created (have an id)

kolibri/plugins/facility/assets/src/views/users/sidePanels/EnrollLearnersSidePanel.vue

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,6 @@
113113

114114
<script>
115115
116-
import client from 'kolibri/client';
117-
import urls from 'kolibri/urls';
118116
import { useRouter, useRoute } from 'vue-router/composables';
119117
import { getCurrentInstance, ref, computed, nextTick } from 'vue';
120118
import SidePanelModal from 'kolibri-common/components/SidePanelModal';
@@ -224,12 +222,7 @@
224222
});
225223
if (enrollments.length > 0) {
226224
try {
227-
const response = await client({
228-
url: urls['kolibri:core:membership_list'](),
229-
method: 'POST',
230-
data: enrollments,
231-
});
232-
225+
const response = await MembershipResource.saveCollection({ data: enrollments });
233226
const { created, invalid } = response.data;
234227
235228
createdMemberships.value = created;

kolibri/plugins/facility/assets/src/views/users/sidePanels/UserCreate/index.vue

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -147,20 +147,19 @@
147147
<script>
148148
149149
import store from 'kolibri/store';
150-
import client from 'kolibri/client';
151-
import urls from 'kolibri/urls';
152150
import { ref, computed, nextTick, onBeforeMount, getCurrentInstance } from 'vue';
153151
import { useRoute, useRouter } from 'vue-router/composables';
154152
import CatchErrors from 'kolibri/utils/CatchErrors';
155153
import useSnackbar from 'kolibri/composables/useSnackbar';
156154
import notificationStrings from 'kolibri/uiText/notificationStrings';
155+
import FacilityUserResource from 'kolibri-common/apiResources/FacilityUserResource';
156+
import MembershipResource from 'kolibri-common/apiResources/MembershipResource';
157157
import RoleResource from 'kolibri-common/apiResources/RoleResource';
158158
import useFacilities from 'kolibri-common/composables/useFacilities';
159159
import SidePanelModal from 'kolibri-common/components/SidePanelModal';
160160
import ExtraDemographics from 'kolibri-common/components/ExtraDemographics';
161161
import GenderSelect from 'kolibri-common/components/userAccounts/GenderSelect';
162162
import commonCoreStrings, { coreStrings } from 'kolibri/uiText/commonCoreStrings';
163-
import FacilityUserResource from 'kolibri-common/apiResources/FacilityUserResource';
164163
import { UserKinds, ERROR_CONSTANTS, DemographicConstants } from 'kolibri/constants';
165164
import BirthYearSelect from 'kolibri-common/components/userAccounts/BirthYearSelect';
166165
import FullNameTextbox from 'kolibri-common/components/userAccounts/FullNameTextbox';
@@ -356,19 +355,13 @@
356355
};
357356
358357
const enrollLearnerInClasses = (userId, classIds) => {
359-
return client({
360-
url: urls['kolibri:core:membership_list'](),
361-
method: 'POST',
358+
return MembershipResource.saveCollection({
362359
data: classIds.map(cid => ({ collection: cid, user: userId })),
363360
});
364361
};
365362
366363
const assignCoachToClasses = (userId, classIds) => {
367-
// The endpoint still expects COACH for the kind when assigning,
368-
// even if the user's facility role is an admin
369-
return client({
370-
url: urls['kolibri:core:role_list'](),
371-
method: 'POST',
364+
return RoleResource.saveCollection({
372365
data: classIds.map(cid => ({ collection: cid, user: userId, kind: UserKinds.COACH })),
373366
});
374367
};

0 commit comments

Comments
 (0)