Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core JavaScript-API


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
  });
}