Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core JavaScript-API
Mit dem nachfolgenden Skript erstellen Sie ein Adressbuch. Dabei finden alle in der Dokumentation beschriebenen Funktionen Verwendung und werden kombiniert:
/* global sc */
let address = require('address/objects');
let objects = require('common/objects');
let folder = objects.find('/agorum/roi/Files').createPath('Test-My-First-Address-JS');
let book = address.tryCreate('book', {
name: 'Mein erstes Adressbuch',
description: 'Beschreibung des Addressbuches',
target: folder
});
let organisation = address.tryCreate('organisation', {
name: 'agorum Software GmbH',
additionalName1: 'additionalName1',
additionalName2: 'additionalName2',
customerNumber: '1234567890',
salesTaxIdentificationNumber: 'DE12345654321',
taxNumber: '1098754311',
description: 'Beschreibung der Firma',
target: book
});
// Prüfen ob es Data schon gibt für die Organisation
let dataOrganisation = address.getMyData(organisation);
if (!(dataOrganisation && dataOrganisation[0])) {
dataOrganisation = address.create('data', {
street1: 'Vogelsangstrasse',
zip: '73760',
city: 'Ostfildern',
state: 'Baden Württemberg',
country: 'de', // siehe csv-Datei: d4w_address_data_country.csv
postBox: '16423',
zipPostBox: '73760',
cityPostBox: 'Ostfildern',
houseNumber1: '22',
target : organisation
});
}
// Hier prüfen, ob es eine Telefonnummer gibt
let apns = address.getPhoneNumbers(organisation, 'telephone', true, true);
let telephoneOrganisation = null;
if (apns.length > 0) {
telephoneOrganisation = objects.find(apns[0].id);
}
else {
telephoneOrganisation = address.create('phone', {
type: 'telephone',
phoneNumber: '+49 711 3461060',
defaultNumber: true, // true oder false
target: organisation
});
}
// Hier prüfen, ob es eine Faxnummer gibt
apns = address.getPhoneNumbers(organisation, 'fax', true, true);
let faxOrganisation = null;
if (apns.length > 0) {
faxOrganisation = objects.find(apns[0].id);
}
else {
faxOrganisation = address.create('phone', {
type: 'fax',
phoneNumber: '+49 711 3461063',
defaultNumber: true, // true oder false
target: organisation
});
}
// Hier prüfen, ob es eine Mailadresse gibt
let aes = address.getEmails(organisation, true, true);
let mailOrganisation = null;
if (aes.length > 0) {
mailOrganisation = objects.find(aes[0].id);
}
else {
mailOrganisation = address.create('mail', {
mailAddress: 'info2@agorum.com',
defaultMailAddress: true, // true oder false
target: organisation
});
}
let als = address.getLinks(organisation, true, true);
let linkOrganisationOwnTrue = null;
if (als.length > 0) {
linkOrganisationOwnTrue = objects.find(als[0].id);
}
else {
linkOrganisationOwnTrue = address.create('link', {
link: 'https://www.agorum.com',
defaultLink: true, // true oder false
subject: 'Homepage',
target: organisation
});
}
let alsn = address.getLinks(organisation, true, false);
let linkOrganisationOwnFalse = null;
if (alsn.length > 0) {
linkOrganisationOwnFalse = objects.find(alsn[0].id);
}
else {
linkOrganisationOwnFalse = address.create('link', {
link: 'https://www.desk4web.de',
defaultLink: false, // true oder false
subject: 'desk4web',
target: organisation
});
}
let departmentZSB = address.tryCreate('department', {
name: 'Zweigstelle Belgien',
target: organisation
});
// prüfen ob es data schon gibt für das Department
let dataDepartment = address.getMyData(departmentZSB);
if (!dataDepartment) {
// Durch tryAdd wird data nur einmal angelegt
dataDepartment = address.create('data', {
description: 'Beschreibung der Adresse',
street1: 'Huberstrasse',
zip: '65432',
city: 'Kulgow',
// state: 'Baden Württemberg',
country: 'be', // siehe csv-Datei: d4w_address_data_country.csv
postBox: '12233',
houseNumber1: '28',
target: departmentZSB
});
}
// Hier prüfen, ob es eine Telefonnummer gibt
apns = address.getPhoneNumbers(departmentZSB, 'telephone', true, true);
let telephonedepartmentZSB = null;
if (apns.length > 0) {
telephonedepartmentZSB = objects.find(apns[0].id);
}
else {
telephonedepartmentZSB = address.create('phone', {
type: 'telephone',
phoneNumber: '+32 873 87876876',
defaultNumber: true, // true oder false
target: departmentZSB
});
}
// Hier prüfen, ob es eine Faxnummer gibt
apns = address.getPhoneNumbers(departmentZSB, 'fax', true, true);
let faxdepartmentZSB = null;
if (apns.length > 0) {
faxdepartmentZSB = objects.find(apns[0].id);
}
else {
faxdepartmentZSB = address.create('phone', {
type: 'fax',
phoneNumber: '+49 711 3461062',
defaultNumber: true, // true oder false
target: departmentZSB
});
}
// Hier prüfen, ob es eine Mailadresse gibt
aes = address.getEmails(departmentZSB, true, true);
let maildepartmentZSB = null;
if (aes.length > 0) {
maildepartmentZSB = objects.find(aes[0].id);
}
else {
maildepartmentZSB = address.create('mail', {
mailAddress: 'infobelgien@agorum.com',
defaultMailAddress: true, // true oder false
target: departmentZSB
});
}
let departmentZSBMB = address.tryCreate('department', {
name: 'Marketing Belgien',
target: departmentZSB
});
let departmentGL = address.tryCreate('department', {
name: 'Geschäftsleitung',
target: organisation
});
let departmentDEV = address.tryCreate('department', {
name: 'Entwicklung',
target: organisation
});
// Personen anlegen
// prüfen ob es die Person schon gibt
let os = address.getPerson(departmentGL, {givenName: 'Vorname OS', familyName:'Nachname OS' });
if (!os) {
os = address.create('person', {
salutation: 'mr', // Hier gibt es folgende Auswahl: mr; mrs; mrmrs; family (Herr, Frau, Herr und Frau, Familie)
title: 'Dipl.Ing.(FH)',
givenName: 'Vorname OS',
familyName: 'Nachname OS',
dateOfBirth: new Date('1978-09-17T12:00:00.000+02:00'),
sex: 'male',
maidenName: 'Kurz',
description: 'Beschreibung der Person',
welcomeMessage: 'Sehr geehrter Herr Nachname OS',
target: departmentGL
});
}
let osInfo = address.getInfo(os);
if (!osInfo) {
osInfo = address.create('info', {
jobTitle: 'Hier steht der Job-Title OS',
activityRate: 100, // Hier eine Integer eingeben, mit wieviel Prozent dieser Job gemacht wird
target: os
});
}
// Hier prüfen, ob es eine Mailadresse gibt
aes = address.getEmails(os, true, true);
let mailOS = null;
if (aes.length > 0) {
mailOS = objects.find(aes[0].id);
}
else {
mailOS = address.create('mail', {
target: os,
mailAddress: 'os@agorum.com',
defaultMailAddress: true // true oder false
});
}
// Hier prüfen, ob es eine Telefonnummer gibt
apns = address.getPhoneNumbers(os, 'mobile', true, true);
let mobileOS = null;
if (apns.length > 0) {
mobileOS = objects.find(apns[0].id);
}
else {
mobileOS = address.create('phone', {
target: os,
type: 'mobile',
phoneNumber: '+49 171 1234567',
defaultNumber: true // true oder false
});
}
// RL
// prüfen ob es die Person schon gibt
let rl = address.getPerson(departmentGL, { givenName: 'Vorname RL', familyName: 'Nachname RL' });
if (!rl) {
rl = address.create('person', {
salutation: 'mr', // Hier gibt es folgende Auswahl: mr; mrs; mrmrs; family (Herr, Frau, Herr und Frau, Familie)
title: 'Dipl.Ing.(FH)',
givenName: 'Vorname RL',
familyName: 'Nachname RL',
dateOfBirth: new Date('1978-09-20T12:00:00.000+02:00'),
sex: 'male',
maidenName: 'Kurz',
description: 'Beschreibung der Person',
welcomeMessage: 'Sehr geehrter Herr Nachname RL',
target: departmentGL
});
}
let rlInfo = address.getInfo(rl);
if (!rlInfo) {
rlInfo = address.create('info', {
target: rl,
jobTitle: 'Hier steht der Job-Title von RL',
activityRate: 100 // Hier eine Integer eingeben, mit wieviel Prozent dieser Job gemacht wird
});
}
// Hier prüfen, ob es eine Mailadresse gibt
aes = address.getEmails(rl, true, true);
let mailRL = null;
if (aes.length > 0) {
mailRL = objects.find(aes[0].id);
}
else {
mailRL = address.create('mail', {
target: rl,
mailAddress: 'rl@agorum.com',
defaultMailAddress: true // true oder false
});
}
// Hier prüfen, ob es eine Telefonnummer gibt
apns = address.getPhoneNumbers(rl, 'mobile', true, true);
let mobileRL = null;
if (apns.length > 0) {
mobileRL = objects.find(apns[0].id);
}
else {
mobileRL = address.create('phone', {
target: rl,
type: 'mobile',
phoneNumber: '+49 173 22334455',
defaultNumber: true // true oder false
});
}
// SG
// prüfen ob es die Person schon gibt
let sg = address.getPerson(departmentZSBMB, { givenName: 'Vorname SG', familyName: 'Nachname SG' });
if (!sg) {
sg = address.create('person', {
salutation: 'mr', // Hier gibt es folgende Auswahl: mr; mrs; mrmrs; family (Herr, Frau, Herr und Frau, Familie)
title: 'Dipl.Ing.(FH)',
givenName: 'Vorname SG',
familyName: 'Nachname SG',
dateOfBirth: new Date('1978-09-20T12:00:00.000+02:00'),
sex: 'male',
maidenName: 'Kurz',
description: 'Beschreibung der Person',
welcomeMessage: 'Sehr geehrter Herr Nachname SG',
target: departmentZSBMB
});
}
let sgInfo = address.getInfo(sg);
if (!sgInfo) {
sgInfo = address.create('info', {
target: sg,
jobTitle: 'Hier steht der Job-Title von SG',
activityRate: 100 // Hier eine Integer eingeben, mit wieviel Prozent dieser Job gemacht wird
});
}
sgInfo;
// Hier prüfen, ob es eine Mailadresse gibt
aes = address.getEmails(sg, true, true);
let mailSG = null;
if (aes.length > 0) {
mailSG = objects.find(aes[0].id);
}
else {
mailSG = address.create('mail', {
target: sg,
mailAddress: 'sg@agorum.com',
defaultMailAddress: true // true oder false
});
}
// Hier prüfen, ob es eine Telefonnummer gibt
apns = address.getPhoneNumbers(sg, 'mobile', true, true);
let mobileSG = null;
if (apns.length > 0) {
mobileSG = objects.find(apns[0].id);
}
else {
mobileSG = address.create('phone', {
target: sg,
type: 'mobile',
phoneNumber: '+49 171 1234567',
defaultNumber: true // true oder false
});
}
// FS
// prüfen ob es die Person schon gibt
let fs = address.getPerson(departmentDEV, { givenName: 'Vorname FS', familyName: 'Nachname FS' });
if (!fs) {
fs = address.create('person', {
salutation: 'mr', // Hier gibt es folgende Auswahl: mr; mrs; mrmrs; family (Herr, Frau, Herr und Frau, Familie)
title: 'Dipl.Ing.(FH)',
givenName: 'Vorname FS',
familyName: 'Nachname FS',
dateOfBirth: new Date('1978-09-20T12:00:00.000+02:00'),
sex: 'male',
maidenName: 'Kurz',
description: 'Beschreibung der Person',
welcomeMessage: 'Sehr geehrter Herr Nachname FS',
target: departmentDEV
});
}
let fsInfo = address.getInfo(fs);
if (!fsInfo) {
fsInfo = address.create('info', {
target: fs,
jobTitle: 'Hier steht der Job-Title von FS',
activityRate: 100 // Hier eine Integer eingeben, mit wieviel Prozent dieser Job gemacht wird
});
}
// Hier prüfen, ob es eine Mailadresse gibt
aes = address.getEmails(fs, true, true);
let mailFS = null;
if (aes.length > 0) {
mailFS = objects.find(aes[0].id);
}
else {
mailFS = address.create('mail', {
target: fs,
mailAddress: 'fs@agorum.com',
defaultMailAddress: true // true oder false
});
}
// Hier prüfen, ob es eine Telefonnummer gibt
apns = address.getPhoneNumbers(fs, 'mobile', true, true);
let mobileFS = null;
if (apns.length > 0) {
mobileFS = objects.find(apns[0].id);
}
else {
mobileFS = address.create('phone', {
target: fs,
type: 'mobile',
phoneNumber: '+49 171 1234567',
defaultNumber: true // true oder false
});
}