Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

Beispielskript zur JavaScript Address 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
  });
}