Skip to content

Commit e32c90b

Browse files
authored
Merge pull request #329 from ExtensionEngine/release/3.2.1
Release 3.2.1
2 parents ba7ba09 + a43a8ef commit e32c90b

File tree

5 files changed

+37
-21
lines changed

5 files changed

+37
-21
lines changed

client/main.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import 'dom-shims/shim/Element.classList';
44
import 'dom-shims/shim/Element.mutation';
55
import 'event-source-polyfill';
66
import 'bootstrap-sass/assets/javascripts/bootstrap';
7-
import 'vue-directive-tooltip/css/index.css';
87

98
import assetsApi from '@/api/asset';
109
import colors from 'vuetify/es5/util/colors';
@@ -14,7 +13,6 @@ import FileFilter from '@/directives/file-filter';
1413
import QuestionContainer from 'tce-core/QuestionContainer';
1514
import { sync } from 'vuex-router-sync';
1615
import Timeago from 'vue-timeago';
17-
import Tooltip from 'vue-directive-tooltip';
1816
import VeeValidate from './utils/validation';
1917
import Vue from 'vue';
2018
import VueHotkey from 'v-hotkey';
@@ -42,7 +40,6 @@ Vue.use(Vuetify, {
4240
}
4341
});
4442
Vue.use(VuetifySnackbar);
45-
Vue.use(Tooltip, { delay: 50 });
4643
Vue.use(VeeValidate, {
4744
delay: 700,
4845
fieldsBagName: 'vFields',

package-lock.json

Lines changed: 2 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tailor",
3-
"version": "3.2.0",
3+
"version": "3.2.1",
44
"codename": "silk",
55
"description": "Content authoring platform",
66
"author": "ExtensionEngine <[email protected]>",
@@ -122,7 +122,6 @@
122122
"vue-avatar": "^2.1.1",
123123
"vue-color": "^2.7.0",
124124
"vue-datetime": "^1.0.0-beta.3",
125-
"vue-directive-tooltip": "^1.4.2",
126125
"vue-focus": "^2.1.0",
127126
"vue-infinite-loading": "^2.4.4",
128127
"vue-infinite-scroll": "^2.0.0",

server/activity/activity.controller.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,13 @@ function clone({ activity, body }, res) {
6363
}
6464

6565
function getPreviewUrl({ course, activity }, res) {
66-
return fetchActivityContent(course, activity)
66+
return fetchActivityContent(course, activity, true)
6767
.then(content => {
68-
const body = { uid: activity.uid, ...content };
68+
const body = {
69+
...pick(activity, ['id', 'uid', 'type']),
70+
meta: activity.data,
71+
...content
72+
};
6973
return request.post(previewUrl, body);
7074
})
7175
.then(({ data: { url } }) => {

server/shared/publishing/helpers.js

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
'use strict';
22

3-
const { getLevelRelationships } = require('../../../config/shared/activities');
4-
const { TeachingElement } = require('../database');
53
const filter = require('lodash/filter');
64
const find = require('lodash/find');
75
const findIndex = require('lodash/findIndex');
86
const get = require('lodash/get');
7+
const { getLevelRelationships } = require('../../../config/shared/activities');
98
const hash = require('hash-obj');
109
const keys = require('lodash/keys');
1110
const map = require('lodash/map');
1211
const omit = require('lodash/omit');
1312
const pick = require('lodash/pick');
1413
const Promise = require('bluebird');
1514
const reduce = require('lodash/reduce');
15+
const { resolveStatics } = require('../storage/helpers');
1616
const storage = require('../storage');
17+
const { TeachingElement } = require('../database');
1718
const without = require('lodash/without');
1819

1920
const { FLAT_REPO_STRUCTURE } = process.env;
@@ -100,12 +101,17 @@ function getPublishedStructure(repository) {
100101
});
101102
}
102103

103-
function fetchActivityContent(repository, activity) {
104-
return Promise.all([
104+
async function fetchActivityContent(repository, activity, signed = false) {
105+
const res = await Promise.all([
105106
fetchContainers(repository, activity),
106107
fetchAssessments(activity),
107108
fetchExams(activity)
108109
]).spread((containers, assessments, exams) => ({ containers, assessments, exams }));
110+
if (!signed) return res;
111+
res.containers = await Promise.map(res.containers, resolveContainer);
112+
res.assessments = await resolveAssessments(res.assessments);
113+
res.exams = await Promise.map(res.exams, resolveExam);
114+
return res;
109115
}
110116

111117
function publishContent(repository, activity) {
@@ -185,6 +191,24 @@ async function fetchQuestionGroups(exam) {
185191
};
186192
}
187193

194+
async function resolveContainer(container) {
195+
container.elements = await Promise.map(container.elements, resolveStatics);
196+
return container;
197+
}
198+
199+
function resolveAssessments(assessments) {
200+
return Promise.map(assessments, resolveStatics);
201+
}
202+
203+
async function resolveExam(exam) {
204+
exam.groups = await Promise.map(exam.groups, async group => {
205+
group.intro = await Promise.map(group.intro, resolveStatics);
206+
group.assessments = await Promise.map(group.assessments, resolveStatics);
207+
return group;
208+
});
209+
return exam;
210+
}
211+
188212
function saveFile(parent, key, data) {
189213
const buffer = Buffer.from(JSON.stringify(data), 'utf8');
190214
const baseUrl = getBaseUrl(parent.courseId, parent.id);

0 commit comments

Comments
 (0)