|
@@ -13,32 +13,44 @@ const ImportPopup = BlazeComponent.extendComponent({
|
|
|
|
|
|
events() {
|
|
events() {
|
|
return [{
|
|
return [{
|
|
- 'submit': (evt) => {
|
|
|
|
|
|
+ submit(evt) {
|
|
evt.preventDefault();
|
|
evt.preventDefault();
|
|
const dataJson = $(evt.currentTarget).find('.js-import-json').val();
|
|
const dataJson = $(evt.currentTarget).find('.js-import-json').val();
|
|
let dataObject;
|
|
let dataObject;
|
|
try {
|
|
try {
|
|
dataObject = JSON.parse(dataJson);
|
|
dataObject = JSON.parse(dataJson);
|
|
|
|
+ this.setError('');
|
|
} catch (e) {
|
|
} catch (e) {
|
|
this.setError('error-json-malformed');
|
|
this.setError('error-json-malformed');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- Meteor.call(this.getMethodName(), dataObject, this.getAdditionalData(),
|
|
|
|
- (error, response) => {
|
|
|
|
- if (error) {
|
|
|
|
- this.setError(error.error);
|
|
|
|
- } else {
|
|
|
|
- Filter.addException(response);
|
|
|
|
- this.onFinish(response);
|
|
|
|
|
|
+ if(dataObject.members.length > 0) {
|
|
|
|
+ this.data().toImport = dataObject;
|
|
|
|
+ members.forEach(
|
|
|
|
+ // todo if there is a Wekan user with same name, add it as a field 'wekanUser'
|
|
|
|
+ );
|
|
|
|
+ this.data().members = dataObject.members;
|
|
|
|
+ // we bind to preserve data context
|
|
|
|
+ Popup.open('mapMembers').bind(this)(evt);
|
|
|
|
+ } else {
|
|
|
|
+ Meteor.call(this.getMethodName(), dataObject, this.getAdditionalData(),
|
|
|
|
+ (error, response) => {
|
|
|
|
+ if (error) {
|
|
|
|
+ this.setError(error.error);
|
|
|
|
+ } else {
|
|
|
|
+ Filter.addException(response);
|
|
|
|
+ this.onFinish(response);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- );
|
|
|
|
|
|
+ );
|
|
|
|
+ }
|
|
},
|
|
},
|
|
}];
|
|
}];
|
|
},
|
|
},
|
|
|
|
|
|
onCreated() {
|
|
onCreated() {
|
|
this.error = new ReactiveVar('');
|
|
this.error = new ReactiveVar('');
|
|
|
|
+ this.dataToImport = '';
|
|
},
|
|
},
|
|
|
|
|
|
setError(error) {
|
|
setError(error) {
|
|
@@ -88,3 +100,13 @@ ImportPopup.extendComponent({
|
|
},
|
|
},
|
|
}).register('boardImportBoardPopup');
|
|
}).register('boardImportBoardPopup');
|
|
|
|
|
|
|
|
+BlazeComponent.extendComponent({
|
|
|
|
+ events() {
|
|
|
|
+ return [{
|
|
|
|
+ 'submit': (evt) => {
|
|
|
|
+ evt.preventDefault();
|
|
|
|
+ console.log(this.data());
|
|
|
|
+ },
|
|
|
|
+ }];
|
|
|
|
+ },
|
|
|
|
+}).register('mapMembersPopup');
|