From: Kilian Saffran Date: Mon, 11 Jan 2021 06:45:14 +0000 (+0100) Subject: v20200110 X-Git-Url: http://cloud.dks.lu/git/?a=commitdiff_plain;h=8b3b800d84efd71b8c5a0a933aa033e60a42f464;p=invoicejournal.git v20200110 --- diff --git a/desktopapp/css/fonts/appicons.svg b/desktopapp/css/fonts/appicons.svg index 8458cab..98b28c8 100644 --- a/desktopapp/css/fonts/appicons.svg +++ b/desktopapp/css/fonts/appicons.svg @@ -101,22 +101,22 @@ - - - - - - - - - - - + + + + + + + + + + + - + @@ -124,4 +124,7 @@ + + + \ No newline at end of file diff --git a/desktopapp/css/fonts/appicons.ttf b/desktopapp/css/fonts/appicons.ttf index 3a28598..6f5c468 100644 Binary files a/desktopapp/css/fonts/appicons.ttf and b/desktopapp/css/fonts/appicons.ttf differ diff --git a/desktopapp/css/fonts/appicons.woff b/desktopapp/css/fonts/appicons.woff index 5b34afc..7a42089 100644 Binary files a/desktopapp/css/fonts/appicons.woff and b/desktopapp/css/fonts/appicons.woff differ diff --git a/desktopapp/css/icons.css b/desktopapp/css/icons.css index 03357f7..c6a7d2c 100644 --- a/desktopapp/css/icons.css +++ b/desktopapp/css/icons.css @@ -1,9 +1,9 @@ @font-face { font-family: 'appicons'; src: - url('fonts/appicons.ttf?o9n2mq') format('truetype'), - url('fonts/appicons.woff?o9n2mq') format('woff'), - url('fonts/appicons.svg?o9n2mq#appicons') format('svg'); + url('fonts/appicons.ttf?doc1wu') format('truetype'), + url('fonts/appicons.woff?doc1wu') format('woff'), + url('fonts/appicons.svg?doc1wu#appicons') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -24,54 +24,6 @@ -moz-osx-font-smoothing: grayscale; } -.icon-menu:before { - content: "\e972"; -} -.icon-rendezvous:before { - content: "\e973"; -} -.icon-events:before { - content: "\e974"; -} -.icon-mailserver:before { - content: "\e971"; -} -.icon-private-cloud:before { - content: "\e96e"; -} -.icon-shield:before { - content: "\e96f"; -} -.icon-cloud-data:before { - content: "\e970"; -} -.icon-mobile:before { - content: "\e96c"; -} -.icon-website2:before { - content: "\e96d"; -} -.icon-stopwatches:before { - content: "\e969"; -} -.icon-paragraph:before { - content: "\e96a"; -} -.icon-support:before { - content: "\e96b"; -} -.icon-helpdesk:before { - content: "\e935"; -} -.icon-printer:before { - content: "\e936"; -} -.icon-user:before { - content: "\e937"; -} -.icon-open:before { - content: "\e938"; -} .icon-add:before { content: "\e930"; } @@ -123,6 +75,9 @@ .icon-close:before { content: "\e907"; } +.icon-cloud-data:before { + content: "\e970"; +} .icon-code:before { content: "\e943"; } @@ -183,6 +138,9 @@ .icon-email:before { content: "\e911"; } +.icon-events:before { + content: "\e974"; +} .icon-exit:before { content: "\e912"; } @@ -216,6 +174,9 @@ .icon-help-important:before { content: "\e950"; } +.icon-helpdesk:before { + content: "\e935"; +} .icon-home:before { content: "\e951"; } @@ -252,6 +213,18 @@ .icon-mailsend:before { content: "\e957"; } +.icon-mailserver:before { + content: "\e971"; +} +.icon-mailtemplate:before { + content: "\e975"; +} +.icon-menu:before { + content: "\e972"; +} +.icon-mobile:before { + content: "\e96c"; +} .icon-msstore:before { content: "\e958"; } @@ -261,9 +234,15 @@ .icon-ok:before { content: "\e959"; } +.icon-open:before { + content: "\e938"; +} .icon-out:before { content: "\e900"; } +.icon-paragraph:before { + content: "\e96a"; +} .icon-pc:before { content: "\e95a"; } @@ -276,6 +255,9 @@ .icon-pc-windows:before { content: "\e95d"; } +.icon-pc1:before { + content: "\e95e"; +} .icon-pdf:before { content: "\e91e"; } @@ -291,6 +273,12 @@ .icon-print:before { content: "\e922"; } +.icon-printer:before { + content: "\e936"; +} +.icon-private-cloud:before { + content: "\e96e"; +} .icon-product:before { content: "\e923"; } @@ -300,14 +288,20 @@ .icon-reload:before { content: "\e925"; } +.icon-rendezvous:before { + content: "\e973"; +} +.icon-reporttemplate:before { + content: "\e95f"; +} .icon-rndcheck-not:before { - content: "\e95e"; + content: "\e960"; } .icon-rndcheck-ok:before { - content: "\e95f"; + content: "\e961"; } .icon-sale:before { - content: "\e960"; + content: "\e962"; } .icon-save:before { content: "\e934"; @@ -316,16 +310,19 @@ content: "\e926"; } .icon-settings-bars:before { - content: "\e961"; + content: "\e963"; +} +.icon-shield:before { + content: "\e96f"; } .icon-shop:before { - content: "\e962"; + content: "\e964"; } .icon-shop3:before { - content: "\e963"; + content: "\e965"; } .icon-shoppingcard:before { - content: "\e964"; + content: "\e966"; } .icon-sortasc:before { content: "\e932"; @@ -336,11 +333,17 @@ .icon-star:before { content: "\e927"; } +.icon-stopwatches:before { + content: "\e969"; +} .icon-stripe:before { - content: "\e965"; + content: "\e967"; +} +.icon-support:before { + content: "\e96b"; } .icon-tag:before { - content: "\e966"; + content: "\e968"; } .icon-template:before { content: "\e928"; @@ -357,6 +360,9 @@ .icon-upload:before { content: "\e92a"; } +.icon-user:before { + content: "\e937"; +} .icon-userconfig:before { content: "\e92c"; } @@ -364,7 +370,7 @@ content: "\e92b"; } .icon-video:before { - content: "\e967"; + content: "\e96d"; } .icon-viewpdf:before { content: "\e92d"; @@ -372,6 +378,9 @@ .icon-website:before { content: "\e92e"; } +.icon-website2:before { + content: "\e976"; +} .icon-win10:before { - content: "\e968"; + content: "\e977"; } diff --git a/desktopapp/dialogs/AddFiles.html b/desktopapp/dialogs/AddFiles.html index de0baed..37bc60b 100644 --- a/desktopapp/dialogs/AddFiles.html +++ b/desktopapp/dialogs/AddFiles.html @@ -3,28 +3,28 @@
-

Datei(en) hinzufügen

+

{{addfiles}}

-
- - -
+
+ + +
- +
- - + +
\ No newline at end of file diff --git a/desktopapp/dialogs/Email.html b/desktopapp/dialogs/Email.html index d338d42..6913cd0 100644 --- a/desktopapp/dialogs/Email.html +++ b/desktopapp/dialogs/Email.html @@ -1,43 +1,53 @@ \ No newline at end of file diff --git a/desktopapp/dialogs/InvoiceBooking.html b/desktopapp/dialogs/InvoiceBooking.html deleted file mode 100644 index e69de29..0000000 diff --git a/desktopapp/dialogs/SelectAddress.html b/desktopapp/dialogs/SelectAddress.html index eb22793..8768674 100644 --- a/desktopapp/dialogs/SelectAddress.html +++ b/desktopapp/dialogs/SelectAddress.html @@ -2,16 +2,14 @@ \ No newline at end of file diff --git a/desktopapp/dialogs/SelectProduct.html b/desktopapp/dialogs/SelectProduct.html index b38ec1e..dae1391 100644 --- a/desktopapp/dialogs/SelectProduct.html +++ b/desktopapp/dialogs/SelectProduct.html @@ -2,16 +2,14 @@ \ No newline at end of file diff --git a/desktopapp/dialogs/confirm.html b/desktopapp/dialogs/confirm.html index 9e4abb2..3e308a4 100644 --- a/desktopapp/dialogs/confirm.html +++ b/desktopapp/dialogs/confirm.html @@ -8,8 +8,8 @@
- +
\ No newline at end of file diff --git a/desktopapp/dialogs/dataload.html b/desktopapp/dialogs/dataload.html index 6d0e7d4..00dac28 100644 --- a/desktopapp/dialogs/dataload.html +++ b/desktopapp/dialogs/dataload.html @@ -5,7 +5,7 @@
- Attentez s.v.p.! + {{pleasewait}}
diff --git a/desktopapp/dialogs/message.html b/desktopapp/dialogs/message.html index 7931c02..88b5c40 100644 --- a/desktopapp/dialogs/message.html +++ b/desktopapp/dialogs/message.html @@ -8,7 +8,7 @@
- +
\ No newline at end of file diff --git a/desktopapp/index.html b/desktopapp/index.html index f690748..1a15526 100644 --- a/desktopapp/index.html +++ b/desktopapp/index.html @@ -37,6 +37,9 @@ +
+ +
diff --git a/desktopapp/js/email.js b/desktopapp/js/email.js index 4560180..c7ecb52 100644 --- a/desktopapp/js/email.js +++ b/desktopapp/js/email.js @@ -1,4 +1,5 @@ - +var emlformat= require('eml-format'); +const nodemailer = require("nodemailer"); let email = { tmpfolder: usersystem.profilepath() + 'tmp/', @@ -15,65 +16,137 @@ let email = { }).then(data => resolve(data)).catch(err => reject(err)); }); }, - sendSMTP: function (email,attach = [],callback = null){ + sendSMTP: function (maildata,attach = [],callback = null){ email.callback = callback; - email.tmpbodyfile = report.tmpfolder + email.tmptemplate + ".mail.html"; - //repdata = db.query("select * from public.mailtemplates WHERE id='".$tmpl."'"); - result = fs.writeFileSync(email.tmpbodyfile, email.tmpbody); - var args= []; - args.push("-f",'"' + preferences.defaultdata.smtpfrom + '"'); - args.push('-s','"'+preferences.defaultdata.smtpserver + ':' + preferences.defaultdata.smtpport+ '"'); - args.push('-xu','"'+preferences.defaultdata.smtpuser+'"'); - args.push('-xp',"'" + preferences.defaultdata.smtppassword + "'"); - args.push('-q'); - args.push('-o','tls=auto'); - args.push('-t','"'+ email+ '"'); - args.push('-u','"'+ email.tmpsubject+ '"'); - args.push('-o','message-content-type=html'); - args.push('-o','message-charset=ISO-8859-1'); - args.push('-o','message-file='+ email.tmpbodyfile); - if ((attach) && (attach.length > 0)){ - for (var a in attach){ - args.push("-a",'"'+a + '"'); - } - - } - const mailout = spawn(usersystem.getApplicationPath()+ '/tools/sendEmail.exe', args); - mailout.stdout.on('data', (data) => { - console.log(`emailout stdout: ${data}`); + let transporter = nodemailer.createTransport({ + host: preferences.defaultdata.smtpserve, + port: parseInt(preferences.defaultdata.smtpport), + secure: ((parseInt(preferences.defaultdata.smtpport) == 465)?true:false), // true for 465, false for other ports + auth: { + user: preferences.defaultdata.smtpuser, // generated ethereal user + pass: preferences.defaultdata.smtppassword, // generated ethereal password + }, }); - mailout.stderr.on('data', (data) => { - console.error(`emailout stderr: ${data}`); - }); - mailout.on('close', (code) => { - console.log(`emailout: child process exited with code ${code}`); - if (code == 0){ - //console.log("Copy",report.tmpoutput,"to",report.output); - email.tmpbodyfile = null; - email.tmpbody= null; - email.tmpsubject= null; - email.tmptemplate= null; - if (fs.existsSync(email.tmpbodyfile)){ - fs.unlinkSync(email.tmpbodyfile); - } - - email.callback({"mail":" Mail wurde erfolgreich verschickt an " + email}); + let mattach = []; + for (var a in attach){ + mattach.push({file: attach[a]}); + } + let mailobj = { + from: preferences.defaultdata.smtpfrom, // sender address + to: maildata.to, // list of receivers + subject: maildata.subject, // Subject line + //text: "Hello world?", // plain text body + html: maildata.body, // html body + attachments: mattach + } + if (maildata.cc){ + mailobj["cc"] = maildata.cc; // (comma separated) + } + if (maildata.bcc){ + mailobj["bcc"] = maildata.bcc; // (comma separated) } + // send mail with defined transport object + let msg = await transporter.sendMail(); + + console.log("Message sent: %s", msg.messageId); + // Message sent: + + // Preview only available when sending through an Ethereal account + console.log("Preview URL: %s", nodemailer.getTestMessageUrl(msg)); + email.callback({"mail":lbl[preferences.global.language].mailsent + " " + email}); + // email.tmpbodyfile = report.tmpfolder + email.tmptemplate + ".mail.html"; + // //repdata = db.query("select * from public.mailtemplates WHERE id='".$tmpl."'"); + // result = fs.writeFileSync(email.tmpbodyfile, email.tmpbody); + // var args= []; + // args.push("-f",'"' + preferences.defaultdata.smtpfrom + '"'); + // args.push('-s','"'+preferences.defaultdata.smtpserver + ':' + preferences.defaultdata.smtpport+ '"'); + // args.push('-xu','"'+preferences.defaultdata.smtpuser+'"'); + // args.push('-xp',"'" + preferences.defaultdata.smtppassword + "'"); + // args.push('-q'); + // args.push('-o','tls=auto'); + // args.push('-t','"'+ email+ '"'); + // args.push('-u','"'+ email.tmpsubject+ '"'); + // args.push('-o','message-content-type=html'); + // args.push('-o','message-charset=ISO-8859-1'); + // args.push('-o','message-file='+ email.tmpbodyfile); + // if ((attach) && (attach.length > 0)){ + // for (var a in attach){ + // args.push("-a",'"'+a + '"'); + // } + + // } + // const mailout = spawn(usersystem.getApplicationPath()+ '/tools/sendEmail.exe', args); + // mailout.stdout.on('data', (data) => { + // console.log(`emailout stdout: ${data}`); + // }); + // mailout.stderr.on('data', (data) => { + // console.error(`emailout stderr: ${data}`); + // }); + // mailout.on('close', (code) => { + // console.log(`emailout: child process exited with code ${code}`); + // if (code == 0){ + // //console.log("Copy",report.tmpoutput,"to",report.output); + // email.tmpbodyfile = null; + // email.tmpbody= null; + // email.tmpsubject= null; + // email.tmptemplate= null; + // if (fs.existsSync(email.tmpbodyfile)){ + // fs.unlinkSync(email.tmpbodyfile); + // } + + // email.callback({"mail":" Mail wurde erfolgreich verschickt an " + email}); + // } - }); + // }); }, - openthunderbird: function(maildata){ + + open: function(maildata,attach){ let args =[]; let mailcfg =[]; - mailcfg.push("to='"+ maildata.to+"'"); - mailcfg.push("from='"+ maildata.from +"'"); - mailcfg.push("subject='"+ maildata.subject +"'"); - mailcfg.push("format=1"); // format => 1=HTML, 2=text - mailcfg.push("body='"+ maildata.body+"'"); - mailcfg.push("attachment='"+ maildata.attachments.join(',').replace(/\//g,"\\")+"'"); - args.push("-compose",mailcfg.join(",")) - + if (preferences.global.mailapp == "thunderbird"){ + mailcfg.push("to='"+ maildata.to+"'"); + mailcfg.push("from='"+ maildata.from +"'"); + mailcfg.push("subject='"+ maildata.subject +"'"); + mailcfg.push("format=1"); // format => 1=HTML, 2=text + mailcfg.push("body='"+ maildata.body+"'"); + mailcfg.push("attachment='"+ maildata.attachments.join(',').replace(/\//g,"\\")+"'"); + args.push("-compose",mailcfg.join(",")) + } else if (preferences.global.mailapp == "outlook"){ + let mailobj = { + from: maildata.from, + to: maildata.to, + subject: maildata.subject, + html: maildata.body, + } + if (maildata.cc){ + mailobj["cc"] = maildata.cc; + } + if (maildata.bcc){ + mailobj["bcc"] = maildata.bcc; + } + if ((attach) && (attach.length > 0)){ + mailobj.attachments =[]; + for (var a in attach){ + let tmpf = + mailobj.attachments.push({ + name: path.basename, + contentType: "application/pdf", + data: fs.readfileSync(attach[a]), + inline: true, + }); + } + + } + //var eml = fs.readFileSync("sample.eml", "utf-8"); + emlformat.build(data, function(error, eml) { + if (error) return console.log(error); + fs.writeFileSync(email.tmpfolder + "/build.eml", eml); + console.log("Done!"); + }); + //outlook.exe /c ipm.note /m "someone@microsoft.com&subject=test%20subject&body=test%20body" /a test.txt + args = ["/c","ipm.note","/f",email.tmpfolder + "/build.eml"] + } const mailappout = spawn(preferences.global.mailapp, args); mailappout.stdout.on('data', (data) => { @@ -88,10 +161,10 @@ let email = { // console.log(`mailappout: child process exited with code ${code}`); }); }, - openOutlook: function(){ - const mailappout = spawn(preferences.global.mailapp, args); - //outlook.exe /c ipm.note /m "someone@microsoft.com&subject=test%20subject&body=test%20body" /a test.txt - }, + // openOutlook: function(){ + // const mailappout = spawn(preferences.global.mailapp, args); + + // }, // create: function(mailtemplate,repdata,accdata){ // if (mailtemplate == 'msg'){ // email.templatetype ='msg'; diff --git a/desktopapp/js/lang/de.js b/desktopapp/js/lang/de.js index 58c4497..dcce79f 100644 --- a/desktopapp/js/lang/de.js +++ b/desktopapp/js/lang/de.js @@ -1,4 +1,136 @@ lbl["de"] = { + back:"zurück", invoices:"Rechnungen", + addresses:"Addressen", + address_new:"Neue Adresse", + address_delete:"Adresse löschen?", + address_delete_question:"Sind Sie Sicher dass Sie die Adresse löschen möchten?", + invoice:"Rechnung", + new:"neu", + edit:"bearbeiten", + duplicate:"duplizieren", + delete:"löschen", + address:"Adresse", + companyname: "Firma / Name", + clientnumber:"Kunden Nr.", + clientnumber_short:"Nr.", + title:"Titel", + prename:"Vorname", + surname:"Nachname", + country:"Land", + zip:"PLZ", + city:"Ort", + email:"E-Mail", + phone:"Telefon", + bankaccount:"Bank-Konto", + bic:"BIC", + vatid:"Ust-Id", + language:"Sprache", + cancel:"Abbrechen", + save:"Speichern", + + pdf_open:"PDF öffnen", + pdf_create:"PDF erstellen", + pdf_import:"importieren", + send:"verschicken", + email_send:"senden", + email_open:"öffnen", + invoice_type:"Typ", + status:"Status", + report_template:"Druck-Vorlage", + invoice_date:"Datum", + deadline_days:"Tage", + deadline_date:"Fälligkeit", + businessyear:"G.Jahr", + payedamount:"Bezahlt", + reference:"Referenz", + addressee:"Addressat", + invoice_item:"Rechnungs Posten", + invoice_items:"Rechnungs Posten", + preface:"Vorwort", + annotiation:"Annmerkung", + sku:"SKU", + item_name:"Name", + quantity:"Anzahl", + unit:"Einheit", + unitamount:"Preis", + tax:"Mehrwertsteuer", + netamount:"Netto", + grossamount:"Brutto", + description:"Beschreibung", + + files: "Dateien", + invoice_item_delete: "Posten löschen?", + invoice_item_delete_question:"Sind Sie sicher dass sie die/den ausgewählten Posten löschen möchten?", + invoice_delete:"Rechnung löschen", + invoice_delete_question: "Sind Sie Sicher dass Sie die Rechnung(en) löschen möchten?", + + products:"Produkte", + product:"Produkt", + service:"Dienstleistung", + product_heading:"Produkt / Dienstleitung", + product_name:"Name", + product_type:"Typ", + product_group:"Produkt-Gruppe", + group:"Gruppe", + product_delete:"Produkt löschen", + product_delete_question: "Sind Sie Sicher dass Sie das Produkt löschen möchten?", + settings:"Einstellungen", + document_types:"Dokument-Typen", + general:"Allgemein", + + company_data:"Unternehmens-Daten", + company:"Unternehmen", + website:"Webseite", + rcs:"Handelsregister", + default_values:"Standard-Werte", + language:"Sprache", + deadline:"Fälligkeit", + days:"Tage", + default_invoice_template:"Rechnungs-Vorlage", + default_creditnote_template:"Gutschrift-Vorlage", + default_offer_template:"Angebots-Vorlage", + default_delivery_template:"Lieferschein-Vorlage", + mail_settings:"Mail-Einstellungen", + mail_from:"Absender", + mail_server:"Mailserver", + mail_port:"Port", + mail_user:"Benutzer", + mail_password:"Passwort", + mail_app:"Mail-Anwendung", + offers:"Angebote", + reporttemplates:"Druck-Vorlagen", + mailtemplates:"Mail-Vorlagen", + datasets:"Datensätze", + backup:"Backup", + category:"Kategorie", + name:"Name", + top:"Oben", + bottom:"Unten", + left:"Links", + right:"Rechts", + header:"Kopfzeile", + footer:"Fußzeile", + template_pagecontent:"Seiteninhalt", + template_layout_definition:"Layout Definition", + template:"Vorlage", + mail_to:"An:", + mail_cc:"Kopie An:", + mail_bcc:"Blindkopie An:", + mail_subject:"Betreff", + mail_body:"Nachricht", + mail_attachments:"Anhänge", + add:"hinzufügen", + mailsent: "E-Mail wurde erfolgreich verschickt an: ", + pleasewait:"Bitter warten...!", + addfiles:"Datei(en) hinzufügen", + files:"Dateien", + import:"Importiern", + filesize:"Datei-Größe", + ok:"OK", + mail_send:"senden", + id:"Id", + color:"Farbe", + position:"Position" } \ No newline at end of file diff --git a/desktopapp/modules/addresses/addresses.html b/desktopapp/modules/addresses/addresses.html index 29d67be..e385c17 100644 --- a/desktopapp/modules/addresses/addresses.html +++ b/desktopapp/modules/addresses/addresses.html @@ -1,19 +1,19 @@
- -
Adressen
+ +
{{addresses}}
- - - - + + + +
@@ -21,92 +21,92 @@ diff --git a/desktopapp/modules/addresses/addresses.js b/desktopapp/modules/addresses/addresses.js index a4d752a..5bbbd8e 100644 --- a/desktopapp/modules/addresses/addresses.js +++ b/desktopapp/modules/addresses/addresses.js @@ -29,14 +29,14 @@ let addresses = { // }, rowContext:function(e, row){ e.preventDefault(); }, columns: [ - {title: "Nr.", field: "clientnumber",headerFilter:"input" }, - {title: "Name", field: "receipient",headerFilter:"input" }, - {title: "Adresse",field: "address" }, - {title: "PLZ", field: "zip" }, - {title: "Ort",field: "city"}, - {title: "Land",field: "country"}, - {title: "E-mail",field: "email",formatter:formatters.ArrayToString}, - {title: "Tel.",field: "phone"}, + {title: lbl[preferences.global.language].clientnumber_short, field: "clientnumber",headerFilter:"input" }, + {title: lbl[preferences.global.language].companyname, field: "receipient",headerFilter:"input" }, + {title: lbl[preferences.global.language].address,field: "address" }, + {title: lbl[preferences.global.language].zip, field: "zip" }, + {title: lbl[preferences.global.language].city,field: "city"}, + {title: lbl[preferences.global.language].country,field: "country"}, + {title: lbl[preferences.global.language].email,field: "email",formatter:formatters.ArrayToString}, + {title: lbl[preferences.global.language].phone,field: "phone"}, ] }); if (addresses.tblselector == null){ @@ -62,10 +62,10 @@ let addresses = { selectable: 1, rowContext:function(e, row){ e.preventDefault(); }, columns: [ - {title:"Name", field:"receipient",headerFilter:"input"}, - {title: "Adresse",field: "address" }, - {title: "PLZ", field: "zip" }, - {title: "Ort",field: "city"}, + {title:lbl[preferences.global.language].comanyname, field:"receipient",headerFilter:"input"}, + {title: lbl[preferences.global.language].address,field: "address" }, + {title: lbl[preferences.global.language].zip, field: "zip" }, + {title: lbl[preferences.global.language].city,field: "city"}, //,bottomCalcFormatter:"money", bottomCalcFormatterParams:{ decimal:",", thousand:".", symbol:"€", symbolAfter:"p", precision:2} ] }); @@ -105,7 +105,7 @@ let addresses = { db.query("select count(*) as cnt from addresses").then(adrcnt => { let clnum=moment().format('YYMM') + timecalc.lpad(adrcnt.cnt,4,'0'); console.log("New addresse ID",newid.id); - db.execAsync("INSERT INTO addresses (id,clientnumber,receipient) VALUES ('"+newid.id+"','"+ clnum+"','Neue Addresse');").then( res =>{ + db.execAsync("INSERT INTO addresses (id,clientnumber,receipient) VALUES ('"+newid.id+"','"+ clnum+"',"+ lbl[preferences.global.language].address_new+");").then( res =>{ addresses.gettbldata(newid.id); //addresses.current_id = fsel[0].id; addresses.edit(); @@ -117,9 +117,9 @@ let addresses = { var sel = addresses.tbl.getSelectedData(); //delcallback = ; if (sel[0]) { - myapp.confirm("Addresse löschen","Sind Sie Sicher dass Sie die Adresse löschen möchten?","Löschen","Abbrechen","addresses.remove();"); + myapp.confirm(lbl[preferences.global.language].address_delete,lbl[preferences.global.language].address_delete_question,lbl[preferences.global.language].delete,lbl[preferences.global.language].cancel,"addresses.remove();"); // document.getElementById("btndlgdeleterowok").setAttribute("onclick","invoices.remove();"); - // document.getElementById("dlgdeleterow").style.display = 'block'; + // document.getElementById("dlgdeleterow").address_deletetyle.display = 'block'; } }, remove: function(data){ diff --git a/desktopapp/modules/bookings/bookings.html b/desktopapp/modules/bookings/bookings.html index 01c84d9..fb6b280 100644 --- a/desktopapp/modules/bookings/bookings.html +++ b/desktopapp/modules/bookings/bookings.html @@ -1,9 +1,9 @@
- +
Buchungen -
+ "bookings.add();"> {{new}}
\ No newline at end of file diff --git a/desktopapp/modules/datasets/datasets.html b/desktopapp/modules/datasets/datasets.html index 82ad570..a23acf0 100644 --- a/desktopapp/modules/datasets/datasets.html +++ b/desktopapp/modules/datasets/datasets.html @@ -1,8 +1,9 @@
-
- +
+
- Datensätze + {{datasets}}
-
\ No newline at end of file +
+
\ No newline at end of file diff --git a/desktopapp/modules/datasets/datasets.js b/desktopapp/modules/datasets/datasets.js index 7f8afc5..0d709c7 100644 --- a/desktopapp/modules/datasets/datasets.js +++ b/desktopapp/modules/datasets/datasets.js @@ -1,5 +1,19 @@ let datasets = { viewmodule: function(){ - myapp.viewmodule('datasets'); + myapp.loadmodule('datasets','datasets').then(result => { + myapp.viewmodule('datasets'); + }); + }, + init: function(){ + + }, + clone: function(){ + + }, + confirmRemove: function(){ + + }, + remove: function(){ + } } \ No newline at end of file diff --git a/desktopapp/modules/invoices/invoice.html b/desktopapp/modules/invoices/invoice.html index f57c523..84703fa 100644 --- a/desktopapp/modules/invoices/invoice.html +++ b/desktopapp/modules/invoices/invoice.html @@ -1,127 +1,128 @@
- -
Rechnung
- - - - - - - - - + +
{{invoice}}
+ + + + + + +
- +
- +
- +
- +
-
- +
- +
- +
- +
- +
- + +
+
+
+
+ +
+
+ +
-
-
- +
- +
-
- -
-
-
-
- +
+
- - -
-
+
+
{{invoice_items}}
+ + + + +
-
- +
+ + +
+
+
@@ -132,7 +133,7 @@