Skip to content

Commit a6d4ba0

Browse files
Compute license audit task results during publish workflow (#5665)
* Compute license audit task results during publish workflow * [pre-commit.ci lite] apply automatic fixes * fix linting * fix code * fix code --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 parent 24c820a commit a6d4ba0

12 files changed

Lines changed: 14 additions & 827 deletions

File tree

contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/SubmitToCommunityLibrarySidePanel/__tests__/SubmitToCommunityLibrarySidePanel.spec.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import SubmitToCommunityLibrarySidePanel from '../';
66
import Box from '../Box.vue';
77

88
import { useVersionDetail } from '../composables/useVersionDetail';
9-
import { useLicenseAudit } from '../composables/useLicenseAudit';
109
import { useLatestCommunityLibrarySubmission } from 'shared/composables/useLatestCommunityLibrarySubmission';
1110
import CommunityLibraryStatusChip from 'shared/views/communityLibrary/CommunityLibraryStatusChip.vue';
1211
import { Categories, CommunityLibraryStatus } from 'shared/constants';
@@ -15,7 +14,6 @@ import { CommunityLibrarySubmission } from 'shared/data/resources';
1514
import CountryField from 'shared/views/form/CountryField.vue';
1615

1716
jest.mock('../composables/useVersionDetail');
18-
jest.mock('../composables/useLicenseAudit');
1917
jest.mock('shared/composables/useLatestCommunityLibrarySubmission');
2018
jest.mock('shared/data/resources', () => ({
2119
CommunityLibrarySubmission: {
@@ -58,16 +56,6 @@ async function makeWrapper({ channel, publishedData, latestSubmission }) {
5856
fetchData: fetchLatestSubmission,
5957
});
6058

61-
useLicenseAudit.mockReturnValue({
62-
isLoading: computed(() => false),
63-
isFinished: computed(() => true),
64-
isAuditing: ref(false),
65-
invalidLicenses: ref([]),
66-
includedLicenses: ref([]),
67-
hasAuditData: computed(() => true),
68-
checkAndTriggerAudit: jest.fn(),
69-
});
70-
7159
const wrapper = mount(SubmitToCommunityLibrarySidePanel, {
7260
store,
7361
propsData: {

contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/SubmitToCommunityLibrarySidePanel/composables/__mocks__/useLicenseAudit.js

Lines changed: 0 additions & 25 deletions
This file was deleted.

contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/SubmitToCommunityLibrarySidePanel/composables/useLicenseAudit.js

Lines changed: 0 additions & 128 deletions
This file was deleted.

contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/SubmitToCommunityLibrarySidePanel/index.vue

Lines changed: 12 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -138,30 +138,16 @@
138138
</LoadingText>
139139
</div>
140140
</div>
141-
<div
142-
v-if="licenseAuditIsLoading"
143-
class="license-audit-loader"
144-
>
145-
<KCircularLoader disableDefaultTransition />
146-
<div class="audit-text-wrapper">
147-
<div class="audit-text-primary">
148-
{{ checkingChannelCompatibility$() }}
149-
</div>
150-
<div class="audit-text-secondary">
151-
{{ checkingChannelCompatibilitySecondary$() }}
152-
</div>
153-
</div>
154-
</div>
155141
<InvalidLicensesNotice
156-
v-if="licenseAuditIsFinished && invalidLicenses.length"
142+
v-if="versionDetailIsFinished && invalidLicenses.length"
157143
:invalid-licenses="invalidLicenses"
158144
/>
159145
<CompatibleLicensesNotice
160-
v-else-if="licenseAuditIsFinished"
146+
v-else-if="versionDetailIsFinished"
161147
:licenses="includedLicenses"
162148
/>
163149
<SpecialPermissionsList
164-
v-if="licenseAuditIsFinished && channelVersionId"
150+
v-if="versionDetailIsFinished && channelVersionId"
165151
v-model="checkedSpecialPermissions"
166152
:channel-version-id="channelVersionId"
167153
@update:allChecked="allSpecialPermissionsChecked = $event"
@@ -244,7 +230,6 @@
244230
245231
import Box from './Box';
246232
import LoadingText from './LoadingText';
247-
import { useLicenseAudit } from './composables/useLicenseAudit';
248233
import { useVersionDetail } from './composables/useVersionDetail';
249234
250235
import InvalidLicensesNotice from './licenseCheck/InvalidLicensesNotice.vue';
@@ -310,8 +295,6 @@
310295
submittingSnackbar$,
311296
publishingMessage$,
312297
confirmReplacementText$,
313-
checkingChannelCompatibility$,
314-
checkingChannelCompatibilitySecondary$,
315298
} = communityChannelsStrings;
316299
317300
const annotationColor = computed(() => tokensTheme.annotation);
@@ -429,13 +412,13 @@
429412
return versionDetail.value?.id;
430413
});
431414
432-
const {
433-
isLoading: licenseAuditIsLoading,
434-
isFinished: licenseAuditIsFinished,
435-
invalidLicenses,
436-
includedLicenses,
437-
checkAndTriggerAudit: checkAndTriggerLicenseAudit,
438-
} = useLicenseAudit(props.channel, currentChannelVersion);
415+
const invalidLicenses = computed(() => {
416+
return versionDetail.value?.non_distributable_licenses_included || [];
417+
});
418+
419+
const includedLicenses = computed(() => {
420+
return versionDetail.value?.included_licenses || [];
421+
});
439422
440423
const allSpecialPermissionsChecked = ref(false);
441424
@@ -448,7 +431,7 @@
448431
allSpecialPermissionsChecked.value,
449432
!isPublishing.value,
450433
!hasInvalidLicenses.value,
451-
licenseAuditIsFinished.value,
434+
versionDetailIsFinished.value,
452435
canBeEdited.value,
453436
versionDetailIsFinished.value,
454437
description.value.length >= 1,
@@ -461,11 +444,10 @@
461444
return conditions.every(condition => condition);
462445
});
463446
464-
// Watch for when publishing completes - fetch publishedData to get the new version's data
447+
// Watch for when publishing completes - fetch version detail to get the new version's data
465448
watch(isPublishing, async (newIsPublishing, oldIsPublishing) => {
466449
if (oldIsPublishing === true && newIsPublishing === false) {
467450
await fetchVersionDetail();
468-
await checkAndTriggerLicenseAudit();
469451
}
470452
});
471453
@@ -474,7 +456,6 @@
474456
475457
if (!isPublishing.value) {
476458
await fetchVersionDetail();
477-
await checkAndTriggerLicenseAudit();
478459
}
479460
});
480461
@@ -581,8 +562,6 @@
581562
versionDetailIsFinished,
582563
detectedLanguages,
583564
detectedCategories,
584-
licenseAuditIsLoading,
585-
licenseAuditIsFinished,
586565
invalidLicenses,
587566
includedLicenses,
588567
onSubmit,
@@ -606,8 +585,6 @@
606585
isPublishing,
607586
publishingMessage$,
608587
confirmReplacementText$,
609-
checkingChannelCompatibility$,
610-
checkingChannelCompatibilitySecondary$,
611588
checkedSpecialPermissions,
612589
allSpecialPermissionsChecked,
613590
};
@@ -720,35 +697,6 @@
720697
color: v-bind('infoTextColor');
721698
}
722699
723-
.license-audit-loader {
724-
display: flex;
725-
flex-direction: row;
726-
gap: 12px;
727-
align-items: flex-start;
728-
width: 100%;
729-
padding: 16px 0;
730-
}
731-
732-
.audit-text-wrapper {
733-
display: flex;
734-
flex: 1;
735-
flex-direction: column;
736-
gap: 4px;
737-
}
738-
739-
.audit-text-primary {
740-
font-size: 14px;
741-
line-height: 140%;
742-
color: v-bind('infoTextColor');
743-
}
744-
745-
.audit-text-secondary {
746-
font-size: 14px;
747-
line-height: 140%;
748-
color: v-bind('infoTextColor');
749-
opacity: 0.7;
750-
}
751-
752700
.info-section {
753701
display: flex;
754702
flex-direction: column;

contentcuration/contentcuration/frontend/shared/data/resources.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1416,10 +1416,6 @@ export const Channel = new CreateModelResource({
14161416
const response = await client.get(window.Urls.channel_version_detail(id));
14171417
return response.data;
14181418
},
1419-
async auditLicenses(id) {
1420-
const response = await client.post(window.Urls.channel_audit_licenses(id));
1421-
return response.data;
1422-
},
14231419
});
14241420

14251421
function getChannelFromChannelScope() {

contentcuration/contentcuration/frontend/shared/strings/communityChannelsStrings.js

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -241,16 +241,6 @@ export const communityChannelsStrings = createTranslator('CommunityChannelsStrin
241241
message: 'Dismiss',
242242
context: 'Action in the resubmit modal to dismiss the modal',
243243
},
244-
checkingChannelCompatibility: {
245-
message: 'Checking channel compatibility for submission...',
246-
context:
247-
'Message shown in the "Submit to Community Library" panel while the license audit is in progress',
248-
},
249-
checkingChannelCompatibilitySecondary: {
250-
message: 'This usually takes a few seconds...',
251-
context:
252-
'Secondary message shown below the main checking message to indicate the expected duration',
253-
},
254244
licenseCheckPassed: {
255245
message: 'License check passed',
256246
context: 'Title shown when license audit passes (no invalid licenses found)',

contentcuration/contentcuration/tasks.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from contentcuration.models import Change
1717
from contentcuration.models import ContentNode
1818
from contentcuration.models import User
19-
from contentcuration.utils.audit_channel_licenses import audit_channel_licenses
2019
from contentcuration.utils.csv_writer import write_user_csv
2120
from contentcuration.utils.nodes import calculate_resource_size
2221
from contentcuration.utils.nodes import generate_diff
@@ -166,8 +165,3 @@ def sendcustomemails_task(subject, message, query):
166165
@app.task(name="ensure_versioned_database_exists_task")
167166
def ensure_versioned_database_exists_task(channel_id, channel_version):
168167
ensure_versioned_database_exists(channel_id, channel_version)
169-
170-
171-
@app.task(name="audit-channel-licenses")
172-
def audit_channel_licenses_task(channel_id, user_id):
173-
audit_channel_licenses(channel_id, user_id)

0 commit comments

Comments
 (0)