Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.53 KB | None | 0 0
  1. (function(t,w,u){t.layLoadingPageSize=15;var g=angular.module("main.services",[]);g.config(["$provide","$httpProvider",function(g,m){g.factory("myHttpInterceptor",[function(){function d(d){if("unauthorized"===d.data.errorMessage||"unauthorized"===d.data.authMessage||"userDisabled"===d.statusText)"/test"!==t.location.pathname&&("userDisabled"===d.statusText&&alert("Your account has been disabled."),t.loggingOut=!0,t.location.href="/logout",t.location.hash="");else return d.data.showMessage?(alert(d.data.showMessage),
  2. {}):d}return{request:function(d){d.url&&(d.params||(d.params={}),0<=d.url.indexOf(".html")||(d.params.t=(new Date).getTime()));return d},response:d,responseError:d}}]);m.interceptors.push("myHttpInterceptor")}]);g.run(["$http","$rootScope","ConstantsService",function(g,m,d){g.get("/users/current").success(function(d){m.currentUser=d});m.numberCounterDelimiter="-"}]);g.service("Downloader",function(){function g(e,c){if(/(iP)/g.test(navigator.userAgent))return alert("Your device does not support files downloading. Please try again in desktop browser."),
  3. !1;if(m||f){var a=document.createElement("a");a.href=e;a.download!==u&&(c||(c=e.substring(e.lastIndexOf("/")+1,e.length)),a.download=c);if(document.createEvent){var b=document.createEvent("MouseEvents");b.initEvent("click",!0,!0);a.dispatchEvent(b);return!0}}else if(d){w("#pdf").remove();w("body").append("<iframe id='pdf' style='display:none;'></iframe>");document.getElementById("pdf").src=e;return}t.open(e,"_new");return!0}var m=-1<navigator.userAgent.toLowerCase().indexOf("chrome"),d=-1<navigator.userAgent.toLowerCase().indexOf("safari"),
  4. f=-1<navigator.userAgent.toLowerCase().indexOf("firefox");return{downloadByUrl:g,downloadTicketAttachments:function(d){g("/v2/tickets/"+d+"/downloadAttachments")},downloadFile:function(d){g("/file/"+d)}}});g.service("Utils",["$http","$rootScope",function(g,m){function d(b){var a=b;!a&&this.staticCopy&&(a=this);if("[object Array]"===Object.prototype.toString.call(a)){b=[];for(var c=0;c<a.length;c++)b.push(d(a[c]))}else if("[object Object]"===Object.prototype.toString.call(a))for(c in b={},a)"staticCopy"!==
  5. c&&"$$hashKey"!=c&&(b[c]=d(a[c]));else return a;return b}function f(b,a){if("[object String]"===Object.prototype.toString.call(b))return b;a=a||b;for(var k in b){var n=b[k];"[object Array]"===Object.prototype.toString.call(n)?e(n):"[object Object]"===Object.prototype.toString.call(n)&&f(n);c(a,k,n)}c(a,"staticCopy",d);return a}function e(b,a){if(a){for(var k=0;k<b.length;k++)a.push(f(b[k]));c(a,"staticCopy",d);return a}for(k=0;k<b.length;k++)b[k]=f(b[k]);c(b,"staticCopy",d);return b}function c(b,
  6. a,d){Object.defineProperty(b,a,{value:d,writable:!1,enumerable:!0,configurable:!0})}function a(b,a){for(var d=0;d<b.length;d++){var c=b[d];if(c&&(c=c.versionedId?c.versionedId.id:c.id,c===a))return d}return-1}return{customizeObj:f,customizeArray:e,defineReadOnlyProperty:c,findById:function(b,a){for(var d=0;d<b.length;d++){var c=b[d];if((c.versionedId?c.versionedId.id:c.id)===a)return c}},indexOfId:a,handleCallback:function(b,a){a&&b.then(function(b){a(b.data)},function(b){a(b.data)})},deleteById:function(b,
  7. d){var c=a(b,d);-1<c&&b.splice(c,1)},getListByUrl:function(b,a,d){var c=[];d&&(c=e(c));g.get(b).then(function(b){if(d)e(b.data,c),d(c);else for(var r=0;r<b.data.length;r++)c.push(b.data[r]);a&&a(c)},function(b){a&&a(b.data)});return c},getFormattedNumber:function(b,a){var d;if(a)for(d=""+(parseInt(b.numPart)+1);d.length<b.numPart.length;)d="0"+d;else d=b.numPart;return b.charPart?b.charPart+m.numberCounterDelimiter+d:d},getComparatorBy:function(b,a){return function(d,c){return a?c[b]-d[b]:d[b]-c[b]}},
  8. formatDate:function(b){return b.getFullYear()+"-"+(b.getMonth()+1)+"-"+b.getDate()}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("AddressesService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){return{getAllLocales:function(f){var e=d.customizeArray([]);g.get("/addresses/getAllLocales").then(function(c){d.customizeArray(c.data,e);f&&f(c.data)},function(d){f&&f(d.data)});return e}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("AssociationService",["$http","$rootScope","Utils","$filter",function(g,q,m){return{deleteAssociation:function(d,f){if(!d)throw"id is required!";var e=g({url:"/association/"+d,method:"DELETE"});m.handleCallback(e,f)}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("BillableService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d){function f(a){for(var b=0;b<a.tickets.length;b++)a.totalSum+=a.tickets[b].sum}function e(a){for(var b in a)if("staticCopy"!==b)for(var d=0;d<a[b].tickets.length;d++)a[b].totalSum||(a[b].totalSum=0),a[b].totalSum+=a[b].tickets[d].sum}function c(a){for(var b in a)if("staticCopy"!==b){a[b].lockType="NONE";for(var d=0;d<a[b].tickets.length;d++){var c=
  9. a[b].tickets[d];"NONE"===a[b].lockType&&null!=c.lockedBy?a[b].lockType="ALL":"ALL"==a[b].lockType&&null==c.lockedBy&&(a[b].lockType="NOT_ALL")}}}return{getTotalBilledAmount:function(a,b){var c=d.customizeObj({});g.get("/billable/totalBilled").then(function(k){d.customizeObj(k.data,c);m.subscribe("/billedTicketsSumAdded",a,function(b){console.log(b);"BILLED_TICKETS_SUM_ADDED"===b.action&&d.defineReadOnlyProperty(c,"value",c.value+b.data)});b&&b(k.data)},function(a){b&&b(a.data)});return c},getBillableChartData:function(a,
  10. b){var c=d.customizeArray([]);g.get("/billable/billed/lastDays").then(function(k){d.customizeArray(k.data,c);m.subscribe("/billedTicketsSumAdded",a,function(b){console.log(b);if("BILLED_TICKETS_SUM_ADDED"===b.action){var a=c[c.length-1];d.defineReadOnlyProperty(a,"sum",a.sum+b.data)}});b&&b(c)},function(a){b&&b(a.data)});return c},createInvoice:function(a,b,c,k){if(!a)throw"lockId is required!";if(!b)throw"contact is required!";if(!c)throw"address is required!";a=g.get("/invoice/create/"+a+"?&billTo="+
  11. b+"&shipTo="+c);d.handleCallback(a,k)},getActualInvoiceNumber:function(a,b){g.get("/data/actualNumber?type=INVOICE").success(function(a){b(a.number)});m.subscribe("/number?targetId=INVOICE",a,function(a){console.log(a);"NUMBER_CHANGED"===a.action&&b(d.getFormattedNumber(a.data,!0))})},search:function(a){if(!a)throw"Keyword is required!";return g.get("/billable/search?keyword="+a).then(function(b){return b.data})},getLockedTicketIds:function(a,b){},lockTicketIds:function(a,b){if(!a)throw"ticketIds is required!";
  12. var c=d.customizeObj({});g({url:"/invoice/lock",method:"POST",data:a}).then(function(a){d.customizeObj(a.data,c);b&&b(a.data)},function(a){b&&b(a.data)});return c},unlockTicketIds:function(a,b){if(!a)throw"lockId is required!";var c=g.get("/invoice/unlock/"+a);d.handleCallback(c,b)},getExistTimeByLockId:function(a,b){if(!a)throw"lockId is required!";var c=g.get("/invoice/lock/timeToUnlock/"+a);d.handleCallback(c,b)},lockTicketsByCompany:function(a,b){if(!a)throw"companyId is required!";var c=g.get("/invoice/lock/lockByCompany/"+
  13. a);d.handleCallback(c,b)},getBillablePageDto:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";var h=d.customizeObj({});g.get("/billable/billablePageInfo").then(function(k){d.customizeObj(k.data,h);e(h);c(h);m.subscribe("/billablePage",a,function(a){console.log(a);if("BILLABLE_EXPENSE_ADDED"==a.action){var l=a.data.companyId;h[l]||(h[l]={},h[l].tickets=[],h[l].totalSum=0,h[l].lockType="NONE");var r=d.findById(h[l].tickets,a.data.id);r||(r={},h[l].tickets.push(r));d.customizeObj(a.data,
  14. r);f(h[l]);b&&b(h)}else if("BILLABLE_EXPENSE_REMOVED"==a.action)r=h[a.data.companyId].tickets,l=d.indexOfId(r,a.data.ticketId),-1<l&&r.splice(l,1),r&&r.length&&0!==r.length?f(h[a.data.companyId]):delete h[a.data.companyId],b&&b(h);else if("TICKET_LOCKED"==a.action){for(var p=Object.keys(a.data)[0],l=0;l<a.data[p].length;l++)for(var y in h)"staticCopy"!==y&&(r=d.findById(h[y].tickets,a.data[p][l]))&&d.defineReadOnlyProperty(r,"lockedBy",p);c(h);b&&b(h)}else if("TICKET_UNLOCKED"==a.action){for(y in h)if("staticCopy"!==
  15. y)for(l=0;l<h[y].tickets.length;l++)for(r=0;r<a.data.length;r++)h[y].tickets[l].id===a.data[r]&&d.defineReadOnlyProperty(h[y].tickets[l],"lockedBy",null);c(h);b&&b(h)}else"COMPANY_ARCHIVED"==a.action&&(delete h[a.data.id],b&&b(h))});b&&b(h)});return h}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("CompaniesService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){function f(){l++;if(2===l){a=!0;for(var d=0;d<b.length;d++)b[d]()}}function e(a,b){if(!a)throw"Keyword is required!";for(var d=[],c=0;c<k.companies.length;c++){var l=k.companies[c];(b||k.currentCompany.id!==l.id)&&-1<l.name.indexOf(a)&&d.push(l)}return d}function c(d){d&&(a?d():b.push(d))}q=q.$new();var a=!1,b=[],h=[],k={companies:[],clientCompanies:[],
  16. currentCompany:{}},n;d.customizeObj(k);g.get("/company/clients").then(function(a){d.customizeArray(a.data,k.clientCompanies);for(a=0;a<k.clientCompanies.length;a++)k.companies.push(k.clientCompanies[a]);f()},function(a){console.error(a);throw"Cannot initialize CompaniesService!";});g.get("/company/current").then(function(a){d.customizeObj(a.data,k.currentCompany);k.companies.push(k.currentCompany);f()},function(a){console.error(a);throw"Cannot initialize CompaniesService!";});var l=0;m.subscribe("/company",
  17. q,function(b){console.log(b);if(a)if("COMPANY_SAVED"==b.action){var c=d.findById(k.companies,b.data.id);if(c)d.customizeObj(b.data,c);else for(b=d.customizeObj(b.data),k.companies.push(b),k.clientCompanies.push(b),b=0;b<h.length;b++)h[b]()}else if("COMPANY_ARCHIVED"==b.action)for(d.deleteById(k.companies,b.data.id),d.deleteById(k.clientCompanies,b.data.id),n&&"function"==typeof n&&n(b.data.id),b=0;b<h.length;b++)h[b]();else if("COMPANY_DEARCHIVED"==b.action)for(c=d.customizeObj(b.data),k.clientCompanies.push(c),
  18. k.companies.push(c),b=0;b<h.length;b++)h[b]()});return{_addInitListener:c,_addAmountChangeListener:function(a){h.push(a)},_search:e,_isInitialized:function(){return a},getCurrentCompany:function(){return k.currentCompany},getClientCompanies:function(a){c(a);return k.clientCompanies},getAllCompanies:function(){return k.companies},getOneById:function(a,b){b&&(n=b);return d.findById(k.companies,a)},getUnassignedCompany:function(){for(var a=0;a<k.companies.length;a++)if(k.companies[a].isDefault)return k.companies[a]},
  19. searchByAllCompanies:function(a){return e(a,!0)},searchByClientCompanies:function(a){return e(a,!1)},getClientCompaniesInfo:function(a,b){if(!a||!a.$id)throw"Second argument must be Angularjs scope!";var c=d.customizeObj({});g.get("/company/clients/info").then(function(a){d.customizeObj(a.data,c);b&&b(a.data)},function(a){b&&b(a.data)});m.subscribe("/clientCompaniesInfo",a,function(a){console.log(a);if("CLIENT_COMPANY_INFO"==a.action){a=JSON.parse(a.data);for(var b in a)d.defineReadOnlyProperty(c,
  20. b,d.customizeObj(a[b]))}else"COMPANY_ARCHIVED"==a.action&&(delete c[a.data.id],n&&"function"==typeof n&&n(a.data.id))});return c},getCompanyInfo:function(a,b,c){if(!a)throw"companyId is required!";if(!b||!b.$id)throw"Second argument must be Angularjs scope!";var l=d.customizeObj({});g.get("/company/"+a+"/info").then(function(a){d.customizeObj(a.data,l);c&&c(a.data)},function(a){c&&c(a.data)});m.subscribe("/clientCompaniesInfo",b,function(b){console.log(b);if("CLIENT_COMPANY_INFO"==b.action){b=JSON.parse(b.data);
  21. for(var c in b)c===a&&d.customizeObj(b[a],l)}});return l},archive:function(a,b){if(!a)throw"companyId is required!";var c=g.get("/company/archive/"+a);d.handleCallback(c,b)},dearchive:function(a,b){if(!a)throw"companyId is required!";var c=g.get("/company/dearchive/"+a);d.handleCallback(c,b)},save:function(a,b){if(!a)throw"company is required!";var c="POST";a.id&&(c="PUT");c=g({url:"/company",method:c,data:a});d.handleCallback(c,b)},saveForCompanyProfile:function(a,b,c){if(!a)throw"data is required!";
  22. if(!b)throw"toUpdate is required!";b=b.toLowerCase();"addresses"===b&&(a={addresses:a});a=g({url:"/settings/companyProfile/"+b,method:"PUT",data:a});d.handleCallback(a,c)},getCompanyForSettingPage:function(a){var b={};g.get("/settings/companyProfile/").then(function(c){d.customizeObj(c.data,b);a&&a(c.data)},function(b){a&&a(b.data)});return b},getCompanyData:function(a,b,c){if(!b)throw"companyId is required!";if(!a||!a.$id)throw"Second argument must be Angularjs scope!";var l=d.customizeObj({});g.get("/company/"+
  23. b+"/data").then(function(a){d.customizeObj(a.data,l);c&&c(a.data)},function(a){c&&c(a.data)});m.subscribe("/companyDto?targetId="+b,a,function(a){console.log(a);if("COMPANY_DTO_CHANGED"==a.action){a=JSON.parse(a.data);for(var c in a)c===b&&d.customizeObj(a[b],l)}});return l},isNameUnique:function(a,b,c){if(!a)throw"name is required!";var l=d.customizeObj({});g.get("/company/isCompanyNameUnique?name="+a+"&id="+b).then(function(a){d.customizeObj(a.data,l);c&&c(a.data)},function(a){c&&c(a.data)});return l},
  24. isDomainUnique:function(a,b,c){if(!a)throw"domain is required!";var l=d.customizeObj({});g.get("/company/isCompanyDomainUnique?domain="+a+"&id="+b).then(function(a){d.customizeObj(a.data,l);c&&c(a.data)},function(a){c&&c(a.data)});return l},saveCover:function(a,b,c){if(!a)throw"croppedImage is required!";if(!b)throw"companyId is required!";a=g({url:"/company/"+b+"/cover",method:"POST",data:a});d.handleCallback(a,c)},deleteCover:function(a,b){if(!a)throw"companyId is required!";var c=g({url:"/company/"+
  25. a+"/cover",method:"DELETE"});d.handleCallback(c,b)},getCompanyContacts:function(a,b,c){if(!a||!a.$id)throw"First argument must be Angularjs scope!";if(!b)throw"Second argument must be companyId!";return d.getListByUrl("/company/"+b+"/contacts",c,function(c){m.subscribe("/companyContact",a,function(a){console.log(a);"COMPANY_CONTACT"==a.action&&(c.splice(0,c.length),d.customizeArray(a.data,c))});m.subscribe("/subscription?targetId="+b,a,function(a){console.log(a);if(a.data.contact){var b=d.findById(c,
  26. a.data.contact.id);b&&("SUBSCRIPTION_SAVED"==a.action?d.defineReadOnlyProperty(b,"subscription",d.customizeObj(a.data)):"SUBSCRIPTION_DELETED"==a.action&&delete b.subscription)}})})}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("ConstantsService",["$http",function(g){var q;g.get("/data/getConstants").then(function(g){q=g.data});return{getConstant:function(g){if(!g)return q;if(Array.isArray(g)){for(var d={},f=0;f<g.length;f++)q.hasOwnProperty(g[f])&&(d[g[f]]=q[g[f]]);return d}if(q.hasOwnProperty(g))return q[g]}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("ContactsService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d,f){return{isEmailUnique:function(e,c,a){if(!e)throw"email is required!";var b=d.customizeObj({});g.get("/contacts/isEmailUnique?email="+e+"&id="+c).then(function(c){d.customizeObj(c.data,b);a&&a(c.data)},function(b){a&&a(b.data)});return b},getSubscribedContactsOnTicket:function(e,c){if(!e||!e.$id)throw"First argument must be Angularjs scope!";
  27. var a=d.customizeArray([]);g.get("/contacts/getSubscribedContactsOnTicket/").then(function(b){d.customizeArray(b.data,a);m.subscribe("/subscription?targetId="+f.getCurrentCompany().id,e,function(b){console.log(b);if(b.data.contact){var k=d.findById(a,b.data.contact.id);k&&("SUBSCRIPTION_SAVED"==b.action?(d.defineReadOnlyProperty(k,"subscription",d.customizeObj(b.data)),c&&c()):"SUBSCRIPTION_DELETED"==b.action&&(delete k.subscription,c&&c()))}});m.subscribe("/vendorContacts",e,function(b){console.log(b);
  28. if("VENDOR_CONTACTS_SAVE"==b.action){for(var k=0;k<b.data.length;k++){var e=b.data[k],l=d.findById(a,e.id);e.subscription.ticket?l?d.customizeObj(e,l):a.push(d.customizeObj(e)):l&&d.deleteById(a,l.id)}c&&c()}else if("VENDOR_CONTACTS_DELETE"==b.action){for(k=0;k<b.data.length;k++)d.deleteById(a,b.data[k].id);c&&c()}});c&&c(b.data)},function(a){c&&c(a.data)});return a},getAllVendorsContacts:function(e,c){if(!e||!e.$id)throw"First argument must be Angularjs scope!";var a=d.customizeArray([]);g.get("/contacts/getAllVendorsContacts/").then(function(b){d.customizeArray(b.data,
  29. a);m.subscribe("/vendorContacts",e,function(b){console.log(b);if("VENDOR_CONTACTS_SAVE"==b.action){for(var k=0;k<b.data.length;k++){var e=b.data[k],l=d.findById(a,e.id);l?d.customizeObj(e,l):a.push(d.customizeObj(e))}c&&c()}else if("VENDOR_CONTACTS_DELETE"==b.action){for(k=0;k<b.data.length;k++)d.deleteById(a,b.data[k].id);c&&c()}});c&&c(b.data)},function(a){c&&c(a.data)});return a}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("DevicesService",["$http","$rootScope","RealTimeService","Utils","UsersService","Downloader","CompaniesService",function(g,q,m,d,f,e,c){function a(){for(var a in h.callbacks)if("staticCopy"!==a){var b=h.callbacks[a];b&&"function"===typeof b&&b.callback(h.devices[b.companyId])}}function b(){for(var b in h.devices)if("staticCopy"!==b){if(0==h.devices[b].length){delete h.devices[b];delete h.deviceCounter[b];a();return}h.deviceCounter.companyId||
  30. (h.deviceCounter[b]=d.customizeObj({all:0,online:0}));d.defineReadOnlyProperty(h.deviceCounter[b],"all",h.devices[b].length);for(var c=0,k=0;k<h.devices[b].length;k++)h.devices[b][k].online&&c++;d.defineReadOnlyProperty(h.deviceCounter[b],"online",c)}a()}var h={devices:{},callbacks:{},deviceCounter:{}},k=q.$new(),n={};d.customizeObj(h);c._addInitListener(function(){g.get("/devices?companyId="+c.getCurrentCompany().id).then(function(a){var c=h.devices;d.customizeObj(a.data,c);b();m.subscribe("/device",
  31. k,function(a){console.log(a);if("DEVICE_ONLINE"===a.action){for(var l in c[a.data.clientCompanyId])c[a.data.clientCompanyId][l].id===a.data.value&&d.defineReadOnlyProperty(c[a.data.clientCompanyId][l],"online",!0);b()}else if("DEVICE_OFFLINE"===a.action){for(l in c[a.data.clientCompanyId])c[a.data.clientCompanyId][l].id===a.data.value&&d.defineReadOnlyProperty(c[a.data.clientCompanyId][l],"online",!1);b()}else if("DEVICE_INSTALLED"===a.action)c[a.data.clientCompanyId]?c[a.data.clientCompanyId].push(d.customizeObj(JSON.parse(a.data.value).device)):
  32. (l=a.data.clientCompanyId,c[l]=[],c[l].push(JSON.parse(a.data.value).device)),b();else if("DEVICE_UNINSTALLED"===a.action){for(l in c[a.data.clientCompanyId])c[a.data.clientCompanyId][l].id===a.data.value&&c[a.data.clientCompanyId].splice(l,1);b()}});m.subscribe("/oneTimeConnection",q,function(a){"REMOTE_CONNECTION_CLOSED"!==a.action||a.data.id||(console.log(a),q.openCreateTicketForm(a.data))})})});return{downloadAgent:function(a,b,c,d){if(!a)throw"CompanyId is required!";return g.get("/data/prepareDownloadAgent?companyId="+
  33. a+"&userName="+b+"&userPassword="+c).then(function(a){d&&d(a.data);400<=a.data.code||e.downloadByUrl(a.data.link)})},runScanDevices:function(a,b,c,h){if(!a)throw"scope is required!";if(!b)throw"CompanyId is required!";if(!c)throw"AgentId is required!";var k=d.customizeObj({});a.isScanDevicesLoad=!0;g.get("/devices/refreshNetworkScan?companyId="+b+"&agentId="+c).then(function(a){console.log(a)});g.get("/devices/networkScan?companyId="+b+"&agentId="+c).then(function(e){d.customizeObj(e.data,k);k.networkScan&&
  34. d.defineReadOnlyProperty(k,"networkScan",JSON.parse(k.networkScan));m.subscribe("/netScan",a,function(x){console.log(x);if("NETWORK_SCAN"===x.action)g.get("/devices/networkScan?companyId="+b+"&agentId="+c).then(function(b){d.customizeObj(b.data,k);d.defineReadOnlyProperty(k,"networkScan",JSON.parse(k.networkScan));"Finished"===x.data&&(a.isScanDevicesLoad=!1)});else if("REMOTE_INSTALL"===x.action){var e=d.findById(k.networkScan.devices,x.data.netScanId);e&&("MANAGED"===x.data.status?d.defineReadOnlyProperty(e,
  35. "agentStatus","managed"):"INSTALLED"!==x.data.status?d.defineReadOnlyProperty(e,"agentStatus","installed"):"ERROR"!==x.data.status?d.defineReadOnlyProperty(e,"agentStatus","error"):"LOGIN_ERROR"!==x.data.status&&d.defineReadOnlyProperty(e,"agentStatus","loginerror"));e=n[x.data.netScanId]||n[x.data.deviceId];!e||"function"!==typeof e||"INIT"===x.data.status&&"IN_PROGRESS"===x.data.status||e()}h&&h(x.data)});h&&h()},function(a){h&&h()});return k},getDevicesCount:function(a,b){if(!a)throw"scope is required!";
  36. h.callbacks[a.$id]={companyId:c.getCurrentCompany().id,callback:b};h.devices&&b&&b(h.devices);return h.deviceCounter},getAgentsByCompany:function(a,b,c){if(!a)throw"scope is required!";if(!b)throw"CompanyId is required!";c&&(h.callbacks[a.$id]={companyId:b,callback:c});h.devices[b]&&c&&c(h.devices[b]);return h.devices[b]},isCompanyHasUserNameAndPass:function(a,b){if(!a)throw"CompanyId is required!";g.get("/devices/isCompanyHasUserNameAndPass?companyId="+a).then(function(a){b&&b(a.data);return a.data})},
  37. sendInstallAgentRequest:function(a,b,c,d){if(!a)throw"CompanyId is required!";if(!b)throw"agentId is required!";if(!c)throw"agentId is required!";Array.isArray(c)||(c=[c]);if(d&&"function"===typeof d)for(var h in c)n[c[h]]=d;g({url:"/devices/sendInstallAgentRequest?companyId="+a+"&agentId="+b,method:"POST",data:c})},sendUninstallAgentRequest:function(a,b,c,d){if(!a)throw"CompanyId is required!";if(!b)throw"agentId is required!";if(!c)throw"agentId is required!";Array.isArray(c)||(c=[c]);if(d&&"function"===
  38. typeof d)for(var h in c)n[c[h]]=d;g({url:"/devices/sendUninstallAgentRequest?companyId="+a+"&agentId="+b,method:"POST",data:c})},createOneTimeRemoteSession:function(a){g.get("/remote/createOneTimeRemoteSession").then(function(b){a&&a(b.data)},function(b){a&&a(b.data)})},getRemoteSessions:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";return d.getListByUrl("/remote/getRemoteSessions",b,function(b){m.subscribe("/oneTimeConnection",a,function(a){console.log(a);if("ONE_TIME_CONNECTION_CLOSED"!==
  39. a.action||a.data.id)if("ONE_TIME_DELETED"===a.action||"ONE_TIME_UNINSTALLED"===a.action)d.deleteById(b,a.data);else{var c=d.findById(b,a.data.id);c?d.customizeObj(a.data,c):b.unshift(d.customizeObj(a.data))}})})},getSessionId:function(a,b,c){if(!a)throw"remoteSessionId is required!";if(!b)throw"connectionType is required!";g.get("/devices/getSessionId?remoteSessionId="+a+"&connectionType="+b).then(function(a){c&&c(a.data)},function(a){c&&c(a.data)})},createRemoteSession:function(a,b,c,d){if(!a)throw"deviceId is required!";
  40. if(!b)throw"companyId is required!";if(!c)throw"connectionType is required!";g.get("/remote/createRemoteSession?deviceId="+a+"&connectionType="+c+"&companyId="+b).then(function(a){d&&d(a.data)},function(a){d&&d(a.data)})},deleteRemoteSession:function(a,b){if(!a)throw"ids is required!";Array.isArray(a)||(a=[a]);var c=g({url:"/remote/deleteRemoteSession",method:"POST",data:a});d.handleCallback(c,b)}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("EmailSettingsService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){return{saveNumberForm:function(f,e,c){if(!f)throw"data is required!";if(!e)throw"type is required!";f.type=e;f=g({url:"/settings/emailPages/updateNumberForm",method:"PUT",data:f});d.handleCallback(f,c)},getCompanyEmailNotification:function(f){var e={};g.get("/settings/emailPages/emailNotifications").then(function(c){d.customizeObj(c.data,e);f&&
  41. f(c.data)},function(c){f&&f(c.data)});return e},getEmailSettingPageDto:function(f,e){if(!f)throw"scope is required!";var c=d.customizeObj({});g.get("/settings/emailPages/").then(function(a){d.customizeObj(a.data,c);e&&e(a.data)},function(a){e&&e(a.data)});m.subscribe("/companyEmailNotification",f,function(a){console.log(a);"COMPANY_EMAIL_NOTIFICATION"==a.action&&d.customizeObj(a.data,c.activeAndNotDefault)});return c},getTermsAndConditions:function(f){var e={};g.get("/settings/emailPages/termsAndConditions").then(function(c){d.customizeObj(c.data,
  42. e);f&&f(c.data)},function(c){f&&f(c.data)});return e},setToDefaultTemplate:function(f,e){if(!f)throw"type is required!";var c=g({url:"/settings/emailPages/toDefaultTemplate/"+f,method:"POST"});d.handleCallback(c,e)},getTemplate:function(f,e){if(!f)throw"type is required!";var c={};g.get("/settings/emailPages/byType/"+f).then(function(a){d.customizeObj(a.data,c);e&&e(a.data)},function(a){e&&e(a.data)});return c},saveEmailTemplate:function(f,e,c){if(!f)throw"data is required!";if(!f.subject)throw"data.subject is required!";
  43. if(!f.body)throw"data.body is required!";if(!e)throw"type is required!";f=g({url:"/settings/emailPages/updateTemplate/"+e,method:"PUT",data:f});d.handleCallback(f,c)}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("FilesService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){return{create:function(d,e,c,a,b){if(!d)throw"file is required!";var h={},k=new FormData;k.append("file",d);d=new XMLHttpRequest;d.upload.addEventListener("progress",e,!1);d.addEventListener("load",function(a){a=angular.fromJson(a.currentTarget.responseText);for(var b in a)h[b]=a[b];c&&c(h)},!1);d.addEventListener("error",a,!1);d.open("POST","/file?isAvatar="+
  44. !!b);d.send(k);return h},createImageFromBase64Url:function(d,e){if(!d)throw"base64Url is required!";var c={};g({url:"/base64image",method:"POST",data:d.substring(22,d.length)}).then(function(a){for(var b in a.data)c[b]=a.data[b];e&&e(c)});return c},getMetadata:function(d,e){if(!d)throw"fileId is required!";var c={id:d};g.get("/file/"+d+"/meta").then(function(a){for(var b in a.data)c[b]=a.data[b];e&&e(c)},function(a){e&&e(a.data)});return c},remove:function(d,e){if(!d)throw"fileId is required!";g({url:"/file/"+
  45. d,method:"DELETE"}).then(function(c){e&&e(c.data)},function(c){e&&e(c.data)})},cropAvatar:function(d,e){if(!d)throw"image is required!";g({url:"/file/cropImage",method:"POST",data:d}).then(function(c){e&&e(c.data)},function(c){e&&e(c.data)})}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("ProductsService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d,f){return{search:function(d){if(!d)throw"Keyword is required!";return g.get("/products/search?keyword="+d).then(function(c){return c.data})},getFullListForAutocomplete:function(d){var c=[];g.get("/products/fullList").then(function(a){a.data.forEach(function(a){c.push(a)});d&&d()});return c},getCategories:function(e,c){if(!e||!e.$id)throw"First argument must be Angularjs scope!";
  46. return d.getListByUrl("/products/categories",c,function(a){m.subscribe("/productCategory",e,function(b){console.log(b);if("PRODUCT_CATEGORY_SAVED"==b.action){var c=d.findById(a,b.data.id);c?d.customizeObj(b.data,c):a.push(d.customizeObj(b.data))}else"PRODUCT_CATEGORY_DELETED"==b.action&&(d.deleteById(a,b.data.id),e.$broadcast("product_category_deleted",b.data))})})},saveCategory:function(e,c){if(!e)throw"category is required!";var a="/products/categories",b="POST";e.id&&(a+="/"+e.id,b="PUT");a=g({url:a,
  47. method:b,data:e});d.handleCallback(a,c)},deleteCategory:function(e,c){if(!e)throw"categoryId is required argument!";var a=g({url:"/products/categories/"+e,method:"DELETE"});d.handleCallback(a,c)},getAllByCategory:function(e,c,a,b){if(!e||!e.$id)throw"First argument must be Angularjs scope!";if(!c)throw"categoryId is required argument!";var h="/products?categoryId="+c;b&&(h="/products/full?categoryId="+c);return d.getListByUrl(h,a,function(a){m.subscribe("/product?targetId="+c,e,function(b){console.log(b);
  48. if("PRODUCT_SAVED"==b.action){var c=d.findById(a,b.data.versionedId.id);c?d.customizeObj(b.data,c):a.push(d.customizeObj(b.data))}else"PRODUCT_DELETED"==b.action&&(d.deleteById(a,b.data.versionedId.id),e.$broadcast("product_deleted",b.data))})})},saveProduct:function(e,c){if(!e)throw"product is required!";var a="POST";e.id&&(a="PUT");a=g({url:"/products",method:a,data:e});d.handleCallback(a,c)},deleteProduct:function(e,c){if(!e)throw"productId is required argument!";var a=g({url:"/products/"+e,method:"DELETE"});
  49. d.handleCallback(a,c)},isProductNameUnique:function(e,c,a,b){if(!e)throw"name is required!";if(!a)throw"vendorId is required!";var h=d.customizeObj({});g.get("/products/isProductNameUnique?name="+e+"&id="+c+"&vendorId="+a).then(function(a){d.customizeObj(a.data,h);b&&b(a.data)},function(a){b&&b(a.data)});return h},getActualCode:function(e,c){if(!e||!e.$id)throw"Second argument must be Angularjs scope!";var a=d.customizeObj({});g.get("/products/actualCode").then(function(b){d.customizeObj(b.data,a);
  50. c&&c(b.data)},function(a){c&&c(a.data)});m.subscribe("/productCode",e,function(b){console.log(b);"PRODUCT_CODE_CHANGED"===b.action&&d.defineReadOnlyProperty(a,"value",b.data)});return a}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("RealTimeService",["$http","$timeout","$rootScope",function(g,q,m){function d(){g.post("/realTime/createWatcher").success(function(c){a=c.id;if(0<b.length){for(c=0;c<b.length;c++){var d=b[c];n.subscribe(d.url,d.scope,d.callback)}b=[]}e()}).error(function(a,b,c,d){console.error("Cannot receive watcher Id !!!",a,b,c,d);throw"Cannot initialize RealTimeService";})}function f(){a=u;for(var c in k){var h=k[c];h&&!h.scope.$$destroyed&&b.push(h)}k=
  51. {};d()}function e(){0<h?q(e,300):g.post("/realTime/watch/"+a,Object.keys(k)||[],{timeout:22E5}).then(function(a){a.data||console.log("No Date in response!");console.log(a.data);if("timeout"==a.data||"destroyed"==a.data.message||205==a.status)f();else if("unauthorized"===a.data.errorMessage||"unauthorized"===a.data.authMessage||"userDisabled"===a.statusText)"userDisabled"===a.statusText&&alert("Your account has been disabled."),t.location.pathname="/logout";else{for(var b in a.data){var c=k[b];if(c&&
  52. !c.scope.$$destroyed){var d=a.data[b];if(d)for(var h=0;h<d.length;h++)c.callback(d[h])}}e()}},function(a){a&&0!==a.status?205==a.status?f():(console.log("ERRRORRR!!!!!!!!!!!!",a),q(e,300)):(console.log("ERRRORRR?????",a),q(f,1E3))})}function c(a){for(var b in k){var d=k[b];d&&!d.scope.$$destroyed&&d.callback!==c&&d.callback(a)}"COMPANY_ARCHIVED"!==a.action&&"COMPANY_DEARCHIVED"!==a.action||m.$broadcast(a.action.toLowerCase(),a.data.id)}var a,b=[{url:"/global",scope:m,callback:c}],h=0,k={};d();var n=
  53. {subscribe:function(c,d,e){a?(h++,g.get("/realTime/subscribe/"+a+c).success(function(a){h--;k[a.id]={url:c,scope:d,callback:e};d.$on("$destroy",function(){delete k[a.id]})}).error(function(a,k,n,x){h--;205==k&&(b.push({url:c,scope:d,callback:e}),f());console.error("Cannot subscribe on "+c,a,k,n,x)})):b.push({url:c,scope:d,callback:e})}};return n}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("ReceiptArchiveService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){return{getReceiptArchiveData:function(f,e){if(!f||!f.$id)throw"First argument must be Angularjs scope!";var c=d.customizeObj({list:[],companies:{}});g.get("/receiptArchive").then(function(a){d.customizeArray(a.data,c.list);c.list.forEach(function(a){var h=c.companies[a.companyId];h?h.push(a):d.defineReadOnlyProperty(c.companies,a.companyId,d.customizeArray([a]))});
  54. m.subscribe("/receiptArchive",f,function(a){console.log(a);if("RECEIPT_ARCHIVE_ADDED"===a.action){for(var h=[],k=0;k<a.data.length;k++){var e=a.data[k],l;if(e.recurringInvoice){var f=d.findById(c.list,e.recurringInvoice.id);f?(d.defineReadOnlyProperty(f,"invoicesCount",f.invoicesCount+1),d.defineReadOnlyProperty(f,"sum",f.sum+e.sum),e.date>f.date&&(d.defineReadOnlyProperty(f,"date",e.date),d.defineReadOnlyProperty(f,"paidOn",e.paidOn))):l=d.customizeObj({id:e.recurringInvoice.id,isRecurring:!0,frequency:e.recurringInvoice.frequency,
  55. number:e.recurringInvoice.number,companyId:e.company.id,date:e.date,paidOn:e.paidOn,sum:e.sum,invoicesCount:1})}else l=d.customizeObj({id:e.id,isRecurring:!1,frequency:null,number:e.number,companyId:e.company.id,date:e.date,paidOn:e.paidOn,sum:e.sum,invoicesCount:null});l&&(c.list.push(l),(e=c.companies[l.companyId])?e.push(l):d.defineReadOnlyProperty(c.companies,l.companyId,d.customizeArray([l])),0>h.indexOf(l.companyId)&&h.push(l.companyId))}c.list.sort(d.getComparatorBy("number"));h.forEach(function(a){c.companies[a].sort(d.getComparatorBy("number"))})}else if("COMPANY_ARCHIVED"===
  56. a.action){for(k=0;k<c.list.length;k++)c.list[k].companyId===a.data.id&&(c.list.splice(k,1),k--);delete c.companies[a.data.id]}});e&&e(a.data)},function(a){e&&e(a.data)});return c}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("ReceivableService",["$http","$rootScope","RealTimeService","CompaniesService","Utils","$filter",function(g,q,m,d,f){function e(c,a){if(!c)throw"invoiceIds is required!";var b=g({url:"/receivable/resend",method:"POST",data:c});f.handleCallback(b,a)}return{getReceivedPaymentsSumByCompany:function(c,a,b){if(!c)throw"companyId is required!";if(!a||!a.$id)throw"Second argument must be Angularjs scope!";var d=f.customizeObj({});g.get("/receivable/paymentSum/"+
  57. c).then(function(e){f.customizeObj(e.data,d);m.subscribe("/companyPaymentReceived?targetId="+c,a,function(a){console.log(a);"COMPANY_PAYMENT_RECEIVED"===a.action?(f.defineReadOnlyProperty(d,"value",d.value+a.data),b&&b(d)):"RECEIVED_PAYMENTS_SUM"===a.action&&f.defineReadOnlyProperty(d,"value",a.data)});b&&b(e.data)},function(a){b&&b(a.data)});return d},getReceivableGraphData:function(c,a){var b=f.customizeArray([]);g.get("/receivable/chart/lastDays").then(function(h){f.customizeArray(h.data,b);m.subscribe("/todayReceivableChartPoint?targetId="+
  58. d.getCurrentCompany().id,c,function(a){console.log(a);if("TODAY_RECEIVABLE_CHART_POINT"===a.action){var c=b[b.length-1],d=new Date(c.date),h=new Date(a.data.date);d.getFullYear()===h.getFullYear()&&d.getMonth()===h.getMonth()&&d.getDate()+1===h.getDate()?(b.push(f.customizeObj(a.data)),b.splice(0,1)):f.customizeObj(a.data,c)}});a&&a(h.data)},function(b){a&&a(b.data)});return b},getReceivableInvoicesData:function(c,a){if(!c||!c.$id)throw"First argument must be Angularjs scope!";var b=f.customizeObj({list:[],
  59. companies:{}});g.get("/receivable").then(function(d){for(var e=f.customizeArray([]),g=0;g<d.data.length;g++){var l=f.customizeObj(d.data[g]);if(l.recurringInvoice){var r=f.findById(e,l.recurringInvoice.id);r||(r=l.recurringInvoice,f.defineReadOnlyProperty(r,"isRecurring",!0),f.defineReadOnlyProperty(r,"company",l.company),f.defineReadOnlyProperty(r,"invoices",f.customizeArray([])),e.push(r));f.defineReadOnlyProperty(l,"recurringInvoice",{id:r.id,frequency:r.frequency});r.invoices.push(l)}else e.push(l)}e.sort(f.getComparatorBy("number"));
  60. for(g=0;g<e.length;g++)l=e[g],b.companies[l.company.id]||f.defineReadOnlyProperty(b.companies,l.company.id,f.customizeArray([])),b.companies[l.company.id].push(l);f.defineReadOnlyProperty(b,"list",e);m.subscribe("/receivableInvoice",c,function(a){console.log(a);if("INVOICE_SAVED"==a.action){var c=a.data,d;c.recurringInvoice?(a=f.findById(b.list,c.recurringInvoice.id),a||(a=c.recurringInvoice,a.isRecurring=!0,a.company=c.company,a.invoices=[],d=a),c.recurringInvoice={id:a.id,frequency:a.frequency},
  61. a.invoices.push(c)):d=c;d&&(d=f.customizeObj(d),b.companies[d.company.id]||f.defineReadOnlyProperty(b.companies,d.company.id,[]),b.companies[d.company.id].push(d),b.list.push(d))}else if("INVOICE_STATUS"===a.action)a.data.recurringInvoice?((c=f.findById(b.list,a.data.recurringInvoice.id))||console.error("!!!!!!!----ATEMPT TO CHANGE STATUS OF UNEXISTING RECURRING INVOICE-----!!!!!!!"),c=f.findById(c.invoices,a.data.id)):c=f.findById(b.list,a.data.id),c?f.defineReadOnlyProperty(c,"status",a.data.status):
  62. console.error("!!!!!!!----ATEMPT TO CHANGE STATUS OF UNEXISTING INVOICE-----!!!!!!!!");else if("PAYMENT_RECEIVED"===a.action)for(a=a.data,c=0;c<a.length;c++){var h=a[c],e=u;d=u;for(var k=0;k<b.list.length&&!d;k++){var l=b.list[k];if(l.isRecurring)for(var g=0;g<l.invoices.length&&!d;g++){var r=l.invoices[g];h===r.id&&(l.invoices.splice(g,1),d=r.company.id,e=l.id,0===l.invoices.length&&b.list.splice(k,1))}else h===l.id&&(b.list.splice(k,1),d=l.company.id)}d&&b.companies[d]&&(k=b.companies[d],e?(e=f.indexOfId(k,
  63. e),-1<e&&(-1<f.indexOfId(k[e].invoices,h)&&k[e].invoices.splice(e,1),0===k[e].invoices.length&&k.splice(e,1))):(h=f.indexOfId(k,h),-1<h&&k.splice(h,1)),0===k.length&&delete b.companies[d])}else if("COMPANY_ARCHIVED"==a.action)for(delete b.companies[a.data.id],c=0;c<b.list.length;c++)b.list[c].company.id===a.data.id&&(b.list.splice(c,1),c--)});a&&a(d.data)},function(b){a&&a(b.data)});return b},receivePayment:function(c,a,b){if(!c)throw"paymentMethod is required!";if(!a||0===a.length)throw"invoiceIds is required!";
  64. c=g({url:"/receivable/receivePayment",method:"POST",params:{paymentMethod:c.toUpperCase()},data:a});f.handleCallback(c,b)},resendInvoice:function(c,a){if(!c)throw"invoiceId is required!";e([c],a)},resendInvoices:e,search:function(c){if(!c)throw"Keyword is required!";return g.get("/receivable/search?keyword="+c).then(function(a){return a.data})}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("RecurringService",["$http","$rootScope","RealTimeService","CompaniesService","Utils","$filter",function(g,q,m,d,f){function e(a,b,c,d){if(!b)throw"recurringInvoiceId is required!";if(!c)throw"expense is required!";a={url:"/recurringInvoice/"+b+"/"+a,data:c};c.id?(a.method="PUT",a.url=a.url+"/"+c.id):a.method="POST";c=g(a);f.handleCallback(c,d)}function c(a,b,c){if(!a)throw"recurringInvoiceId is required!";if(!b)throw"expenseId is required!";
  65. a=g({url:"/recurringInvoice/"+a+"/expense/"+b,method:"DELETE"});f.handleCallback(a,c)}return{getRecurringGraphData:function(a,b){var c=["WEEKLY","MONTHLY","YEARLY"],d=f.customizeArray([]);g.get("/recurringInvoice/billed/lastDays").then(function(e){f.customizeArray(e.data,d);m.subscribe("/recurringChart",a,function(a){console.log(a);if("RECURRING_CHART"===a.action){for(var b=new Date(a.data.date),e=0;e<d.length;e++){var g=d[e],n=new Date(g[g.length-1].date);n.getFullYear()===b.getFullYear()&&n.getMonth()===
  66. b.getMonth()&&n.getDate()+1===b.getDate()&&(g.push(f.customizeObj({date:f.formatDate(b),sum:0})),g.splice(0,1))}b=c.indexOf(a.data.type);b=d[b];f.defineReadOnlyProperty(b[b.length-1],"sum",a.data.sum)}});b&&b(e.data)},function(a){b&&b(a.data)});return d},getRecurringCompanies:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";var c=[];g({url:"/recurringInvoice/total",method:"GET"}).then(function(d){f.customizeArray(d.data,c);m.subscribe("/recurringTotal",a,function(a){console.log(a);
  67. if("CLIENT_RECURRING_TOTAL"===a.action){var b=f.indexOfId(c,a.data.id);if(0===a.data.total)-1<b&&c.splice(b,1);else if(-1<b)f.customizeObj(a.data,c[b]);else{for(var b=!0,d=0;d<c.length;d++)c[d].company.id===a.data.company.id&&(c[d].id=a.data.id,c[d].total=a.data.total,c[d].invoicesCount=a.data.invoicesCount,b=!1);b&&c.push(f.customizeObj(a.data))}}else if("COMPANY_ARCHIVED"==a.action)for(b=0;b<c.length;b++)c[b].company.id===a.data.id&&(c.splice(b,1),b--)});b&&b(d.data)},function(a){b&&b(a.data)});
  68. return c},getCompanyRecurringInvoices:function(a,b,c){if(!a)throw"companyId is required!";if(!b||!b.$id)throw"Second argument must be Angularjs scope!";var d=[];g.get("/recurringInvoice?companyId="+a).then(function(e){f.customizeArray(e.data,d);m.subscribe("/recurring?targetId="+a,b,function(a){console.log(a);if("RECURRING_SAVED"==a.action){var b=f.findById(d,a.data.id);b?f.customizeObj(a.data,b):d.push(f.customizeObj(a.data))}else"RECURRING_DELETE"==a.action&&(a=f.indexOfId(d,a.data.id),-1<a&&d.splice(a,
  69. 1))});c&&c(e.data)},function(a){c&&c(a.data)});return d},createRecurringInvoice:function(a,b,c){if(!a)throw"recurringInvoice is required!";if(!b)throw"companyId is required!";a.company={id:b};a=g({url:"/recurringInvoice",method:"POST",data:a});f.handleCallback(a,c)},deleteRecurringInvoice:function(a,b){if(!a)throw"recurringInvoiceId is required!";var c=g({url:"/recurringInvoice/"+a,method:"DELETE"});f.handleCallback(c,b)},deleteAllRecurringInvoicesByCompany:function(a,b,c){if(!a)throw"companyId is required!";
  70. var d=g({url:"/recurringInvoice/company/"+a,method:"DELETE"});f.handleCallback(d,function(d){if(b)for(var e=0;e<b.length;e++)b[e].company.id===a&&(b.splice(e,1),e--);c&&c(d.data)})},saveRecInvProductExpense:function(a,b,c){e("productExpense",a,b,c)},saveRecInvServiceExpense:function(a,b,c){e("serviceExpense",a,b,c)},deleteProductExpenseFromRecInv:function(a,b,d){c(a,b,d)},deleteServiceExpenseFromRecInv:function(a,b,d){c(a,b,d)},search:function(a){if(!a)throw"Keyword is required!";return g.get("/recurringInvoice/search?keyword="+
  71. a).then(function(a){return a.data})},addCompany:function(a,b){if(!a)throw"recurring is required!";if(!b)throw"companyId is required!";for(var c=0;c<a.length;c++)if(a[c].company.id===b)return;a.push({company:d.getOneById(b),total:0,ticketsCount:0})}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("RightPanelService",["$http","$rootScope","RealTimeService","Utils","CompaniesService","UsersService","DevicesService",function(g,q,m,d,f,e,c){function a(){k.groupedData.splice(0,k.groupedData.length);for(var a=f.getClientCompanies(),b=0;b<a.length;b++){var d=a[b];k.groupedData.push({company:d,users:e.getAllByCompanyId(d.id),devices:c.getAgentsByCompany(h,d.id)})}}function b(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";
  72. var c=k.lists[a.$id];if(!c)throw"There is no activities list for scope "+a.$id;c.loadingInProcess?console.log("Loading tickets already in process"):(0<c.list.length&&(c.params.createdAt=c.list[c.list.length-1].createdAt),c.loadingInProcess=!0,g({method:"GET",url:"/activity/",params:c.params}).then(function(a){a&&(d.customizeArray(a.data,c.list),c.loadingInProcess=!1,b&&b(a.data));c.loadingInProcess=!1},function(a){c.loadingInProcess=!1;b&&b(a.data)}))}var h=q.$new(),k={lists:{},recentActivities:{},
  73. groupedData:[]};d.customizeObj(k);f._addAmountChangeListener(a);return{getActivities:function(a,c,e){if(!a||!a.$id)throw"First argument must be Angularjs scope!";var h=d.customizeObj([]),f=!k.lists[a.$id];k.lists[a.$id]={params:c,scope:a,list:h};b(a,function(b){f&&m.subscribe("/activity",a,function(b){console.log(b);"ACTIVITY_CREATED"==b.action&&k.lists[a.$id].list.unshift(d.customizeObj(b.data))});e&&e(b)});a.$on("$destroy",function(){delete k.lists[a.$id]});return h},getRecentActivities:function(a,
  74. b,c){if(!a||!a.$id)throw"First argument must be Angularjs scope!";b.keyword="";var e=d.customizeObj([]);k.recentActivities[a.$id]={params:b,scope:a,list:e};g({method:"GET",url:"/activity/",params:b}).then(function(a){a&&(d.customizeArray(a.data,e),c&&c(a.data))},function(a){c&&c(a.data)});m.subscribe("/activity",a,function(a){console.log(a);"ACTIVITY_CREATED"==a.action&&(e.unshift(d.customizeObj(a.data)),e.pop())});a.$on("$destroy",function(){delete k.lists[a.$id]});return e},loadMoreActivities:b,
  75. getClientCompaniesGroupedData:function(){0==k.groupedData.length&&a();return k.groupedData},getOneCompanyGroupedData:function(a){return{company:f.getOneById(a),users:e.getAllByCompanyId(a),devices:c.getAgentsByCompany(h,a)}},getCurrentUserInfo:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";var c=d.customizeObj({});g.get("/userInfo").then(function(a){d.customizeObj(a.data,c);b&&b(a.data)},function(a){b&&b(a.data)});m.subscribe("/rightBarUserInfo",a,function(a){console.log(a);
  76. "RB_USER_INFO"==a.action&&d.customizeObj(a.data,c)});return c},getClientCompanyInfo:function(a,b,c){if(!a||!a.$id)throw"First argument must be Angularjs scope!";if(!b)throw"companyId is required!";var e=d.customizeObj({});g.get("/companyInfo/"+b).then(function(a){d.customizeObj(a.data,e);c&&c(a.data)},function(a){c&&c(a.data)});m.subscribe("/rightBarCompanyInfo?targetId="+b,a,function(a){console.log(a);"RB_COMPANY_INFO"==a.action&&d.customizeObj(a.data,e)});return e}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("ServicesService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d,f){function e(c,a){var b=a.company.id;b===f.getCurrentCompany().id&&(b="default");c[b]||d.defineReadOnlyProperty(c,b,[]);var e=d.findById(c[b],a.id);e?d.customizeObj(a,e):c[b].push(d.customizeObj(a))}return{search:function(c){if(!c)throw"Keyword is required!";return g.get("/services/search?keyword="+c).then(function(a){return a.data})},getAllByCompany:function(c,
  77. a,b){if(!c||!c.$id)throw"First argument must be Angularjs scope!";if(!a||"[object Function]"===Object.prototype.toString.call(a))throw"companyId is required argument!";return d.getListByUrl("/services/"+a,b,function(a){})},getServicesData:function(c,a,b){function h(a){var b;a:{b=k;var c=a.versionedId.id,h;for(h in b)if("staticCopy"!=h){var f=d.findById(b[h],c);if(f){b=f;break a}}b=void 0}b?d.customizeObj(a,b):e(k,a)}if(!c||!c.$id)throw"First argument must be Angularjs scope!";var k=d.customizeObj({}),
  78. f="/services";a&&(f+="/getDefaultServices");g.get(f).then(function(a){for(var c=0;c<a.data.length;c++)e(k,a.data[c]);b&&b(a.data)},function(a){b&&b(a.data)});m.subscribe("/service",c,function(a){console.log(a);if("SERVICE_SAVED"==a.action)h(a.data);else if("SERVICE_LIST_SAVED"==a.action)for(var b=0;b<a.data.length;b++)h(a.data[b]);else if("SERVICES_MOVED"==a.action)for(b=0;b<a.data.length;b++)e(k,a.data[b]);else if("COMPANY_SERVICES_DELETED"==a.action)delete k[a.data.id];else if("SERVICES_DELETED"==
  79. a.action)for(b=0;b<a.data.length;b++){var c=a.data[b].versionedId.id,f=k,g=void 0;for(g in f){var n=d.indexOfId(f[g],c);-1<n&&f[g].splice(n,1)}}else"COMPANY_ARCHIVED"==a.action&&delete k[a.data.id]});return k},save:function(c,a){if(!c)throw"service is required!";var b="/services",e="POST";c.id&&(e="PUT",b=b+"/"+c.id);b=g({url:b,method:e,data:c});d.handleCallback(b,a)},addCompanyToServiceData:function(c,a){if(!c)throw"data argument is required";if(!a)throw"companyId argument is required";c[a]||d.defineReadOnlyProperty(c,
  80. a,[])},deleteCompanyFromServiceData:function(c,a){if(0<c[a].length)throw"This action cannot be performed on company that has not empty services list! Use deleteCompany() method.";delete c[a]},deleteService:function(c,a){if(!c)throw"serviceId is required argument!";var b=g({url:"/services/"+c,method:"DELETE"});d.handleCallback(b,a)},deleteCompany:function(c,a){if(!c)throw"companyId is required argument!";var b=g({url:"/services/company/"+c,method:"DELETE"});d.handleCallback(b,a)},move:function(c,a){if(!c)throw"mapping is required argument!";
  81. var b=g({url:"/services/move",method:"POST",data:c});d.handleCallback(b,a)},getActualMapping:function(c){var a={},b;for(b in c)if("default"!=b&&"staticCopy"!=b){for(var d=[],e=c[b],f=0;f<e.length;f++)d.push(e[f].originService.versionedId.id);a[b]=d}return a}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("StatisticsService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d,f){return{getResolvedTicketsCountByCompany:function(e,c,a){if(!e)throw"companyId is required!";if(!c||!c.$id)throw"Second argument must be Angularjs scope!";var b=d.customizeObj({});g.get("/statistic/tickets/resolvedCount/"+e).then(function(h){d.customizeObj(h.data,b);m.subscribe("/resolvedTicketsCount?targetId="+e,c,function(a){console.log(a);
  82. "RESOLVED_TICKETS_COUNT"===a.action&&d.defineReadOnlyProperty(b,"value",a.data)});a&&a(h.data)},function(b){a&&a(b.data)});return b},getTicketsResolutionTimeChartDataByCompany:function(e,c,a){if(!e)throw"companyId is required!";if(!c||!c.$id)throw"Second argument must be Angularjs scope!";var b=d.customizeObj({});g.get("/statistic/tickets/resolutionTime/"+e).then(function(h){d.customizeObj(h.data,b);m.subscribe("/ticketsResolutionTimeChart?targetId="+e,c,function(a){console.log(a);"TICKETS_RESOLUTION_TIME_CHART"===
  83. a.action&&d.customizeObj(a.data,b)});a&&a(h.data)},function(b){a&&a(b.data)});return b},getTimeBilledByCompany:function(e,c,a){if(!e)throw"companyId is required!";if(!c||!c.$id)throw"Second argument must be Angularjs scope!";var b=d.customizeObj({});g.get("/statistic/billed/time/"+e).then(function(h){d.customizeObj(h.data,b);m.subscribe("/billedTimeStatistic?targetId="+e,c,function(a){console.log(a);"BILLED_TIME_STATISTIC"===a.action&&d.defineReadOnlyProperty(b,"value",a.data)});a&&a(h.data)},function(b){a&&
  84. a(b.data)});return b},getReceivableAmountByCompany:function(e,c,a){if(!e)throw"companyId is required!";if(!c||!c.$id)throw"Second argument must be Angularjs scope!";var b=d.customizeObj({});g.get("/statistic/companies/receivable/"+e).then(function(h){d.customizeObj(h.data,b);m.subscribe("/todayReceivableChartPoint?targetId="+e,c,function(c){console.log(c);"TODAY_RECEIVABLE_CHART_POINT"===c.action&&d.defineReadOnlyProperty(b,"value",c.data.receivableLeft);a&&a(b)});a&&a(h.data)},function(b){a&&a(b.data)});
  85. return b},getContributedToEarningTopCompanies:function(e,c,a){if(!e)throw"topAmount is required!";if(!c||!c.$id)throw"Second argument must be Angularjs scope!";var b=d.customizeObj({});g.get("/statistic/companies/paymentSum/top/"+e).then(function(e){function f(a){m.subscribe("/companyPaymentReceived?targetId="+a,c,function(c){console.log(c);"COMPANY_PAYMENT_RECEIVED"===c.action&&d.defineReadOnlyProperty(b,a,(b[a]?b[a]:0)+c.data)})}for(var g in e.data)f(g);d.customizeObj(e.data,b);a&&a(e.data)},function(b){a&&
  86. a(b.data)});return b},getTopCompaniesByResolvedTickets:function(e,c,a){if(!e)throw"topAmount is required!";if(!c||!c.$id)throw"Second argument must be Angularjs scope!";var b=d.customizeObj({});g.get("/statistic/companies/resolvedTicket/top/"+e).then(function(e){function f(a){m.subscribe("/resolvedTicketsCount?targetId="+a,c,function(c){console.log(c);"RESOLVED_TICKETS_COUNT"===c.action&&d.defineReadOnlyProperty(b,a,c.data)})}for(var g in e.data)f(g);d.customizeObj(e.data,b);a&&a(e.data)},function(b){a&&
  87. a(b.data)});return b},getTotalEarningsByDays:function(e,c,a,b,f){if(!e)throw"companyId is required!";if(!c)throw"from date is required!";if(!a)throw"to date is required!";if(c.getTime()>a.getTime())throw"from date should be less that to date!";if(!b||!b.$id)throw"Angularjs scope is required!";var k=d.customizeObj({});g.get("/statistic/companies/paymentSum/receivedInterval/"+e+"?from="+d.formatDate(c)+"&to="+d.formatDate(a)).then(function(a){var c,g;for(g in a.data)c?(new Date(g)).getTime()>(new Date(c)).getTime()&&
  88. (c=g):c=g;var p=new Date(c);d.customizeObj(a.data,k);m.subscribe("/companyPaymentReceived?targetId="+e,b,function(a){console.log(a);if("COMPANY_PAYMENT_RECEIVED"===a.action){var b=new Date;p.getFullYear()===b.getFullYear()&&p.getMonth()===b.getMonth()&&p.getDate()===b.getDate()&&d.defineReadOnlyProperty(k,c,k[c]+a.data)}});f&&f(a.data)},function(a){f&&f(a.data)});return k},getTotalReceivableByDays:function(e,c,a,b,f){if(!e)throw"companyId is required!";if(!c)throw"from date is required!";if(!a)throw"to date is required!";
  89. if(c.getTime()>a.getTime())throw"from date should be less that to date!";if(!b||!b.$id)throw"Angularjs scope is required!";var k=d.customizeObj({});g.get("/statistic/companies/receivable/totalInterval/"+e+"?from="+d.formatDate(c)+"&to="+d.formatDate(a)).then(function(a){function c(a){var b=new Date;if(a.getFullYear()===b.getFullYear()&&a.getMonth()===b.getMonth()&&a.getDate()===b.getDate())return!0}var g,p;for(p in a.data)g?(new Date(p)).getTime()>(new Date(g)).getTime()&&(g=p):g=p;d.customizeObj(a.data,
  90. k);c(new Date(g))&&m.subscribe("/todayReceivableChartPoint?targetId="+e,b,function(a){console.log(a);"TODAY_RECEIVABLE_CHART_POINT"===a.action&&c(new Date(a.data.date))&&d.defineReadOnlyProperty(k,g,a.data.total)});f&&f(a.data)},function(a){f&&f(a.data)});return k},getTicketsClosedByDays:function(e,c,a,b,f){if(!e)throw"companyId is required!";if(!c)throw"from date is required!";if(!a)throw"to date is required!";if(c.getTime()>a.getTime())throw"from date should be less that to date!";if(!b||!b.$id)throw"Angularjs scope is required!";
  91. var k=d.customizeObj({});g.get("/statistic/companies/resolvedTicket/interval/"+e+"?from="+d.formatDate(c)+"&to="+d.formatDate(a)).then(function(a){function c(a){var b,d;for(d in a)if("staticCopy"!=d){b=d;break}if(b){a=new Date(a[b]);for(var e in k)if("staticCopy"!==e&&(b=new Date(e),b.getFullYear()===a.getFullYear()&&b.getMonth()===a.getMonth()&&b.getDate()===a.getDate()))return e}}d.customizeObj(a.data,k);m.subscribe("/ticketResolution?targetId="+e,b,function(a){console.log(a);"TICKET_RESOLVED"===
  92. a.action?(a=c(a.data))&&d.defineReadOnlyProperty(k,a,k[a]+1):"TICKET_REOPENED"===a.action&&(a=c(a.data))&&d.defineReadOnlyProperty(k,a,k[a]-1);f&&f()});f&&f(a.data)},function(a){f&&f(a.data)});return k},getUserSubmittedTicketsByCompany:function(e,c,a){if(!e)throw"companyId is required!";if(!c||!c.$id)throw"Angularjs scope is required!";var b=d.customizeObj({});g.get("/statistic/tickets/submittedTickets/"+e).then(function(f){d.customizeObj(f.data,b);m.subscribe("/userSubmittedTicket?targetId="+e,c,
  93. function(a){console.log(a);"USER_SUBMITTED_TICKET"===a.action&&d.defineReadOnlyProperty(b,a.data,(b[a.data]||0)+1)});a&&a(f.data)},function(b){a&&a(b.data)});return b}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("SubscriptionsService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d,f){function e(c,a,b,e,f){var n=d.customizeObj({});g(c).then(function(c){for(var g=0;g<c.data.length;g++){var p=c.data[g];d.defineReadOnlyProperty(n,p.user.id,d.customizeObj(p))}m.subscribe("/subscription?targetId="+a,b,function(a){console.log(a);"SUBSCRIPTION_SAVED"==a.action?a.data.user&&(!f||-1<f.indexOf(a.data.user.id))&&d.defineReadOnlyProperty(n,
  94. a.data.user.id,d.customizeObj(a.data)):"SUBSCRIPTION_DELETED"==a.action&&delete n[a.data.user.id]});e&&e(c.data)},function(a){e&&e(a.data)});return n}return{saveUserSubscription:function(c,a){if(!c)throw"userSubscription is required argument!";var b="/subscription",e="POST";c.id&&(b+="/"+c.id,e="PUT");b=g({url:b,method:e,data:c});d.handleCallback(b,a)},deleteUserSubscription:function(c,a){if(!c)throw"userSubscriptionId is required argument!";var b=g({url:"/subscription/"+c,method:"DELETE"});d.handleCallback(b,
  95. a)},getUserSubscriptionsByCompanyId:function(c,a,b){if(!c)throw"companyId is required argument!";if(!a||!a.$id)throw"Second argument must be Angularjs scope!";return e({url:"/subscription/company/users/"+c,method:"GET"},c,a,b)},getAllClientUserSubscriptions:function(c,a){if(!c||!c.$id)throw"Second argument must be Angularjs scope!";return e({url:"/subscription/clientUsers",method:"GET"},f.getCurrentCompany().id,c,a)},getUserSubscriptionsByUserIds:function(c,a,b){if(!c||0==c.length)throw"userIds is required argument!";
  96. if(!a||!a.$id)throw"Second argument must be Angularjs scope!";Array.isArray(c)||(c=[c]);return e({url:"/subscription/users/",method:"POST",data:c},f.getCurrentCompany().id,a,b,c)}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("TaxRatesService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){return{getAllByCompany:function(f,e,c){if(!e||!e.$id)throw"First argument must be Angularjs scope!";if(!f||"[object Function]"===Object.prototype.toString.call(f))throw"companyId is required argument!";return d.getListByUrl("/taxRate/"+f,c,function(a){m.subscribe("/taxRate?targetId="+f,e,function(b){console.log(b);if("TAX_RATE_SAVE"==b.action){var c=
  97. d.findById(a,b.data.versionedId.id);c?d.customizeObj(b.data,c):a.push(d.customizeObj(b.data))}else"TAX_RATE_DELETE"==b.action&&(d.deleteById(a,b.data.versionedId.id),e.$broadcast("tax_rate_delete",b.data))})})},save:function(f,e){if(!f)throw"taxRate is required!";var c="/taxRate",a="POST";f.id&&(a="PUT",c=c+"/"+f.id);c=g({url:c,method:a,data:f});d.handleCallback(c,e)},saveList:function(f,e){if(!f)throw"taxRate is required!";var c=g({url:"/taxRate/saveList",method:"POST",data:{taxRates:f}});d.handleCallback(c,
  98. e)},deleteTaxRate:function(f,e){if(!f)throw"taxRateId is required argument!";var c=g({url:"/taxRate/"+f,method:"DELETE"});d.handleCallback(c,e)},isUniqueInCompany:function(f,e,c,a){if(!f)throw"taxRateCode is required!";if(!c)throw"companyId is required!";var b=d.customizeObj({});g.get("/taxRate/isUniqueInCompany?taxRateCode="+f+"&id="+e+"&companyId="+c).then(function(c){d.customizeObj(c.data,b);a&&a(c.data)},function(b){a&&a(b.data)});return b}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("TicketsService",["$http","$rootScope","RealTimeService","Utils","TicketTagsService","CompaniesService",function(g,q,m,d,f,e){function c(a){a=angular.extend({},a);a.filter&&(a.filter=a.filter.toUpperCase());a.priority&&(a.priority=a.priority.toUpperCase());a.status&&(a.status=a.status.toUpperCase());return a}function a(a,b){return a.createdAt-b.createdAt}function b(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";var c=v.lists[a.$id];
  99. if(!c)throw"There is no ticket list for scope "+a.$id;c.loadingInProcess?console.log("Loading tickets already in process"):(0<c.list.length?c.params.lastId=c.list[c.list.length-1].id:delete c.params.lastId,c.loadingInProcess=!0,g({method:"GET",url:"/v2/tickets",params:c.params}).then(function(e){if(e){for(var g=0;g<e.data.length;g++){var k=e.data[g];k.number="Tkt# "+k.number;k.tags&&f._makeDynamic(k.tags,a);var h=d.findById(c.list,k.id);h?d.customizeObj(k,h):c.list.push(d.customizeObj(k))}c.loadingInProcess=
  100. !1;b&&b(e.data)}c.loadingInProcess=!1},function(a){c.loadingInProcess=!1;b&&b(a.data)}))}function h(a,b,c,e){c={value:c};"[object Array]"===Object.prototype.toString.call(b)?(a="/v2/tickets/"+a,c.ids=b):a="/v2/tickets/"+b+"/"+a;b=g.put(a,c);d.handleCallback(b,e)}function k(a,b){for(var c in v.lists)for(var d=v.lists[c].list,e=0;e<d.length;e++){var f=d[e];if(f.id===a){b(f);break}}for(c in v.tickets)d=v.tickets[c].ticket,d.id===a&&b(d)}function n(a,b,c){if("USER"===c.filter){if("COMPLETED"===a.status&&
  101. "COMPLETED"!==b.status)return 1;if("COMPLETED"===b.status&&"COMPLETED"!==a.status)return-1}return z[c.filter](b)-z[c.filter](a)}function l(a){return a.assignedAt||a.createdAt}function r(a,b){return"URGENT"==b.filter&&("HIGH"!=a.priorityLevel||"COMPLETED"==a.status||"ADMIN"!==q.currentUser.role&&!a.sharedToCurrentUserAt)||"UNASSIGNED"==b.filter&&a.assignedUser&&a.assignedUser.id||"USER"==b.filter&&(!a.assignedUser||a.assignedUser.id!=q.currentUser.id)||"OPEN"==b.filter&&"COMPLETED"==a.status||"CLOSED"==
  102. b.filter&&("COMPLETED"!=a.status||"ADMIN"!==q.currentUser.role&&"SUPER_TECH_ADMIN"!==q.currentUser.role&&(!a.assignedUser||a.assignedUser.id!=q.currentUser.id))||"SHARED"==b.filter&&!a.sharedToCurrentUserAt||!("USER_SPAM"!=b.filter||a.spamReporter&&a.spamReporter.id&&q.currentUser.id==a.spamReporter.id)||"ADMIN_REPORTED_AS_SPAM"==b.filter&&(!a.spamReporter||!a.spamReporter.id||a.spamMarker&&a.spamMarker.id)||!("ADMIN_MARKED_AS_SPAM"!=b.filter||a.spamMarker&&a.spamMarker.id)||"TRASH"==b.filter&&!a.trash||
  103. "USER_SPAM"!==b.filter&&"ADMIN_REPORTED_AS_SPAM"!==b.filter&&"ADMIN_MARKED_AS_SPAM"!==b.filter&&"TRASH"!==b.filter&&(a.spamMarker&&a.spamMarker.id||a.spamReporter&&a.spamReporter.id||a.trash)||b.companyId&&b.companyId!=a.company.id||b.status&&b.status!=a.status||b.priority&&b.priority!=a.priorityLevel?!1:!0}var p="ASSIGNED_USER PRIORITY_CHANGED STATUS TRASH REPORT_AS_SPAM RESTORE_FROM_SPAM TICKET_INVOICED TICKET_SHARE MARKED_AS_SPAM".split(" "),y=0,v={lists:{},tickets:{},counts:{}};e=q.$new();m.subscribe("/tickets",
  104. e,function(a){console.log(a);a.data&&a.data.number&&(a.data.number="Tkt# "+a.data.number);if("CREATED_TICKET"===a.action){var c=d.customizeObj(a.data,{}),e;for(e in v.lists){var g=v.lists[e];if(r(a.data,g.params)){var h=d.findById(g.list,a.data.id);h?d.customizeObj(a.data,h):g.list.unshift(c)}}}else if(-1<p.indexOf(a.action)){c=d.customizeObj(a.data,{});for(e in v.lists){var g=v.lists[e],h=!1,l=d.indexOfId(g.list,c.id);if(-1<l)r(a.data,g.params)?(d.customizeObj(c,g.list[l]),h=!0):(g.list.splice(l,
  105. 1),q.$broadcast("ticket_is_not_available_anymore",{ticketId:a.data.id,ticketType:g.params.filter}));else if(r(a.data,g.params))if(0===g.list.length)g.list.push(c);else if(l=g.list[g.list.length-1],15>g.list.length||0>=n(c,l,g.params))g.list.push(c),h=!0;h&&g.list.sort(function(a,b){return n(a,b,g.params)})}for(e in v.tickets)h=v.tickets[e].ticket,h.id===c.id&&d.customizeObj(c,h)}else if("READ"===a.action)k(a.data.id,function(a){d.defineReadOnlyProperty(a,"unread",!1)});else if("TICKET_UPDATES_READ"===
  106. a.action)k(a.data.id,function(a){d.defineReadOnlyProperty(a,"hasNewUpdates",!1)});else if("TICKET_COLLAPSED"===a.action||"TICKET_DELETED"===a.action){for(e in v.lists)d.deleteById(v.lists[e].list,a.data.id);for(e in v.tickets)c=v.tickets[e],c.ticket.id===a.data.id&&(delete v.tickets[e],c.scope.$broadcast("ticket_is_not_available_anymore",{ticketId:a.data.id}))}else if("TAG_LINKED"===a.action)for(c in a.data)k(c,function(b){f._merge(b.tags,a.data[b.id])});else if("COMPANY_ARCHIVED"===a.action){for(e in v.lists){h=
  107. v.lists[e].list;for(l=0;l<h.length;l++)c=h[l],c.company.id===a.data.id&&(h.splice(l,1),l--);h.length<t.layLoadingPageSize&&b(v.lists[e].scope)}for(e in v.tickets)c=v.tickets[e],h=c.ticket,h.company.id===a.data.id&&(delete v.tickets[e],c.scope.$broadcast("ticket_is_not_available_anymore",{ticketId:a.data.id}))}else"TICKET_BILLABLE"===a.action&&k(a.data.id,function(b){d.defineReadOnlyProperty(b,"isBillable",a.data.isBillable)})});var z={URGENT:l,UNASSIGNED:function(a){return a.createdAt},USER:function(a){return a.closedAt||
  108. a.assignedAt},OPEN:function(a){return a.assignedAt},CLOSED:function(a){return a.closedAt},SHARED:function(a){return a.sharedToCurrentUserAt},ALL:l,NOT_SPAM_OR_TRASH:l,USER_SPAM:function(a){return a.reportedAsSpamAt},ADMIN_REPORTED_AS_SPAM:function(a){return a.reportedAsSpamAt},ADMIN_MARKED_AS_SPAM:function(a){return a.markedAsSpamAt},TRASH:function(a){return a.deletedAt}};return{getList:function(a,e,f){if(!a||!a.$id)throw"First argument must be Angularjs scope!";if(!e||!e.filter)throw"'filter' is mandatory parameter that must be counted in second argument";
  109. e=c(e);var g=d.customizeObj([]);v.lists[a.$id]={params:e,scope:a,list:g};b(a,f);a.$on("$destroy",function(){delete v.lists[a.$id]});return g},getCurrentlyWorkingWith:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";return d.getListByUrl("/v2/tickets/currentlyWorkingWith",b,function(b){m.subscribe("/tickets",a,function(a){console.log(a);"CURRENTLY_WORKING_WITH"==a.action&&(b.splice(0,b.length),d.customizeArray(a.data,b))})})},loadMore:b,search:function(a,b){if(!a||!a.filter)throw"'filter' is mandatory parameter that must be counted in first argument";
  110. if(!a.keyword)throw"'keyword' is mandatory parameter that must be counted in first argument";if(3>a.keyword.length)throw"minimal length of 'keyword' is 3 characters";a=c(a);var d=[];g({method:"GET",url:"/v2/tickets/search",params:a}).then(function(a){for(var c=0;c<a.data.length;c++)d.push(a.data[c]);b&&b(d);return d},function(a){b&&b(a)});return d},getCount:function(a,b,e){if(!b||!b.$id)throw"Second argument must be Angularjs scope!";if(!a||!a.filter)throw"'filter' is mandatory parameter that must be counted in first argument";
  111. a=c(a);var f=d.customizeObj({});g({method:"GET",url:"/v2/tickets/countByType",params:a}).then(function(a){d.customizeObj(a.data,f);e&&e(a.data)},function(a){e&&e(a.data)});m.subscribe("/ticketsCount",b,function(b){console.log(b);"TICKETS_COUNT_CHANGED"==b.action&&g({method:"GET",url:"/v2/tickets/countByType",params:a}).then(function(a){d.customizeObj(a.data,f);e&&e(a.data)},function(a){e&&e(a.data)})});return f},getCounts:function(a,b){if(!a||!a.$id)throw"Second argument must be Angularjs scope!";
  112. var c=y++,e=d.customizeObj({});v.counts[c]=e;a.$on("$destroy",function(){delete v.counts[c]});g.get("/data/getCounters").then(function(a){d.customizeObj(a.data,e);b&&b(a.data)},function(a){b&&b(a.data)});m.subscribe("/leftPanelCounts",a,function(a){console.log(a);"LEFT_PANEL_COUNTS"==a.action&&d.customizeObj(a.data,e)});return e},getCountsByTypesAndCompany:function(a,b,c,e){function f(){g({url:"/v2/tickets/counts/",data:{companyId:b,types:c},method:"POST"}).then(function(a){d.customizeObj(a.data,
  113. k);e&&e(a.data)},function(a){e&&e(a.data)})}if(!a||!a.$id)throw"Second argument must be Angularjs scope!";if(!b)throw"companyId is required!";if(!c||0==c.length)throw"ticketTypes is required!";var k=d.customizeObj({});f();m.subscribe("/ticketsCount",a,function(a){console.log(a);"TICKETS_COUNT_CHANGED"==a.action&&f()});return k},getOne:function(b,c,e,k,h){if(!b)throw"Id is mandatory argument!";if(!c)throw"ticketsType is mandatory argument!";if(!e||!e.$id)throw"Third argument must be Angularjs scope!";
  114. var l=y++,n={id:b};c="SPAM"===c.toUpperCase()?"":c.toUpperCase();var r="/v2/tickets/"+b+"?ticketsType="+c;k&&(r+="&view=extended");v.tickets[l]={ticket:n,scope:e};e.$on("$destroy",function(){delete v.tickets[l]});g.get(r).then(function(b){400!==b.data.code&&(b.data.number="Tkt# "+b.data.number,d.customizeObj(b.data,n),n.tags&&f._makeDynamic(n.tags,e),k&&n.updates.sort(a));h&&h(b.data)},function(a){h&&h(a.data)});k&&m.subscribe("/ticketUpdates?targetId="+b,e,function(b){console.log(b);if("UPDATE_SAVED"==
  115. b.action||"UPDATE_CREATED"==b.action){var e="SHARED"!==c.toUpperCase()||b.data.user.id===q.currentUser.id;if(!e)for(var f=0;f<b.data.shares.length&&!e;f++)e=(e=b.data.shares[f].user)&&e.id===q.currentUser.id;e?(f=d.findById(n.updates,b.data.id))?d.customizeObj(b.data,f):(f=d.customizeObj(b.data),n.updates.push(f)):d.deleteById(n.updates,b.data.id);n.updates.sort(a)}else"UPDATE_DELETED"==b.action&&d.deleteById(n.updates,b.data.id)});return n},changePriority:function(a,b,c){if(!a||!b)throw"ticketId and priority is required arguments!";
  116. h("priority",a,b.toUpperCase(),c)},assignTo:function(a,b,c){if(!a||!b)throw"ticketId and userId is required arguments!";h("assign",a,b,c)},changeStatus:function(a,b,c){if(!a||!b)throw"ticketId and status is required arguments!";h("status",a,b.toUpperCase(),c)},markAsSpam:function(a,b){if(!a)throw"ticketId is required arguments!";h("markAsSpam",a,!1,b)},reportAsSpam:function(a,b){if(!a)throw"ticketId is required arguments!";h("reportAsSpam",a,!1,b)},restoreFromSpam:function(a,b){if(!a)throw"ticketId is required arguments!";
  117. h("restoreFromSpam",a,!1,b)},changeTrashFlag:function(a,b,c){if(!a)throw"ticketId is required arguments!";h("trash",a,!!b,c)},deleteForever:function(a,b){if(!a)throw"ticketId is required arguments!";var c=a;"[object Array]"!==Object.prototype.toString.call(a)&&(c=[a]);c=g({url:"/v2/tickets/delete/",data:{ids:c},method:"POST"});d.handleCallback(c,b)},claimUser:function(a){g.get("/tickets/claimUser?ticketId="+a)},createTicket:function(a,b){a.priorityLevel&&(a.priorityLevel=a.priorityLevel.toUpperCase());
  118. var c=g.post("/v2/tickets",a);d.handleCallback(c,b)},getActualNumber:function(a,b){g.get("/data/actualNumber?type=TICKET").success(function(a){b(a.number)});m.subscribe("/number?targetId=TICKET",a,function(a){console.log(a);"NUMBER_CHANGED"===a.action&&b(d.getFormattedNumber(a.data,!0))})},createTicketUpdate:function(a,b,c){if(!a)throw"ticketUpdate is required arguments!";if(!a.ticket.id)throw"ticketUpdate.ticket.id is required!";if(a.id)throw"TicketUpdate must be new, without ticketUpdate.id!";if(!a.type)throw"ticketUpdate.type is required!";
  119. if(!a.note&&!a.products&&!a.services)throw"In TicketUpdate must be or note or products or services!";a=g({url:"/v2/tickets/updates",method:"POST",params:{close:!!b},data:a});d.handleCallback(a,c)},deleteTicketUpdate:function(a,b,c){a=g({url:"/v2/tickets/"+a+"/updates/"+b,method:"DELETE"});d.handleCallback(a,c)},loadRemainingTicketUpdates:function(b,c){if(!b.id||!b.updates)throw"You can load updates only for detailed ticket!";if(0==b.updates.length)throw"There is no updates";for(var e=[],f=0;f<b.updates.length;f++)e.push(b.updates[f].id);
  120. g({url:"/v2/tickets/"+b.id+"/updates/fetch",method:"POST",data:e}).then(function(e){d.customizeArray(e.data,b.updates);d.defineReadOnlyProperty(b,"unloadedUpdates",0);b.updates.sort(a);c&&c(e.data)},function(a){c&&c(a.data)})},markUpdateAsRead:function(a,b,c){if(!a||!b)throw"ticketId and updateIds is required parameters";a=g({url:"/v2/tickets/"+a+"/updates/read",method:"POST",data:b});d.handleCallback(a,c)},updateExpenseInTicketUpdate:function(a,b){if(!a)throw"expense is required!";if(!a.ticketUpdateId)throw"ticketUpdateId is required!";
  121. if(!a.serviceExpense&&!a.productExpense)throw"serviceExpense or productExpense is required!";var c=g({url:"/v2/tickets/ticketUpdate/updateExpense",method:"PUT",data:a});d.handleCallback(c,b)}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("TicketTagsService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){function f(a,b){return b.createdAt-a.createdAt}function e(a){b=q.$new();h.tags=d.customizeArray([]);g.get("/tag").then(function(c){d.customizeArray(c.data,h.tags);h.tags&&(h.tags.sort(f),m.subscribe("/tags",b,function(a){console.log(a);if(h.tags)if("TAG_SAVED"==a.action){var b=d.findById(h.tags,a.data.id);b?d.customizeObj(a.data,b):(h.tags.unshift(d.customizeObj(a.data)),
  122. h.tags.sort(f))}else if("TAG_REMOVED"==a.action)for(b in d.deleteById(h.tags,a.data.id),h.dynamicLists)for(var c=h.dynamicLists[b],e=0;e<c.length;e++)d.deleteById(c[e],a.data.id)}),a&&a(c.data))},function(b){console.log("ERROR!!!!!",b);a&&a(b.data)})}function c(){0===h.watchers.length&&w.isEmptyObject(h.dynamicLists)&&(b.$destroy(),h.tags=u)}function a(b,c){if(!c||!c.$id)throw"First argument must be Angularjs scope!";if(h.tags){for(var f=0;f<b.length;f++)b[f]=d.findById(h.tags,b[f].id);for(;-1<(f=
  123. b.indexOf(u));)b.splice(f,1);h.addDynamicList(b,c)}else e(function(){a(b,c)})}var b,h={tags:u,watchers:[],dynamicLists:{},addWatcher:function(a){var b=this.watchers;0>b.indexOf(a.$id)&&(b.push(a.$id),a.$on("$destroy",function(){var d=b.indexOf(a.$id);b.splice(d,1);c()}))},addDynamicList:function(a,b){var d=this.dynamicLists;d[b.$id]||(d[b.$id]=[]);d[b.$id].push(a);b.$on("$destroy",function(){delete d[b.$id];c()})}};return{_makeDynamic:a,_merge:function(a,b){a.splice(0,a.length);for(var c=0;c<b.length;c++){var e=
  124. d.findById(h.tags,b[c]);e&&a.push(e)}},getList:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";h.tags?b&&setTimeout(function(){b(h.tags.staticCopy())},100):e(b);h.addWatcher(a);return h.tags},save:function(a,b){if(!a)throw"ticketTag is required argument!";var c="/tag",e="POST";a.id&&(c+="/"+a.id,e="PUT");c=g({url:c,method:e,data:a});d.handleCallback(c,b)},deleteTag:function(a,b){if(!a)throw"tagId is required argument!";var c=g({url:"/tag/"+a,method:"DELETE"});d.handleCallback(c,
  125. b)},link:function(a,b){if(!a)throw"linkMap is required argument!";var c=g({url:"/tag/link",method:"POST",data:a});d.handleCallback(c,b)},getTicketsCounts:function(a,b){if(!a||!a.$id)throw"First argument must be Angularjs scope!";var c=d.customizeObj({});g.get("/tag/counts").then(function(a){d.customizeObj(a.data,c);b&&b(a.data)},function(a){b&&b(a.data)});m.subscribe("/tagCounts",a,function(a){console.log(a);"TAG_COUNTS"==a.action&&d.customizeObj(a.data,c)});return c}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("UsersService",["$http","$rootScope","RealTimeService","Utils","CompaniesService",function(g,q,m,d,f){function e(a){var b=d.findById(p.users,a.id);b?(d.customizeObj(a,b),q.currentUser.id===b.id&&d.customizeObj(a,q.currentUser)):(a=d.customizeObj(a),p.users.push(a),a.company.id!==f.getCurrentCompany().id&&p.clientUsers.push(a),c(a),p.usersByCompanies[a.company.id]||(p.usersByCompanies[a.company.id]=[]),p.usersByCompanies[a.company.id].push(a))}
  126. function c(a){var b=[a.firstName,a.lastName].map(function(a){return a.charAt(0).toUpperCase()}).join("");d.defineReadOnlyProperty(a,"initials",b)}function a(){return b(q.currentUser.id)}function b(a){return d.findById(p.users,a)}function h(b,c,d){if(!b)throw"Keyword is required!";var e=[];d=d?p.usersByCompanies[d]||[]:p.users;for(var f=0;f<d.length;f++){var g=d[f];(c||a().company.id!==g.company.id)&&-1<(g.firstName+" "+g.lastName).toLowerCase().indexOf(b.toLowerCase())&&e.push(g)}return e}var k=q.$new(),
  127. n=[],l=!1,r=!1,p={users:[],clientUsers:[],usersByCompanies:{}};d.customizeObj(p);f._addInitListener(function(){r||(r=!0,g.get("/users").then(function(a){d.customizeArray(a.data,p.users);for(a=0;a<p.users.length;a++){var b=p.users[a];c(b);p.usersByCompanies[b.company.id]||(p.usersByCompanies[b.company.id]=[]);p.usersByCompanies[b.company.id].push(b);b.company.id!==f.getCurrentCompany().id&&p.clientUsers.push(b)}l=!0;for(a=0;a<n.length;a++)n[a]();n=[]},function(a){console.error(a);throw"Cannot initialize CompaniesService!";
  128. }),m.subscribe("/user",k,function(a){console.log(a);if(l)if("USER_SAVED"==a.action)e(a.data);else if("USER_DELETED"==a.action){var b=d.findById(p.users,a.data.id);d.deleteById(p.users,a.data.id);d.deleteById(p.clientUsers,a.data.id);b&&d.deleteById(p.usersByCompanies[b.company.id],a.data.id)}else if("USER_ONLINE"==a.action)(b=d.findById(p.users,a.data.id))&&d.defineReadOnlyProperty(b,"online",!!a.data.online);else if("COMPANY_ARCHIVED"==a.action){for(b=0;b<p.users.length;b++)p.users[b].company.id===
  129. a.data.id&&(p.users.splice(b,1),b--);for(b=0;b<p.clientUsers.length;b++)p.clientUsers[b].company.id===a.data.id&&(p.clientUsers.splice(b,1),b--);delete p.usersByCompanies[a.data.id]}else"USERS_DEARCHIVED"==a.action&&a.data.forEach(e)}),m.subscribe("/subscription?targetId="+f.getCurrentCompany().id,k,function(a){console.log(a);if(a.data.user){var b=d.findById(p.users,a.data.user.id);b&&("SUBSCRIPTION_SAVED"==a.action?d.defineReadOnlyProperty(b,"subscription",d.customizeObj(a.data)):"SUBSCRIPTION_DELETED"==
  130. a.action&&delete b.subscription)}}))});return{_addInitListener:function(a){if(!a)throw"callback is required!";l?a():n.push(a)},getCurrentUser:a,getAllUsers:function(){return p.users},getClientUsers:function(){return p.clientUsers},getAllByCompanyId:function(a){return p.usersByCompanies[a]||[]},getOneById:b,getUserProfile:function(a){var b={};g.get("/settings/userProfile/").then(function(c){d.customizeObj(c.data,b);a&&a(c.data)},function(b){a&&a(b.data)});return b},getUnassignedUser:function(a){for(var b=
  131. 0;b<p.usersByCompanies[a].length;b++)if(p.usersByCompanies[a][b].isDefault)return p.usersByCompanies[a][b]},searchByAllUsers:function(a){return h(a,!0)},searchByClientUsers:function(a){return h(a,!1)},searchByUsersFromCompany:function(a,b){return h(a,!1,b)},changeUserRole:function(a,b,c){if(!a)throw"userId is required!";if(!b)throw"roleName is required!";a=g({url:"/users/updateRole/"+a+"?role="+b.toUpperCase(),method:"PUT"});d.handleCallback(a,c)},save:function(a,b){if(!a)throw"user is required!";
  132. var c="/users",e="POST";a.id&&(e="PUT",c=c+"/"+a.id);c=g({url:c,method:e,data:a});d.handleCallback(c,b)},saveForUserProfile:function(a,b,c){if(!a)throw"data is required!";if(!b)throw"toUpdate is required!";b="/settings/userProfile/"+b.toLowerCase();a=g({url:b,method:"PUT",data:a});d.handleCallback(a,c)},deleteOrArchiveUser:function(a,b,c){if(!a)throw"ids is required!";if(b===u)throw"isArchive is required!";Array.isArray(a)||(a=[a]);a=g({url:"/users/"+!!b,method:"POST",data:a});d.handleCallback(a,
  133. c)},isEmailUnique:function(a,b,c){if(!a)throw"email is required!";var e=d.customizeObj({});g.get("/users/isEmailUnique?email="+a+"&id="+b).then(function(a){d.customizeObj(a.data,e);c&&c(a.data)},function(a){c&&c(a.data)});return e}}}])})(window,jQuery);(function(t,w,u){angular.module("main.services").factory("VendorsService",["$http","$rootScope","RealTimeService","Utils","$filter",function(g,q,m,d){return{save:function(f,e){if(!f)throw"vendor is required!";var c="POST";f.id&&(c="PUT");c=g({url:"/vendor",method:c,data:f});d.handleCallback(c,e)},getAll:function(f,e){if(!f||!f.$id)throw"First argument must be Angularjs scope!";return d.getListByUrl("/vendor",e,function(c){m.subscribe("/vendor",f,function(a){console.log(a);if("VENDOR_SAVE"==a.action){var b=
  134. d.findById(c,a.data.id);b?d.customizeObj(a.data,b):c.push(d.customizeObj(a.data))}else if("VENDOR_ARCHIVED"==a.action)d.deleteById(c,a.data.id),f.$broadcast("vendor_archived",a.data);else if("VENDOR_DEARCHIVED"==a.action)c.push(d.customizeObj(a.data)),f.$broadcast("vendor_dearchived",a.data);else if("VENDOR_PRODUCT_SAVE"==a.action){var b=d.findById(c,a.data.id),e=d.findById(b.products,a.data.products[0].versionedId.id);if(b&&e)for(a=0;b.products.length<a;a++);else b&&(b.products[b.products.length]=
  135. a.data.products[0])}else"VENDOR_PRODUCT_DELETE"==a.action&&(b=d.findById(c,a.data.id))&&d.deleteById(b.products,a.data.products[0].versionedId.id)})})},getAllForCompanyProfile:function(f,e,c){if(!f||!f.$id)throw"First argument must be Angularjs scope!";if(!e)throw"companyId is required!";return d.getListByUrl("/vendor/companyProfile/"+e,c,function(a){m.subscribe("/vendor",f,function(b){console.log(b);if("VENDOR_SAVE"==b.action){var c=d.findById(a,b.data.id);c?d.customizeObj(b.data,c):a.push(d.customizeObj(b.data))}else if("VENDOR_ARCHIVED"==
  136. b.action)d.deleteById(a,b.data.id),f.$broadcast("vendor_archived",b.data);else if("VENDOR_DEARCHIVED"==b.action)a.push(d.customizeObj(b.data)),f.$broadcast("vendor_dearchived",b.data);else if("VENDOR_PRODUCT_SAVE"==b.action){var c=d.findById(a,b.data.id),e=d.findById(c.products,b.data.products[0].versionedId.id);if(c&&e)for(b=0;c.products.length<b;b++);else c&&(c.products[c.products.length]=b.data.products[0])}else"VENDOR_PRODUCT_DELETE"==b.action&&(c=d.findById(a,b.data.id))&&d.deleteById(c.products,
  137. b.data.products[0].versionedId.id)})})},getAllForAutocomplete:function(f,e){if(!f||!f.$id)throw"First argument must be Angularjs scope!";return d.getListByUrl("/vendor/autocomplete/list",e,function(c){m.subscribe("/vendor",f,function(a){console.log(a);if("VENDOR_SAVE"==a.action){var b=d.findById(c,a.data.id);b?d.customizeObj(a.data,b):c.push(d.customizeObj(a.data))}else"VENDOR_ARCHIVED"==a.action?(d.deleteById(c,a.data.id),f.$broadcast("vendor_archived",a.data)):"VENDOR_DEARCHIVED"==a.action&&(c.push(d.customizeObj(a.data)),
  138. f.$broadcast("vendor_dearchived",a.data))})})},getAllInCompanyForAutocomplete:function(f,e){if(!f)throw"companyId is required!";var c=d.customizeArray([]);g.get("/vendor/getAll/"+f).then(function(a){d.customizeArray(a.data,c);e&&e(a.data)},function(a){e&&e(a.data)});return c},isWebsiteUnique:function(f,e,c){if(!f)throw"website is required!";var a=d.customizeObj({});g.get("/vendor/isWebsiteUnique?website="+f+"&id="+e).then(function(b){d.customizeObj(b.data,a);c&&c(b.data)},function(a){c&&c(a.data)});
  139. return a},isNameUnique:function(f,e,c){if(!f)throw"name is required!";var a=d.customizeObj({});g.get("/vendor/isNameUnique?name="+f+"&id="+e).then(function(b){d.customizeObj(b.data,a);c&&c(b.data)},function(a){c&&c(a.data)});return a},archive:function(f,e){if(!f)throw"id is required!";var c=g.get("/vendor/archive/"+f);d.handleCallback(c,e)},dearchive:function(f,e){if(!f)throw"id is required!";var c=g.get("/vendor/dearchive/"+f);d.handleCallback(c,e)},getOneById:function(f,e){if(!f)throw"vendorId is required!";
  140. var c=d.customizeObj({});g.get("/vendor/getOneById/"+f).then(function(a){d.customizeObj(a.data,c);e&&e(a.data)},function(a){e&&e(a.data)});return c},search:function(d){if(!d)throw"Keyword is required!";return g.get("/vendor/search?keyword="+d).then(function(d){return d.data})}}}])})(window,jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement