From 9976ca0965c2d45344aa1d9f6568b8c64a16ea77 Mon Sep 17 00:00:00 2001 From: Thomas Rawyler Date: Thu, 5 Oct 2017 16:55:42 +0200 Subject: [PATCH] OO-773: improved dialog service --- .../components/oo-dialogokabort.directive.js | 5 ++++- .../oo-dialogokabort.directive.modal.html | 10 ++++++---- app/scripts/common/services/oo-dialog.service.js | 14 +++++++++++++- dist/scripts/openolitor-core.js | 6 +++--- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/app/scripts/common/components/oo-dialogokabort.directive.js b/app/scripts/common/components/oo-dialogokabort.directive.js index c534f4f4..466d6ff3 100644 --- a/app/scripts/common/components/oo-dialogokabort.directive.js +++ b/app/scripts/common/components/oo-dialogokabort.directive.js @@ -1,8 +1,11 @@ 'use strict'; -angular.module('openolitor-core').controller('ooDialogOkAbortModalInstanceCtrl', function ($scope, $uibModalInstance, message) { +angular.module('openolitor-core').controller('ooDialogOkAbortModalInstanceCtrl', function ($scope, $uibModalInstance, message, title, dismissOnly, dismissButtonTitle) { + $scope.title = title; $scope.message = message; + $scope.dismissOnly = dismissOnly; + $scope.dismissButtonTitle = dismissButtonTitle; $scope.ok = function () { $uibModalInstance.close(); diff --git a/app/scripts/common/components/oo-dialogokabort.directive.modal.html b/app/scripts/common/components/oo-dialogokabort.directive.modal.html index 4b92e506..75b8b080 100644 --- a/app/scripts/common/components/oo-dialogokabort.directive.modal.html +++ b/app/scripts/common/components/oo-dialogokabort.directive.modal.html @@ -1,6 +1,7 @@ ' +

{{title | translate}}

+

Bestätigung

+ \n";return h},controller:["$scope",function(a){a.open=function(b){b.preventDefault(),b.stopPropagation(),a.opened=!0}}]}}]),angular.module("openolitor-core").directive("ooKundentypen",["KundentypenService",function(a){return{restrict:"E",replace:!0,scope:{kundentypenList:"="},transclude:!0,templateUrl:"scripts/common/components/oo-kundentypen.directive.html",controller:["$scope",function(b){var c=function(){b.kundentypenList&&b.allKundentypen&&(b.kundentypen=[],angular.forEach(b.allKundentypen,function(a){var c=a.kundentyp?a.kundentyp:a,d=b.kundentypenList.indexOf(c);d<0&&b.kundentypen.push(c)}))};b.$watch(a.getKundentypen,function(a){a&&(b.allKundentypen=a,c())});var d=b.$watchCollection("kundentypenList",function(){b.kundentypenList&&b.kundentypenList.length>0&&(c(),d())});b.addKundentyp=function(a){b.kundentypenList.push(a),b.kundentypenList.sort(),c()},b.removeKundentyp=function(a){var d=b.kundentypenList.indexOf(a);d>=0&&b.kundentypenList.splice(d,1),c()}}]}}]),angular.module("openolitor-core").directive("ooArbeitskategorien",["ArbeitskategorienService",function(a){return{restrict:"E",replace:!0,scope:{arbeitskategorienList:"="},transclude:!0,templateUrl:"scripts/common/components/oo-arbeitskategorien.directive.html",controller:["$scope",function(b){var c=function(){b.arbeitskategorienList&&b.allArbeitskategorien&&(b.arbeitskategorien=[],angular.forEach(b.allArbeitskategorien,function(a){var c=a.kundentyp?a.kundentyp:a,d=b.arbeitskategorienList.indexOf(c);d<0&&b.arbeitskategorien.push(c)}))};b.$watch(a.getArbeitskategorien,function(a){a&&(b.allArbeitskategorien=a,c())});var d=b.$watchCollection("arbeitskategorienList",function(){b.arbeitskategorienList&&b.arbeitskategorienList.length>0&&(c(),d())});b.addArbeitskategorie=function(a){b.arbeitskategorienList.push(a),b.arbeitskategorienList.sort(),c()},b.removeArbeitskategorie=function(a){var d=b.arbeitskategorienList.indexOf(a);d>=0&&b.arbeitskategorienList.splice(d,1),c()}}]}}]),angular.module("openolitor-core").directive("ooSaveButton",["msgBus","gettext","alertService","DataUtil",function(a,b,c,d){return{restrict:"E",replace:!0,scope:{entity:"@",entities:"=?",model:"=",onSave:"=",onCancel:"=",form:"=",onCreated:"=",condensed:"@?",notext:"@?",small:"@?"},transclude:!0,templateUrl:"scripts/common/components/oo-savebutton.directive.html",controller:["$scope",function(e){!angular.isUndefined(e.condensed)&&e.condensed&&(e.notext=!0,e.small=!0),e.isNew=function(){return!e.model||void 0===e.model.id};var f=function(a){return angular.isArray(e.entities)?e.entities.indexOf(a)>-1:e.entity===a};a.onMsg("EntityModified",e,function(a,b){f(b.entity)&&!angular.isUndefined(e.model)&&b.data.id===e.model.id&&(d.update(b.data,e.model),e.model.actionInProgress=void 0,e.$apply())}),a.onMsg("EntityCreated",e,function(a,b){e.model&&f(b.entity)&&b.data.id===e.model.id&&(d.update(b.data,e.model),e.model.actionInProgress=void 0,e.onCreated&&e.onCreated(b.data.id),e.$apply())}),e.save=function(){e.model.actionInProgress="updating";var a=e.onSave(e.model);angular.isUndefined(a["catch"])?e.model.actionInProgress=void 0:a["catch"](function(a){e.model.actionInProgress=void 0,c.addAlert("error",b(e.entity+" konnte nicht gespeichert werden. Fehler: ")+a.status+"-"+a.statusText+":"+a.data)})},e.cancel=function(){e.model.actionInProgress="updating",e.onCancel()}}]}}]),angular.module("openolitor-core").directive("ooActionsButton",["msgBus","gettext","alertService","DataUtil","dialogService",function(a,b,c,d,e){return{restrict:"E",replace:!0,scope:{entity:"@",entities:"=?",model:"=",actions:"=",form:"=",confirm:"@?",condensed:"@?",small:"@?",onCreated:"=",btnStyle:"@?"},transclude:!0,templateUrl:"scripts/common/components/oo-actionsbutton.directive.html",controller:["$scope",function(f){!angular.isUndefined(f.btnStyle)&&f.btnStyle||(f.btnStyle="btn-primary"),!angular.isUndefined(f.condensed)&&f.condensed&&(f.notext=!0,f.small=!0),f.isNew=function(){return!f.model||void 0===f.model.id};var g=function(a){return angular.isArray(f.entities)?f.entities.indexOf(a)>-1:f.entity===a};a.onMsg("EntityModified",f,function(a,e){g(e.entity)&&!angular.isUndefined(f.model)&&e.data.id===f.model.id&&("updating"!==f.model.actionInProgress?f.entity&&c.addAlert("info",f.entity+b(" wurde durch eine andere Person geändert. Bitte laden Sie die Ansicht neu.")):(d.update(e.data,f.model),f.model.actionInProgress=void 0,f.$apply()))}),a.onMsg("EntityCreated",f,function(a,b){f.model&&g(b.entity)&&b.data.id===f.model.id&&(d.update(b.data,f.model),f.model.actionInProgress=void 0,f.onCreated&&f.onCreated(b.data.id),f.$apply())});var h=function(a,d,e,g,h){var i=b(a.label||a.labelFunction()),j=b(h.message),k=d&&b(f.entity)+": ";c.addAlert("error",k+b("Aktion")+' "'+i+'" '+b("konnte nicht ausgeführt werden. Fehler:")+" "+e+"-"+b(g)+": "+j)};f.execute=function(a){(!angular.isDefined(a.confirm)||a.confirm)&&angular.isDefined(f.confirm)&&f.confirm?e.displayDialogOkAbort(a.confirmMessage,function(){f.executeAction(a)}):f.executeAction(a)},f.executeAction=function(a){f.model.actionInProgress="updating";var b=a.onExecute(f.model);b&&b["catch"]?b["catch"](function(b){f.model.actionInProgress=void 0,h(a,f.entity,b.status,b.statusText,b.data)}):f.model.actionInProgress=void 0}}]}}]),angular.module("openolitor-core").directive("ooDeleteButton",["msgBus","gettext","alertService","$uibModal",function(a,b,c,d){return{restrict:"E",replace:!0,scope:{entity:"@",entities:"=?",model:"=",onDelete:"=",form:"=",onDeleted:"=",confirm:"@?",confirmMessage:"=?",condensed:"@?",notext:"@?",small:"@?",buttonClass:"@?"},transclude:!0,templateUrl:"scripts/common/components/oo-deletebutton.directive.html",controller:["$scope",function(e){!angular.isUndefined(e.condensed)&&e.condensed&&(e.notext=!0,e.small=!0);var f=function(a){return angular.isArray(e.entities)?e.entities.indexOf(a)>-1:e.entity===a};a.onMsg("EntityDeleted",e,function(a,d){f(d.entity)&&d.data.id===e.model.id&&("deleting"!==e.model.actionInProgress?c.addAlert("info",b(e.entity+" wurde durch eine andere Person gelöscht.")):(e.model.actionInProgress=void 0,c.addAlert("info",b(e.entity+" wurde erfolgreich gelöscht.")),e.$apply()),angular.isDefined(e.onDeleted)&&e.onDeleted(d.data.id))}),e.getButtonTypeClass=function(){return angular.isUndefined(e.buttonClass)?"btn-danger":e.buttonClass},e.modalDialog=function(a){var b=d.open({animation:!0,templateUrl:"scripts/common/components/oo-deletebutton.directive.modal.html",controller:"ooDeleteButtonModalInstanceCtrl",resolve:{message:function(){return e.confirmMessage}}});b.result.then(function(){a()})},e["delete"]=function(){angular.isDefined(e.confirm)&&e.confirm?e.modalDialog(e.deleteAction):e.deleteAction()},e.deleteAction=function(){e.model.actionInProgress="deleting";var a=e.onDelete(e.model);a&&!angular.isUndefined(a["catch"])?a["catch"](function(a){e.model.actionInProgress=void 0,c.addAlert("error",b(e.entity+" konnte nicht gelöscht werden. Fehler: ")+a.status+"-"+a.statusText+":"+a.data)}):e.model.actionInProgress=void 0}}]}}]),angular.module("openolitor-core").controller("ooDeleteButtonModalInstanceCtrl",["$scope","$uibModalInstance",function(a,b){a.ok=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("openolitor-core").controller("ooDialogOkAbortModalInstanceCtrl",["$scope","$uibModalInstance","message",function(a,b,c){a.message=c,a.ok=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("openolitor-core").directive("ooStopEvent",[function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}]),angular.module("openolitor-core").directive("ooGenerateReport",function(){return{restrict:"E",replace:!0,scope:{postPath:"=",onGenerated:"&",onClose:"&",defaultFileName:"=",ids:"=?",projektVorlagen:"=?",directDownload:"=?"},templateUrl:"scripts/common/components/oo-generate-report.directive.html",controller:["$scope","$http","API_URL","FileUtil","gettext","lodash","alertService",function(a,b,c,d,e,f,g){a.form={vorlage:void 0,projektVorlageId:void 0,pdfGenerieren:!0,pdfAblegen:!1,pdfDownloaden:!0,datenExtrakt:!1};var h=function(h){a.error=void 0,b.post(c+a.postPath,h,{headers:{"Content-Type":void 0},transformRequest:angular.identity}).then(function(b){if(b.data.validationErrors&&b.data.validationErrors.length>0){var c=f.groupBy(b.data.validationErrors,"message"),h=Object.keys(c),i=f.map(h,function(a){return a+"("+c[a].length+")"});g.addAlert("warning",e("Beim erstellen der Dokumente sind folgende Fehler aufgetreten"),i)}else if(a.form.datenExtrakt||!angular.isUndefined(a.directDownload)&&a.directDownload){var j=b.headers("Content-Disposition"),k=JSON.stringify(b.data);d.open(j||a.defaultFileName,[k],{type:"application/json"})}a.generating=!1,a.onGenerated()()},function(b){console.log("Failed generating report",b),a.generating=!1,a.error=e("Bericht konnte nicht erzeugt werden")})};a.generate=function(){var b=new FormData;b.append("report",!0);for(var c in a.form)a.form[c]&&b.append(c,a.form[c]);a.ids&&angular.isArray(a.ids)&&b.append("ids",a.ids.toString()),a.generating=!0,h(b)},a.selectDatenExtrakt=function(){a.form.vorlage=void 0,a.form.datenExtrakt=!0,a.form.projektVorlageId=void 0},a.selectStandardVorlage=function(){a.form.vorlage=void 0,a.form.datenExtrakt=!1},a.selectProjektVorlage=function(b){a.form.projektVorlageId=b.id,a.form.vorlage=void 0,a.projektVorlage=b,a.form.datenExtrakt=!1},a.selectFile=function(b){b&&(a.form.vorlage=b)}}]}}),angular.module("openolitor-core").factory("uuid",function(){var a={"new":function(){function a(a){var b=(Math.random().toString(16)+"000000000").substr(2,8);return a?"-"+b.substr(0,4)+"-"+b.substr(4,4):b}return a()+a(!0)+a(!0)+a()},empty:function(){return"00000000-0000-0000-0000-000000000000"}};return a}),angular.module("openolitor-core").directive("ooDraggable",["$rootScope","uuid",function(a,b){return{restrict:"A",scope:{ooDragedType:"="},link:function(c,d,e,f){angular.element(d).attr("draggable","true");var g=angular.element(d).attr("id");g||(g=b["new"](),angular.element(d).attr("id",g)),d.bind("dragstart",function(b){b.originalEvent.dataTransfer.setData("text",'{ "data": "'+g+'", "type": "'+c.ooDragedType+'" }'),a.$emit("OO-DRAG-START")}),d.bind("dragend",function(b){a.$emit("OO-DRAG-END")})}}}]),angular.module("openolitor-core").directive("ooDropTarget",["$rootScope","uuid",function(a,b){return{restrict:"A",scope:{onDrop:"&"},link:function(c,d,e,f){var g=angular.element(d).attr("id"),h=0;g||(g=b["new"](),angular.element(d).attr("id",g)),d.bind("dragover",function(a){return a.preventDefault&&a.preventDefault(),a.originalEvent.dataTransfer.dropEffect="move",!1}),d.bind("dragenter",function(a){a.preventDefault&&a.preventDefault(),0===h&&angular.element("#"+g).addClass("oo-over"),h+=1}),d.bind("dragleave",function(a){a.preventDefault&&a.preventDefault(),h-=1,0===h&&angular.element("#"+g).removeClass("oo-over")}),d.bind("drop",function(b){b.preventDefault&&b.preventDefault(),b.stopPropagation&&b.stopPropagation();var d=b.originalEvent.dataTransfer.getData("text"),e=JSON.parse(d),f=e.data,i=e.type;h=0,a.$emit("OO-DRAG-END"),c.onDrop({dragEl:f,dropEl:g,type:i})}),a.$on("OO-DRAG-START",function(){var a=document.getElementById(g);angular.element(a).addClass("oo-target")}),a.$on("OO-DRAG-END",function(){var a=angular.element("#"+g);a.removeClass("oo-target"),a.removeClass("oo-over")})}}}]),angular.module("openolitor-core").factory("EnumUtil",["gettextCatalog",function(a){return{asArray:function(b){var c=[];return angular.forEach(b,function(b){this.push({id:b.id||b,label:b.label&&b.label["long"]&&a.getString(b.label["long"])||a.getString(b),shortLabel:b.label&&b.label["short"]&&a.getString(b.label["short"])||a.getString(b),title:a.getString(b),value:b.value||b})},c),c}}}]),angular.module("openolitor-core").factory("DataUtil",function(){return{update:function(a,b){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])}}}),angular.module("openolitor-core").factory("FileUtil",["$document","$timeout","$http","API_URL",function(a,b,c,d){var e=function(c,d,e,f){var g=f||"utf-8",h=e||"*",i=new Blob([d],{type:h+";charset="+g+";"});if(window.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,c);else{var j=/filename[^;=\n]*=((['"])(.*?)\2|[^;\n]*)/,k=j.exec(c);k&&k.length>0&&(k.length>3&&k[3]?c=k[3]:k.length>1&&k[1]&&(c=k[1]));var l=angular.element("");l.attr("href",window.URL.createObjectURL(i)),l.attr("download",c),l.attr("target","_blank"),a.find("body").append(l),b(function(){l[0].click(),l.remove()},null)}},f=function(a,b,f,g,h,i){c({method:a,url:d+b,data:f,responseType:"arraybuffer"}).then(function(a){var b=a.headers("Content-Disposition"),c=a.headers("Content-Type");e(b||g,a.data,c||h),i&&i(a)})};return{open:e,downloadGet:function(a,b,c,d){return f("GET",a,{},b,c,d)},downloadPost:function(a,b,c,d,e){return f("POST",a,b,c,d,e)}}}]),angular.module("openolitor-core").factory("FilterQueryUtil",function(){function a(a){var b="";return b=a.replace(c,function(a,b,c,d){return d+"-"+c+"-"+b})}var b=/(\w+?)\s*(<=|>=|!=|=|<|>)\s*(.+?)\s*(;| |$)/g,c=/(\d{2})\.(\d{2})\.(\d{4})/g;return{transform:function(c){for(var d,e="";null!==(d=b.exec(c));){var f=d[1],g=d[2],h=a(d[3]),i=g.replace(">=","=~gte").replace("<=","=~lte").replace(">","=~gt").replace("<","=~lt").replace("!=","=~!");e=i!==g?e.concat(f,i+"("+h+");"):e.concat(f,i,h+";")}return e},withoutFilters:function(a){var c="";return c=a.replace(b,""),c=c.trim()}}}),angular.module("openolitor-core").factory("OverviewCheckboxUtil",function(){var a=function(a,b){angular.isUndefined(a.filteredEntries)?angular.forEach(a.entries,function(c){a.checkboxes.items[c.id]=b}):angular.forEach(a.filteredEntries,function(c){a.checkboxes.items[c.id]=b})},b=function(a){var b=0,c=0,d=a.filteredEntries.length;a.checkboxes.ids=[],a.checkboxes.data||(a.checkboxes.data={}),angular.forEach(a.filteredEntries,function(d){b+=a.checkboxes.items[d.id]||0,c+=!a.checkboxes.items[d.id]||0,a.checkboxes.items[d.id]&&a.checkboxes.ids.push(d.id),a.checkboxes.data[d.id]=d}),0===c||0===b?(a.checkboxes.checked=b===d&&b>0,a.checkboxes.checkedAny=b>0):0!==b&&0!==c?(a.checkboxes.css="select-all:indeterminate",a.checkboxes.checkedAny=!0):(a.checkboxes.css="select-all",a.checkboxes.checkedAny=!0)};return{checkboxWatchCallback:a,dataCheckboxWatchCallback:b}}),angular.module("openolitor-core").factory("GeschaeftsjahrUtil",function(){function a(a,b,c){this.start=function(c){angular.isUndefined&&(c=new Date);var d=new Date(c.getFullYear(),a,b,0,0,0,0);return cg&&dg}}var b=function(b,c){return new a(b.geschaeftsjahrMonat,b.geschaeftsjahrTag).isIn(c)},c=function(b,c){return new a(b.geschaeftsjahrMonat,b.geschaeftsjahrTag).isInOrLater(c)},d=function(b,c,d){angular.isUndefined(d)&&(d=new Date);var e;return angular.forEach(b,function(b){if(angular.isUndefined(b.key)||b.key.indexOf("/")===-1){var c=new a(1,1,b.key);c.isIn(d)&&(e=b)}else{var f=b.key.split("/"),g=new a(f[0],1,f[1]);g.isIn(d)&&(e=b)}}),angular.isUndefined(e)&&!angular.isUndefined(c)&&(e={key:new a(c.geschaeftsjahrMonat,c.geschaeftsjahrTag).key(d),value:0}),e},e=function(a,b,c){var e=d(a,c);angular.isUndefined(e)||(e.value=b)};return{isInCurrentGJ:b,isInCurrentOrLaterGJ:c,getMatchingGJItem:d,setOnMatchingGJItem:e}}),angular.module("openolitor-core").factory("ooClientMessageService",["$http","$location","$q","$interval","$rootScope","$log","msgBus","API_WS_URL","BUILD_NR","ooAuthService",function(a,b,c,d,e,f,g,h,i,j){var k,l,m=function(a,b){var c=JSON.stringify(b),d=c?","+c.substring(1):"",g='{"type":"'+a+'"'+d+"}";try{f.debug("sending message: "+g),e.messagingSocket.send(g)}catch(h){f.error("error sending message: i"+h)}},n=function(a){var b=new WebSocket(a);return b.onmessage=function(a){var b=convertDateStringsToDates(JSON.parse(a.data));console.log("WS received event",b),g.emitMsg(b)},b.onopen=function(a){console.log("WS onopen : "+a),m("HelloServer",{client:"angularClient_"+i}),angular.isUndefined(l)||(d.cancel(l),l=void 0),l=d(function(){var a=(new Date).getTime();m("ClientPing",{time:a})},9e4),angular.isUndefined(k)||(d.cancel(k),k=void 0,g.emitMsg({type:"WebSocketOpen"})),e.$watch(function(){return j.getToken()},function(a){f.debug("Token changed, login/logout to websocket",a),a?m("Login",{token:a}):m("Logout")})},b.onclose=function(b){var c;c=1e3===b.code?"Normal closure, meaning that the purpose for which the connection was established has been fulfilled.":1001===b.code?"An endpoint is 'going away', such as a server going down or a browser having navigated away from a page.":1002===b.code?"An endpoint is terminating the connection due to a protocol error":1003===b.code?"An endpoint is terminating the connection because it has received a type of data it cannot accept (e.g., an endpoint that understands only text data MAY send this if it receives a binary message).":1004===b.code?"Reserved. The specific meaning might be defined in the future.":1005===b.code?"No status code was actually present.":1006===b.code?"The connection was closed abnormally, e.g., without sending or receiving a Close control frame":1007===b.code?"An endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 [http://tools.ietf.org/html/rfc3629] data within a text message).":1008===b.code?"An endpoint is terminating the connection because it has received a message that 'violates its policy'. This reason is given either if there is no other sutible reason, or if there is a need to hide specific details about the policy.":1009===b.code?"An endpoint is terminating the connection because it has received a message that is too big for it to process.":1010===b.code?"An endpoint (client) is terminating the connection because it has expected the server to negotiate one or more extension, but the server didn't return them in the response message of the WebSocket handshake.
Specifically, the extensions that are needed are: "+b.reason:1011===b.code?"A server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.":1015===b.code?"The connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).":"Unknown reason", -f.debug("WS closed with a reason:"+c,b,new Date),g.emitMsg({type:"WebSocketClosed",reason:c}),angular.isUndefined(k)&&(k=d(function(){e.messagingSocket=n(a)},5e3))},b};return{send:m,start:function(){f.debug("registering websocket, request websocket url");var a=h.replace("http://","ws://").replace("https://","wss://");f.debug("registering websocket, bind to "+a);var b=a;angular.isDefined(e.messagingSocket)||"@@"===a.substring(0,2)||(e.messagingSocket=n(b))}}}]),angular.module("openolitor-core").factory("alertService",["$injector",function(a){function b(a){a.alerts||(a.alerts=[])}var c=a.get("$rootScope"),d=a.get("$timeout");return{addAlert:function(a,e,f){var g={type:a,msg:e,details:f};if(b(c),c.alerts.push(g),"info"===a||"lighterror"===a){var h="info"===a?1e3:3e3;d(function(){var a=c.alerts.indexOf(g);a>-1&&c.alerts.splice(a,1)},h,!0)}},removeAllAlerts:function(){c.alerts=[]},removeAlert:function(){return function(a){b(c),c.alerts.splice(a,1)}}}}]);var checkAuth=function(a,b,c,d,e){c.$on("$routeChangeStart",function(a,c,f){return b.authorize(c.access).then(function(a){e.debug("check authorization:"+c.access+" -> "+a),a||b.isLoggedIn().then(function(a){a?d.path("/forbidden"):d.path("/login")})})})};checkAuth.$inject=["$q","ooAuthService","$rootScope","$location","$log"],angular.module("openolitor-core").factory("ooAuthService",["$http","$location","$q","$cookies","$log","API_URL",function(a,b,c,d,e,f){var g,h=d.get("XSRF-TOKEN"),i=function(){return a.get(f+"auth/user").then(function(a){return g=a.data,e.debug("Login succeeded:"+g),g})},j=function(){var a=c.defer();return g?a.resolve(g):h?(e.debug("Restoring user from cookie..."),i().then(function(b){g=b,a.resolve(b)},function(){e.debug("Token no longer valid, please log in."),h=void 0,d.remove("XSRF-TOKEN"),a.reject("Token invalid")})):(g={id:"",rolle:"Guest"},a.resolve(g)),a.promise};return{loggedIn:function(a){return d.put("XSRF-TOKEN",a),e.debug("logged in",a),i().then(function(b){return e.debug("resolved user after login",b),g=b,h=a,b})},loggedOut:function(){d.remove("XSRF-TOKEN"),h=void 0,g=void 0,b.$$search={},e.debug("Good bye")},resolveUser:j,getUser:function(){return g},getToken:function(){return h},authorize:function(a){return j().then(function(b){return e.debug("authorize:",a+" => "+b.rolle),void 0===a||a===userRoles.Guest||a===b.rolle||Array.isArray(a)&&(a.indexOf(userRoles.Guest)>-1||a.indexOf(b.rolle)>-1)})},isLoggedIn:function(){return j().then(function(a){return a.rolle!==userRoles.Guest})},isUserLoggedIn:function(a){return void 0!==a&&a.rolle!==userRoles.Guest}}}]).factory("requestSecurityInjector",["$cookies","moment","$log",function(a,b,c){return{request:function(c){var d=a.get("XSRF-TOKEN");if(d){var e=d+"::"+b().toISOString();c.headers["XSRF-TOKEN"]=e}return c}}}]).config(["$httpProvider",function(a){a.interceptors.push("requestSecurityInjector"),a.defaults.withCredentials=!0}]).run(checkAuth),angular.module("openolitor-core").factory("dialogService",["$uibModal",function(a){return{displayDialogOkAbort:function(b,c){var d=a.open({animation:!0,templateUrl:"scripts/common/components/oo-dialogokabort.directive.modal.html",controller:"ooDialogOkAbortModalInstanceCtrl",resolve:{message:function(){return b}}});d.result.then(c)}}}]),angular.module("openolitor-core").controller("NgTableExportController",["$scope","$element","exportTable","FileSaver",function(a,b,c,d){a.showExport=!1;var e="Export";angular.isDefined(b.parent().parent().parent().parent())&&(e=b.parent().parent().parent().parent().attr("export-file-name"),a.showExport=b.parent().parent().parent().parent().attr("display-export")),a.exportData=function(){var a={};angular.isDefined(b.parent().parent().parent().scope().params.settings().exportODSFilter)&&(a=b.parent().parent().parent().scope().params.settings().exportODSFilter()),b.parent().parent().parent().scope().params.settings().exportODSModel.exportODS(a,function(a){d.saveAs(a.response,e+".ods")})}}]),angular.module("openolitor-core").controller("NgTableCountController",["$scope","$cookies",function(a,b){var c=function(a,b){var c,d=b.split("."),e=a;for(c=0;c
'),a.put("scripts/common/components/oo-arbeitskategorien.directive.html",'
'),a.put("scripts/common/components/oo-deletebutton.directive.html",' '),a.put("scripts/common/components/oo-deletebutton.directive.modal.html",'\' '),a.put("scripts/common/components/oo-dialogokabort.directive.modal.html",'\' '),a.put("scripts/common/components/oo-dropdown.directive.html",'
'),a.put("scripts/common/components/oo-erroroverlay.directive.html",' {{ alert.msg }}
  • {{ detail }}
'),a.put("scripts/common/components/oo-generate-report.directive.html",'

Bericht erstellen

{{error}}
'), -a.put("scripts/common/components/oo-kundentypen.directive.html",'
'),a.put("scripts/common/components/oo-liefertage.directive.html",'
'),a.put("scripts/common/components/oo-savebutton.directive.html",' '),a.put("scripts/common/ngtable/oo-ngtable-noPaginationTemplate.html"," "),a.put("scripts/common/ngtable/oo-ngtable-paginationTemplate.html",'
'),a.put("scripts/login/change_password.html",'

Eigenes Passwort wechseln

'),a.put("scripts/login/forbidden.html",'

Zugriff verweigert

Der Zugriff auf diese Ressource wurde verweigert.

'),a.put("scripts/login/login.html",'

Anmeldung - Testumgebung - Entwicklungsumgebung

Für den Zugriff auf die Administrationsumgebung ist eine Anmeldung erforderlich

Sie befinden sich auf dem OpenOlitor Testsystem. Sie können sich mit den untenstehenden Anmeldeinformationen an der Administrationsumgebung anmelden:

  • E-Mail: admin@openolitor.ch
  • Passwort: admin

Die Daten in diesem System werden sporadisch auf die Standardwerte zurückgesetzt.

Für den Zugriff auf OpenOlitor ist eine Anmeldung erforderlich

Sie befinden sich auf dem OpenOlitor Testsystem. Sie können sich mit den untenstehenden Anmeldeinformationen als Konsument anmelden:

  • E-Mail: konsument@openolitor.ch
  • Passwort: kunde

Für den Zugang auf die Administrationsumgebung von OpenOlitor, bitte den Link unten rechts verwenden.
Die Daten in diesem System werden sporadisch auf die Standardwerte zurückgesetzt.

{{projekt.welcomeMessage1}}

Sorry, the client portal is not available at the moment because we are performing maintenance tasks. We should be back online shortly

Maintenance mode. Remember that at this moment the client portal is disabled. Enable it once the maintenance work is completed

'),a.put("scripts/login/logout.html",'
'),a.put("scripts/login/passwordreset.html",'

Passwort vergessen?

Wenn Sie ihr Passwort vergessen haben, können Sie sich einen Reset-Link senden lassen.

'),a.put("scripts/login/zugangaktivieren.html",'

Passwort setzen und Zugang aktivieren

'),a.put("scripts/not-found.html",'

Error 404

Diese Seite konnte nicht gefunden werden!
')}]); \ No newline at end of file +"use strict";function convertDateStringsToDates(a){if("object"!=typeof a)return a;for(var b in a)if(a.hasOwnProperty(b)){var c,d=a[b];if("string"==typeof d&&(c=d.match(regexIso8601))){var e=Date.parse(c[0]);isNaN(e)||(a[b]=new Date(e))}else"object"==typeof d&&(a[b]=convertDateStringsToDates(d))}return a}function addExtendedEnumValue(a,b,c,d){return{id:a,label:{"long":b,"short":c},value:d}}function gettext(a){return a}var regexIso8601=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{1,})(Z|([\-+])(\d{2}):(\d{2}))?$/,userRoles={Guest:"Guest",Administrator:"Administrator",Kunde:"Kunde"};angular.module("openolitor-core",["ngAnimate","ngResource","ngRoute","ngSanitize","ngTouch","ngTable","ngFileSaver","ngCookies","ngPasswordStrength","ngMessages","angular.filter","ui.bootstrap","ui.bootstrap.datetimepicker","color.picker","ipCookie","frapontillo.bootstrap-switch","gettext","ngHamburger","angularMoment","ngFileUpload","ngLodash","angular-sortable-view","angular-loading-bar"]).constant("API_URL","@@API_URL").constant("API_WS_URL","@@API_WS_URL").constant("BUILD_NR","@@BUILD_NR").constant("ENV","@@ENV").constant("LIEFERRHYTHMEN",{WOECHENTLICH:gettext("Woechentlich"),ZWEIWOECHENTLICH:gettext("Zweiwoechentlich"),MONATLICH:gettext("Monatlich"),UNREGELMAESSIG:gettext("Unregelmaessig")}).constant("PREISEINHEITEN",{LIEFERUNG:gettext("Lieferung")}).constant("VERTRIEBSARTEN",{DEPOTLIEFERUNG:gettext("Depotlieferung"),HEIMLIEFERUNG:gettext("Heimlieferung"),POSTLIEFERUNG:gettext("Postlieferung")}).constant("LAUFZEITEINHEITEN",{UNBESCHRAENKT:gettext("Unbeschraenkt"),LIEFERUNGEN:gettext("Lieferungen"),MONATE:gettext("Monate")}).constant("FRISTEINHEITEN",{MONATE:"Monate",WOCHEN:"Wochen"}).constant("ANREDE",{KEINE:addExtendedEnumValue(void 0,gettext("Keine"),gettext("-")),HERR:addExtendedEnumValue("Herr",gettext("Herr"),gettext("Hr.")),FRAU:addExtendedEnumValue("Frau",gettext("Frau"),gettext("Fr."))}).constant("ABOTYPEN",{DEPOTLIEFERUNGABO:gettext("DepotlieferungAbo"),HEIMLIEFERUNGABO:gettext("HeimlieferungAbo"),POSTLIEFERUNGABO:gettext("PostlieferungAbo")}).constant("LIEFERSTATUS",{UNGEPLANT:gettext("Ungeplant"),OFFEN:gettext("Offen"),ABGESCHLOSSEN:gettext("Abgeschlossen"),VERRECHNET:gettext("Verrechnet")}).constant("RECHNUNGSTATUS",{ERSTELLT:gettext("Erstellt"),VERSCHICKT:gettext("Verschickt"),BEZAHLT:gettext("Bezahlt"),MAHNUNG_VERSCHICKT:gettext("MahnungVerschickt"),STORNIERT:gettext("Storniert")}).constant("LIEFEREINHEIT",{STUECK:addExtendedEnumValue("Stueck",gettext("Stück"),gettext("St.")),BUND:addExtendedEnumValue("Bund",gettext("Bund"),gettext("Bu.")),GRAMM:addExtendedEnumValue("Gramm",gettext("Gramm"),gettext("gr")),KILOGRAMM:addExtendedEnumValue("Kilogramm",gettext("Kilogramm"),gettext("kg")),LITER:addExtendedEnumValue("Liter",gettext("Liter"),gettext("l"))}).constant("ABOTYPEN_ARRAY",["DepotlieferungAbo","HeimlieferungAbo","PostlieferungAbo"]).constant("WAEHRUNG",{CHF:addExtendedEnumValue("CHF",gettext("Schweizer Franken"),gettext("CHF")),EUR:addExtendedEnumValue("EUR",gettext("Euro"),gettext("EUR")),USD:addExtendedEnumValue("USD",gettext("US Dollar"),gettext("USD")),GBP:addExtendedEnumValue("GBP",gettext("Britisches Pfund"),gettext("GBP")),CAD:addExtendedEnumValue("CAD",gettext("Kanadischer Dollar"),gettext("CAD"))}).constant("LIEFERZEITPUNKTE",{MONTAG:addExtendedEnumValue("Montag",gettext("Montag"),gettext("MO"),1),DIENSTAG:addExtendedEnumValue("Dienstag",gettext("Dienstag"),gettext("DI"),2),MITTWOCH:addExtendedEnumValue("Mittwoch",gettext("Mittwoch"),gettext("MI"),3),DONNERSTAG:addExtendedEnumValue("Donnerstag",gettext("Donnerstag"),gettext("DO"),4),FREITAG:addExtendedEnumValue("Freitag",gettext("Freitag"),gettext("FR"),5),SAMSTAG:addExtendedEnumValue("Samstag",gettext("Samstag"),gettext("SA"),6),SONNTAG:addExtendedEnumValue("Sonntag",gettext("Sonntag"),gettext("SO"),7)}).constant("MONATE",{JANUAR:addExtendedEnumValue("Januar",gettext("Januar"),gettext("Jan"),1),FEBRUAR:addExtendedEnumValue("Februar",gettext("Februar"),gettext("Feb"),2),MAERZ:addExtendedEnumValue("Maerz",gettext("März"),gettext("Mar"),3),APRIL:addExtendedEnumValue("April",gettext("April"),gettext("Apr"),4),MAI:addExtendedEnumValue("Mai",gettext("Mai"),gettext("Mai"),5),JUNI:addExtendedEnumValue("Juni",gettext("Juni"),gettext("Jun"),6),JULI:addExtendedEnumValue("Juli",gettext("Juli"),gettext("Jul"),7),AUGUST:addExtendedEnumValue("August",gettext("August"),gettext("Aug"),8),SEPTEMBER:addExtendedEnumValue("September",gettext("September"),gettext("Sep"),9),OKTOBER:addExtendedEnumValue("Oktober",gettext("Oktober"),gettext("Okt"),10),NOVEMBER:addExtendedEnumValue("November",gettext("November"),gettext("Nov"),11),DEZEMBER:addExtendedEnumValue("Dezember",gettext("Dezember"),gettext("Dez"),12)}).constant("PENDENZSTATUS",{AUSSTEHEND:gettext("Ausstehend"),ERLEDIGT:gettext("Erledigt"),NICHTERLEDIGT:gettext("NichtErledigt")}).constant("AUSLIEFERUNGSTATUS",{ERFASST:gettext("Erfasst"),AUSGELIEFERT:gettext("Ausgeliefert")}).run(["$rootScope","$location",function(a,b){a.location=b}]).factory("checkSize",["$rootScope","$window",function(a,b){return function(){b.innerWidth>=1200&&(a.tgState=!0)}}]).factory("exportTable",["FileSaver",function(a){return function(b,c){b.exportODS(function(b){a.saveAs(b.response,c)})}}]).factory("exportODSModuleFunction",function(){return{params:{exportType:".ods"},method:"GET",responseType:"arraybuffer",cache:!0,transformResponse:function(a){var b;return a&&(b=new Blob([a],{type:"application/vnd.oasis.opendocument.spreadsheet"})),{response:b}}}}).factory("cloneObj",function(){return function(a){return angular.copy(a)}}).factory("msgBus",["$rootScope",function(a){var b={};return b.emitMsg=function(b){a.$emit(b.type,b)},b.onMsg=function(b,c,d){var e=a.$on(b,d);c.$on("$destroy",e)},b}]).run(["ooClientMessageService",function(a){console.log("Start clientMessageService"),a.start()}]).config(["$httpProvider",function(a){a.defaults.transformResponse.push(function(a){return convertDateStringsToDates(a)})}]).run(["alertService","$rootScope","msgBus","gettextCatalog",function(a,b,c,d){b.$removeAlert=a.removeAlert(),c.onMsg("ChangeLang",b,function(a,b){console.log("Got ChangeLang Message"+b.reason),d.setCurrentLanguage(b.reason)})}]).config(["$provide",function(a){a.decorator("$exceptionHandler",["$log","$injector",function(a,b){return function(c){var d=b.get("alertService");d.addAlert("error",c.message),a.error.apply(a,arguments)}}])}]).filter("fromNow",["moment",function(a){return function(b){return a(b).fromNow()}}]).filter("lastElement",function(){return function(a,b){if(a)return angular.isArray(a)?a[a.length-1]?b?a[a.length-1][b]:a[a.length-1]:void 0:a&&b?a[b]:a}}).filter("firstElement",function(){return function(a,b){if(a)return angular.isArray(a)?a[0]?b?a[0][b]:a[0]:void 0:a&&b?a[b]:a}}).filter("notIn",function(){return function(a,b,c){var d=[];if(!a)return d;for(var e=0;e0?a.changeLang("de"):r.indexOf("fr-")>0?a.changeLang("fr"):r.indexOf("en-")>0?a.changeLang("en"):a.changeLang("de")}else a.changeLang(a.storedActiveLang());a.$on("destroy",function(){p(),q()})}]),angular.module("openolitor-core").filter("ooPreisProEinheit",["gettext","$filter",function(a,b){return function(c){var d=""+a(c.waehrung)+" "+b("ooCHF")(c.preis)+" "+a("pro")+" "+a(c.preiseinheit);return d}}]),angular.module("openolitor-core").filter("ooCHF",["$filter",function(a){return function(b,c){var d="";return c&&(d+="CHF "),d+=a("number")(b,2)}}]),angular.module("openolitor-core").directive("ooErrorOverlay",function(){return{restrict:"AE",transclude:!0,templateUrl:"scripts/common/components/oo-erroroverlay.directive.html",scope:!0}}),angular.module("openolitor-core").directive("ooDropdown",function(){return{restrict:"E",replace:!0,scope:{placeholder:"@",values:"=",selected:"=",selectedProp:"@",selectedFunction:"&?",selectedFunctionScope:"=",property:"@",displayFunction:"=",dropdownId:"@",displayStyle:"@",label:"=",disabled:"=",selectionRequired:"="},templateUrl:"scripts/common/components/oo-dropdown.directive.html",compile:function(a,b){b.displayStyle||(b.displayStyle="navbar")},controller:["$scope",function(a){a.listVisible=!1,a.display="",a.isPlaceholder=!0,a.selectedItem=void 0;var b=function(a,b){var c,d=b.split("."),e=a;for(c=0;c\n
\n";return h},controller:["$scope",function(a){a.open=function(b){b.preventDefault(),b.stopPropagation(),a.opened=!0}}]}}]),angular.module("openolitor-core").directive("ooKundentypen",["KundentypenService",function(a){return{restrict:"E",replace:!0,scope:{kundentypenList:"="},transclude:!0,templateUrl:"scripts/common/components/oo-kundentypen.directive.html",controller:["$scope",function(b){var c=function(){b.kundentypenList&&b.allKundentypen&&(b.kundentypen=[],angular.forEach(b.allKundentypen,function(a){var c=a.kundentyp?a.kundentyp:a,d=b.kundentypenList.indexOf(c);d<0&&b.kundentypen.push(c)}))};b.$watch(a.getKundentypen,function(a){a&&(b.allKundentypen=a,c())});var d=b.$watchCollection("kundentypenList",function(){b.kundentypenList&&b.kundentypenList.length>0&&(c(),d())});b.addKundentyp=function(a){b.kundentypenList.push(a),b.kundentypenList.sort(),c()},b.removeKundentyp=function(a){var d=b.kundentypenList.indexOf(a);d>=0&&b.kundentypenList.splice(d,1),c()}}]}}]),angular.module("openolitor-core").directive("ooArbeitskategorien",["ArbeitskategorienService",function(a){return{restrict:"E",replace:!0,scope:{arbeitskategorienList:"="},transclude:!0,templateUrl:"scripts/common/components/oo-arbeitskategorien.directive.html",controller:["$scope",function(b){var c=function(){b.arbeitskategorienList&&b.allArbeitskategorien&&(b.arbeitskategorien=[],angular.forEach(b.allArbeitskategorien,function(a){var c=a.kundentyp?a.kundentyp:a,d=b.arbeitskategorienList.indexOf(c);d<0&&b.arbeitskategorien.push(c)}))};b.$watch(a.getArbeitskategorien,function(a){a&&(b.allArbeitskategorien=a,c())});var d=b.$watchCollection("arbeitskategorienList",function(){b.arbeitskategorienList&&b.arbeitskategorienList.length>0&&(c(),d())});b.addArbeitskategorie=function(a){b.arbeitskategorienList.push(a),b.arbeitskategorienList.sort(),c()},b.removeArbeitskategorie=function(a){var d=b.arbeitskategorienList.indexOf(a);d>=0&&b.arbeitskategorienList.splice(d,1),c()}}]}}]),angular.module("openolitor-core").directive("ooSaveButton",["msgBus","gettext","alertService","DataUtil",function(a,b,c,d){return{restrict:"E",replace:!0,scope:{entity:"@",entities:"=?",model:"=",onSave:"=",onCancel:"=",form:"=",onCreated:"=",condensed:"@?",notext:"@?",small:"@?"},transclude:!0,templateUrl:"scripts/common/components/oo-savebutton.directive.html",controller:["$scope",function(e){!angular.isUndefined(e.condensed)&&e.condensed&&(e.notext=!0,e.small=!0),e.isNew=function(){return!e.model||void 0===e.model.id};var f=function(a){return angular.isArray(e.entities)?e.entities.indexOf(a)>-1:e.entity===a};a.onMsg("EntityModified",e,function(a,b){f(b.entity)&&!angular.isUndefined(e.model)&&b.data.id===e.model.id&&(d.update(b.data,e.model),e.model.actionInProgress=void 0,e.$apply())}),a.onMsg("EntityCreated",e,function(a,b){e.model&&f(b.entity)&&b.data.id===e.model.id&&(d.update(b.data,e.model),e.model.actionInProgress=void 0,e.onCreated&&e.onCreated(b.data.id),e.$apply())}),e.save=function(){e.model.actionInProgress="updating";var a=e.onSave(e.model);angular.isUndefined(a["catch"])?e.model.actionInProgress=void 0:a["catch"](function(a){e.model.actionInProgress=void 0,c.addAlert("error",b(e.entity+" konnte nicht gespeichert werden. Fehler: ")+a.status+"-"+a.statusText+":"+a.data)})},e.cancel=function(){e.model.actionInProgress="updating",e.onCancel()}}]}}]),angular.module("openolitor-core").directive("ooActionsButton",["msgBus","gettext","alertService","DataUtil","dialogService",function(a,b,c,d,e){return{restrict:"E",replace:!0,scope:{entity:"@",entities:"=?",model:"=",actions:"=",form:"=",confirm:"@?",condensed:"@?",small:"@?",onCreated:"=",btnStyle:"@?"},transclude:!0,templateUrl:"scripts/common/components/oo-actionsbutton.directive.html",controller:["$scope",function(f){!angular.isUndefined(f.btnStyle)&&f.btnStyle||(f.btnStyle="btn-primary"),!angular.isUndefined(f.condensed)&&f.condensed&&(f.notext=!0,f.small=!0),f.isNew=function(){return!f.model||void 0===f.model.id};var g=function(a){return angular.isArray(f.entities)?f.entities.indexOf(a)>-1:f.entity===a};a.onMsg("EntityModified",f,function(a,e){g(e.entity)&&!angular.isUndefined(f.model)&&e.data.id===f.model.id&&("updating"!==f.model.actionInProgress?f.entity&&c.addAlert("info",f.entity+b(" wurde durch eine andere Person geändert. Bitte laden Sie die Ansicht neu.")):(d.update(e.data,f.model),f.model.actionInProgress=void 0,f.$apply()))}),a.onMsg("EntityCreated",f,function(a,b){f.model&&g(b.entity)&&b.data.id===f.model.id&&(d.update(b.data,f.model),f.model.actionInProgress=void 0,f.onCreated&&f.onCreated(b.data.id),f.$apply())});var h=function(a,d,e,g,h){var i=b(a.label||a.labelFunction()),j=b(h.message),k=d&&b(f.entity)+": ";c.addAlert("error",k+b("Aktion")+' "'+i+'" '+b("konnte nicht ausgeführt werden. Fehler:")+" "+e+"-"+b(g)+": "+j)};f.execute=function(a){(!angular.isDefined(a.confirm)||a.confirm)&&angular.isDefined(f.confirm)&&f.confirm?e.displayDialogOkAbort(a.confirmMessage,function(){f.executeAction(a)}):f.executeAction(a)},f.executeAction=function(a){f.model.actionInProgress="updating";var b=a.onExecute(f.model);b&&b["catch"]?b["catch"](function(b){f.model.actionInProgress=void 0,h(a,f.entity,b.status,b.statusText,b.data)}):f.model.actionInProgress=void 0}}]}}]),angular.module("openolitor-core").directive("ooDeleteButton",["msgBus","gettext","alertService","$uibModal",function(a,b,c,d){return{restrict:"E",replace:!0,scope:{entity:"@",entities:"=?",model:"=",onDelete:"=",form:"=",onDeleted:"=",confirm:"@?",confirmMessage:"=?",condensed:"@?",notext:"@?",small:"@?",buttonClass:"@?"},transclude:!0,templateUrl:"scripts/common/components/oo-deletebutton.directive.html",controller:["$scope",function(e){!angular.isUndefined(e.condensed)&&e.condensed&&(e.notext=!0,e.small=!0);var f=function(a){return angular.isArray(e.entities)?e.entities.indexOf(a)>-1:e.entity===a};a.onMsg("EntityDeleted",e,function(a,d){f(d.entity)&&d.data.id===e.model.id&&("deleting"!==e.model.actionInProgress?c.addAlert("info",b(e.entity+" wurde durch eine andere Person gelöscht.")):(e.model.actionInProgress=void 0,c.addAlert("info",b(e.entity+" wurde erfolgreich gelöscht.")),e.$apply()),angular.isDefined(e.onDeleted)&&e.onDeleted(d.data.id))}),e.getButtonTypeClass=function(){return angular.isUndefined(e.buttonClass)?"btn-danger":e.buttonClass},e.modalDialog=function(a){var b=d.open({animation:!0,templateUrl:"scripts/common/components/oo-deletebutton.directive.modal.html",controller:"ooDeleteButtonModalInstanceCtrl",resolve:{message:function(){return e.confirmMessage}}});b.result.then(function(){a()})},e["delete"]=function(){angular.isDefined(e.confirm)&&e.confirm?e.modalDialog(e.deleteAction):e.deleteAction()},e.deleteAction=function(){e.model.actionInProgress="deleting";var a=e.onDelete(e.model);a&&!angular.isUndefined(a["catch"])?a["catch"](function(a){e.model.actionInProgress=void 0,c.addAlert("error",b(e.entity+" konnte nicht gelöscht werden. Fehler: ")+a.status+"-"+a.statusText+":"+a.data)}):e.model.actionInProgress=void 0}}]}}]),angular.module("openolitor-core").controller("ooDeleteButtonModalInstanceCtrl",["$scope","$uibModalInstance",function(a,b){a.ok=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("openolitor-core").controller("ooDialogOkAbortModalInstanceCtrl",["$scope","$uibModalInstance","message","title","dismissOnly","dismissButtonTitle",function(a,b,c,d,e,f){a.title=d,a.message=c,a.dismissOnly=e,a.dismissButtonTitle=f,a.ok=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("openolitor-core").directive("ooStopEvent",[function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}]),angular.module("openolitor-core").directive("ooGenerateReport",function(){return{restrict:"E",replace:!0,scope:{postPath:"=",onGenerated:"&",onClose:"&",defaultFileName:"=",ids:"=?",projektVorlagen:"=?",directDownload:"=?"},templateUrl:"scripts/common/components/oo-generate-report.directive.html",controller:["$scope","$http","API_URL","FileUtil","gettext","lodash","alertService",function(a,b,c,d,e,f,g){a.form={vorlage:void 0,projektVorlageId:void 0,pdfGenerieren:!0,pdfAblegen:!1,pdfDownloaden:!0,datenExtrakt:!1};var h=function(h){a.error=void 0,b.post(c+a.postPath,h,{headers:{"Content-Type":void 0},transformRequest:angular.identity}).then(function(b){if(b.data.validationErrors&&b.data.validationErrors.length>0){var c=f.groupBy(b.data.validationErrors,"message"),h=Object.keys(c),i=f.map(h,function(a){return a+"("+c[a].length+")"});g.addAlert("warning",e("Beim erstellen der Dokumente sind folgende Fehler aufgetreten"),i)}else if(a.form.datenExtrakt||!angular.isUndefined(a.directDownload)&&a.directDownload){var j=b.headers("Content-Disposition"),k=JSON.stringify(b.data);d.open(j||a.defaultFileName,[k],{type:"application/json"})}a.generating=!1,a.onGenerated()()},function(b){console.log("Failed generating report",b),a.generating=!1,a.error=e("Bericht konnte nicht erzeugt werden")})};a.generate=function(){var b=new FormData;b.append("report",!0);for(var c in a.form)a.form[c]&&b.append(c,a.form[c]);a.ids&&angular.isArray(a.ids)&&b.append("ids",a.ids.toString()),a.generating=!0,h(b)},a.selectDatenExtrakt=function(){a.form.vorlage=void 0,a.form.datenExtrakt=!0,a.form.projektVorlageId=void 0},a.selectStandardVorlage=function(){a.form.vorlage=void 0,a.form.datenExtrakt=!1},a.selectProjektVorlage=function(b){a.form.projektVorlageId=b.id,a.form.vorlage=void 0,a.projektVorlage=b,a.form.datenExtrakt=!1},a.selectFile=function(b){b&&(a.form.vorlage=b)}}]}}),angular.module("openolitor-core").factory("uuid",function(){var a={"new":function(){function a(a){var b=(Math.random().toString(16)+"000000000").substr(2,8);return a?"-"+b.substr(0,4)+"-"+b.substr(4,4):b}return a()+a(!0)+a(!0)+a()},empty:function(){return"00000000-0000-0000-0000-000000000000"}};return a}),angular.module("openolitor-core").directive("ooDraggable",["$rootScope","uuid",function(a,b){return{restrict:"A",scope:{ooDragedType:"="},link:function(c,d,e,f){angular.element(d).attr("draggable","true");var g=angular.element(d).attr("id");g||(g=b["new"](),angular.element(d).attr("id",g)),d.bind("dragstart",function(b){b.originalEvent.dataTransfer.setData("text",'{ "data": "'+g+'", "type": "'+c.ooDragedType+'" }'),a.$emit("OO-DRAG-START")}),d.bind("dragend",function(b){a.$emit("OO-DRAG-END")})}}}]),angular.module("openolitor-core").directive("ooDropTarget",["$rootScope","uuid",function(a,b){return{restrict:"A",scope:{onDrop:"&"},link:function(c,d,e,f){var g=angular.element(d).attr("id"),h=0;g||(g=b["new"](),angular.element(d).attr("id",g)),d.bind("dragover",function(a){return a.preventDefault&&a.preventDefault(),a.originalEvent.dataTransfer.dropEffect="move",!1}),d.bind("dragenter",function(a){a.preventDefault&&a.preventDefault(),0===h&&angular.element("#"+g).addClass("oo-over"),h+=1}),d.bind("dragleave",function(a){a.preventDefault&&a.preventDefault(),h-=1,0===h&&angular.element("#"+g).removeClass("oo-over")}),d.bind("drop",function(b){b.preventDefault&&b.preventDefault(),b.stopPropagation&&b.stopPropagation();var d=b.originalEvent.dataTransfer.getData("text"),e=JSON.parse(d),f=e.data,i=e.type;h=0,a.$emit("OO-DRAG-END"),c.onDrop({dragEl:f,dropEl:g,type:i})}),a.$on("OO-DRAG-START",function(){var a=document.getElementById(g);angular.element(a).addClass("oo-target")}),a.$on("OO-DRAG-END",function(){var a=angular.element("#"+g);a.removeClass("oo-target"),a.removeClass("oo-over")})}}}]),angular.module("openolitor-core").factory("EnumUtil",["gettextCatalog",function(a){return{asArray:function(b){var c=[];return angular.forEach(b,function(b){this.push({id:b.id||b,label:b.label&&b.label["long"]&&a.getString(b.label["long"])||a.getString(b),shortLabel:b.label&&b.label["short"]&&a.getString(b.label["short"])||a.getString(b),title:a.getString(b),value:b.value||b})},c),c}}}]),angular.module("openolitor-core").factory("DataUtil",function(){return{update:function(a,b){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])}}}),angular.module("openolitor-core").factory("FileUtil",["$document","$timeout","$http","API_URL",function(a,b,c,d){var e=function(c,d,e,f){var g=f||"utf-8",h=e||"*",i=new Blob([d],{type:h+";charset="+g+";"});if(window.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,c);else{var j=/filename[^;=\n]*=((['"])(.*?)\2|[^;\n]*)/,k=j.exec(c);k&&k.length>0&&(k.length>3&&k[3]?c=k[3]:k.length>1&&k[1]&&(c=k[1]));var l=angular.element("");l.attr("href",window.URL.createObjectURL(i)),l.attr("download",c),l.attr("target","_blank"),a.find("body").append(l),b(function(){l[0].click(),l.remove()},null)}},f=function(a,b,f,g,h,i){c({method:a,url:d+b,data:f,responseType:"arraybuffer"}).then(function(a){var b=a.headers("Content-Disposition"),c=a.headers("Content-Type");e(b||g,a.data,c||h),i&&i(a)})};return{open:e,downloadGet:function(a,b,c,d){return f("GET",a,{},b,c,d)},downloadPost:function(a,b,c,d,e){return f("POST",a,b,c,d,e)}}}]),angular.module("openolitor-core").factory("FilterQueryUtil",function(){function a(a){var b="";return b=a.replace(c,function(a,b,c,d){return d+"-"+c+"-"+b})}var b=/(\w+?)\s*(<=|>=|!=|=|<|>)\s*(.+?)\s*(;| |$)/g,c=/(\d{2})\.(\d{2})\.(\d{4})/g;return{transform:function(c){for(var d,e="";null!==(d=b.exec(c));){var f=d[1],g=d[2],h=a(d[3]),i=g.replace(">=","=~gte").replace("<=","=~lte").replace(">","=~gt").replace("<","=~lt").replace("!=","=~!");e=i!==g?e.concat(f,i+"("+h+");"):e.concat(f,i,h+";")}return e},withoutFilters:function(a){var c="";return c=a.replace(b,""),c=c.trim()}}}),angular.module("openolitor-core").factory("OverviewCheckboxUtil",function(){var a=function(a,b){angular.isUndefined(a.filteredEntries)?angular.forEach(a.entries,function(c){a.checkboxes.items[c.id]=b}):angular.forEach(a.filteredEntries,function(c){a.checkboxes.items[c.id]=b})},b=function(a){var b=0,c=0,d=a.filteredEntries.length;a.checkboxes.ids=[],a.checkboxes.data||(a.checkboxes.data={}),angular.forEach(a.filteredEntries,function(d){b+=a.checkboxes.items[d.id]||0,c+=!a.checkboxes.items[d.id]||0,a.checkboxes.items[d.id]&&a.checkboxes.ids.push(d.id),a.checkboxes.data[d.id]=d}),0===c||0===b?(a.checkboxes.checked=b===d&&b>0,a.checkboxes.checkedAny=b>0):0!==b&&0!==c?(a.checkboxes.css="select-all:indeterminate",a.checkboxes.checkedAny=!0):(a.checkboxes.css="select-all",a.checkboxes.checkedAny=!0)};return{checkboxWatchCallback:a,dataCheckboxWatchCallback:b}}),angular.module("openolitor-core").factory("GeschaeftsjahrUtil",function(){function a(a,b,c){this.start=function(c){angular.isUndefined&&(c=new Date);var d=new Date(c.getFullYear(),a,b,0,0,0,0);return cg&&dg}}var b=function(b,c){return new a(b.geschaeftsjahrMonat,b.geschaeftsjahrTag).isIn(c)},c=function(b,c){return new a(b.geschaeftsjahrMonat,b.geschaeftsjahrTag).isInOrLater(c)},d=function(b,c,d){angular.isUndefined(d)&&(d=new Date);var e;return angular.forEach(b,function(b){if(angular.isUndefined(b.key)||b.key.indexOf("/")===-1){var c=new a(1,1,b.key);c.isIn(d)&&(e=b)}else{var f=b.key.split("/"),g=new a(f[0],1,f[1]);g.isIn(d)&&(e=b)}}),angular.isUndefined(e)&&!angular.isUndefined(c)&&(e={key:new a(c.geschaeftsjahrMonat,c.geschaeftsjahrTag).key(d),value:0}),e},e=function(a,b,c){var e=d(a,c);angular.isUndefined(e)||(e.value=b)};return{isInCurrentGJ:b,isInCurrentOrLaterGJ:c,getMatchingGJItem:d,setOnMatchingGJItem:e}}),angular.module("openolitor-core").factory("ooClientMessageService",["$http","$location","$q","$interval","$rootScope","$log","msgBus","API_WS_URL","BUILD_NR","ooAuthService",function(a,b,c,d,e,f,g,h,i,j){var k,l,m=function(a,b){var c=JSON.stringify(b),d=c?","+c.substring(1):"",g='{"type":"'+a+'"'+d+"}";try{f.debug("sending message: "+g),e.messagingSocket.send(g)}catch(h){f.error("error sending message: i"+h)}},n=function(a){var b=new WebSocket(a);return b.onmessage=function(a){var b=convertDateStringsToDates(JSON.parse(a.data));console.log("WS received event",b),g.emitMsg(b)},b.onopen=function(a){console.log("WS onopen : "+a),m("HelloServer",{client:"angularClient_"+i}),angular.isUndefined(l)||(d.cancel(l),l=void 0),l=d(function(){var a=(new Date).getTime();m("ClientPing",{time:a})},9e4),angular.isUndefined(k)||(d.cancel(k),k=void 0,g.emitMsg({type:"WebSocketOpen"})),e.$watch(function(){return j.getToken()},function(a){f.debug("Token changed, login/logout to websocket",a),a?m("Login",{token:a}):m("Logout")})},b.onclose=function(b){var c;c=1e3===b.code?"Normal closure, meaning that the purpose for which the connection was established has been fulfilled.":1001===b.code?"An endpoint is 'going away', such as a server going down or a browser having navigated away from a page.":1002===b.code?"An endpoint is terminating the connection due to a protocol error":1003===b.code?"An endpoint is terminating the connection because it has received a type of data it cannot accept (e.g., an endpoint that understands only text data MAY send this if it receives a binary message).":1004===b.code?"Reserved. The specific meaning might be defined in the future.":1005===b.code?"No status code was actually present.":1006===b.code?"The connection was closed abnormally, e.g., without sending or receiving a Close control frame":1007===b.code?"An endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 [http://tools.ietf.org/html/rfc3629] data within a text message).":1008===b.code?"An endpoint is terminating the connection because it has received a message that 'violates its policy'. This reason is given either if there is no other sutible reason, or if there is a need to hide specific details about the policy.":1009===b.code?"An endpoint is terminating the connection because it has received a message that is too big for it to process.":1010===b.code?"An endpoint (client) is terminating the connection because it has expected the server to negotiate one or more extension, but the server didn't return them in the response message of the WebSocket handshake.
Specifically, the extensions that are needed are: "+b.reason:1011===b.code?"A server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.":1015===b.code?"The connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).":"Unknown reason", +f.debug("WS closed with a reason:"+c,b,new Date),g.emitMsg({type:"WebSocketClosed",reason:c}),angular.isUndefined(k)&&(k=d(function(){e.messagingSocket=n(a)},5e3))},b};return{send:m,start:function(){f.debug("registering websocket, request websocket url");var a=h.replace("http://","ws://").replace("https://","wss://");f.debug("registering websocket, bind to "+a);var b=a;angular.isDefined(e.messagingSocket)||"@@"===a.substring(0,2)||(e.messagingSocket=n(b))}}}]),angular.module("openolitor-core").factory("alertService",["$injector",function(a){function b(a){a.alerts||(a.alerts=[])}var c=a.get("$rootScope"),d=a.get("$timeout");return{addAlert:function(a,e,f){var g={type:a,msg:e,details:f};if(b(c),c.alerts.push(g),"info"===a||"lighterror"===a){var h="info"===a?1e3:3e3;d(function(){var a=c.alerts.indexOf(g);a>-1&&c.alerts.splice(a,1)},h,!0)}},removeAllAlerts:function(){c.alerts=[]},removeAlert:function(){return function(a){b(c),c.alerts.splice(a,1)}}}}]);var checkAuth=function(a,b,c,d,e){c.$on("$routeChangeStart",function(a,c,f){return b.authorize(c.access).then(function(a){e.debug("check authorization:"+c.access+" -> "+a),a||b.isLoggedIn().then(function(a){a?d.path("/forbidden"):d.path("/login")})})})};checkAuth.$inject=["$q","ooAuthService","$rootScope","$location","$log"],angular.module("openolitor-core").factory("ooAuthService",["$http","$location","$q","$cookies","$log","API_URL",function(a,b,c,d,e,f){var g,h=d.get("XSRF-TOKEN"),i=function(){return a.get(f+"auth/user").then(function(a){return g=a.data,e.debug("Login succeeded:"+g),g})},j=function(){var a=c.defer();return g?a.resolve(g):h?(e.debug("Restoring user from cookie..."),i().then(function(b){g=b,a.resolve(b)},function(){e.debug("Token no longer valid, please log in."),h=void 0,d.remove("XSRF-TOKEN"),a.reject("Token invalid")})):(g={id:"",rolle:"Guest"},a.resolve(g)),a.promise};return{loggedIn:function(a){return d.put("XSRF-TOKEN",a),e.debug("logged in",a),i().then(function(b){return e.debug("resolved user after login",b),g=b,h=a,b})},loggedOut:function(){d.remove("XSRF-TOKEN"),h=void 0,g=void 0,b.$$search={},e.debug("Good bye")},resolveUser:j,getUser:function(){return g},getToken:function(){return h},authorize:function(a){return j().then(function(b){return e.debug("authorize:",a+" => "+b.rolle),void 0===a||a===userRoles.Guest||a===b.rolle||Array.isArray(a)&&(a.indexOf(userRoles.Guest)>-1||a.indexOf(b.rolle)>-1)})},isLoggedIn:function(){return j().then(function(a){return a.rolle!==userRoles.Guest})},isUserLoggedIn:function(a){return void 0!==a&&a.rolle!==userRoles.Guest}}}]).factory("requestSecurityInjector",["$cookies","moment","$log",function(a,b,c){return{request:function(c){var d=a.get("XSRF-TOKEN");if(d){var e=d+"::"+b().toISOString();c.headers["XSRF-TOKEN"]=e}return c}}}]).config(["$httpProvider",function(a){a.interceptors.push("requestSecurityInjector"),a.defaults.withCredentials=!0}]).run(checkAuth),angular.module("openolitor-core").factory("dialogService",["$uibModal",function(a){return{displayDialogOkAbort:function(b,c,d,e,f){var g=a.open({animation:!0,templateUrl:"scripts/common/components/oo-dialogokabort.directive.modal.html",controller:"ooDialogOkAbortModalInstanceCtrl",resolve:{message:function(){return b},title:function(){return d},dismissOnly:function(){return e},dismissButtonTitle:function(){return f}}});g.result.then(c)}}}]),angular.module("openolitor-core").controller("NgTableExportController",["$scope","$element","exportTable","FileSaver",function(a,b,c,d){a.showExport=!1;var e="Export";angular.isDefined(b.parent().parent().parent().parent())&&(e=b.parent().parent().parent().parent().attr("export-file-name"),a.showExport=b.parent().parent().parent().parent().attr("display-export")),a.exportData=function(){var a={};angular.isDefined(b.parent().parent().parent().scope().params.settings().exportODSFilter)&&(a=b.parent().parent().parent().scope().params.settings().exportODSFilter()),b.parent().parent().parent().scope().params.settings().exportODSModel.exportODS(a,function(a){d.saveAs(a.response,e+".ods")})}}]),angular.module("openolitor-core").controller("NgTableCountController",["$scope","$cookies",function(a,b){var c=function(a,b){var c,d=b.split("."),e=a;for(c=0;c
'),a.put("scripts/common/components/oo-arbeitskategorien.directive.html",'
'),a.put("scripts/common/components/oo-deletebutton.directive.html",' '),a.put("scripts/common/components/oo-deletebutton.directive.modal.html",'\' '),a.put("scripts/common/components/oo-dialogokabort.directive.modal.html",'\' '),a.put("scripts/common/components/oo-dropdown.directive.html",'
'),a.put("scripts/common/components/oo-erroroverlay.directive.html",' {{ alert.msg }}
  • {{ detail }}
'),a.put("scripts/common/components/oo-generate-report.directive.html",'

Bericht erstellen

{{error}}
'), +a.put("scripts/common/components/oo-kundentypen.directive.html",'
'),a.put("scripts/common/components/oo-liefertage.directive.html",'
'),a.put("scripts/common/components/oo-savebutton.directive.html",' '),a.put("scripts/common/ngtable/oo-ngtable-noPaginationTemplate.html"," "),a.put("scripts/common/ngtable/oo-ngtable-paginationTemplate.html",'
'),a.put("scripts/login/change_password.html",'

Eigenes Passwort wechseln

'),a.put("scripts/login/forbidden.html",'

Zugriff verweigert

Der Zugriff auf diese Ressource wurde verweigert.

'),a.put("scripts/login/login.html",'

Anmeldung - Testumgebung - Entwicklungsumgebung

Für den Zugriff auf die Administrationsumgebung ist eine Anmeldung erforderlich

Sie befinden sich auf dem OpenOlitor Testsystem. Sie können sich mit den untenstehenden Anmeldeinformationen an der Administrationsumgebung anmelden:

  • E-Mail: admin@openolitor.ch
  • Passwort: admin

Die Daten in diesem System werden sporadisch auf die Standardwerte zurückgesetzt.

Für den Zugriff auf OpenOlitor ist eine Anmeldung erforderlich

Sie befinden sich auf dem OpenOlitor Testsystem. Sie können sich mit den untenstehenden Anmeldeinformationen als Konsument anmelden:

  • E-Mail: konsument@openolitor.ch
  • Passwort: kunde

Für den Zugang auf die Administrationsumgebung von OpenOlitor, bitte den Link unten rechts verwenden.
Die Daten in diesem System werden sporadisch auf die Standardwerte zurückgesetzt.

{{projekt.welcomeMessage1}}

Das Kundenportal ist gegenwärtig nicht verfügbar. Wir führen Unterhaltsarbeiten durch. In Kürze sind wir wieder online und wie gewohnt für Sie da.

Unterhalts-Moduls! Das Kundenportal ist gegenwärtig nicht verfügbar. Bitte sobald wie möglich wieder aktivieren!

'),a.put("scripts/login/logout.html",'
'),a.put("scripts/login/passwordreset.html",'

Passwort vergessen?

Wenn Sie ihr Passwort vergessen haben, können Sie sich einen Reset-Link senden lassen.

'),a.put("scripts/login/zugangaktivieren.html",'

Passwort setzen und Zugang aktivieren

'),a.put("scripts/not-found.html",'

Error 404

Diese Seite konnte nicht gefunden werden!
')}]); \ No newline at end of file