/** * @ngdoc KontaktCtrl * @name fasit.component.#KontaktCtrl * @KontaktCtrl * * @description * Controllern för att visa och editera kontakter * */ angular.module('fasit') .controller('KontaktCtrl', [ '$scope', '$routeParams', 'personService', 'domainService', 'personIntressentService', 'personVisningarService', 'personBudgivningarService', 'haendelseService', 'commonService', '$filter', '$rootScope', '$location', 'navigationService', 'taggService', 'sideDrawerService', '$sce', '$translate', 'stateService', 'utgaaendeTipsService', 'uiService', 'globalTimerService', 'postadressService', '$timeout', 'notifyService', '$q', 'medarbetareService', 'instaellningarService', function ( $scope: fb.IKontaktScope, $routeParams: any, personService: fb.IPersonService, domainService: fb.IDomainService, personIntressentService: fb.IPersonIntressentService, personVisningarService: fb.IPersonVisningarService, personBudgivningarService: fb.IPersonBudgivningarService, haendelseService: fb.IHaendelseService, commonService: fb.ICommonService, $filter: any, $rootScope: fb.IRootScope, $location: ng.ILocationService, navigationService: fb.INavigationService, taggService: fb.ITaggService, sideDrawerService: fb.ISideDrawerService, $sce: ng.ISCEService, $translate, stateService: fb.IStateService, utgaaendeTipsService: fb.IUtgaaendeTipsService, uiService: fb.IUIService, globalTimerService: fb.IGlobalTimerService, postadressService: fb.IPostadressService, $timeout: ng.ITimeoutService, notifyService: fb.INotifyService, $q: ng.IQService, medarbetareService: fb.IMedarbetareService, instaellningarService: fb.IInstaellningarService ) { 'use strict'; $scope.navigateBack = function () { if ($scope.isInSideDrawer) { sideDrawerService.clearDrawer(); } else { history.back(); } } $scope.isInSideDrawer = !(!!($scope).$$routeInit && ($scope).$$routeInit); $scope.nationalitet = { visaDialog: false, personnummerDisabled: true }; $scope.addDoedsbon = function () : void { $scope.uppdateringDoedsbonPagaar = true; var doedbonText = 'Dödsboet efter'; if ((($scope.kontakt).Foernamn.value !== null) && (($scope.kontakt).Foernamn.value.indexOf(doedbonText) !== -1)) { return; } ($scope.kontakt).Foernamn.setValue(doedbonText + " " + ($scope.kontakt).Foernamn.value); globalTimerService.globalSave(true); globalTimerService.globalSave(true).then(function () { $scope.uppdateringDoedsbonPagaar = false; }); }; $scope.VisaDropdown = function (): boolean { var tmp = $scope.utlaendsk.nationalitetId.value !== 204 && !!$scope.utlaendsk.nationalitetId.value; return tmp; }; $scope.VeriferaPersonnummer = function (personNummer: string) { var visaDialog: boolean; $scope.nationalitet.visaDialog = false; if (($scope.kontakt).valideraPersonnummer(personNummer) || personNummer === '' || personNummer === null || ($scope.utlaendsk.nationalitetId.value !== 204 && $scope.utlaendsk.nationalitetId.value !== null)) { $scope.nationalitet.personnummerDisabled = false; visaDialog = false; } else { $scope.nationalitet.personnummerDisabled = true; visaDialog = true; } $scope.nationalitet.visaDialog = visaDialog; }; $scope.disablePersonNr = function (personNummer: string): boolean { $scope.valPers(personNummer); return $scope.nationalitet.personnummerDisabled; }; $scope.onKey = function (personNummer: string) { $scope.valPers(personNummer); }; $scope.VisaNationalitesDialogFunc = function (personNummer: string) { $scope.valPers(personNummer); $scope.nationalitet.visaDialog = true; }; $scope.valPers = function (personNummer: string) { if (($scope.kontakt).valideraPersonnummer(personNummer) || personNummer === '' || personNummer === null || ($scope.utlaendsk.nationalitetId.value !== 204 && $scope.utlaendsk.nationalitetId.value !== null)) { $scope.nationalitet.personnummerDisabled = false; } else { $scope.nationalitet.personnummerDisabled = true; } }; $scope.baraKontrollsiffraFel = function (personNummer: string) { if (($scope.kontakt).isValidPersonnummerFormat(personNummer) && !($scope.kontakt).isValidKontrollsiffra(personNummer) && ($scope.utlaendsk.nationalitetId.value === 204 || $scope.utlaendsk.nationalitetId.value === null)) { return true; } return false; } $scope.onClass = function (): string { if ($scope.nationalitet.personnummerDisabled) { return 'noValid'; } else { return ''; } } $scope.visaNationalitesCallBack = { Ok: function () { $scope.nationalitet.visaDialog = false; }, Cancel: function () { $scope.nationalitet.visaDialog = false; } }; var instaellningsPromise = instaellningarService.init(); //START Alternativ $scope.radera = function () { var res = personService.remove([$scope.kontakt.PersonId.value]); res.$promise.then(function () { navigationService.closeWoNavigationObjekt(parseInt($routeParams.personId, 10), 'Kontakt', fb.NavigationStrategy.STAENG_ENBART) }); res.$promise.catch(function (err) { if (err.data && err.data.FelKategori === fb.FasITDomain.FelKategori.KlientHanterar) { if (err.data.ValideringsFelId) { var transCode = 'VALIDERINGS_FEL_MESSAGE.' + err.data.ValideringsFelId; var message = $translate.instant(transCode); notifyService.addNotification({ Title: $translate.instant('GLOBALS.VARNING'), Message: message !== transCode ? message : '', Level: fb.FasITDomain.LogLevel.Error }); } } }); }; $scope.aktivera = function () { $scope.kontakt.StatusLagring.setValue(0); globalTimerService.globalSave(true); }; $scope.arkivera = function () { $scope.kontakt.StatusLagring.setValue(1); globalTimerService.globalSave(true); }; $scope.valbaraKundTyper = [ { Namn: new fb.ChangeTrack("Fysisk person"), Id: new fb.ChangeTrack(0) }, { Namn: new fb.ChangeTrack("Firma"), Id: new fb.ChangeTrack(1) }, { Namn: new fb.ChangeTrack("Dödsbo"), Id: new fb.ChangeTrack(2) }, ]; var setValbaraKundTyper = function () { if ($scope.kontakt.isPersonFysisk()) { $scope.valbaraKundTyper = [ { Namn: new fb.ChangeTrack("Firma"), Id: new fb.ChangeTrack(1) }, { Namn: new fb.ChangeTrack("Dödsbo"), Id: new fb.ChangeTrack(2) } ]; } else { $scope.valbaraKundTyper = []; } }; $scope.bytKundTyp = { target: undefined }; //Instantiera att färdigt promise för at undvika spinner $scope.changeKundTypPromise = { $resolved: true, $promise: $q.when(true) }; $scope.changeKundTyp = function () { var changeObj = new fb.ChangeKundtypWO({ PersonIds: [$scope.kontakt.PersonId.value] }); changeObj.PersonIds = [$scope.kontakt.PersonId.value]; if ($scope.bytKundTyp && $scope.bytKundTyp.target && angular.isDefined($scope.bytKundTyp.target.Id.value)) { var jurPersonTyp; if ($scope.bytKundTyp.target.Id.value === 0) { jurPersonTyp = null; //FysiskPerson } else if ($scope.bytKundTyp.target.Id.value === 1) { jurPersonTyp = fb.FasITDomain.JurPersontyp.OSPECIFICERAD; //Ospec. firma } else if ($scope.bytKundTyp.target.Id.value === 2) { jurPersonTyp = fb.FasITDomain.JurPersontyp.DOEDSBO; //Dödsbo } changeObj.JurPersontyp = jurPersonTyp; $scope.changeKundTypPromise = { $resolved: false, $promise: globalTimerService.globalSave(true) }; $scope.changeKundTypPromise.$promise.then(function () { $scope.changeKundTypPromise.$promise = performChangeKundtyp(changeObj); $scope.changeKundTypPromise.$promise.then(function () { $scope.showBytKundTyp = false; }); $scope.changeKundTypPromise.$promise.catch(function () { $scope.changeKundTypPromise.$resolved = true; }); }); } }; var performChangeKundtyp = function (changeObj: fb.ChangeKundtypWO) { return personService.changeKundTyp(changeObj).$promise.then(function () { navigationService.reloadObjekt($scope.kontakt.PersonId.value, fb.NavigationsObjektTypId.KONTAKT); }); }; //END Alternativ if (!$scope.isInSideDrawer) {//Så man inte sätter state från jordgubben uiService.view(fb.FasITDomain.VyerNamn.Kontaktkort); var obj = stateService.loadState('KontaktCtrl', $routeParams.personId); if (obj && obj.drawer) { sideDrawerService.setSideDrawer(obj.drawer.drawerName, obj.drawer.params, obj.drawer.width); } if (obj && obj.fullViews) { $timeout(function () { $scope.fullViews = _.clone(obj.fullViews); }, 200); } } var paramId = $routeParams.personId; $scope.$on('$destroy', function () { cleanUpFunc(); if (!$scope.isInSideDrawer) {//Så man inte sätter state från jordgubben var drawer = sideDrawerService.getStateObject(); sideDrawerService.clearDrawer(); stateService.setState('KontaktCtrl', paramId, { drawer: drawer, fullViews: _.clone($scope.fullViews) }); } }); //Init värden $scope.showNuvarandeAdress = true; //End Init värden var isInitialized = false; $scope.LaemnarAegtBoendeOptions = domainService.getLaemnarAegtBoendeDomain; $scope.LaemnarOptions = [ { name: 'Vet ej', value: fb.FasITDomain.FriVaerdering.EJ_TILLFRAAGAD }, { name: 'Nej', value: fb.FasITDomain.FriVaerdering.NEJ }, { name: 'Ja', value: fb.FasITDomain.FriVaerdering.JA } ]; //End init basblock //Helpers function setCurrentAddress($scope: fb.IKontaktScope) { /*istanbul ignore else*/ if ($scope.kontakt.Adress) { $scope.currentAdress = $scope.kontakt.Adress; } } var setObjIntressentKontaktTyp = function () { if ($scope.kontakt.isPersonFysisk()) { $scope.objIntressentKontaktTyp = fb.ObjIntressentKontaktHistoriskSoekTyp.FYSISK; } else { $scope.objIntressentKontaktTyp = ($scope.kontakt).isDoedsbo() ? fb.ObjIntressentKontaktHistoriskSoekTyp.DOEDSBO_DELAEGARE : fb.ObjIntressentKontaktHistoriskSoekTyp.FIRMATECKNARE; } } //End Helpers //Fullviewcondition måste var överst så logik nedanför kan skriva över konditionen //Vänsterplattorna $scope.fullViews = { fullViewConditionPersonal: false, fullViewConditionUtland: false, fullViewConditionAnteckningar: false, fullViewConditionAktivitet: false, fullViewConditionMoejlighet: false, fullViewConditionTjaenster: false, fullViewConditionBank: false, fullViewConditionLaemnar: false, fullViewConditionKontaktpersoner: false, fullViewConditionBilder: false, fullViewConditionDokument: false, fullViewConditionLaenkar: false, fullViewConditionBeskrivningBRF: false, fullViewConditionFoervaltareBRF: false, fullViewConditionObjIntressentKontakt: false, fullViewConditionHaendelse: false, } $scope.collapsibleControls = { fullViewConditionPersonal: null, fullViewConditionUtland: null, fullViewConditionAnteckningar: null, fullViewConditionAktivitet: null, fullViewConditionTjaenster: null, fullViewConditionBank: null, fullViewConditionLaemnar: null, fullViewConditionKontaktpersoner: null, fullViewConditionBilder: null, fullViewConditionDokument: null, fullViewConditionLaenkar: null, fullViewConditionBeskrivningBRF: null, fullViewConditionFoervaltareBRF: null }; var setDefaultViews = function () { for (var collapsibleControl in $scope.collapsibleControls) { if ($scope.collapsibleControls[collapsibleControl] != null) { $scope.collapsibleControls[collapsibleControl].expand(true); } } $scope.fullViews.fullViewConditionObjIntressentKontakt = false; $scope.fullViews.fullViewConditionMoejlighet = false; $scope.fullViews.fullViewConditionHaendelse = false; }; $scope.toggleAdress = function () { if (!$scope.kontakt) { return; } $scope.showNuvarandeAdress = !$scope.showNuvarandeAdress if ($scope.showNuvarandeAdress) { $scope.currentAdress = $scope.kontakt.Adress; } else { $scope.currentAdress = $scope.kontakt.NyAdress; } }; $scope.getKundKategoriAlt = function (kundkategori: number) { return commonService.KundKategori.getKundKategoriAltText(kundkategori); } $scope.getKundTypImgUrl = function(kundTyp: number) { return kundTyp === null ? {} : { 'background-image': `url(../app/Styles/images/kundkategori/kundtyp_${kundTyp}.svg)` }; }; $scope.openTipsaSideDrawer = function (typAvKontakt: string, foervaldMottagare: string) { var params = { tipsKontakter: [$scope.kontakt], typAvKontakt: typAvKontakt, foervaldMottagare: foervaldMottagare, postnummer: $scope.kontakt.Adress.Postnummer.value, refreshCallback: function (promise: ng.IPromise) { $scope.bank.tipsLista.$resolved = false; promise.then(function () { $scope.bank.fetchData(); $scope.laemnarNotesOptions.reloadNotes = true; }); }, }; if ($scope.isInSideDrawer) { sideDrawerService.stack('Tipsa', params, undefined, undefined, undefined, '640px'); } else { sideDrawerService.setSideDrawer('Tipsa', params, '640px'); } } var kontoretsMaeklareOchAssistenter = medarbetareService.getByRoll(false); var omPersonenFannsPaaKontoretMenInteAerKvarOchAegerDetHaerObjektet = medarbetareService.getByRoll(true); var init = function () { if (isInitialized) { return; } $scope.$$watchers = []; isInitialized = true; $scope.paramsPersonId = $scope.isInSideDrawer ? $location.search().personId : $routeParams.personId; /*istanbul ignore else*/ if (!_.isNumber($scope.paramsPersonId)) { /*istanbul ignore else*/ if (_.isString($scope.paramsPersonId)) { $scope.paramsPersonId = parseInt($scope.paramsPersonId); } } /*istanbul ignore else*/ if (!$scope.paramsPersonId) { delete $scope.kontakt; delete $scope.personIntressenter; delete $scope.personVisningar; delete $scope.personBudgivningar; return; } initHaendelser(); //Hämtar kontakt $scope.kontaktData = personService.get($scope.paramsPersonId, $scope.isInSideDrawer ? false : undefined); // Redirect ifall man kommer till ett redirect-objekt if ($scope.kontaktData) { $scope.kontaktData.$promise.catch(function (data: any) { var felObjekt: fb.IFelObjekt = data.data; if (felObjekt.FelKategori === fb.FasITDomain.FelKategori.FaarInteLaesaUppDirekt && typeof felObjekt.FelData === 'number') { navigationService.findOpenObjekt(fb.FasITDomain.NavigationController.KONTAKT, felObjekt.FelData, true).promise.then(function () { navigationService.closeWoNavigationObjekt($scope.paramsPersonId, 'Kontakt', fb.NavigationStrategy.STAENG_ENBART_KONTAKT); }); } }); } $scope.close = function () { navigationService.closeWoNavigationObjekt($scope.paramsPersonId, 'Kontakt'); } $scope.addPersonKategori = function (kategori: number) { var kategorier = ($scope.kontakt).PersonKategorier; var matchedKategori = _.find(kategorier, function (item: fb.ChangeTrack) { return item.value === kategori; }); if (!matchedKategori) { kategorier.push(new fb.ChangeTrack(kategori)); $scope.kontakt.enqueue(); } }; $scope.removePersonKategori = function (kategori) { var kategorier = ($scope.kontakt).PersonKategorier; var matchedKategori = _.find(kategorier, function (item: fb.ChangeTrack) { return item.value === kategori; }); if (matchedKategori) { kategorier.splice(kategorier.indexOf(matchedKategori), 1); $scope.kontakt.enqueue(); } }; $scope.kontaktData.$promise.then(function () { if (!$scope.kontaktData.person) { return; } $scope.kontakt = $scope.kontaktData.person; $scope.kontakt.$promise.then(function (data) { if ($scope.kontakt.isKund()) { $scope.personIntressenter = personIntressentService.query($scope.paramsPersonId); $scope.personVisningar = personVisningarService.query($scope.paramsPersonId); $scope.personBudgivningar = personBudgivningarService.query($scope.paramsPersonId); $scope.koen = domainService.koen.query(); } $scope.otherOfficeGotInfo = false;//new Date().getSeconds() % 2 === §; //Fantastiskt $scope.kontaktDetaljer = {}; setCurrentAddress($scope); setObjIntressentKontaktTyp(); $scope.scoper = $scope; if ($scope.kontakt.LaemnarAegtBoende) { if (_.isNull($scope.kontakt.LaemnarAegtBoende.value)) { $scope.kontakt.LaemnarAegtBoende.value = 0;//Om null så sätter vi till "Vet ej" } } if ($scope.kontakt.FriVaerderingSvar) { if (_.isNull($scope.kontakt.FriVaerderingSvar.value)) { $scope.kontakt.FriVaerderingSvar.value = 0;//Om null så sätter vi till "Vet ej" } } setValbaraKundTyper(); $scope.$emit('fbContentReady'); if ($scope.kontakt.isPersonJuridisk()) { $scope.isKontaktDoedsbo = ($scope.kontakt).JurPersontyp.value === fb.FasITDomain.JurPersontyp.DOEDSBO; if (($scope.kontakt).isSamarbetspartner()) { $scope.AerTipsmottagare = new fb.ChangeTrack(!_.isUndefined(_.find(($scope.kontakt).PersonKategorier, function (katId: fb.ChangeTrack) { return katId.value === fb.PersonKategoriId.Tipsmottagare; }))); $scope.$watch('AerTipsmottagare.value', function (newVal, oldVal) { if (newVal !== oldVal) { if (newVal) { $scope.addPersonKategori(fb.PersonKategoriId.Tipsmottagare); } else { $scope.removePersonKategori(fb.PersonKategoriId.Tipsmottagare); } } }); } else if (($scope.kontakt).isBank()) { var laangivareKategori = fb.PersonKategoriId.Laangivare; var tilltraedelseplatsKategori = fb.PersonKategoriId.Tilltraedelseplats; var tipsmottagareKategori = fb.PersonKategoriId.Tipsmottagare; $scope.AerLaangivare = new fb.ChangeTrack(false); $scope.AerTilltraedelseplats = new fb.ChangeTrack(false); $scope.AerTipsmottagare = new fb.ChangeTrack(false); angular.forEach(($scope.kontakt).PersonKategorier, (value, key) => { switch (value.value) { case laangivareKategori: $scope.AerLaangivare = new fb.ChangeTrack(true); break; case tilltraedelseplatsKategori: $scope.AerTilltraedelseplats = new fb.ChangeTrack(true); break; case tipsmottagareKategori: $scope.AerTipsmottagare = new fb.ChangeTrack(true); break; } }); $scope.$watch('AerLaangivare.value', function (newVal, oldVal) { if (newVal) { $scope.addPersonKategori(laangivareKategori); } else { $scope.removePersonKategori(laangivareKategori); } }); $scope.$watch('AerTilltraedelseplats.value', function (newVal, oldVal) { if (newVal) { $scope.addPersonKategori(tilltraedelseplatsKategori); } else { $scope.removePersonKategori(tilltraedelseplatsKategori); } }); $scope.$watch('AerTipsmottagare.value', function (newVal, oldVal) { if (newVal) { $scope.addPersonKategori(tipsmottagareKategori); } else { $scope.removePersonKategori(tipsmottagareKategori); } }); } } else {//INIT fysiskperson var localPerson = ($scope.kontakt); $scope.utlaendsk = { spraakId: localPerson.SpraakId, nationalitetId: localPerson.NationalitetId, civilstaand: localPerson.Civilstaand, passnummer: localPerson.Passnummer, NIENummer: localPerson.NIENummer, civilstaandDomain: domainService.getCivilstaandDomain, laender: domainService.land.queryForUtlandKontakt(), spraak: domainService.getSpraakDomainForUtlandKontakt() }; $scope.VisaNationalitet = $scope.VisaDropdown(); } if ($scope.kontakt.isKund()) { $scope.taggOptions = taggService.query(fb.FasITDomain.TaggTyp.PERSONTAGG); $scope.$watchCollection('kontakt.PersonTagg', function (newVal: fb.ChangeTrack[], oldVal: fb.ChangeTrack[]) { if (newVal !== oldVal && newVal && oldVal && newVal.length !== oldVal.length) { var localPerson; if ($scope.kontakt.isPersonFysisk()) { localPerson = ($scope.kontakt); } else { localPerson = ($scope.kontakt); } localPerson.enqueue(); } }); $scope.editTaggs = function () { const taggSidedrawerParams = { taggar: $scope.taggOptions, isStackedSideDrawer: $scope.isInSideDrawer, taggTyp: fb.FasITDomain.TaggTyp.PERSONTAGG } if ($scope.isInSideDrawer) { sideDrawerService.stack('Taggar', taggSidedrawerParams); } else { sideDrawerService.setSideDrawer('Taggar', taggSidedrawerParams); } } $rootScope.InloggadAnvaendare.promise.then(function () { $scope.isUtland = $rootScope.InloggadAnvaendare.BostadsmarknadId ? ($rootScope.InloggadAnvaendare.BostadsmarknadId === fb.FasITDomain.Bostadsmarknad.UTLAND) : false; }); //Start: Tjänster och kontaktuppgifter samspelet var initFlyttaMedBevakningarWatchers = []; var varnaFoerVaerdebevakarborttagningWatcher; var varnaFoerDigitalBudgivningAvaktiverasWatcher; var changedFlyttaMedBevakningarFn = function (newV, oldV) { if (newV === oldV) { return; } $scope.changedKontaktUppgift = true; //($scope.kontakt).invalidField.push('FysiskPerson2DO.bekraeftaFlytt') $scope.$watch('allFlyttaMedBevakningar.value', function () { $scope.kontakt.MejlAdress.FlyttaMedBevakningar.setValue($scope.allFlyttaMedBevakningar.value); $scope.kontakt.TelefonnummerMobil.FlyttaMedBevakningar.setValue($scope.allFlyttaMedBevakningar.value); $scope.kontakt.Adress.FlyttaMedBevakningar.setValue($scope.allFlyttaMedBevakningar.value); if ($scope.kontakt.isPersonFysisk()) { ($scope.kontakt).TelefonnummerHem.FlyttaMedBevakningar.setValue($scope.allFlyttaMedBevakningar.value); } }); stoppaBevakningsFaeltWatchers(); }; var stoppaBevakningsFaeltWatchers = function () { _.each(initFlyttaMedBevakningarWatchers, function (item) { item();//Avregistrera watchers }); initFlyttaMedBevakningarWatchers.length = 0; }; var startaBevakningsFaeltWatchers = function (init: boolean) { stoppaBevakningsFaeltWatchers(); if ($scope.kontakt.TelefonnummerMobil.Telefonnummer.dirty || (($scope.kontakt).TelefonnummerHem && ($scope.kontakt).TelefonnummerHem.Telefonnummer.dirty) || $scope.kontakt.MejlAdress.Mejladress.dirty || $scope.kontakt.Adress.AdressText.dirty || $scope.kontakt.Adress.Postort.dirty || $scope.kontakt.Adress.Postnummer.dirty ) { //Om detta är dirty så har vi bytt kontaktuppgifter $scope.changedKontaktUppgift = true; } else { $scope.changedKontaktUppgift = false; } if (init) { $scope.allFlyttaMedBevakningar = new fb.ChangeTrack(true); } if ($scope.kontakt.MejlAdress.Mejladress.value && $scope.kontakt.MejlAdress.Mejladress.value !== '') { initFlyttaMedBevakningarWatchers.push($scope.$watch('kontakt.MejlAdress.Mejladress.value', changedFlyttaMedBevakningarFn)); } if ($scope.kontakt.TelefonnummerMobil.Telefonnummer.value && $scope.kontakt.TelefonnummerMobil.Telefonnummer.value !== '') { initFlyttaMedBevakningarWatchers.push($scope.$watch('kontakt.TelefonnummerMobil.Telefonnummer.value', changedFlyttaMedBevakningarFn)); } if (($scope.kontakt).TelefonnummerHem && ($scope.kontakt).TelefonnummerHem.Telefonnummer.value && ($scope.kontakt).TelefonnummerHem.Telefonnummer.value !== '') { initFlyttaMedBevakningarWatchers.push($scope.$watch('kontakt.TelefonnummerHem.Telefonnummer.value', changedFlyttaMedBevakningarFn)); } if ($scope.kontakt.Adress.AdressText.value && $scope.kontakt.Adress.AdressText.value !== '' || $scope.kontakt.Adress.Postort.value && $scope.kontakt.Adress.Postort.value !== '' || $scope.kontakt.Adress.Postnummer.value && $scope.kontakt.Adress.Postnummer.value !== '') { initFlyttaMedBevakningarWatchers.push($scope.$watch('kontakt.Adress.AdressText.value', changedFlyttaMedBevakningarFn)); initFlyttaMedBevakningarWatchers.push($scope.$watch('kontakt.Adress.Postort.value', changedFlyttaMedBevakningarFn)); initFlyttaMedBevakningarWatchers.push($scope.$watch('kontakt.Adress.Postnummer.value', changedFlyttaMedBevakningarFn)); } }; startaBevakningsFaeltWatchers(true); $scope.$watch('kontakt.RadVersion.value', function (newVal, oldVal) { if (newVal !== oldVal) { //Starta alla watchers igen startaBevakningsFaeltWatchers(false); startaVarnaFoerVaerdebevakarborttagningWatcher(); startaVarnaFoerDigitalBudgivningAvaktiverasWatcher(); } }); // Om man ändrat kontaktuppgift måste tjänster uppdateras, stäng blocket var closeTjaensterBasblocket = function (newVal: string, oldVal: string) { if (newVal !== oldVal && !_.isUndefined(oldVal)) { $scope.fullViews.fullViewConditionTjaenster = false; } } $scope.$watch('kontakt.MejlAdress.Mejladress.value', closeTjaensterBasblocket); $scope.$watch('kontakt.Adress.AdressText.value', closeTjaensterBasblocket); $scope.$watch('kontakt.Adress.Postnummer.value', closeTjaensterBasblocket); $scope.$watch('kontakt.Adress.Postort.value', closeTjaensterBasblocket); $scope.$watch('kontakt.TelefonnummerMobil.Telefonnummer.value', closeTjaensterBasblocket); if ($scope.kontakt.isPersonFysisk()) { $scope.$watch('kontakt.TelefonnummerHem.Telefonnummer.value', closeTjaensterBasblocket); } $scope.varnaFoerVaerdebevakarborttagning = false; var varnaFoerVaerdebevakarborttagningFn = function (newVal: string, oldVal: string) { if (newVal !== oldVal && !_.isUndefined(oldVal)) { if (newVal === '') { $scope.varnaFoerVaerdebevakarborttagning = true; } } } var startaVarnaFoerVaerdebevakarborttagningWatcher = function () { if (varnaFoerVaerdebevakarborttagningWatcher) { varnaFoerVaerdebevakarborttagningWatcher(); } if ($scope.kontakt.MejlAdress.Mejladress.value && $scope.kontakt.MejlAdress.Mejladress.value !== '') { varnaFoerVaerdebevakarborttagningWatcher = $scope.$watch('kontakt.MejlAdress.Mejladress.value', varnaFoerVaerdebevakarborttagningFn); } } startaVarnaFoerVaerdebevakarborttagningWatcher(); var startaVarnaFoerDigitalBudgivningAvaktiverasWatcher = function () { if (varnaFoerDigitalBudgivningAvaktiverasWatcher) { varnaFoerDigitalBudgivningAvaktiverasWatcher(); } } instaellningsPromise.then(function () { var digitalBudgivningAktiveradPaaKontoret = instaellningarService.instaellningar.instaellningar[fb.InstaellningTyp.DigitalBudgivningAktiverad.id]; if (digitalBudgivningAktiveradPaaKontoret.InstaellningVaerde.value && $scope.kontakt && $scope.kontakt.isPersonFysisk()) { // Varningen ska bara kunna dyka upp för fysiska personer om digital budgivning är aktiverat på kontoret $scope.varnaFoerDigitalBudgivningAvaktiveras = false; var varnaFoerDigitalBudgivningAvaktiverasFn = function (newVals: string, oldVals: string) { var tmpString = ''; var vaerdenSomSaknasFoerDigitalBudgivningDelar = []; if (newVals[0] !== oldVals[0] && !_.isUndefined(oldVals[0]) && !($scope.kontakt).personnummerIsValidForDigitalBudgivning()) { // Personnummer $scope.varnaFoerDigitalBudgivningAvaktiveras = true; vaerdenSomSaknasFoerDigitalBudgivningDelar.push('personnummer'); } if ((newVals[1] !== oldVals[1] && !_.isUndefined(oldVals[1]) && newVals[1] === '') || (newVals[2] !== oldVals[2] && !_.isUndefined(oldVals[2]) && newVals[2] === '') || (newVals[3] !== oldVals[3] && !_.isUndefined(oldVals[3]) && newVals[3] === '')) { // Adress $scope.varnaFoerDigitalBudgivningAvaktiveras = true; vaerdenSomSaknasFoerDigitalBudgivningDelar.push('adress'); } if (newVals[4] !== oldVals[4] && !_.isUndefined(oldVals[4]) && newVals[4] === '') { // Mobilnummer $scope.varnaFoerDigitalBudgivningAvaktiveras = true; vaerdenSomSaknasFoerDigitalBudgivningDelar.push('mobilnummer'); } for (var i = 0; i < vaerdenSomSaknasFoerDigitalBudgivningDelar.length; i++) { if (i === (vaerdenSomSaknasFoerDigitalBudgivningDelar.length - 1)) { tmpString = tmpString.concat(vaerdenSomSaknasFoerDigitalBudgivningDelar[i]); } else if (i === (vaerdenSomSaknasFoerDigitalBudgivningDelar.length - 2)) { tmpString = tmpString.concat(vaerdenSomSaknasFoerDigitalBudgivningDelar[i] + ' eller '); } else { tmpString = tmpString.concat(vaerdenSomSaknasFoerDigitalBudgivningDelar[i] + ', '); } } $scope.vaerdenSomSaknasFoerDigitalBudgivning = tmpString; if ($scope.vaerdenSomSaknasFoerDigitalBudgivning === '') { $scope.varnaFoerDigitalBudgivningAvaktiveras = false; } } startaVarnaFoerDigitalBudgivningAvaktiverasWatcher = function () { if (varnaFoerDigitalBudgivningAvaktiverasWatcher) { varnaFoerDigitalBudgivningAvaktiverasWatcher(); } if (($scope.kontakt.Personnummer.value && $scope.kontakt.Personnummer.value !== '' && ($scope.kontakt).personnummerIsValidForDigitalBudgivning()) && ($scope.kontakt.Adress.AdressText.value && $scope.kontakt.Adress.AdressText.value !== '') && ($scope.kontakt.Adress.Postnummer.value && $scope.kontakt.Adress.Postnummer.value !== '') && ($scope.kontakt.Adress.Postort.value && $scope.kontakt.Adress.Postort.value !== '') && ($scope.kontakt.TelefonnummerMobil.Telefonnummer.value && $scope.kontakt.TelefonnummerMobil.Telefonnummer.value !== '')) { varnaFoerDigitalBudgivningAvaktiverasWatcher = $scope.$watchGroup(['kontakt.Personnummer.value', 'kontakt.Adress.AdressText.value', 'kontakt.Adress.Postnummer.value', 'kontakt.Adress.Postort.value', 'kontakt.TelefonnummerMobil.Telefonnummer.value'], varnaFoerDigitalBudgivningAvaktiverasFn); } } startaVarnaFoerDigitalBudgivningAvaktiverasWatcher(); } }); //End: Tjänster och kontaktuppgifter samspelet } // Kommer vi tillbaka från hitta-sidedrawern och inte har kunnat sparat informationen vi angav där tidigare behöver vi göra det nu var hittaSeKontaktInfo = stateService.loadState('HittaSeKontaktInfo', $scope.paramsPersonId); if (hittaSeKontaktInfo && hittaSeKontaktInfo.kontaktInfo) { stateService.clearState('HittaSeKontaktInfo', $scope.paramsPersonId); $timeout(function () { setKontaktMedHittaSe(hittaSeKontaktInfo.kontaktInfo); }, 200); } }); $q.all([kontoretsMaeklareOchAssistenter.$promise, omPersonenFannsPaaKontoretMenInteAerKvarOchAegerDetHaerObjektet.$promise, $scope.kontakt.$promise]).then(function () { $scope.kontoretsMaeklareOchAssistenter = _.uniq(_.sortBy(kontoretsMaeklareOchAssistenter, function (item) { return item.Personnamn.value; }), function (medarbetare) { return medarbetare.PersonId.value; }); if (!_.contains(_.map($scope.kontoretsMaeklareOchAssistenter, item => item.PersonId.value), $scope.kontakt.AnsvarigAnvaendareId.value)) { var riktigAss = _.find(omPersonenFannsPaaKontoretMenInteAerKvarOchAegerDetHaerObjektet, function (item: fb.Medarbetare) { return item.PersonId.value === $scope.kontakt.AnsvarigAnvaendareId.value; }) if (riktigAss) { $scope.kontoretsMaeklareOchAssistenter.push(riktigAss); } } // Filtrerar bort personer som har slutat (och inte står som ansvarig på kontakten) $scope.kontoretsMaeklareOchAssistenter = _.filter($scope.kontoretsMaeklareOchAssistenter, function (item: fb.Medarbetare) { return (item.HarSlutat.value === false || item.PersonId.value === $scope.kontakt.AnsvarigAnvaendareId.value); }); }); }, function (error) { if (error.status === 403) { $scope.showErrorTillhoerAnnatKontor = true; } }) $scope.scroll = 0; $scope.hideKontaktPageHeader = $scope.hideKontaktPageHeader === undefined ? false : $scope.hideKontaktPageHeader; $scope.$watch('kontakt.BankNyttaSvar.value', function (newVal, oldVal) { if (newVal !== oldVal && !_.isUndefined(oldVal) && newVal !== 0 && angular.isNumber(newVal)) { $scope.updateDate($scope.kontakt.BankNyttaSvarDatum); } if (newVal !== oldVal && newVal === 0 && !_.isUndefined(oldVal)) { $scope.kontakt.BankNyttaSvarDatum.setValue(null); } }); $scope.updateDate = function (dateChangeTrack: fb.ChangeTrack) { if (dateChangeTrack) { dateChangeTrack.setValue(moment().format('YYYY-MM-DDTHH:mm:ss')); } } $scope.$watch('kontakt.LaemnarAegtBoende.value', function (newVal: number, oldVal: number) { /*istanbul ignore else*/ if (angular.isDefined(newVal) && angular.isNumber(newVal) && oldVal !== null && angular.isDefined(oldVal) && newVal !== 0) { /*istanbul ignore else*/ if ($scope.kontakt.LaemnarAegtBoende.originalValue !== $scope.kontakt.LaemnarAegtBoende.value) { $scope.updateDate($scope.kontakt.FraagatOmLaemnatObjektDatum); } } // Sätt alltid FraagatOmLaemnatObjektDatum:et till null om Ej tillfrågad vald if (newVal !== oldVal && newVal === 0 && !_.isUndefined(oldVal)) { $scope.kontakt.FraagatOmLaemnatObjektDatum.setValue(null); } }); $scope.$watch('kontakt.FriVaerderingSvar.value', function (newVal: number, oldVal: number) { /*istanbul ignore else*/ if (angular.isDefined(newVal) && angular.isNumber(newVal) && oldVal !== null && angular.isDefined(oldVal) && newVal !== 0) { /*istanbul ignore else*/ if (!$scope.kontakt.FriVaerderingSvarDatum.value) { $scope.updateDate($scope.kontakt.FriVaerderingSvarDatum); } else if ($scope.kontakt.FriVaerderingSvarDatum.value && (newVal !== oldVal)) { $scope.updateDate($scope.kontakt.FriVaerderingSvarDatum); } } else if (newVal === 0) { $scope.kontakt.FriVaerderingSvarDatum.setValue(null); } }); $scope.$watch('kontakt.BRFAllmaenBeskrivning.value', function (newVal, oldVal) { if (newVal !== oldVal && $scope.$parent && $scope.$parent.$parent && $scope.$parent.$parent.$parent) { var parentScope: any = $scope.$parent.$parent.$parent; var params = parentScope.params; if (_.isUndefined(params) && parentScope.$parent && parentScope.$parent.$parent) { parentScope = parentScope.$parent.$parent; // Om vi kommer från intressentlistan } params = parentScope.params || {}; var callback = params.beskrivningCallback; if (callback) { callback(newVal); } } }); $scope.laemnarNotesOptions = { reloadNotes: false, }; // Sätter postort ifall postnummer är 5 tecken långt och det inte finns någon postort satt $scope.$watch('currentAdress.Postnummer.value', function (newVal: string) { if (newVal && (newVal + '').length > 4 && !$scope.currentAdress.Postort.value) { var postort = postadressService.getPostort(newVal + ''); postort.$promise.then(function () { // Verifierar så att användaren inte har hunnit fylla i ett värde när promise resolvas if (!$scope.currentAdress.Postort.value) { $scope.currentAdress.Postort.setValue(postort.Postort); } }); } }); $scope.$watch('kontakt.LaemnarAegtBoende.value', function (newVal, oldVal) { if (newVal !== oldVal && (oldVal === 2 || oldVal === 3 || oldVal === 4) && (newVal !== 2 || newVal !== 3 || newVal !== 4)) { if (angular.isDefined($scope.kontakt)) { $scope.kontakt.FriVaerderingSvar.setValue(0); } } }); }; $scope.laender = domainService.land.query(); $scope.$on('$routeUpdate', function () { init(); }); var cleanUpFunc = $rootScope.$on('$locationChangeSuccess', function () { if ($scope.isInSideDrawer) { var locationSearch = $location.search(); var locationSearchPersonId: any; /*istanbul ignore else*/ if (locationSearch) { if (locationSearch.borttagen && locationSearch.borttagen === "1") { return; } locationSearchPersonId = locationSearch.personId; /*istanbul ignore else*/ if (_.isString(locationSearchPersonId)) { locationSearchPersonId = parseInt(locationSearchPersonId); } } /*istanbul ignore else*/ if (locationSearchPersonId && (locationSearchPersonId !== $scope.paramsPersonId)) {//Not sure if this is needed since init breaks down if there is no personId anyway, but presumably. What we want to do is stop init running twice since it seems as though this event is triggered more than once per change. isInitialized = false; setDefaultViews(); init(); } } }); /*istanbul ignore else*/ if ($scope.personVisningar && $scope.personBudgivningar) { $scope.Spekulant = { rows: [ { "Aktivitet": ("Totalt " + ($scope.personVisningar.length || 0) + " visningar de senaste 12 månaderna") }, { "Aktivitet": "Totalt " + ($scope.personBudgivningar.length || 0) + " budgivningar de senaste 12 månaderna" } ] }; } // Gå till objekt med maeklarObjektId $scope.openMaeklarObjekt = function (maeklarObjektId) { navigationService.findOpenObjekt(fb.FasITDomain.NavigationController.MAEKLAROBJEKT, maeklarObjektId, true); }; // Gå till kontakt med personId $scope.openKontakt = function (personId) { navigationService.findOpenObjekt(fb.FasITDomain.NavigationController.KONTAKT, personId, true); }; //Haendelse.html var initHaendelser = function () { var haendelser = haendelseService.getKontaktList($scope.paramsPersonId); var getMaeklarObjektNamnMedLaenk = function (maeklarObjekt: fb.HaendelseMaeklarObjektWO) { if (maeklarObjekt.AdressText) { return '' + maeklarObjekt.AdressText + ' (' + maeklarObjekt.ObjektNummer + ') '; } return '(' + maeklarObjekt.ObjektNummer + ') '; }; var getPersonNamnMedLaenk = function (person: fb.HaendelsePersonWO) { return '' + person.Personnamn + ''; }; var getAktivitetTextMedLaenk = function (aktivitet: fb.HaendelseAktivitetWO, text: string) { if (aktivitet.BeroerdUrl) { return '' + text + ''; } return text; }; var getAktivitetTextMedKolon = function (aktivitet: fb.HaendelseAktivitetWO, text: string) { if (aktivitet.SmsText) { return text + ':
' + aktivitet.SmsText; } return text; }; var getXexMejlNamn = function (xexMejl: fb.HaendelseXexMejlWO) { return xexMejl.XexMejlAemne; }; var getBeskrivningText = function (haendelse: fb.HaendelseLO) { switch (haendelse.HaendelseKlass) { case fb.HaendelseKlass.AER_MAILAD: // Förutsätter att haendelse.XexMejl finns (är constraint i databasen) switch (haendelse.HaendelseTyp) { case fb.HaendelseTyp_AerMailad.AER_TO: return $translate.instant('HAENDELSETEXT_KONTAKT.AER_MAILAD.AER_TO') + '"' + getXexMejlNamn(haendelse.XexMejl) + '"'; case fb.HaendelseTyp_AerMailad.AER_CC: return $translate.instant('HAENDELSETEXT_KONTAKT.AER_MAILAD.AER_CC') + '"' + getXexMejlNamn(haendelse.XexMejl) + '"'; case fb.HaendelseTyp_AerMailad.AER_BCC: return $translate.instant('HAENDELSETEXT_KONTAKT.AER_MAILAD.AER_BCC') + '"' + getXexMejlNamn(haendelse.XexMejl) + '"'; } break; case fb.HaendelseKlass.PERSON_AKTUALISERAD: switch (haendelse.HaendelseTyp) { case fb.HaendelseTyp_PersonAktualiserad.PERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.PERSON'); case fb.HaendelseTyp_PersonAktualiserad.OBJINTRESSENT: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.OBJINTRESSENT'); case fb.HaendelseTyp_PersonAktualiserad.VISNING: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.VISNING'); case fb.HaendelseTyp_PersonAktualiserad.BUD: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.BUD'); case fb.HaendelseTyp_PersonAktualiserad.ANTECKNING: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.ANTECKNING'); case fb.HaendelseTyp_PersonAktualiserad.VAERDEBEVAKAREN: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.VAERDEBEVAKAREN'); case fb.HaendelseTyp_PersonAktualiserad.SLUTPRISPRENUMERATION_SPEKULANT: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.SLUTPRISPRENUMERATION_SPEKULANT'); case fb.HaendelseTyp_PersonAktualiserad.SLUTPRISPRENUMERATION_SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.PERSON_AKTUALISERAD.SLUTPRISPRENUMERATION_SAELJARE'); } break; case fb.HaendelseKlass.TIPS: switch (haendelse.HaendelseTyp) { case fb.HaendelseTyp_Tips.TIPS_INOM_KEDJAN: return $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.TIPS_INOM_KEDJAN'); case fb.HaendelseTyp_Tips.TIPS_TILL_BANK_SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.TIPS_TILL_BANK_SAELJARE') + (haendelse.BeroerdPerson ? getPersonNamnMedLaenk(haendelse.BeroerdPerson) : $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.BANK_TEXT')); case fb.HaendelseTyp_Tips.TIPS_TILL_BANK_KOEPARE: return $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.TIPS_TILL_BANK_KOEPARE') + (haendelse.BeroerdPerson ? getPersonNamnMedLaenk(haendelse.BeroerdPerson) : $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.BANK_TEXT')); case fb.HaendelseTyp_Tips.TIPS_TILL_BANK_OEVRGT: return $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.TIPS_TILL_BANK_OEVRGT') + (haendelse.BeroerdPerson ? getPersonNamnMedLaenk(haendelse.BeroerdPerson) : $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.BANK_TEXT')); case fb.HaendelseTyp_Tips.TIPS_TILL_SAMARBETSPARTNER: return $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.TIPS_TILL_SAMARBETSPARTNER') + (haendelse.BeroerdPerson ? getPersonNamnMedLaenk(haendelse.BeroerdPerson) : $translate.instant('HAENDELSETEXT_KONTAKT.TIPS.SAMARBETSPARTNER_TEXT')); } break; case fb.HaendelseKlass.SKICKA_BEVAKNINGSMEJL: switch (haendelse.HaendelseTyp) { // Förutsätter att haendelse.BeroerdAktivitet finns (är constraint i databasen) case fb.HaendelseTyp_BevakningsMejl.ENKAETMEJL_PAAMINNELSER: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.ENKAETMEJL_PAAMINNELSER')); case fb.HaendelseTyp_BevakningsMejl.ENKAETMEJL: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.ENKAETMEJL')); case fb.HaendelseTyp_BevakningsMejl.VISNINGSENKAETMEJL: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.VISNINGSENKAETMEJL')); case fb.HaendelseTyp_BevakningsMejl.BEVAKNINGSMEJL: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEVAKNINGSMEJL')); case fb.HaendelseTyp_BevakningsMejl.NYHETSBREV: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.NYHETSBREV')); case fb.HaendelseTyp_BevakningsMejl.BEVAKNINGSMEJL_VI_HAR_INTE_GLOEMT_DIG: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEVAKNINGSMEJL_VI_HAR_INTE_GLOEMT_DIG')); case fb.HaendelseTyp_BevakningsMejl.BEVAKNINGSMEJL_UTLAND: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEVAKNINGSMEJL_UTLAND')); case fb.HaendelseTyp_BevakningsMejl.MANUELLT_UTSKICK_MSINTEGRATION: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MANUELLT_UTSKICK_MSINTEGRATION')); case fb.HaendelseTyp_BevakningsMejl.SLUTPRISPRENUMERATION: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.SLUTPRISPRENUMERATION')); case fb.HaendelseTyp_BevakningsMejl.MEDDELANDE_FRAAN_FASTIGHETSBYRAAN: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MEDDELANDE_FRAAN_FASTIGHETSBYRAAN')); case fb.HaendelseTyp_BevakningsMejl.GRATULATIONER: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.GRATULATIONER')); case fb.HaendelseTyp_BevakningsMejl.VAERDEBEVAKARE: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.VAERDEBEVAKARE')); case fb.HaendelseTyp_BevakningsMejl.BEVAKNINGSMEJL_VI_HAR_INTE_GLOEMT_DIG_UTLAND: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEVAKNINGSMEJL_VI_HAR_INTE_GLOEMT_DIG_UTLAND')); case fb.HaendelseTyp_BevakningsMejl.DIGITALT_FLYTTKORT: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.DIGITALT_FLYTTKORT')); case fb.HaendelseTyp_BevakningsMejl.BEVAKNINGSMEJL_VAELKOMMEN: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEVAKNINGSMEJL_VAELKOMMEN')); case fb.HaendelseTyp_BevakningsMejl.BEVAKNINGSMEJL_VAELKOMMEN_AATER: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEVAKNINGSMEJL_VAELKOMMEN_AATER')); case fb.HaendelseTyp_BevakningsMejl.VAERDEBEVAKARE_VAELKOMMEN: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.VAERDEBEVAKARE_VAELKOMMEN')); case fb.HaendelseTyp_BevakningsMejl.PRISBEVAKARE_SPEKULANT: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.PRISBEVAKARE_SPEKULANT')); case fb.HaendelseTyp_BevakningsMejl.VALIDERING_AV_MEJLADRESS: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.VALIDERING_AV_MEJLADRESS')); case fb.HaendelseTyp_BevakningsMejl.BEKRAEFTELSE_KONTAKTA_MIG: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BEKRAEFTELSE_KONTAKTA_MIG')); case fb.HaendelseTyp_BevakningsMejl.BOKNINGSBEKRAEFTELSE_VISNING: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.BOKNINGSBEKRAEFTELSE_VISNING')); case fb.HaendelseTyp_BevakningsMejl.OBJEKTTIPS: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.OBJEKTTIPS')); case fb.HaendelseTyp_BevakningsMejl.CSRVALMEJL_SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.MAIL_TEXT') + getAktivitetTextMedLaenk(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKA_BEVAKNINGSMEJL.CSRVALMEJLSAELJARE')); // } break; case fb.HaendelseKlass.SKICKAT_SMS: switch (haendelse.HaendelseTyp) { // Förutsätter att haendelse.BeroerdAktivitet finns (är constraint i databasen) case fb.HaendelseTyp_SkickatSMS.SKICKA_SMS_TILL_TELEFONNUMMER: return getAktivitetTextMedKolon(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKAT_SMS.SKICKA_SMS_TILL_TELEFONNUMMER')); case fb.HaendelseTyp_SkickatSMS.TIPSA_EN_VAEN_OM_OBJEKT_VIA_SMS: return getAktivitetTextMedKolon(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKAT_SMS.TIPSA_EN_VAEN_OM_OBJEKT_VIA_SMS')); case fb.HaendelseTyp_SkickatSMS.SKICKA_SMS_MED_LAENK_TILL_SLUTPRIS_PAA_OBJEKT: return getAktivitetTextMedKolon(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKAT_SMS.SKICKA_SMS_MED_LAENK_TILL_SLUTPRIS_PAA_OBJEKT')); case fb.HaendelseTyp_SkickatSMS.SKICKA_SMS_MED_QUEDRO: return getAktivitetTextMedKolon(haendelse.BeroerdAktivitet, $translate.instant('HAENDELSETEXT_KONTAKT.SKICKAT_SMS.SKICKA_SMS_MED_QUEDRO')); } break; case fb.HaendelseKlass.INTRESSENT_NY: switch (haendelse.HaendelseTyp) { // Förutsätter att haendelse.MaeklarObjekt finns (är constraint i databasen) case fb.HaendelseTyp_Intressent.INTRESSENT: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.INTRESSENT') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.SAELJARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.KOEPARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.KOEPARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.BANKKONTAKT: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.BANKKONTAKT') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.UTHYRARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.UTHYRARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.FOERSAEKRINGSBOLAG: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.FOERSAEKRINGSBOLAG') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.ANSVARIG_PERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.ANSVARIG_PERSON') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.LAANGIVARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.LAANGIVARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.MAEKLARASSISTENT: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.MAEKLARASSISTENT') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.KOEPARENS_KONTAKTPERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.KOEPARENS_KONTAKTPERSON') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.SAELJARENS_KONTAKTPERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.SAELJARENS_KONTAKTPERSON') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.HISTORISK_KOEPARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY') + $translate.instant('OBJINTRESSENT.HISTORISK_KOEPARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); } break; case fb.HaendelseKlass.INTRESSENT_BORTTAGEN: switch (haendelse.HaendelseTyp) { // Förutsätter att haendelse.MaeklarObjekt finns (är constraint i databasen) case fb.HaendelseTyp_Intressent.INTRESSENT: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.INTRESSENT') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.SAELJARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.KOEPARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.KOEPARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.BANKKONTAKT: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.BANKKONTAKT') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.UTHYRARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.UTHYRARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.FOERSAEKRINGSBOLAG: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.FOERSAEKRINGSBOLAG') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.ANSVARIG_PERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.ANSVARIG_PERSON') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.LAANGIVARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.LAANGIVARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.MAEKLARASSISTENT: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.MAEKLARASSISTENT') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.KOEPARENS_KONTAKTPERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.KOEPARENS_KONTAKTPERSON') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.SAELJARENS_KONTAKTPERSON: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.SAELJARENS_KONTAKTPERSON') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Intressent.HISTORISK_KOEPARE: return $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_BORTTAGEN') + $translate.instant('OBJINTRESSENT.HISTORISK_KOEPARE') + $translate.instant('HAENDELSETEXT_KONTAKT.INTRESSENT_NY_ELLER_BORTTAGEN_PAA') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); } break; case fb.HaendelseKlass.KONTAKTUPPGIFTSAENDRING: switch (haendelse.HaendelseTyp) { // Förutsätter att haendelse.NuvarandeFritext finns för alla och haendelse.OriginalFritext för ändrade (constraint i databasen) case fb.HaendelseTyp_Kontaktuppgiftsaendring.PERSONNAMN_AENDRAD: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.PERSONNAMN_AENDRAD') + haendelse.OriginalFritext + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.TILL_TEXT') + haendelse.NuvarandeFritext; case fb.HaendelseTyp_Kontaktuppgiftsaendring.MOBILTELEFON_AENDRAD: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.MOBILTELEFON_AENDRAD') + haendelse.OriginalFritext + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.TILL_TEXT') + haendelse.NuvarandeFritext; case fb.HaendelseTyp_Kontaktuppgiftsaendring.HEMTELEFON_ANNAN_AENDRAD: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.HEMTELEFON_ANNAN_AENDRAD') + haendelse.OriginalFritext + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.TILL_TEXT') + haendelse.NuvarandeFritext; case fb.HaendelseTyp_Kontaktuppgiftsaendring.MEJLADRESS_AENDRAD: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.MEJLADRESS_AENDRAD') + haendelse.OriginalFritext + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.TILL_TEXT') + haendelse.NuvarandeFritext; case fb.HaendelseTyp_Kontaktuppgiftsaendring.MOBILTELEFON_BORTTAGEN: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.MOBILTELEFON_BORTTAGEN') + haendelse.OriginalFritext; case fb.HaendelseTyp_Kontaktuppgiftsaendring.TELEFON_ANNAN_BORTTAGEN: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.TELEFON_ANNAN_BORTTAGEN') + haendelse.OriginalFritext; case fb.HaendelseTyp_Kontaktuppgiftsaendring.MEJLADRESS_BORTTAGEN: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSAENDRING.MEJLADRESS_BORTTAGEN') + haendelse.OriginalFritext; } break; case fb.HaendelseKlass.VAERDEBEVAKARE: switch (haendelse.HaendelseTyp) { // Förutsätter att haendelse.MaeklarObjekt finns (är constraint i databasen) case fb.HaendelseTyp_Vaerdebevakare.SKAPAD: return $translate.instant('HAENDELSETEXT_KONTAKT.VAERDEBEVAKARE.SKAPAD') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Vaerdebevakare.STOPPAD: return $translate.instant('HAENDELSETEXT_KONTAKT.VAERDEBEVAKARE.STOPPAD') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); case fb.HaendelseTyp_Vaerdebevakare.UPPDATERAD: return $translate.instant('HAENDELSETEXT_KONTAKT.VAERDEBEVAKARE.UPPDATERAD') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt); } break; case fb.HaendelseKlass.BOSTADSBEVAKARE: switch (haendelse.HaendelseTyp) { case fb.HaendelseTyp_Bostadsbevakare.SKAPAD: return $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.BOSTADSBEVAKNINGEN') + '"' + haendelse.BeroertOenskemaal.OenskemaalNamn + '"' + $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.HAR_SKAPATS'); case fb.HaendelseTyp_Bostadsbevakare.STOPPAD: return $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.BOSTADSBEVAKNINGEN') + '"' + haendelse.BeroertOenskemaal.OenskemaalNamn + '"' + $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.HAR_STOPPATS'); case fb.HaendelseTyp_Bostadsbevakare.UPPDATERAD: return $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.BOSTADSBEVAKNINGEN') + '"' + haendelse.BeroertOenskemaal.OenskemaalNamn + '"' + $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.HAR_UPPDATERATS'); case fb.HaendelseTyp_Bostadsbevakare.FLYTTAD: return $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.BOSTADSBEVAKNINGEN') + '"' + haendelse.BeroertOenskemaal.OenskemaalNamn + '"' + $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.HAR_FLYTTATS') + haendelse.OriginalFritext + $translate.instant('HAENDELSETEXT_KONTAKT.BOSTADSBEVAKARE.TILL_TEXT') + haendelse.NuvarandeFritext; } break; case fb.HaendelseKlass.SLUTPRISPRENUMERATION: switch (haendelse.HaendelseTyp) { // haendelse.MaeklarObjekt finns inte alltid case fb.HaendelseTyp_Slutprisprenumeration.SKAPAD_SPEKULANT: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.SKAPAD_SPEKULANT') + (haendelse.MaeklarObjekt ? $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FOER_OBJEKT_TEXT') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt) : ''); case fb.HaendelseTyp_Slutprisprenumeration.STOPPAD_SPEKULANT: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.STOPPAD_SPEKULANT') + (haendelse.MaeklarObjekt ? $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FOER_OBJEKT_TEXT') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt) : ''); case fb.HaendelseTyp_Slutprisprenumeration.UPPDATERAD_SPEKULANT: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.UPPDATERAD_SPEKULANT') + (haendelse.MaeklarObjekt ? $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FOER_OBJEKT_TEXT') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt) : ''); case fb.HaendelseTyp_Slutprisprenumeration.SKAPAD_SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.SKAPAD_SAELJARE') + (haendelse.MaeklarObjekt ? $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FOER_OBJEKT_TEXT') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt) : ''); case fb.HaendelseTyp_Slutprisprenumeration.STOPPAD_SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.STOPPAD_SAELJARE') + (haendelse.MaeklarObjekt ? $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FOER_OBJEKT_TEXT') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt) : ''); case fb.HaendelseTyp_Slutprisprenumeration.UPPDATERAD_SAELJARE: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.UPPDATERAD_SAELJARE') + (haendelse.MaeklarObjekt ? $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FOER_OBJEKT_TEXT') + getMaeklarObjektNamnMedLaenk(haendelse.MaeklarObjekt) : ''); case fb.HaendelseTyp_Slutprisprenumeration.FLYTTAD_SPEKULANT: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FLYTTAD_SPEKULANT') + haendelse.OriginalFritext + $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.TILL_TEXT') + haendelse.NuvarandeFritext; case fb.HaendelseTyp_Slutprisprenumeration.FLYTTADE_INTE_SPEKULANT_PGA_BEFINTLIG_PAA_NY_KONTOHAVARE: return $translate.instant('HAENDELSETEXT_KONTAKT.SLUTPRISPRENUMERATION.FLYTTADE_INTE_SPEKULANT_PGA_BEFINTLIG_PAA_NY_KONTOHAVARE', { OriginalFritext: haendelse.OriginalFritext, NuvarandeFritext: haendelse.NuvarandeFritext }); } break; case fb.HaendelseKlass.KONTAKTUPPGIFTSPAERR: switch (haendelse.HaendelseTyp) { case fb.HaendelseTyp_Kontaktuppgiftspaerr.MEJLADRESS_AVSPAERRAD: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.SPAERR_PAA_EPOST') + ' (' + haendelse.OriginalFritext + ') ' + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.BORTTAGEN') + (!(haendelse.SkapadAv && haendelse.SkapadAv.PersonId) ? $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.AV_SUPPORT_EFTER_ANMODAN_AV_KUND') : ''); case fb.HaendelseTyp_Kontaktuppgiftspaerr.MEJLADRESS_SPAERRAD: return $translate.instant('GLOBALS.EPOST') + ' (' + haendelse.OriginalFritext + ') ' + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.SPAERRAD') + (!(haendelse.SkapadAv && haendelse.SkapadAv.PersonId) ? $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.AV_SUPPORT_EFTER_ANMODAN_AV_KUND') : ''); case fb.HaendelseTyp_Kontaktuppgiftspaerr.MOBILTELEFON_AVSPAERRAD: return $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.SPAERR_PAA_MOBILNUMMER') + ' (' + haendelse.OriginalFritext + ') ' + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.BORTTAGEN') + (!(haendelse.SkapadAv && haendelse.SkapadAv.PersonId) ? $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.AV_SUPPORT_EFTER_ANMODAN_AV_KUND') : ''); case fb.HaendelseTyp_Kontaktuppgiftspaerr.MOBILTELEFON_SPAERRAD: return $translate.instant('GLOBALS.MOBILNUMMER') + ' (' + haendelse.OriginalFritext + ') ' + $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.SPAERRAT') + (!(haendelse.SkapadAv && haendelse.SkapadAv.PersonId) ? $translate.instant('HAENDELSETEXT_KONTAKT.KONTAKTUPPGIFTSPAERR.AV_SUPPORT_EFTER_ANMODAN_AV_KUND') : ''); } break; } return null; }; // Funktion som kontrollerar om grupp är vald var selectedGruppArrayContains = function (haendelseGrupp) { return _.contains($scope.haendelse.selectedGruppArray, haendelseGrupp); }; var filterHaendelser = function () { $scope.haendelse.filteredHaendelser = _.filter($scope.haendelse.haendelser, function (haendelse: fb.HaendelseLO) { return haendelse.Lyckades && $scope.haendelse.selectedGruppArrayContains(haendelse.HaendelseGrupp) && _.contains(allowedHaendelseKlass, haendelse.HaendelseKlass); }); }; // Ändrar om grupp är vald eller inte och filtrerar om filteredHaendelser var toggleGrupp = function (haendelseGrupp) { if ($scope.haendelse.selectedGruppArrayContains(haendelseGrupp)) { $scope.haendelse.selectedGruppArray.splice($scope.haendelse.selectedGruppArray.indexOf(haendelseGrupp), 1); } else { $scope.haendelse.selectedGruppArray.push(haendelseGrupp); } filterHaendelser(); }; // returnerar beskrivande text för händelse, eventuellt innehållande html var getBeskrivning = function (haendelse) { if (!haendelse) { return null; } var text = getBeskrivningText(haendelse); // Tål inte {{ och }}, ersätt dessa om de mot förmodan finns i text var returnText = text !== null ? text.replace(/{{/g, '').replace(/}}/g, '') : ''; return $sce.trustAsHtml(returnText); }; // returnerar beskrivande text för händelse, eventuellt innehållande html var dismissHaendelse = function (haendelse: fb.HaendelseLO) { // Uppdatera och ta bort ur listan med prioriterade $scope.haendelse.prioriteradeHaendelser.splice($scope.haendelse.prioriteradeHaendelser.indexOf(haendelse), 1); haendelse.VisadStatus = fb.Haendelse_VisadStatus.VISA_EJ; haendelseService.updateVisadStatus(haendelse.HaendelseId, fb.Haendelse_VisadStatus.VISA_EJ); }; var fetchHaendelser = function (isInit: boolean = false) { if (!isInit) { $scope.haendelse.haendelser = haendelseService.getKontaktList($scope.paramsPersonId); } // initiera filteredHaendelser med alla som finns i haendelser $scope.haendelse.haendelser.$promise.then(function () { filterHaendelser(); $scope.haendelse.prioriteradeHaendelser = _.filter($scope.haendelse.haendelser, function (haendelse: fb.HaendelseLO) { return haendelse.VisadStatus === fb.Haendelse_VisadStatus.VISA; }); }); }; $scope.haendelse = { haendelser: haendelser, filteredHaendelser: [], possibleGruppArray: [], selectedGruppArray: [], prioriteradeHaendelser: [], getBeskrivning: getBeskrivning, selectedGruppArrayContains: selectedGruppArrayContains, toggleGrupp: toggleGrupp, dismissHaendelse: dismissHaendelse, fetchHaendelser: fetchHaendelser, }; // Händelseklasserna OEVERTAGANADE, BUDGIVNING, NYUPPDRAGSSTATUS och NYUPPDRAGSTYP används endast för objekt var allowedHaendelseKlass = [ fb.HaendelseKlass.AER_MAILAD, fb.HaendelseKlass.PERSON_AKTUALISERAD, fb.HaendelseKlass.TIPS, fb.HaendelseKlass.SKICKA_BEVAKNINGSMEJL, fb.HaendelseKlass.SKICKAT_SMS, fb.HaendelseKlass.INTRESSENT_NY, fb.HaendelseKlass.INTRESSENT_BORTTAGEN, fb.HaendelseKlass.KONTAKTUPPGIFTSAENDRING, fb.HaendelseKlass.VAERDEBEVAKARE, fb.HaendelseKlass.BOSTADSBEVAKARE, fb.HaendelseKlass.SLUTPRISPRENUMERATION, fb.HaendelseKlass.KONTAKTUPPGIFTSPAERR ]; // Fyll valbara grupper och valda grupper angular.forEach( [ fb.HaendelseGrupp.UTSKICK, fb.HaendelseGrupp.OEVRIGT, fb.HaendelseGrupp.TIPS, fb.HaendelseGrupp.INTRESSENT, fb.HaendelseGrupp.TJAENSTER ], (value, key) => { $scope.haendelse.possibleGruppArray.push(value); $scope.haendelse.selectedGruppArray.push(value); }); fetchHaendelser(true); }; //Bank.html $scope.bank = { tipsLista: { $resolved: true }, tips: [], bankNyttaVal: [ { namn: $translate.instant('BANKNYTTASVAR.EJ_TILLFRAAGAD'), value: fb.FasITDomain.BankNyttaSvar.EJ_TILLFRAAGAD }, { namn: $translate.instant('GLOBALS.JA'), value: fb.FasITDomain.BankNyttaSvar.JA }, { namn: $translate.instant('GLOBALS.NEJ'), value: fb.FasITDomain.BankNyttaSvar.NEJ } ], fetchData: function () { $scope.bank.tipsLista = utgaaendeTipsService.getTipsListaTillBankFoerPerson($scope.paramsPersonId); $scope.bank.tipsLista.$promise.then(function () { // Gör en rad per mottagare och kontor $scope.bank.tips = _.flatten(_.map($scope.bank.tipsLista.Tips, function (t: fb.IUtgaaendeTipsListaTips) { return t.TipsmottagareKontaktperson.length === 0 // Tipsad direkt till kontoret ? [{ datum: t.TipsSkickatDatum, namn: '', kontor: t.TipsmottagarenForetagEllerKontor.Namn }] : _.map(t.TipsmottagareKontaktperson, function (p: fb.IUtgaaendeTipsPerson) { return { datum: t.TipsSkickatDatum, namn: p.Namn, kontor: t.TipsmottagarenForetagEllerKontor.Namn }; }); })); }); } }; var toogleSpaerra = function (spaerraFn: any) { // Se till att spara innan så det är rätt nummer/epost som spärras var res = globalTimerService.saveItem($scope.kontakt.getGlobalUniqueId()); if (!!res) { res.$promise.then(function () { spaerraFn(); }); } else { spaerraFn(); } }; $scope.toogleSpaerraMobilnummer = function (spaerra: boolean) { toogleSpaerra(function () { personService.spaerraMobilnummer($scope.kontakt.PersonId.value, $scope.kontakt.TelefonnummerMobil.NormaliseratTelefonnummer.value, spaerra).$promise.then(function () { $scope.kontakt.TelefonnummerMobil.AerSpaerrat.value = spaerra; $scope.kontakt.TelefonnummerMobil.AerSpaerrat.originalValue = spaerra; }); }); }; $scope.toogleSpaerraEpost = function (spaerra: boolean) { toogleSpaerra(function () { personService.spaerraMejladress($scope.kontakt.PersonId.value, $scope.kontakt.MejlAdress.Mejladress.value, spaerra).$promise.then(function () { $scope.kontakt.MejlAdress.AerSpaerrad.value = spaerra; $scope.kontakt.MejlAdress.AerSpaerrad.originalValue = spaerra; }); }); }; $scope.getKontaktMedHittaSe = function () { var foernamn: string, efternamn: string, telefonBostad: string, telefonArbete: string, spraakId: number; if ($scope.kontakt.isPersonFysisk()) { foernamn = ($scope.kontakt).Foernamn.value; efternamn = ($scope.kontakt).Efternamn.value; telefonBostad = ($scope.kontakt).TelefonnummerHem.Telefonnummer.value; telefonArbete = ($scope.kontakt).TelefonnummerArbete.Telefonnummer.value; spraakId = ($scope.kontakt).SpraakId.value; } else { telefonBostad = ($scope.kontakt).TelefonnummerDirekt.Telefonnummer.value; telefonArbete = ($scope.kontakt).TelefonnummerVaexel.Telefonnummer.value; } const jurPersontyp = $scope.kontakt.isPersonFysisk() ? null : (($scope.kontakt).JurPersontyp.value); const kontaktInfo = new fb.PersonSearchChangeTrack({ Personnamn: $scope.kontakt.Personnamn.value, Foernamn: foernamn, Efternamn: efternamn, TelefonMobil: $scope.kontakt.TelefonnummerMobil.Telefonnummer.value, TelefonBostad: telefonBostad, TelefonArbete: telefonArbete, Adress: $scope.kontakt.Adress.AdressText.value, Postnummer: $scope.kontakt.Adress.Postnummer.value, Ort: $scope.kontakt.Adress.Postort.value, Epost: $scope.kontakt.MejlAdress.Mejladress.value, NationalitetId: $scope.kontakt.NationalitetId.value, SpraakId: spraakId, JurPersontyp: jurPersontyp, KundTyp: $scope.kontakt.KundTyp }); return kontaktInfo; }; var setKontaktMedHittaSe = function (kontaktInfo: fb.PersonSearchChangeTrack) { if ($scope.kontakt.isPersonFysisk()) { ($scope.kontakt).Foernamn.setValue(kontaktInfo.Foernamn.value); ($scope.kontakt).Efternamn.setValue(kontaktInfo.Efternamn.value); ($scope.kontakt).TelefonnummerHem.Telefonnummer.setValue(kontaktInfo.TelefonBostad.value); ($scope.kontakt).TelefonnummerArbete.Telefonnummer.setValue(kontaktInfo.TelefonArbete.value); ($scope.kontakt).SpraakId.setValue(kontaktInfo.SpraakId.value); } else { $scope.kontakt.Personnamn.setValue(kontaktInfo.Personnamn.value); ($scope.kontakt).TelefonnummerDirekt.Telefonnummer.setValue(kontaktInfo.TelefonBostad.value); ($scope.kontakt).TelefonnummerVaexel.Telefonnummer.setValue(kontaktInfo.TelefonArbete.value); } $scope.kontakt.TelefonnummerMobil.Telefonnummer.setValue(kontaktInfo.TelefonMobil.value); $scope.kontakt.Adress.AdressText.setValue(kontaktInfo.Adress.value); $scope.kontakt.Adress.Postnummer.setValue(kontaktInfo.Postnummer.value); $scope.kontakt.Adress.Postort.setValue(kontaktInfo.Ort.value); $scope.kontakt.MejlAdress.Mejladress.setValue(kontaktInfo.Epost.value); $scope.kontakt.NationalitetId.setValue(kontaktInfo.NationalitetId.value); $scope.kontakt.KundTyp.setValue(kontaktInfo.KundTyp.getStateNumberRepresentation($scope.isUtland)); }; $scope.callbackFromKontaktMedHittaSe = function (kontaktInfo: fb.PersonSearchChangeTrack) { if ($scope.isInSideDrawer) { stateService.addState('HittaSeKontaktInfo', $scope.kontakt.PersonId.value, function () { return { kontaktInfo: kontaktInfo }; }); stateService.offLoadState('HittaSeKontaktInfo', $scope.kontakt.PersonId.value); } else { setKontaktMedHittaSe(kontaktInfo); } }; init(); } ]);