Compare commits

...

10 Commits
master ... 4.2

Author SHA1 Message Date
  Joris Tirado 2fbe387865 UI-3189: Implement German translation revisions (#11) 7 years ago
  Joris Tirado 43750cac59 UI-3110: Strip English app name from German metadata (#10) 7 years ago
  Joris Tirado 58fa2d1e7c UI-3110: Add German translation of metadata (#9) 7 years ago
  Joris Tirado ad7e0bb343 UI-3119: Use monster toast helper instead of Toastr directly (#8) 7 years ago
  Joris Tirado 8274c566fc UI-3118: Use `getTemplate()` instead of `monster.template()` (#7) 8 years ago
  Joris Tirado 629d048f58 UI-3110: Add German translation (#6) 8 years ago
  Joris Tirado e51c73bfbe UI-3060: Update app metadata (#5) 8 years ago
  Joris Tirado e6027ab614 UI-3048: Remove chosen plugin requirement 8 years ago
  Joris Tirado c02432859b UI-3048: Replace chosen plugin method with monster helper (#4) 8 years ago
  Joris Tirado 1441349e12 UI-3048: Replace chosen plugin method with monster helper (#4) 8 years ago
3 changed files with 159 additions and 18 deletions
Split View
  1. +50
    -14
      app.js
  2. +91
    -0
      i18n/de-DE.json
  3. +18
    -4
      metadata/app.json

+ 50
- 14
app.js View File

@ -1,9 +1,7 @@
define(function(require) {
var $ = require('jquery'),
_ = require('lodash'),
monster = require('monster'),
chosen = require('chosen'),
toastr = require('toastr');
monster = require('monster');
var app = {
name: 'fax',
@ -11,6 +9,7 @@ define(function(require) {
css: [ 'app' ],
i18n: {
'de-DE': { customCss: false },
'en-US': { customCss: false }
},
@ -122,7 +121,10 @@ console.log(_.size(self.appFlags.faxboxes));
faxboxes: self.appFlags.faxboxes,
count: _.size(self.appFlags.faxboxes)
},
template = $(monster.template(self, type + '-faxes', dataTemplate));
template = $(self.getTemplate({
name: type + '-faxes',
data: dataTemplate
}));
self.initDatePickerFaxboxes(type, parent, template);
@ -171,7 +173,9 @@ console.log(_.size(self.appFlags.faxboxes));
monster.ui.tooltips(template);
monster.ui.footable(template.find('.footable'));
$selectFaxbox.chosen({ search_contains: true, placeholder_text_single: self.i18n.active().fax.actionBar.selectFaxbox.none });
monster.ui.chosen($selectFaxbox, {
placeholder_text_single: self.i18n.active().fax.actionBar.selectFaxbox.none
});
$selectFaxbox.on('change', function() {
var faxboxId = $(this).val();
@ -197,7 +201,12 @@ console.log(_.size(self.appFlags.faxboxes));
template.find('.select-fax:checked').each(function(a, el) {
listSelected.push($(el).data('id'));
});
var content = monster.template(self, '!' + self.i18n.active().fax.deleteConfirm.content, { variable: listSelected.length });
var content = self.getTemplate({
name: '!' + self.i18n.active().fax.deleteConfirm.content,
data: {
variable: listSelected.length
}
});
monster.ui.confirm(content, function() {
template.find('.select-fax:checked').each(function(a, el) {
@ -211,7 +220,10 @@ console.log(_.size(self.appFlags.faxboxes));
.show();
self.deleteFaxes(listSelected, type, function() {
toastr.success(self.i18n.active().fax.deleteConfirm.success);
monster.ui.toast({
type: 'success',
message: self.i18n.active().fax.deleteConfirm.success
});
self.displayListFaxes(type, template, faxboxId);
});
@ -230,10 +242,18 @@ console.log(_.size(self.appFlags.faxboxes));
listSelected.push($(el).data('id'));
});
var content = monster.template(self, '!' + self.i18n.active().fax.resendConfirm.content, { variable: listSelected.length });
var content = self.getTemplate({
name: '!' + self.i18n.active().fax.resendConfirm.content,
data: {
variable: listSelected.length
}
});
monster.ui.confirm(content, function() {
self.resendFaxes(listSelected, function() {
toastr.success(self.i18n.active().fax.resendConfirm.success);
monster.ui.toast({
type: 'success',
message: self.i18n.active().fax.resendConfirm.success
});
self.displayListFaxes(type, template, faxboxId);
});
@ -347,7 +367,10 @@ console.log(_.size(self.appFlags.faxboxes));
dataTemplate = {
faxes: formattedData
},
$rows = $(monster.template(self, type + '-faxes-rows', dataTemplate));
$rows = $(self.getTemplate({
name: type + '-faxes-rows',
data: dataTemplate
}));
callback && callback($rows, data);
});
@ -413,7 +436,9 @@ console.log(_.size(self.appFlags.faxboxes));
var self = this;
self.getFaxDetails(type, id, function(faxDetails) {
var template = $(monster.template(self, 'fax-CDRDialog'));
var template = $(self.getTemplate({
name: 'fax-CDRDialog'
}));
monster.ui.renderJSON(faxDetails, template.find('#jsoneditor'));
@ -450,7 +475,10 @@ console.log(_.size(self.appFlags.faxboxes));
self.getStorage(function(storage) {
var formattedData = self.storageFormatData(storage),
template = $(monster.template(self, 'storage', formattedData));
template = $(self.getTemplate({
name: 'storage',
data: formattedData
}));
self.storageBindEvents(template);
@ -485,7 +513,12 @@ console.log(_.size(self.appFlags.faxboxes));
self.logsGetData(function(logs) {
var formattedData = self.logsFormatDataTable(logs),
template = $(monster.template(self, 'logs-layout', { logs: formattedData }));
template = $(self.getTemplate({
name: 'logs-layout',
data: {
logs: formattedData
}
}));
monster.ui.footable(template.find('.footable'));
@ -515,7 +548,10 @@ console.log(_.size(self.appFlags.faxboxes));
var self = this;
self.logsGetDetails(logId, function(details) {
var detailTemplate = $(monster.template(self, 'logs-detail', details));
var detailTemplate = $(self.getTemplate({
name: 'logs-detail',
data: details
}));
detailTemplate.find('#close').on('click', function() {
popup.dialog('close').remove();


+ 91
- 0
i18n/de-DE.json View File

@ -0,0 +1,91 @@
{
"fax": {
"table": {
"columns": {
"sendingNumber": "Nummer wird versendet",
"receivingNumber": "Nummer für Empfang",
"from": "Von",
"sent": "Datum",
"sendingFaxbox": "Faxnachricht wird versendet",
"pages": "Seiten",
"status": "Status",
"received": "Empfangen",
"receivingFaxbox": "Faxbox für Empfang"
},
"noData": "%",
"status": {
"success": "Erfolg",
"failed": "Fehlgeschlagen",
"pending": "Ausstehend",
"processing": "In Bearbeitung",
"completed": "Abgeschlossen"
},
"emptyRow": "Unter dieser Faxnummer sind keine Faxe aufgelistet"
},
"deleteConfirm": {
"success": "Sie haben die ausgewählten Faxe erfolgreich im System gelöscht!",
"confirmButtonText": "Ausgewählte Dateien löschen",
"title": "Sind Sie sicher?",
"content": "Wenn Sie das/die {{variable}} ausgewählten Faxe löschen"
},
"actionBar": {
"currentlyViewing": "Derzeit angezeigt",
"markAsNew": "Als neu markieren",
"select": {
"completed": "Abgeschlossen",
"none": "Keine",
"all": "Alle auf Seite",
"failed": "Fehlgeschlagen"
},
"tooltips": {
"select": "Auswählen",
"resend": "Erneut senden",
"refresh": "Aktualisieren",
"delete": "Löschen"
},
"refresh": "Aktualisieren",
"filterByDate": "Nach Datum filtern",
"from": "Von",
"to": "An",
"selectFaxbox": {
"none": "Wählen Sie eine Faxnummer aus"
}
},
"resendConfirm": {
"title": "Sind Sie sicher?",
"confirmButtonText": "Faxe erneut senden",
"content": "Sie versuchen gerade",
"success": "Ihr Versuch"
},
"logs": {
"tableTitles": {
"to": "An",
"date": "Datum",
"from": "Von",
"details": "Details",
"status": "Status"
},
"detailDialog": {
"metadataTitle": "Metadaten",
"errorTitle": "Fehler",
"popupTitle": "Technische Details"
}
},
"menuTitles": {
"logs": "E-Mail zu Fax – Protokolle",
"inbound": "Eingehende Faxe",
"outbound": "Ausgehende Faxe",
"storage": "Speicher"
},
"title": "Faxportal",
"CDRPopup": {
"title": "Faxdetails"
},
"empty": {
"subHeadlineInbound": "Wählen Sie eine Faxnummer aus",
"headline1": "Es gibt",
"headline2": "",
"subHeadlineOutbound": "Wählen Sie eine Faxnummer aus"
}
}
}

+ 18
- 4
metadata/app.json View File

@ -1,9 +1,22 @@
{
"name": "fax",
"i18n": {
"de-DE": {
"label": "Faxe",
"description": "Die Faxes-App gibt Einblick in alle eingehenden, ausgehenden und Fax-zu-E-Mail-Vorgänge. Eine eingeschränkte Einsehbarkeit in Faxaktivitäten kann zu komplizierten Problemen führen, die nur schwer zu beheben sind. Mit der Faxes-App jedoch können Benutzer viele Faxe auf einmal in der Datenbank löschen, fehlende Protokolle wiederherstellen, Faxkonvertierungen herunterladen und vieles mehr. Diese App fungiert als zentraler Administrations-Hub für das Verwalten und Herunterladen aller Faxaktivitäten in Echtzeit.",
"extended_description": "",
"features": [
"Steuerung eingehender Faxe",
"Einblick in ausgehende Faxe",
"Analyse von Faxen, die in E-Mails umgewandelt wurden",
"Alle Faxprotokollaktivitäten unverzüglich herunterladen",
"Viele Elemente auf einmal löschen",
"Fehlende Faxprotokolle wiederherstellen"
]
},
"en-US": {
"label": "Fax Manager",
"description": "The Fax Manager allows visibility across all inbound, outbound and fax to email transactions. Limited visibility on fax activities, can cause complex issues that make troubleshooting a pain. However, with Fax Manager, users can bulk delete faxes from the database, recover missing logs, download fax conversions and much more. This app acts as a central administration hub for managing and downloading all real-time fax activities.",
"label": "Faxes",
"description": "The Faxes app allows visibility across all inbound, outbound and fax to email transactions. Limited visibility on fax activities, can cause complex issues that make troubleshooting a pain. However, with the Faxes app, users can bulk delete faxes from the database, recover missing logs, download fax conversions and much more. This app acts as a central administration hub for managing and downloading all real-time fax activities.",
"extended_description": "",
"features": [
"Inbound fax control",
@ -16,13 +29,13 @@
}
},
"tags": [
"reseller"
"admin"
],
"icon": "Fax_app.png",
"api_url": "http://10.26.0.41:8000/v2",
"author": "2600Hz",
"version": "1.0",
"license": "-",
"license": "-",
"price": 0,
"screenshots": [
"OutboundFaxes.png"
@ -31,5 +44,6 @@
"documentation": "{documentation_url}",
"howto": "{howto_video_url}"
},
"phase": "gold",
"pvt_type": "app"
}

Loading…
Cancel
Save