diff options
-rw-r--r-- | client/components/settings/settingBody.js | 2 | ||||
-rw-r--r-- | client/lib/utils.js | 20 | ||||
-rw-r--r-- | config/router.js | 27 | ||||
-rw-r--r-- | models/settings.js | 15 | ||||
-rw-r--r-- | models/trelloCreator.js | 4 | ||||
-rw-r--r-- | models/wekanCreator.js | 2 |
6 files changed, 55 insertions, 15 deletions
diff --git a/client/components/settings/settingBody.js b/client/components/settings/settingBody.js index ddb4cd0f..3f6f36f4 100644 --- a/client/components/settings/settingBody.js +++ b/client/components/settings/settingBody.js @@ -155,6 +155,8 @@ BlazeComponent.extendComponent({ this.setLoading(false); } + DocHead.setTitle(productName); + saveMailServerInfo(); }, diff --git a/client/lib/utils.js b/client/lib/utils.js index 525cfb83..d46d8076 100644 --- a/client/lib/utils.js +++ b/client/lib/utils.js @@ -145,6 +145,26 @@ Utils = { }); }, + manageCustomUI(){ + Meteor.call('getCustomUI', (err, data) => { + if (err && err.error[0] === 'var-not-exist'){ + Session.set('customUI', false); // siteId || address server not defined + } + if (!err){ + Utils.setCustomUI(data); + } + }); + }, + + setCustomUI(data){ + const currentBoard = Boards.findOne(Session.get('currentBoard')); + if (currentBoard) { + DocHead.setTitle(`${currentBoard.title } - ${ data.productName}`); + } else { + DocHead.setTitle(`${data.productName}`); + } + }, + setMatomo(data){ window._paq = window._paq || []; window._paq.push(['setDoNotTrack', data.doNotTrack]); diff --git a/config/router.js b/config/router.js index 91d08897..80e89e4c 100644 --- a/config/router.js +++ b/config/router.js @@ -14,6 +14,7 @@ FlowRouter.route('/', { Filter.reset(); EscapeActions.executeAll(); + Utils.manageCustomUI(); Utils.manageMatomo(); BlazeLayout.render('defaultLayout', { @@ -40,6 +41,7 @@ FlowRouter.route('/b/:id/:slug', { EscapeActions.executeUpTo('popup-close'); } + Utils.manageCustomUI(); Utils.manageMatomo(); BlazeLayout.render('defaultLayout', { @@ -57,6 +59,7 @@ FlowRouter.route('/b/:boardId/:slug/:cardId', { Session.set('currentBoard', params.boardId); Session.set('currentCard', params.cardId); + Utils.manageCustomUI(); Utils.manageMatomo(); BlazeLayout.render('defaultLayout', { @@ -122,6 +125,7 @@ FlowRouter.route('/setting', { }, ], action() { + Utils.manageCustomUI(); BlazeLayout.render('defaultLayout', { headerBar: 'settingHeaderBar', content: 'setting', @@ -199,20 +203,21 @@ _.each(redirections, (newPath, oldPath) => { // using the `kadira:dochead` package. Currently we only use it to display the // board title if we are in a board page (see #364) but we may want to support // some <meta> tags in the future. -const appTitle = 'Wekan'; +//const appTitle = Utils.manageCustomUI(); // XXX The `Meteor.startup` should not be necessary -- we don't need to wait for // the complete DOM to be ready to call `DocHead.setTitle`. But the problem is // that the global variable `Boards` is undefined when this file loads so we // wait a bit until hopefully all files are loaded. This will be fixed in a // clean way once Meteor will support ES6 modules -- hopefully in Meteor 1.3. -Meteor.isClient && Meteor.startup(() => { - Tracker.autorun(() => { - const currentBoard = Boards.findOne(Session.get('currentBoard')); - const titleStack = [appTitle]; - if (currentBoard) { - titleStack.push(currentBoard.title); - } - DocHead.setTitle(titleStack.reverse().join(' - ')); - }); -}); +//Meteor.isClient && Meteor.startup(() => { +// Tracker.autorun(() => { + +// const currentBoard = Boards.findOne(Session.get('currentBoard')); +// const titleStack = [appTitle]; +// if (currentBoard) { +// titleStack.push(currentBoard.title); +// } +// DocHead.setTitle(titleStack.reverse().join(' - ')); +// }); +//}); diff --git a/models/settings.js b/models/settings.js index 52212809..5db57cd8 100644 --- a/models/settings.js +++ b/models/settings.js @@ -74,7 +74,7 @@ if (Meteor.isServer) { if(!setting){ const now = new Date(); const domain = process.env.ROOT_URL.match(/\/\/(?:www\.)?(.*)?(?:\/)?/)[1]; - const from = `Wekan <wekan@${domain}>`; + const from = `Boards Support <support@${domain}>`; const defaultSetting = {disableRegistration: false, mailServer: { username: '', password: '', host: '', port: '', enableTLS: false, from, }, createdAt: now, modifiedAt: now}; @@ -210,6 +210,19 @@ if (Meteor.isServer) { }; }, + getCustomUI(){ + const setting = Settings.findOne({}); + if (!setting.productName) { + return { + productName: 'Wekan', + }; + } else { + return { + productName: `${setting.productName}`, + }; + } + }, + getMatomoConf(){ return { address: getEnvVar('MATOMO_ADDRESS'), diff --git a/models/trelloCreator.js b/models/trelloCreator.js index b5a255cc..3ac511a5 100644 --- a/models/trelloCreator.js +++ b/models/trelloCreator.js @@ -268,7 +268,7 @@ export class TrelloCreator { } // insert card const cardId = Cards.direct.insert(cardToCreate); - // keep track of Trello id => WeKan id + // keep track of Trello id => Wekan id this.cards[card.id] = cardId; // log activity // Activities.direct.insert({ @@ -431,7 +431,7 @@ export class TrelloCreator { sort: checklist.pos, }; const checklistId = Checklists.direct.insert(checklistToCreate); - // keep track of Trello id => WeKan id + // keep track of Trello id => Wekan id this.checklists[checklist.id] = checklistId; // Now add the items to the checklistItems let counter = 0; diff --git a/models/wekanCreator.js b/models/wekanCreator.js index fa950970..2d3ec5de 100644 --- a/models/wekanCreator.js +++ b/models/wekanCreator.js @@ -300,7 +300,7 @@ export class WekanCreator { } // insert card const cardId = Cards.direct.insert(cardToCreate); - // keep track of Wekan id => WeKan id + // keep track of Wekan id => Wekan id this.cards[card._id] = cardId; // // log activity // Activities.direct.insert({ |