--- /dev/null
+function FluidbookAveryForm(fluidbook) {
+ this.fluidbook = fluidbook;
+
+ this.locales = {
+ en: {
+ title: 'Discover what our full Avery Dennison portfolio can do for you',
+ subtitle: 'Register using this form for access to our current and future digital catalogues.',
+ company: 'Company',
+ country: 'Country',
+ activity: 'Activity',
+ printer: 'Printer',
+ installer: 'Installer',
+ designer: 'Designer / Agency',
+ brandowner: 'Brand owner',
+ other: 'Other',
+ email_address: 'E-mail address',
+ receive: 'Do you want to receive our free monthly e-newsletter',
+ yes: 'Yes',
+ no: 'No',
+ consent: 'I have read and agree to the Avery Dennison Legal and Privacy Notices',
+ submit: 'Submit',
+ nothanks: 'No, thanks'
+ }
+ };
+
+ this.locale = this.locales[this.fluidbook.datas.lang];
+
+
+ this.formInstance;
+ this.init();
+}
+
+FluidbookAveryForm.prototype = {
+ init: function () {
+ var $this = this;
+
+ $(document).on('click', '.avery-form .submit', function () {
+ $this.formInstance = $(".avery-form").parsley();
+ if ($this.formInstance.validate()) {
+ $this.sendSuggestion();
+ }
+ return false;
+ });
+
+ },
+
+ openSuggest: function (p1, p2, callback) {
+ var view = '<div class="caption">' + this.closeButton() + '<h2>' + this.locale.title + '</h2></div>';
+ view += '<div class="content">';
+ view += '<form class="avery-form" action="" method="post">';
+ view += '<div>';
+ view += '<label>'.this.locale.company;
+ view += '<input type="text" required name="company">';
+ view += '</label>';
+ view += '<label>' + this.locale.country;
+ view += '<select name="country"><option>TYPO / WORDING</option><option>CLARIFICATION REQUEST</option><option>IMPROVEMENT SUGGESTION (Gaps, Ideas, etc)</option></select>';
+ view += '</label>';
+ view += '<label>' + this.locale.activity;
+ view += '<select name="activity"><option value="printer">' + this.locale.printer + '</option>' +
+ '<option value="printer">' + this.locale.installer + '</option>' +
+ '<option value="designers / agency">' + this.locale.designer + '</option>' +
+ '<option value="brand owner">' + this.locale.brandowner + '</option>' +
+ '<option value="other">'+this.locale.other+'</option></select>';
+ view += '</label>';
+ view += '<label>'+this.locale.email_address;
+ view += '<input type="email" name="email" required>';
+ view += '</label>';
+ view += '<div class="line">';
+ view += this.locale.receive;
+ view += '<label class="radio"><input type="radio" name="subscribe" value="0" required>'+this.locale.yes+'</label>';
+ view += '<label class="radio"><input type="radio" name="subscribe" value="1" required>'+this.locale.no+'</label>';
+ view += '</div>';
+ view += '</div>';
+ view += '<div class="fonctions"><a href="#" class="close">' + this.locale.nothanks + '</a><a href="#" class="submit">' + this.locale.submit + '</a></div>';
+ view += '</form>';
+ view += '</div>';
+
+ $("#view").append('<div class="mview" data-menu="suggest">' + view + '</div>');
+
+ callback();
+ },
+ submitForm: function () {
+ var $this = this;
+ console.log('sendSuggestion');
+ var fs = require('fs');
+ var path = require('path');
+
+ var file = 'suggestion.txt';
+ var filePath = path.join(nw.App.dataPath, file);
+ var data = $("#bourbon-suggestion-page").val() + "/|!/" + Date.now() + "/|!/" + $("#bourbon-suggestion-type").val() + "/|!/" + $("#bourbon-suggestion-body").val();
+ console.log('Data to send: ' + data);
+ this.fluidbook.displayLoader();
+ fs.writeFile(filePath, data, function (err) {
+ if (err) {
+ console.info("There was an error attempting to save your data.");
+ console.warn(err.message);
+ return;
+ } else {
+ console.log('File written');
+ var exec = require('child_process').exec;
+ var path = require('path');
+ var cmd = '"' + path.join(process.cwd(), 'exe/sendemail.exe') + '" "bourbon+2018@fluidbook.com" "Bourbon SMS Suggestion" "Please see attached suggestion" "' + filePath + '" "' + file + '"';
+ console.log('exec ' + cmd);
+ exec(cmd, function (error, stdout, stderr) {
+ $this.fluidbook.hideLoader();
+ if (error) {
+ console.error("exec error: ${error}");
+ return;
+ }
+ console.log('output: ' + stdout.toString());
+ console.log('Email sent');
+ $(".cart-bourbon-suggest").html('<div class="message">Your suggestion has been added in your Outlook outbox. It will be effectively sent as you as Outlook will get an internet connection.</div>');
+ resize();
+ });
+ }
+ });
+ },
+};
\ No newline at end of file