diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..de8fa01 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +sudo: required + +language: python + +services: + - docker + +deploy: + provider: script + script: ./deploy.sh + on: + branch: unicef \ No newline at end of file diff --git a/.travis/deploy_key.enc b/.travis/deploy_key.enc new file mode 100644 index 0000000..396cc93 Binary files /dev/null and b/.travis/deploy_key.enc differ diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..9817153 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +[ "$CI_BUILD_REF_NAME" = "" ] && CI_BUILD_REF_NAME=$(git symbolic-ref --short -q HEAD) + +if [ "$CI_BUILD_REF_NAME" = "unicef" ]; then + docker login -e="$DOCKER_EMAIL" -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" + docker push institutotim/zup-web:$CI_BUILD_REF_NAME + mkdir -p ~/.ssh + SSH_DEPLOY_KEY=~/.ssh/id_rsa + openssl aes-256-cbc -K $encrypted_b1f0a4911acd_key -iv $encrypted_b1f0a4911acd_iv -in .travis/deploy_key.enc -out $SSH_DEPLOY_KEY -d + chmod 600 $SSH_DEPLOY_KEY + ssh -i $SSH_DEPLOY_KEY -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $DEPLOY_TARGET "docker pull institutotim/zup-web:$CI_BUILD_REF_NAME; supervisorctl restart zup-web" + cleanup +fi \ No newline at end of file diff --git a/zup-painel/assets/scripts/scripts.1778e48d.js b/zup-painel/assets/scripts/scripts.427cd27e.js similarity index 98% rename from zup-painel/assets/scripts/scripts.1778e48d.js rename to zup-painel/assets/scripts/scripts.427cd27e.js index a81ee19..7cbf2f2 100644 --- a/zup-painel/assets/scripts/scripts.1778e48d.js +++ b/zup-painel/assets/scripts/scripts.427cd27e.js @@ -1,7 +1,7 @@ function NotificationService(a){function b(b){return b=_.extend({},b),a.all("notifications").withHttpConfig({treatingErrors:!0}).customGET(null,b).then(function(a){return a.data.notifications=_.map(a.data.notifications,function(a){return a.description=e(a.description),a}),a.data})}function c(){return a.all("notifications").withHttpConfig({treatingErrors:!0}).customPUT(null,"read-all")}function d(b){return a.one("notifications",b).withHttpConfig({treatingErrors:!0}).remove()}function e(a){return a.replace(/@\[(.*):(.*)\]/,function(a,b,c){return c})}return{getAll:b,markAllRead:c,"delete":d}}function NotificationsCenterComponent(){function a(a,b,c,d,e,f){function g(){l()}function h(){0!=n.unreadCount&&d.markAllRead().then(function(){n.unreadCount=0})}function i(a){return d["delete"](a.id).then(function(){var b=n.notifications.indexOf(a);n.notifications.splice(b,1)})}function j(a){var c={chat_room:"chat-rooms.show","case":"cases.edit"},d=m(c,"notificable",a);b.go(d.name,{id:d.id})}function k(){n.highlightNotificationBar=!0,f(function(){n.highlightNotificationBar=!1},1e3)}function l(){n.loading=!0,d.getAll().then(function(a){n.loading=!1,n.notifications=a.notifications,n.unreadCount=a.unread_count||0,n.unreadCount>n.lastHighlightedNotificationCount&&(n.lastHighlightedNotificationCount=n.unreadCount,k())})}function m(a,b,c){var d=b+"_id",e=b+"_type",f=a[c[e]];return f=_.isObject(f)?m(f.states,f.attr,c[b]):{name:f,id:c[d]}}var n=this;n.notifications=[],n.loading=!1,n.lastHighlightedNotificationCount=0,n.onClickNotification=j,n.onDeleteNotification=i,n.onShownNotifications=h,a.$on("$stateChangeStart",function(a){c.close()}),e(function(){n.loading||l()},5e3),g()}return a.$inject=["$rootScope","$state","Popup","NotificationService","$interval","$timeout"],{restrict:"E",templateUrl:"components/notifications-center/notifications-center.template.html",scope:{},controller:a,controllerAs:"component"}}function NotificationComponent(){return{restrict:"E",templateUrl:"components/notifications-center/notification.template.html",scope:{notification:"=",deleteHandler:"&",clickHandler:"&"},controller:["$scope",function(a){a.getIconClass=function(a){var b={chat_message:"fa fa-comment","case":"fa fa-file"};return b[a.notificable_type]||""}}]}}function CubesViewer(){this.version="2.0.2",this.VIEW_STATE_INITIALIZING=1,this.VIEW_STATE_INITIALIZED=2,this.VIEW_STATE_ERROR=3,this._configure=function(a){$(".cv-version").html(cubesviewer.version),angular.module("cv").constant("cvOptions",a)},this.init=function(a){this._configure(a),angular.element(document).ready(function(){angular.bootstrap(document,["cv"])})},this.createView=function(a,b,c){var d=angular.element(document).injector().get("$compile"),e=angular.element(document).injector().get("viewsService"),f=e.createView("cube",c),g='
';$(a).first().html(g);var h=angular.element(document).scope().$root,i=h.$new();return i.view=f,d($(a).first().contents())(i),f},this.apply=function(a){angular.element(document).scope()?angular.element(document).scope().$apply(a):(console.debug("Delaying"),setTimeout(function(){cubesviewer.apply(a)},1e3))}}function cubesviewerViewCubeDynamicChart(){this.onViewDraw=function(a,b){$(".cv-view-series-horizontal-menu",$(b.container)).remove(),$(".cv-view-series-horizontal-info",$(b.container)).parents(".infopiece").remove()},this.loadData=function(a){var b=this.cubesviewer.views.cube.buildQueryParams(a,!1,!1);$("#"+a.id).find(".cv-view-viewdata").empty().append('

Dynamic Chart

Loading'),$.get(a.cubesviewer.options.cubesUrl+"/cube/"+a.cube.name+"/aggregate",b,a.cubesviewer.views.cube.dynamicchart._loadDataCallback(a),"json")}}function CubesViewerStudio(){this._configure=function(a){cubesviewer._configure(a)},this.init=function(a){this._configure(a),angular.element(document).ready(function(){angular.bootstrap(document,["cv.studio"])})}}angular&&!angular.merge&&(angular.merge=function(){function a(a,b){b?a.$$hashKey=b:delete a.$$hashKey}function b(c,d,e){for(var f=c.$$hashKey,g=0,h=d.length;g\n'),e.put("template/modal/window.html",''),a.setDefaultHeaders({"X-App-Token":b.getToken(),"X-App-Namespace":b.getCurrentNamespaceID()}),h.setDefaultHeaders({"X-App-Token":b.getToken(),"X-App-Namespace":b.getCurrentNamespaceID()}),c.namespace=b.getCurrentNamespace(),c.flowsEnabled="true"===i.flowsEnabled||"TRUE"===i.flowsEnabled,"development"==i.name&&(c.errorReporting=!0,c.mapDebugEnabled=!0),a.addResponseInterceptor(function(a,b,c){if(angular.isDefined(a[c]))return a[c];for(var d in a)if(angular.isObject(a[d]))return a[d];for(var e in a)return a[e];return a}),g.defaults.transformResponse=[l];var m=function(a,b,c){return 401!==a.status||!angular.isUndefined(a.config.treatingUnauthorizedErrors)&&a.config.treatingUnauthorizedErrors!==!1?"undefined"!=typeof a.config.treatingErrors&&a.config.treatingErrors!==!1||f.show(a):f.show("expired_session"),!0};a.setErrorInterceptor(m),h.setErrorInterceptor(m),c.$on("$stateChangeStart",function(a,b,d,e,f){0!==e.name.length&&(c.resolvingRoute=!0,c.uiHasScroll=!1,c.uiDebugMap=!1)}),c.$on("$stateChangeSuccess",function(a,b,e,f,g){c.stateClass="state-"+b.name.replace(/\./g,"-").replace(/_/g,"-"),0===f.name.length&&(c.hideInitialLoading=!0),d(function(){c.resolvingRoute=!1,c.resolvingRequest=!1},150)}),c.$on("$stateChangeError",function(a,b,d,e,g,h){c.stateClass="",403===h.status?j.location="/":404===h.status?j.location="/":401===h.status?f.show("expired_session"):f.show(h)}),c.$on("$stateNotFound",function(a,b,c,d){console.log("$stateNotFound "+b.to+" - fired when a state cannot be found by its name."),console.log(b,c,d)}),c.glyphicons={"exclamation-sign":"glyphicon-exclamation-sign",ok:"glyphicon-ok"},c.showMessage=function(a,b,e,f){c.systemMessage={icon:a,text:b,messageClass:e},c.showSystemMessage=!0,d(function(){c.showSystemMessage=!1},1e4),f===!0&&(c.scrollTop=!0)},c.addModalMessage=function(a,b,e){c.modalMessage={icon:a,text:b,messageClass:e},d(function(){c.showModalMessage=!0},100),d(function(){c.showModalMessage=!1,d(function(){c.modalMessage={icon:null,text:null,messageClass:null}},1e3)},3500)},c.ckeditorDefaultOptions={docType:"",skin:"bootstrapck",language:"pt-br",height:"27cm",resize_enabled:!1,removePlugins:"elementspath",extraPlugins:"sharedspace,tableresize,zupplaceholder,base64image,font,imagepaste,image2,colorbutton,colordialog,print,justify",sharedSpaces:{top:"ckeditor-toolbar"},toolbarGroups:[{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","selection","spellchecker","editing"]},{name:"links",groups:["links"]},{name:"insert",groups:["insert"]},{name:"forms",groups:["forms"]},{name:"tools",groups:["tools","print","justify"]},{name:"others",groups:["others"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi","paragraph"]},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"document",groups:["mode","document","doctools"]},{name:"styles",groups:["styles"]},{name:"colors",groups:["colors"]}],extraAllowedContent:"div;*[class](*){*}",removeButtons:"Maximize,Image,Source"}}]).filter("abs",function(){return function(a){return Math.abs(a)}}).directive("bindOnce",function(){return{scope:!0,link:function(a,b){setTimeout(function(){a.$destroy(),b.removeClass("ng-binding ng-scope")},0)}}}),angular.module("cubesConfigurationModule",[]).constant("cvOptions",{}).factory("cubesConfigurationService",["$rootScope","cvOptions",function(a,b){var c=a.$new(!0);return{bus:function(){return c},setCubesUrl:function(a){b.cubesUrl=a,c.$emit("cubesUrlChanged",a)}}}]),angular.module("ApiTranslationsLoaderModule",[]).factory("apiTranslationsLoader",["$q","FullResponseRestangular",function(a,b){return function(c){var d=a.defer();return b.all("terminology").customGET().then(function(a){d.resolve(a.data)}),d.promise}}]),angular.module("ReturnFieldsModule",[]).factory("ReturnFieldsService",["$q",function(a){var b={},c=function(a,b){if(!_.isArray(a))throw b?new Error("A `query` para o caminho `"+b+"` precisa ser um Array."):new Error("A `query` precisa ser um Array.");return _.map(a,function(a){return _.isObject(a)?_.map(_.keys(a),function(d){return c(a[d],b?b+"."+d:d)}):b?b+"."+a:a}).join()};return b.convertToString=function(a){return c(a)},b}]),angular.module("AuthServiceModule",["cubesConfigurationModule"]).factory("Auth",["$q","Restangular","FullResponseRestangular","$cookies","$rootScope","ReturnFieldsService","cubesConfigurationService","ENV",function(a,b,c,d,e,f,g,h){var i=null,j=[];return{check:function(){var b=a.defer(),d=this.getToken();if(null!==d&&null===i){var e=c.one("me").get({return_fields:"id,email,permissions,groups.id,groups.name"}),f=this;e.then(function(a){f.saveUser(a.data.user),j=a.data.acessible_namespaces,f._validateCurrentNamespace(),b.resolve(i)},function(){b.reject(),f.clearToken()})}else null!==d&&null!==i?b.resolve(i):(b.reject(),this.clearToken());return g.setCubesUrl(h.apiEndpoint+"/cubes"),b.promise},getToken:function(){var a=d.token;return"undefined"==typeof a?null:a},getConfiguration:function(){return d.configuration?JSON.parse(d.configuration):{}},saveConfiguration:function(){d.configuration=JSON.stringify(configuration)},saveToken:function(a){d.token=a},_validateCurrentNamespace:function(){var a=this.getCurrentNamespace();a&&!_.findWhere(j,{id:a.id})&&(a=null),!a&&j.length>0&&(_.each(j,function(b){b["default"]||(a=b)}),a||(a=j[0]),this.setCurrentNamespace(a)),e.namespace=a},getCurrentNamespace:function(){return d.currentNamespace?JSON.parse(d.currentNamespace):null},getCurrentNamespaceID:function(){var a=this.getCurrentNamespace();return a?a.id:null},setCurrentNamespace:function(a){d.currentNamespace=JSON.stringify(a),c.setDefaultHeaders(_.extend(c.defaultHeaders,{"X-App-Namespace":a.id})),b.setDefaultHeaders(_.extend(b.defaultHeaders,{"X-App-Namespace":a.id})),e.namespace=a},clearToken:function(){delete d.token},clearUser:function(){i=null,e.user=null},saveUser:function(a){i=a},isLogged:function(){return null!==i&&null!==this.getToken()},login:function(d,e){var i=["permissions","id","email","name","groups_names","token",{groups:["id"]}];c.setDefaultHeaders({"X-App-Token":this.getToken()});var k=a.defer(),l=c.one("authenticate").withHttpConfig({treatingErrors:!0,treatingUnauthorizedErrors:!0}).post(null,{email:d,password:e},{return_fields:f.convertToString(i)}),m=this;return l.then(function(a){m.saveUser(a.data.user),m.saveToken(a.data.token),j=a.data.acessible_namespaces,m._validateCurrentNamespace(),g.setCubesUrl(h.apiEndpoint+"/cubes"),b.setDefaultHeaders({"X-App-Token":a.data.token,"X-App-Namespace":m.getCurrentNamespaceID()}),c.setDefaultHeaders({"X-App-Token":a.data.token,"X-App-Namespace":m.getCurrentNamespaceID()}),k.resolve()},function(){k.reject()}),k.promise},logout:function(){this.clearToken(),this.clearUser()}}}]),angular.module("UserServiceModule",[]).service("User",["$q","Auth","$rootScope","$state",function(a,b,c,d){return function(e){e||(e={permissions:[]});var f=a.defer();b.check().then(function(a){c.me=a,c.hasPermission=function(b,c){for(var d in a.permissions)if(d===b){if(_.isBoolean(a.permissions[d]))return a.permissions[d]===!0;if(_.isObject(a.permissions[d])){if(_.isUndefined(c))return a.permissions[d]&&0!==a.permissions[d].length;if(_.isArray(c))for(var e=_.map(c,function(a){return _.isObject(a)&&!_.isUndefined(a.id)?a.id:a}),f=0,g=e.length;f=0;i--)if(h==a.permissions[d][i])return!0;for(var f=a.permissions[d].length-1;f>=0;f--)if(c==a.permissions[d][f])return!0}}return!1},c.hasAnyPermission=function(a,b){for(var d=a.length-1;d>=0;d--)if(c.hasPermission(a[d],b))return!0;return!1},c.hasPermission("panel_access")||d.go("user.unauthorized"),f.resolve(a)},function(){f.resolve(null),e.permissions.indexOf("isLogged")!==-1&&d.go("user.login")});var g=f.promise;return g?g:null}}]),angular.module("UsersServiceModule",[]).factory("UsersService",["$q","FullResponseRestangular",function(a,b){var c={};return c.fetchAll=function(a){var c={};return c.display_type="full",a=angular.extend(c,a||{}),b.all("users").withHttpConfig({treatingErrors:!0}).customGET(null,a).then(function(a){return a.data.users})},c.fetch=function(a,c){var d={};return d.display_type="full",c=angular.extend(d,c||{}),b.one("users",a).withHttpConfig({treatingErrors:!0}).customGET(null,c).then(function(a){return a.data.user})},c.create=function(c,d){var e={};return d=angular.extend(e,d||{}),b.one("users").withHttpConfig({treatingErrors:!0}).post(null,c,d).then(function(a){return a.data.user})["catch"](function(b){return a.reject(b.data.error)})},c.update=function(c,d){var e={};return d=angular.extend(e,d||{}),b.one("users",c.id).withHttpConfig({treatingErrors:!0}).customPUT(c,null,d)["catch"](function(b){return a.reject(b.data.error)})},c.recoverPassword=function(c,d,e){var f={token:c,new_password:d,new_password_confirmation:e};return b.one("reset_password").withHttpConfig({treatingErrors:!0}).customPUT(f,null)["catch"](function(b){return a.reject(b.data.error)})},c}]),angular.module("AdvancedFiltersServiceModule",["AdvancedFiltersQueryModalControllerModule","AdvancedFiltersCategoryModalControllerModule","AdvancedFiltersStatusModalControllerModule","AdvancedFiltersGroupModalControllerModule","AdvancedFiltersAuthorModalControllerModule","AdvancedFiltersReporterModalControllerModule","PeriodSelectorModule","AdvancedFiltersAreaModalControllerModule","AdvancedFiltersFieldsModalControllerModule","AdvancedFiltersShareModalControllerModule","AdvancedFiltersNotificationMinimumNumberModalControllerModule","AdvancedFiltersNotificationDeadlineModalControllerModule","AdvancedFiltersNotificationOverdueModalControllerModule","AdvancedFiltersNotificationSinceLastModalControllerModule","ReportsCategoriesServiceModule","InventoriesCategoriesServiceModule","ReportsPerimetersServiceModule","AdvancedFiltersShapefileModalControllerModule"]).factory("AdvancedFilters",["$modal","PeriodSelectorService","Restangular","$q","$location","$rootScope","ReportsCategoriesService","InventoriesCategoriesService","ReportsPerimetersService","$log",function(a,b,c,d,e,f,g,h,i,j){var k=function(a){return"items"===a?h.loadedBasicInfo?_.values(h.categories):h.fetchAllBasicInfo():g.loadedBasicInfo?_.values(g.categories):g.fetchAllBasicInfo()};return{query:function(b){a.open({templateUrl:"modals/advanced-filters/query/advanced-filters-query.template.html",windowClass:"filterQueryModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersQueryModalController"})},category:function(b,c){f.resolvingRequest=!0,a.open({templateUrl:"modals/advanced-filters/category/advanced-filters-category.template.html",windowClass:"filterCategoriesModal",resolve:{categoriesResponse:function(){return k(c)},activeAdvancedFilters:function(){return b},entityType:function(){return c}},controller:"AdvancedFiltersCategoryModalController"})},status:function(b,c){f.resolvingRequest=!0,a.open({templateUrl:"modals/advanced-filters/status/advanced-filters-status.template.html",windowClass:"filterStatusesModal",resolve:{categoriesResponse:function(){return k(c)},activeAdvancedFilters:function(){return b},entityType:function(){return c}},controller:"AdvancedFiltersStatusModalController"})},group:function(b,d){f.resolvingRequest=!0,a.open({templateUrl:"modals/advanced-filters/group/advanced-filters-group.template.html",windowClass:"filterGroupsModal",resolve:{groupsResponse:function(){var a=c.all("groups").getList({return_fields:"id,name"});return a.then(function(){f.resolvingRequest=!1}),a},activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersGroupModalController"})},shapefile:function(b){f.resolvingRequest=!0,a.open({templateUrl:"modals/advanced-filters/shapefile/advanced-filters-shapefile.template.html",windowClass:"filterCategoriesModal",resolve:{perimetersResponse:function(){return i.fetchAll({paginate:!1})},activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersShapefileModalController"})},author:function(b){a.open({templateUrl:"modals/advanced-filters/author/advanced-filters-author.template.html",windowClass:"filterAuthorModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersAuthorModalController"})},reporter:function(b){a.open({templateUrl:"modals/advanced-filters/reporter/advanced-filters-reporter.template.html",windowClass:"filterAuthorModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersReporterModalController"})},period:function(a){b.open(!0).then(function(b){if(b.beginDate){var c={title:"A partir da data",type:"beginDate",desc:moment(b.beginDate).format("DD/MM/YYYY"),value:moment(b.beginDate).startOf("day").format()};a.push(c)}if(b.endDate){var d={title:"Até a data",type:"endDate",desc:moment(b.endDate).format("DD/MM/YYYY"),value:moment(b.endDate).endOf("day").format()};a.push(d)}})},area:function(b){return a.open({templateUrl:"modals/advanced-filters/area/advanced-filters-area.template.html",windowClass:"filterAreaModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersAreaModalController"})},notificationMinimumNumber:function(b){return a.open({templateUrl:"modals/advanced-filters/notification/minimum-number/advanced-filters-notification-minimum-number.template.html",windowClass:"filterNotificationMininumNumberModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersNotificationMinimumNumberModalController"})},notificationSinceLast:function(b){return a.open({templateUrl:"modals/advanced-filters/notification/since-last/advanced-filters-notification-since-last.template.html",windowClass:"filterNotificationModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersNotificationSinceLastModalController"})},notificationDeadline:function(b){return a.open({templateUrl:"modals/advanced-filters/notification/deadline/advanced-filters-notification-deadline.template.html",windowClass:"filterNotificationModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersNotificationDeadlineModalController"})},notificationOverdue:function(b){return a.open({templateUrl:"modals/advanced-filters/notification/overdue/advanced-filters-notification-overdue.template.html",windowClass:"filterNotificationModal",resolve:{activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersNotificationOverdueModalController"})},fields:function(b){f.resolvingRequest=!0,a.open({templateUrl:"modals/advanced-filters/fields/advanced-filters-fields.template.html",windowClass:"fieldsCategoriesModal",resolve:{categoriesResponse:["Restangular",function(a){return k("items")}],activeAdvancedFilters:function(){return b}},controller:"AdvancedFiltersFieldsModalController"})},share:function(){a.open({templateUrl:"modals/advanced-filters/share/advanced-filters-share.template.html",windowClass:"shareModal",resolve:{url:function(){var a=d.defer(),b=gapi.client.urlshortener.url.insert({resource:{longUrl:e.absUrl()}});return b.execute(function(b){a.resolve(b.id)}),a.promise}},controller:"AdvancedFiltersShareModalController"})}}}]),angular.module("FullResponseRestangularServiceModule",[]).factory("FullResponseRestangular",["Restangular",function(a){return a.withConfig(function(a){a.setFullResponse(!0)})}]),angular.module("ConfigServiceModule",["ReportsCategoriesServiceModule"]).factory("ConfigService",["$q","FullResponseRestangular","ReportsCategoriesService",function(a,b,c){var d={defaultColumnWidths:{protocol:"30",assignment:"20%",reporter:"10%",address:"20%",user:"10%",category:"20%",created_at:"150",custom_field:"15%"}};return d.getReportsColumns=function(){var e=a.defer(),f=c.getAllCustomFields(),g=b.all("settings").customGET();return a.all([g,f]).then(function(a){var b=_.findWhere(a[0].data.settings,{name:"reports_listing_columns"}).value,c=a[1],f=_.map(c,function(a){return{id:a.id,type:"custom_field",label:a.title}});_.each(f,function(a){_.findWhere(b,{id:a.id})||b.push(a)}),_.each(b,function(a){a.width=d.defaultColumnWidths[a.type]}),e.resolve(b)}),e.promise},d.updateReportsColumns=function(a){return b.one("settings","reports_listing_columns").customPUT({value:a})},d}]),angular.module("ErrorServiceModule",["ErrorModalControllerModule"]).factory("Error",["$modal","Raven",function(a,b){var c=!1;return{show:function(d){if(d instanceof TypeError&&(d=d.stack.toString(),console.error(d)),c)return b.captureMessage(JSON.stringify(d)),!1;var e=a.open({templateUrl:"modals/error/error.template.html",windowClass:"error-modal",resolve:{response:function(){return d}},controller:"ErrorModalController"});e.result.then(function(){c=!1},function(){c=!1}),c=!0}}}]),angular.module("ReportsCategoriesServiceModule",[]).factory("ReportsCategoriesService",["$rootScope","$q","FullResponseRestangular","Restangular","ReturnFieldsService",function(a,b,c,d,e){var f={};f.categories={},f.categoriesStatuses={},f.loadedBasicInfo=!1;var g=function(b){_.each(b.data.categories,function(a){_.each(a.subcategories,function(a){f.categories[a.id]=a}),f.categories[a.id]=a,_.each(a.statuses,function(a){f.categoriesStatuses[a.id]=a})}),a.$emit("reportsCategoriesFetched",f.categories)};return f.purgeCache=function(){return f.categories={},f.categoriesStatuses={},f.loadedBasicInfo=!1,f.fetchAllBasicInfo()},f.getStatusesByCategory=function(a){return d.one("reports").one("categories",a).all("statuses").getList()},f.fetchTitlesAndIds=function(){var a=c.all("reports").all("categories"),b={};return b.display_type="full",b.subcategories_flat=!0,b.return_fields=e.convertToString(["id","title"]),a.customGET(null,b)},f.fetchAllBasicInfo=function(){var a=c.all("reports").all("categories"),b={};b.display_type="full",b.subcategories_flat=!0,b.return_fields=e.convertToString(["id","title","priority","priority_pretty","pin","parent_id","color","icon",{statuses:["id","color","title"],marker:[{retina:["web"]}]}]);var d=a.customGET(null,b);return d.then(function(a){f.loadedBasicInfo=!0,g(a)}),d},f.fetchTitlesAndIds=function(){var a=c.all("reports").all("categories"),d=b.defer(),f={};f.display_type="full",f.subcategories_flat=!1,f.return_fields=e.convertToString(["id","title",{subcategories:["id","title"]}]);var g=a.customGET(null,f);return g.then(function(a){d.resolve(a.data.categories)},function(a){d.reject(a)}),d.promise},f.getAllCustomFields=function(){var a=b.defer(),d=c.all("reports").all("categories").customGET(null,{display_type:"full",return_fields:"custom_fields"});return d.then(function(b){var c=_.uniq(_.flatten(_.map(b.data.categories,function(a){return a.custom_fields})),function(a){return a.id});a.resolve(c)}),a.promise},f}]),angular.module("ReportsItemsServiceModule",["ReportsCategoriesServiceModule"]).factory("ReportsItemsService",["$q","$rootScope","FullResponseRestangular","ReportsCategoriesService","ReturnFieldsService",function(a,b,c,d,e){var f={},g=0;f.reports={},f.total=0,f.clusters=[],f.resetCache=function(){f.reports={},f.clusters=[],f.total=0,g=0},f.resetItemsAndClusters=function(){g=0,f.reports={},f.clusters=[]},f.fetchAll=function(h){h=h||{};var j=c.one("search").all("reports").all("items"),k={display_type:"full",return_fields:e.convertToString(["id","protocol","address","category_id","status_id","created_at","overdue","overdue_at",{category:["title","priority_pretty"],assigned_group:["name","title"],assigned_user:["name","id"],user:["name","id"],reporter:["name","id"],notifications:["deadline_in_days","days_to_deadline",{notification_type:["title"]}]}])};angular.merge(k,h);var l=d.fetchAllBasicInfo(),m=j.customGET(null,k),n=a.defer();return b.$broadcast("reportsItemsFetching"),m.then(function(a){_.each(a.data.reports,function(a){"undefined"==typeof f.reports[a.id]&&(a.order=g++),f.reports[a.id]=a}),f.total=parseInt(a.headers().total,10),_.size(d.categories)<1?l.then(function(){i(),b.$broadcast("reportsItemsFetched",f.reports),n.resolve(f.reports)}):(i(),b.$broadcast("reportsItemsFetched",f.reports),n.resolve(f.reports))}),n.promise},f.fetchClustered=function(h){var k=c.one("search").all("reports").all("items");h.display_type="full",h.return_fields=e.convertToString(["id","protocol","address","category_id","categories_ids","status_id","created_at","overdue","position",{user:["name","id "]}]);var l=d.fetchAllBasicInfo(),m=k.customGET(null,h),n=a.defer();return b.$broadcast("reportsItemsFetching"),m.then(function(a){f.total=parseInt(a.headers().total,10),_.each(a.data.reports,function(a){"undefined"==typeof f.reports[a.id]&&(a.order=g++),f.reports[a.id]=a}),f.clusters=a.data.clusters,_.size(d.categories)<1?l.then(function(){j(),i(),b.$broadcast("reportsItemsFetched",f.reports),n.resolve(f)}):(j(),i(),b.$broadcast("reportsItemsFetched",f.reports),n.resolve(f))}),n.promise},f.remove=function(b){var d=c.one("reports").one("items",b).remove(),e=a.defer();return d.then(function(){delete f.reports[b],e.resolve()}),e.promise};var h=function(a){return _.each(a,function(a){a.category=d.categories[a.category_id],"undefined"==typeof a.category&&console.log("Report with unknown category",a),a.status=d.categoriesStatuses[a.status_id]})},i=function(){h(f.reports)},j=function(){h(f.clusters)};return f}]),angular.module("ReportsCategoriesNotificationsServiceModule",[]).factory("ReportsCategoriesNotificationsService",["Restangular","FullResponseRestangular","$rootScope","$q","$log","ReturnFieldsService",function(a,b,c,d,e,f){var g={};return g.notificationTypesMap={},g.reportNotificationTypes={},g.notifications={},g.total=0,g.notificationReturnFields=f.convertToString(["id","reports_item_id","updated_at","deadline_in_days","content","user_id","able_to_send","days_to_deadline","created_at","overdue_at","sent",{notification_type:["id","title","active","default_deadline_in_days"]}]),g.cleanCache=function(){e.debug("Cleaning notification cache."),g.notificationTypesMap={},g.reportNotificationTypes={},g.notifications={},g.total=0},g.getLastNotification=function(b,c){e.debug("Retrieving last notification for report [id="+b+"]");var f=d.defer();return a.one("reports").one("categories",c).one("items",b).one("notifications").customGET("last",{return_fields:g.notificationReturnFields}).then(function(a){f.resolve(a.data)}),f.promise},g.getAvailableNotificationsForReport=function(b,c){e.debug("Retrieving notifications for report [id="+b+"]");var f=d.defer();return g.reportNotificationTypes[b]?(e.debug("Notification info from cache."),f.resolve(g.reportNotificationTypes[b])):a.one("reports").one("categories",c).one("items",b).getList("notifications",{return_fields:g.notificationReturnFields}).then(function(a){e.debug("Notification info from rest.");for(var c=a.data,d=[],h=0,i=0,j=c.length;i0);var d=b.filter(a.charts,function(a){return a&&!a.deleted});return!!(a.charts&&d.length>0)&&(c.push(b.every(a.charts,function(a){if(b.isUndefined(a)||a.deleted)return!0;var c=e.views[a.index];return c&&a.title&&a.title.length>0})),b.every(c,function(a){return a}))},h.clearViews=function(){e.views=[]},h}a.module("BusinessReportsServiceModule",[]).factory("BusinessReportsService",c),c.$inject=["$q","FullResponseRestangular","studioViewsService"]}(angular,_),angular.module("GoogleMapServiceModule",[]).factory("GoogleMapService",["ENV","$compile","$rootScope",function(a,b,c){var d={map:{zoom:null,mapTypeControl:!1,panControl:!0,panControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT},zoomControl:!0,zoomControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT},scaleControl:!0,scaleControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT},streetViewControl:!0,streetViewControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT}}},e=function(a,b,c,e,f){d.map.zoom=e;var g=new google.maps.LatLng(b,c),h=new google.maps.StyledMapType(d.styles,{name:"zup"});this.itemsAreReports=a,this.map=new google.maps.Map(f,d.map),this.map.mapTypes.set("zup",h),this.map.setMapTypeId("zup"),this.map.setCenter(g),this.currentMarkers={},this.infoWindow=new google.maps.InfoWindow,this.activeFilterAreas=[]};e.prototype.getDistance=function(){var a=this.map.getBounds(),b=a.getCenter(),c=a.getNorthEast();return google.maps.geometry.spherical.computeDistanceBetween(b,c)},e.prototype.clearMarkers=function(){_.each(this.currentMarkers,function(a){a.setMap(null)}),this.currentMarkers={}},e.prototype.createMarker=function(a,b,c,d,e,f){var g,h="";_.isNull(b)?(f&&(h="general-cluster"),g='
'):(h=b.isPin?"pin":"",g='
'),d&&(g+=''+d+""),g+="
";var i=new RichMarker({position:a,map:this.map,draggable:!1,shadow:!1,content:g,extraData:e,isReport:this.itemsAreReports,infoWindow:this.infoWindow});return _.isUndefined(e)?_.isNull(b)&&google.maps.event.addListener(i,"click",this.zoomToMarker):google.maps.event.addListener(i,"click",this.displayInfoWindow),i},e.prototype.zoomToMarker=function(){this.map.setZoom(this.map.getZoom()+1),this.map.setCenter(this.position)},e.prototype.displayInfoWindow=function(){var a;a=this.isReport?'

{{ item.category.title }}

Enviado em {{ item.created_at | date: \'dd/MM/yy HH:mm\'}}

Ver detalhes
':'

{{ item.title }}

Criado em {{ item.created_at | date: \'dd/MM/yy HH:mm\'}}

Ver detalhes
';var d=c.$new(!0);d.category=this.extraData.category,d.item=this.extraData.item;var e=b(a)(d);d.$apply(),this.infoWindow.setContent(e[0]),this.infoWindow.open(this.map,this)},e.prototype.createClusterMarker=function(a){var b=new google.maps.LatLng(a.position[0],a.position[1]);return a.categories_ids?this.createMarker(b,null,"#259ECB",a.count,void 0,!0):this.createMarker(b,null,a.category.color,a.count)},e.prototype.createItemMarker=function(a){var b={};this.itemsAreReports||"pin"!==a.category.plot_format?(b.url=a.category.marker.retina.web,b.isPin=!1):(b.url=a.category.pin.retina.web,b.isPin=!0);var c=new google.maps.LatLng(a.position.latitude,a.position.longitude),d=this.createMarker(c,b,!1,!1,{category:a.category,item:a});return d},e.prototype.processMarkers=function(a,b){var c={},d=this;_.each(a,function(a){if((_.isUndefined(a.category)||!a.category)&&_.isUndefined(a.categories_ids))return!1;var b=_.isUndefined(a.category)?a.categories_ids[0]:a.category_id,e=a.position[0].toString()+a.position[1]+a.count+b;d.currentMarkers[e]?(c[e]=d.currentMarkers[e],delete d.currentMarkers[e]):(c[e]=d.createClusterMarker(a),c[e].setMap(d.map),c[e].setVisible(!0))}),_.each(b,function(a){d.currentMarkers[a.id]?(c[a.id]=d.currentMarkers[a.id],delete d.currentMarkers[a.id]):(c[a.id]=d.createItemMarker(a),c[a.id].setMap(d.map),c[a.id].setVisible(!0))}),_.each(this.currentMarkers,function(a){a.setMap(null)}),this.currentMarkers=c},e.prototype.isMarkerInsideBounds=function(a){return this.map.getBounds().contains(a.getPosition())},e.prototype.hideOutOfBoundsMarkers=function(){var a=this;_.each(this.currentMarkers,function(b){a.isMarkerInsideBounds(b)?b.setVisible(!0):b.setVisible(!1)})},e.prototype.getMap=function(){return this.map},e.prototype.getZoom=function(){return this.map.getZoom()},e.prototype.getCenter=function(){return this.map.getCenter()},e.prototype.createCircle=function(a,b,c){var d={fillColor:"#6FCCEF",map:this.map,center:a,radius:b,originalDistance:b,strokeWeight:0,zIndex:1};c&&(d.fillColor="#37A6CF",d.strokeWeight=1,d.strokeColor="#37A6CF",d.zIndex=1);var e=new google.maps.Circle(d);return e},e.prototype.clearCircles=function(){for(var a=this.activeFilterAreas.length-1;a>=0;a--)this.activeFilterAreas[a].inner.setMap(null),this.activeFilterAreas[a].outer.setMap(null);this.activeFilterAreas[a]=[]};var f=function(a,b){var c=Math.pow(2,21-b.getZoom());return a+1128.49722*c*.0027};return e.prototype.processAreaFilters=function(a){this.clearCircles();for(var b=a.length-1;b>=0;b--){var c=a[b],d=new google.maps.LatLng(c.latitude,c.longitude),e=this.createCircle(d,c.distance,!0),g=this.createCircle(d,f(c.distance,this));this.activeFilterAreas.push({inner:e,outer:g})}},e.prototype.changeFilterOuterCircles=function(){for(var a=this.activeFilterAreas.length-1;a>=0;a--){var b=f(this.activeFilterAreas[a].outer.originalDistance,this);console.log("original -> ",this.activeFilterAreas[a].outer.originalDistance," new radius -> ",b,"zoom -> ",this.getZoom()),this.activeFilterAreas[a].outer.set("radius",b)}},e}]),function(a,b){"use strict";function c(a,c){function d(c,d,g){var h=b.isString(c)?a.hasPermission:a.hasAnyPermission,i=h(c,d||void 0);return g&&(h=b.isFunction(g)?g:f)(i,e),i}function e(){return a.showMessage("exclamation-sign","Você não possui permissão para visualizar essa página.","error"),c.go("items.list",{},{reload:!0})}function f(a,b){a||b()}return{authorize:d}}a.module("AuthorizationProviderModule",[]).factory("Authorization",c),c.$inject=["$rootScope","$state"]}(angular,_),angular.module("ServicesServiceModule",[]).factory("ServicesService",["$q","FullResponseRestangular",function(a,b){var c={};return c.fetchAll=function(a){var c={};return c.display_type="full",a=angular.extend(c,a||{}),b.all("services").withHttpConfig({treatingErrors:!0}).customGET(null,a).then(function(a){return a.data.services})},c.fetch=function(a,c){var d={};return d.display_type="full",c=angular.extend(d,c||{}),b.one("services",a).withHttpConfig({treatingErrors:!0}).customGET(null,c).then(function(a){return a.data.service})},c.create=function(c,d){var e={};return d=angular.extend(e,d||{}),b.one("services").withHttpConfig({treatingErrors:!0}).post(null,c,d).then(function(a){return a.data.service})["catch"](function(b){return a.reject(b.data.error)})},c.update=function(c,d){var e={};return d=angular.extend(e,d||{}),b.one("services",c.id).withHttpConfig({treatingErrors:!0}).customPUT(c,null,d)["catch"](function(b){return a.reject(b.data.error)})},c}]),angular.module("FlowsServiceModule",[]).factory("FlowsService",["$q","FullResponseRestangular","ReturnFieldsService",function(a,b,c){var d={};return d.fetchAll=function(a){var d={};return d.display_type="full",d.return_fields=c.convertToString(["id","title","description","initial","total_cases","created_at","updated_at","resolution_states",{created_by:["id","name"],updated_by:["id","name"],steps:["id"]}]),a=angular.extend(d,a||{}),b.all("flows").withHttpConfig({treatingErrors:!0}).customGET(null,a).then(function(a){return a.data.flows})},d.fetch=function(a,d,e){var f={};return f.display_type="full",f.return_fields=c.convertToString(["id","title","resolution_states","description","initial","version_id","created_at","draft","steps_order",{list_versions:["version_id","id","updated_at"],my_steps:["id","title","step_type",{my_child_flow:["id","title","step_type"]}]}]),e=angular.extend(f,e||{}),d&&(e.version=d),b.one("flows",a).withHttpConfig({treatingErrors:!0}).customGET(null,e).then(function(a){var b=a.data.flow;return b.my_steps=_.map(b.steps_order,function(a){return _.findWhere(b.my_steps,{id:a})}),b})},d.getPreviousStepList=function(a,d){var e={display_type:"full",return_fields:c.convertToString(["steps_order",{steps:["id","title"]}])};return b.one("flows",a).customGET(null,e).then(function(a){var b=a.data.flow.steps,c=a.data.flow.steps_order.slice(0,a.data.flow.steps_order.indexOf(d));return _.select(b,function(a){if(_.include(c,a.id))return!0})})},d.getInventoryItemFields=function(a){var d={display_type:"full",inventory_field_contender:"true",return_fields:c.convertToString(["id","title",{category_inventory:[{sections:[{fields:["id","title","label"]}]}]}])};return b.one("flows",a).all("fields").customGET(null,d).then(function(a){return a.data.fields})},d.create=function(a){return b.all("flows").withHttpConfig({treatingErrors:!0}).post(a).then(function(a){return a.data.flow})},d.update=function(a){return b.one("flows",a.id).withHttpConfig({treatingErrors:!0}).customPUT(a).then(function(a){return a.data})},d.destroy=function(a){return b.one("flows",a).withHttpConfig({treatingErrors:!0}).remove().then(function(a){return a.data.message})},d.reorder=function(a,c){var d={ids:[]};return angular.forEach(c,function(a){d.ids.push(a.id)}),b.one("flows",a).withHttpConfig({treatingErrors:!0}).customPUT(d,"steps")},d.publish=function(a){return b.one("flows",a).withHttpConfig({treatingErrors:!0}).customPOST(null,"publish")},d.setVersion=function(a,c){var d={new_version:c};return b.one("flows",a).withHttpConfig({treatingErrors:!0}).customPUT(d,"version")},d}]),angular.module("StepsServiceModule",[]).factory("StepsService",["$q","Restangular",function(a,b){function c(c,e,f){var g=a.defer();return f=f||{},_.isUndefined(e)?f.draft=!0:f.version=e,c.customGET(null,f).then(function(a){var c=d(b.stripRestangular(a.data));g.resolve(c)},function(a){g.reject(a)}),g.promise}function d(a){return a.fields=_.map(a.fields,e.fieldDenormalizer),a.my_fields=_.map(a.my_fields,e.fieldDenormalizer),a}var e={};return e.fetch=function(a,d,e){return c(b.one("flows",a).one("steps",d),e,{display_type:"full"})},e.fetchFields=function(a,d,e,f){return c(b.one("flows",a).one("steps",d).all("fields"),e||null,f)},e.fetchTriggers=function(a,d,e){return c(b.one("flows",a).one("steps",d).all("triggers"),e||null)},e.destroyTrigger=function(a,c,d){return b.one("flows",a).one("steps",c).one("triggers",d).withHttpConfig({treatingErrors:!0}).remove().then(function(a){return a.data.message})},e.destroyCondition=function(a,c,d,e){return b.one("flows",a).one("steps",c).one("triggers",d).one("trigger_conditions",e).withHttpConfig({treatingErrors:!0}).remove().then(function(a){return a.data.message})},e.updatePermission=function(a,c,d,e){return b.one("flows",a).one("steps",c).one("permissions").customPUT({permission_type:d,group_ids:_.map(e,function(a){return a.id})})},e.update=function(a,c,d){return b.one("flows",a).one("steps",c).customPUT(d)},e.fieldDenormalizer=function(a){var b=["previous_field","report_item","inventory_item","inventory_field"];return _.isNull(a.requirements)?(a.requirements={presence:"false",multiline:"false"},a):(a.requirements.presence=a.requirements.presence||"false",a.requirements.multiline=a.requirements.multiline||"false",a.requirements.minimum&&(a.requirements.minimum=parseInt(a.requirements.minimum,10)),a.requirements.maximum&&(a.requirements.maximum=parseInt(a.requirements.maximum,10)),_.include(b,a.field_type)||(a.has_size_requirements=!0),a.category_report&&a.category_report.length>0&&(a.values=_.map(a.category_report,function(a){return a.id})),a.category_inventory&&a.category_inventory.length>0&&(a.values=_.map(a.category_inventory,function(a){return a.id})),a)},e.getDefaultFieldLabel=function(a){var b,c,d=e.getAvailableFields();return b=(c=_.findWhere(d.normal,{kind:a}))?c.name:_.findWhere(d.special,{kind:a}).name,b="Novo "+b[0].toLocaleLowerCase()+b.slice(1)},e.getAvailableFields=function(){return{normal:[{kind:"text",name:"Campo de texto"},{kind:"integer",name:"Campo numérico"},{kind:"decimal",name:"Campo decimal"},{kind:"checkbox",name:"Campo de múltipla escolha",multipleOptions:!0},{kind:"select",name:"Campo de lista",multipleOptions:!0},{kind:"radio",name:"Campo de escolha única",multipleOptions:!0},{kind:"meter",name:"Campo em metros"},{kind:"centimeter",name:"Campo em centímetros"},{kind:"kilometer",name:"Campo em quilômetros"},{kind:"year",name:"Campo em anos"},{kind:"month",name:"Campo em meses"},{kind:"day",name:"Campo em dias"},{kind:"hour",name:"Campo em horas"},{kind:"minute",name:"Campo em minutos"},{kind:"second",name:"Campo em segundos"},{kind:"angle",name:"Campo de ângulo"},{kind:"date",name:"Campo de data"},{kind:"time",name:"Campo de tempo"},{kind:"cpf",name:"Campo de CPF"},{kind:"cnpj",name:"Campo de CNPJ"},{kind:"url",name:"Campo de URL"},{kind:"email",name:"Campo de e-mail"},{kind:"image",name:"Campo de imagem"},{kind:"attachment",name:"Campo de anexo"}],special:[{kind:"previous_field",name:"Campo de uma etapa anterior"},{kind:"report_item",name:"Seletor de relato"},{kind:"inventory_item",name:"Seletor de item de inventário"},{kind:"inventory_field",name:"Campo de um item de inventário"}]}},e}]),angular.module("CasesServiceModule",[]).factory("CasesService",["$q","FullResponseRestangular","ReturnFieldsService",function(a,b,c){var d={};d.fetchAll=function(a){var d={};d.display_type="full",d.return_fields=c.convertToString(["id","initial_flow_id","created_at","updated_at","next_step_id","total_steps","status","steps_not_fulfilled",{get_responsible_user:["id","name"],get_responsible_group:["id","name"],resolution_state:["title","id"]}]),a=angular.extend(d,a||{});var e=b.all("cases").customGET(null,a);return e.then(function(a){return{cases:a.data.cases,headers:a.headers}})};var e={active:"Ativo",pending:"Em andamento",finished:"Finalizado",inactive:"Inativo",transfer:"Transferido",not_satisfied:"Não finalizado"},f=d.denormalizeCase=function(a){var b={id:a.id,status:e[a.status],flow:a.initial_flow,created_at:a.created_at,updated_at:a.updated_at,current_step:a.current_step?h(a.current_step):null,related_entities:a.related_entities};return a.next_steps&&(b=_.extend(b,{next_steps:_.map(a.next_steps,function(a){return h({id:null,my_step:a})}),next_steps_ids:_.map(a.next_steps,function(a){return a.id})})),a.previous_steps&&(b=_.extend(b,{previous_steps:_.map(_.select(a.case_steps,function(b){return b.id!==a.current_step.id}),h)})),(a.current_step||a.previous_steps||a.next_steps)&&(b=g(b)),b},g=function(a){var b=_.flatten(_.compact([a.current_step,a.previous_steps,a.next_steps])),c=_.flatten(_.map(b,function(a){return a.my_step.my_fields})),e=_.select(c,function(a){return"previous_field"==a.type});return _.each(e,function(a){var c=_.findWhere(b,{step_id:a.previous_field_step_id});void 0!==c&&(a.previous_field=d.denormalizeCaseStepField(a.previous_field,c))}),a},h=function(a){return _.extend(a,{flow_step:_.extend(a.my_step,{fields:_.map(a.my_step.fields_id,function(b){return d.denormalizeCaseStepField(_.findWhere(a.my_step.my_fields,{id:parseInt(b,10)}),a)})}),conductor:a.responsible_user||a.responsible_group})},i=function(a,b){return _.select(b,function(b){return b.field.id==a.id})[0]||{}},j=function(a){return _.include(["meter","centimeter","kilometer","year","month","day","hour","hours","minute","second","angle","decimal","integer"],a.field_type)},k=function(a,b){var c=i(a,b);switch(a.field_type){case"image":return c?c.case_step_data_images:[];case"attachment":return c?c.case_step_data_attachments:[];case"inventory_item":return m(a,b);case"select":if(c)return _.findWhere(a.values,{value:c.value});break;case"checkbox":if(c)return _.map(a.values,function(a){return _.include(c.value,a.value)});break;default:if(c)return j(a)?parseInt(c.value,10):c.value}},l=function(a,b){return i(a,b).report_items},m=function(a,b){return i(a,b).inventory_items};d.denormalizeInventoryFieldValue=function(a,b){switch(a.type){case"select":if(b)return _.findWhere(a.values,{value:b[0]});break;case"radio":if(b)return b[0];break;default:return b}},d.denormalizeInventoryField=function(a,b){return{type:b.kind,values:_.map(_.reject(b.field_options,function(a){return a.disabled}),function(a){return{value:a.id,label:a.value}})}},d.denormalizeCaseStepField=function(a,b){return a.values=a.values?_.map(a.values,function(a){return{value:a,label:a}}):null,_.extend(a,{requirements:_.extend(a.requirements,{presence:a.requirements&&"true"==a.requirements.presence,multiline:a.requirements&&"true"==a.requirements.multiline}),type:a.field_type,inventory_field:a.category_inventory_field?d.denormalizeInventoryField(a,a.category_inventory_field):void 0,value:b.case_step_data_fields&&b.case_step_data_fields.length>0?k(a,b.case_step_data_fields):void 0,report_items:l(a,b.case_step_data_fields),inventory_items:m(a,b.case_step_data_fields),previous_field:a.previous_field})};var n=["id","title","field_type","filter","origin_field_id","origin_field_version","category_inventory","category_inventory_field","category_report","requirements","multiple","values","active","version_id","updated_at","created_at","previous_field_step_id","field_id","previous_field"],o=["id","active","conduction_mode_open","created_at","fields_id","flow_id","step_type","title","updated_at","version_id","permissions",{fields:n,my_fields:n}],p=["id","step_id","created_at",{created_by:["id","name"],responsible_group:["id","name"],responsible_user:["id","name"],updated_by:["id","name"],my_step:o,case_step_data_fields:["id","value","case_step_data_images","case_step_data_images","case_step_data_attachments","report_items","inventory_items",{field:n}]}],q=c.convertToString(["id","status",{case_steps:p,current_step:p,next_steps:o,previous_steps:p,responsible_user:["id"],get_responsible_user:["name"],initial_flow:["id","title","my_resolution_states"],related_entities:[{report_items:["id","title","custom_fields",{category:["id","title",{custom_fields:["id","title"]}]}]}]}]);return d.fetch=function(a){var c={};return c.display_type="full",c.return_fields=q,b.one("cases",a).withHttpConfig({treatingErrors:!0}).customGET(null,c).then(function(a){return f(a.data["case"])})},d.fetchHistory=function(a){return b.one("cases",a).all("history").customGET(null,{display_type:"full",return_fields:c.convertToString(["action","created_at","before_user","before_group","after_user","after_group",{user:["id","name"],step:["id","title"]}])})},d.saveStep=function(a,c){var d={};return d.display_type="full",d.return_fields=q,b.one("cases",a).customPUT(_.extend(d,c)).then(function(a){return f(a.data["case"])})},d.create=function(a){var c=b.all("cases").customPOST(_.extend({return_fields:q},a));return c.then(function(a){return{"case":a.data["case"],headers:a.headers}})},d.inactive=function(a){var c=b.one("cases",a.id).remove();return c.then(function(a){return{message:a.data.message,headers:a.headers}})},d.restore=function(a){var c=b.one("cases",a.id).customPUT(null,"restore");return c.then(function(a){return{message:a.data.message,headers:a.headers}})},d.finish=function(a,c){var d={resolution_state_id:c.id};return b.one("cases",a.id).customPUT(d,"finish")},d}]),angular.module("NamespacesServiceModule",[]).factory("NamespacesService",["$q","Restangular",function(a,b){return self.fetchAll=function(){var c=b.all("namespaces").withHttpConfig({treatingErrors:!0}),d=c.customGET(),e=a.defer();return d.then(function(a){var c=b.stripRestangular(a.data);e.resolve(c)},function(a){e.reject(a)}),e.promise},self.remove=function(c){var d=b.one("namespaces",c).withHttpConfig({treatingErrors:!0}).remove(),e=a.defer();return d.then(function(a){e.resolve(a)},function(a){e.reject(a)}),e.promise},self.save=function(c){var d,e=a.defer();return c.id?(d=b.one("namespaces",c.id).withHttpConfig({ treatingErrors:!0}).customPUT(c),d.then(function(a){e.resolve(a.data)},function(a){e.reject(a)})):(d=b.one("namespaces").withHttpConfig({treatingErrors:!0}).customPOST(c),d.then(function(a){e.resolve(a.data)},function(a){e.reject(a)})),e.promise},self}]),angular.module("ChatServiceModule",[]).factory("ChatService",["Restangular","ReturnFieldsService",function(a,b){var c={};return c.listMessages=function(c,d,e){var f={return_fields:b.convertToString(["kind","text","created_at",{user:["id","name"]}])};return e=angular.extend(f,e),a.one(c,d).withHttpConfig({treatingErrors:!1}).customGET("chat",e)},c.postMessage=function(b,c,d){return a.one("chat").withHttpConfig({treatingErrors:!1}).post("messages",{text:b,chattable_type:c,chattable_id:d,return_fields:"id,chattable_id,chattable_type,kind,text,created_at,user.id,user.name"})},c.autoCompleteUser=function(b){return a.one("autocomplete").withHttpConfig({treatingErrors:!1}).getList("user",{term:b})},c.getRooms=function(b){return a.all("chat_rooms").withHttpConfig({treatingErrors:!0}).customGET(null,b)},c.createRoom=function(b){return a.all("chat_rooms").withHttpConfig({treatingErrors:!0}).post(b)},c.updateRoom=function(b){return a.one("chat_rooms",b.id).withHttpConfig({treatingErrors:!0}).put(b)},c.deleteRoom=function(b){return a.one("chat_rooms",b.id).withHttpConfig({treatingErrors:!0}).remove()},c.getRoom=function(b){return a.one("chat_rooms",b).withHttpConfig({treatingErrors:!0}).get()},c}]),angular.module("NotificationServiceModule",[]).factory("NotificationService",NotificationService),NotificationService.$inject=["FullResponseRestangular"],angular.module("UserModule",["UserLoginModule","UserLogoutModule","UserUnauthorizedModule","UserRecoverPasswordModule"]).config(["$stateProvider",function(a){a.state("user",{"abstract":!0,url:"/user",template:""})}]),angular.module("UserLoginModule",["UserLoginControllerModule"]).config(["$stateProvider",function(a){a.state("user.login",{url:"/login",views:{"@":{templateUrl:"routes/user/login/user-login.template.html",controller:"UserLoginController",controllerAs:"ctrl"}}})}]),angular.module("UserLoginControllerModule",["UserPasswordRecoverModalControllerModule"]).controller("UserLoginController",["$scope","$rootScope","$state","Auth","$modal",function(a,b,c,d,e){a.login=function(){return a.loginError=!1,a.processingRequest=!0,d.login(a.email,a.password).then(function(){c.go("reports.index.list")},function(){a.loginError=!0,a.processingRequest=!1}),!1},a.recoverPassword=function(){e.open({templateUrl:"modals/user/password-recovery/user-password-recovery.template.html",windowClass:"removeModal",controller:"UserPasswordRecoveryModalController"})}}]),angular.module("UserLogoutModule",["UserLogoutControllerModule"]).config(["$stateProvider",function(a){a.state("user.logout",{url:"/logout",views:{"@":{template:"",controller:"UserLogoutController",controllerAs:"ctrl"}}})}]),angular.module("UserLogoutControllerModule",[]).controller("UserLogoutController",["$state","Auth",function(a,b){b.logout(),a.go("user.login")}]),angular.module("UserUnauthorizedModule",["UserUnauthorizedControllerModule"]).config(["$stateProvider",function(a){a.state("user.unauthorized",{url:"/unauthorized",views:{"@":{templateUrl:"routes/user/unauthorized/user-unauthorized.template.html",controller:"UserUnauthorizedController",controllerAs:"ctrl"}}})}]),angular.module("UserUnauthorizedControllerModule",[]).controller("UserUnauthorizedController",["$rootScope","Auth","$scope","$state",function(a,b,c,d){!_.isUndefined(a.hasPermission)&&a.hasPermission("panel_access")&&d.go("/"),b.clearToken(),b.clearUser()}]),angular.module("UserRecoverPasswordModule",["UserRecoverPasswordControllerModule"]).config(["$stateProvider",function(a){a.state("user.recover-password",{url:"/password/new/:resetToken",views:{"@":{templateUrl:"routes/user/recover-password/user-recover-password.template.html",controller:"UserRecoverPasswordController",controllerAs:"ctrl"}}})}]),angular.module("UserRecoverPasswordControllerModule",["UsersServiceModule"]).controller("UserRecoverPasswordController",["$scope","$rootScope","$state","Auth","$stateParams","UsersService",function(a,b,c,d,e,f){a.resetToken=e.resetToken,a.newPassword="",a.newPasswordConfirmation="",a.responseMessage="",a.createNewPassword=function(){var b=f.recoverPassword(a.resetToken,a.newPassword,a.newPasswordConfirmation);return b.then(function(b){b.data.error?a.responseMessage=b.data.message:c.go("user.login")}),b}}]),angular.module("IndexModule",["IndexControllerModule"]).config(["$stateProvider",function(a){a.state("home",{url:"/",template:"",resolve:{User:["User",function(a){return a()}]},controller:"IndexController"})}]),angular.module("IndexControllerModule",[]).controller("IndexController",["User","$state","$rootScope","$scope","$log",function(a,b,c,d,e){e.debug("IndexController created."),a?c.hasAnyPermission(["inventories_full_access","inventories_categories_edit","inventories_items_create","inventories_items_edit","inventories_items_delete","inventories_items_read_only"])?b.go("items.list"):b.go("reports.index.list"):b.go("user.login"),d.$on("$destroy",function(){e.debug("IndexController destroyed.")})}]),angular.module("ChatRoomsModule",["ChatRoomsIndexModule","ChatRoomsShowModule"]).config(["$stateProvider",function(a){a.state("chat-rooms",{"abstract":!0,url:"/chat-rooms",templateUrl:"routes/chat-rooms/chat-rooms.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("ChatRoomsIndexModule",["ChatRoomsIndexControllerModule"]).config(["$stateProvider",function(a){a.state("chat-rooms.list",{url:"",views:{"":{templateUrl:"routes/chat-rooms/index/chat-rooms-index.template.html",controller:"ChatRoomsIndexController",controllerAs:"ctrl"}}})}]),angular.module("ChatRoomsIndexControllerModule",["ChatServiceModule","ChatRoomsEditModalControllerModule"]).controller("ChatRoomsIndexController",["$scope","$modal","$timeout","ChatService",function(a,b,c,d){var e=1,f=30;a.rooms=[],a.searchQuery="";var g,h=function(){var b={page:e,per_page:f};return""!==a.searchQuery&&(b.query=a.searchQuery),d.getRooms(b).then(function(b){var c=b.data;c.length>0&&(a.rooms=a.rooms.concat(c),e++)})};a.$watch("searchQuery",function(b,d){g&&c.cancel(g),g=c(function(){angular.equals(d,b)===!1&&a.reload()},1e3)}),a.loadRooms=function(){a.loadingPagination=!0,h().then(function(){a.loadingPagination=!1})},a.reload=function(){a.rooms=[],e=1,a.loadRooms()},a.createRoom=function(){b.open({templateUrl:"modals/chat-rooms/edit/chat-rooms-edit.template.html",windowClass:"chatRoomsEditModal",resolve:{room:function(){return null},rooms:function(){return a.rooms}},controller:"ChatRoomsEditModalController"})},a.deleteRoom=function(c){b.open({templateUrl:"modals/chat-rooms/destroy/chat-rooms-destroy.template.html",windowClass:"removeModal",resolve:{rooms:function(){return a.rooms}},controller:["$scope","$modalInstance","rooms",function(a,b,e){a.room=c,a.confirm=function(){d.deleteRoom(a.room).then(function(){b.close(),a.showMessage("ok","A sala de chat foi excluida com sucesso.","success",!0),e.splice(e.indexOf(a.room),1)})},a.close=function(){b.close()}}]})}}]),angular.module("ChatRoomsShowModule",["ChatRoomsShowControllerModule"]).config(["$stateProvider",function(a){a.state("chat-rooms.show",{url:"/{id:[0-9]{1,4}}",views:{"":{templateUrl:"routes/chat-rooms/show/chat-rooms-show.template.html",controller:"ChatRoomsShowController",controllerAs:"ctrl"}},resolve:{room:["ChatService","$stateParams",function(a,b){return a.getRoom(b.id).then(function(a){return a.data})}]}})}]),angular.module("ChatRoomsShowControllerModule",["ChatServiceModule","ChatRoomsEditModalControllerModule"]).controller("ChatRoomsShowController",["$scope","$modal","ChatService","User","room",function(a,b,c,d,e){a.room=e,a.user=d,a.editRoom=function(){b.open({templateUrl:"modals/chat-rooms/edit/chat-rooms-edit.template.html",windowClass:"chatRoomsEditModal",resolve:{room:function(){return a.room}},controller:"ChatRoomsEditModalController"})}}]),angular.module("ReportsModule",["ReportsIndexModule","ReportsShowModule","ReportsAddModule","ReportsCategoriesIndexModule","ReportsCategoriesEditModule","ReportsPerimetersIndexModule"]).config(["$stateProvider",function(a){a.state("reports",{"abstract":!0,url:"/reports",templateUrl:"routes/reports/reports.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("ReportsIndexModule",["ReportsIndexControllerModule","ReportsIndexListModule","ReportsIndexMapModule","ReportsIndexNotificationsModule","MapComponentModule","StyleResultsTableComponentModule"]).config(["$stateProvider",function(a){a.state("reports.index",{"abstract":!0,views:{"":{templateUrl:"routes/reports/index/reports-index.template.html",controller:"ReportsIndexController",controllerAs:"ctrlReportsIndex"}}})}]),angular.module("ReportsIndexControllerModule",["ReportsDestroyModalControllerModule","OnFocusComponentModule","OnBlurComponentModule","AdvancedFiltersServiceModule","ReportsItemsServiceModule"]).controller("ReportsIndexController",["$rootScope","$scope","Restangular","$modal","$q","AdvancedFilters","$location","$window","$cookies","ReportsItemsService","$state","$log","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m){l.debug("ReportsIndexController created."),b.loading=!0,a.uiHasScroll=!0,b.loadingPagination=!1,b.filtersHash=null,b.categories={},b.categoriesStatuses={};var n=function(){b.selectedCategories=[],b.selectedShapefiles=[],b.selectedStatuses=[],b.selectedUsers=[],b.selectedReporters=[],b.selectedGroups=[],b.beginDate=null,b.endDate=null,b.searchText=null,b.overdueOnly=null,b.assignedToMyGroup=null,b.assignedToMe=null,b.minimumNotificationNumber=null,b.daysSinceLastNotification=null,b.daysForLastNotificationDeadline=null,b.daysForOverdueNotification=null,b.position=null,b.selectedAreas=[]};n(),m(["REPORTS_FILTERS_WITH_CATEGORIES","REPORTS_FILTERS_WITH_STATUSES","REPORTS_FILTERS_REPORT_USER","REPORTS_FILTERS_ONLY_DELAYED_REPORTS"]).then(function(a){b.availableFilters=[{name:"Protocolo ou endereço contém...",action:"query"},{name:a.REPORTS_FILTERS_WITH_CATEGORIES,action:"category"},{name:a.REPORTS_FILTERS_WITH_STATUSES,action:"status"},{name:"Criado pelos solicitantes...",action:"author"},{name:a.REPORTS_FILTERS_REPORT_USER,action:"reporter"},{name:"Por período...",action:"date"},{name:"Por perímetros...",action:"area"},{name:"Por perímetro de encaminhamento...",action:"shapefile"},{name:a.REPORTS_FILTERS_ONLY_DELAYED_REPORTS,action:"overdueOnly"},{name:"Associados ao meu grupo...",action:"assignedToMyGroup"},{name:"Associados à mim...",action:"assignedToMe"},{name:"Quantidade de notificações emitidas...",action:"minimumNotificationNumber"},{name:"Dias desde a última notificação emitida...",action:"daysSinceLastNotification"},{name:"Dias para o vencimento da última notificação emitida...",action:"daysForLastNotificationDeadline"},{name:"Dias em atraso para notificações vencidas...",action:"daysForOverdueNotification"}]}),b.activeAdvancedFilters=[],angular.isDefined(i.reportsFiltersHash)&&(b.activeAdvancedFilters=JSON.parse(h.atob(i.reportsFiltersHash))),angular.isDefined(g.search().filters)&&(b.filtersHash=g.search().filters,b.activeAdvancedFilters=JSON.parse(h.atob(b.filtersHash)));var o=function(a,b){a.indexOf(b)===-1&&a.push(b)};b.$watch("activeAdvancedFilters",function(){n(),0!==b.activeAdvancedFilters.length?(b.filtersHash=h.btoa(JSON.stringify(b.activeAdvancedFilters)),g.search("filters",b.filtersHash),i.reportsFiltersHash=b.filtersHash):(b.filtersHash=null,g.search("filters",null),delete i.reportsFiltersHash);for(var a=b.activeAdvancedFilters.length-1;a>=0;a--){var c=b.activeAdvancedFilters[a];"query"===c.type&&(b.searchText=c.value),"categories"===c.type&&o(b.selectedCategories,c.value),"shapefiles"===c.type&&o(b.selectedShapefiles,c.value),"statuses"===c.type&&o(b.selectedStatuses,c.value),"groups"===c.type&&o(b.selectedGroups,c.value),"authors"===c.type&&o(b.selectedUsers,c.value),"reporters"===c.type&&o(b.selectedReporters,c.value),"beginDate"===c.type&&(b.beginDate=c.value),"endDate"===c.type&&(b.endDate=c.value),"area"===c.type&&o(b.selectedAreas,c.value),"overdueOnly"===c.type&&(b.overdueOnly=!0),"assignedToMyGroup"===c.type&&(b.assignedToMyGroup=!0),"assignedToMe"===c.type&&(b.assignedToMe=!0),"minimumNotificationNumber"===c.type&&(b.minimumNotificationNumber=c.value),"daysSinceLastNotification"===c.type&&(b.daysSinceLastNotification=c.value),"daysForLastNotificationDeadline"===c.type&&(b.daysForLastNotificationDeadline=c.value),"daysForOverdueNotification"===c.type&&(b.daysForOverdueNotification=c.value)}p()},!0),b.generateReportsFetchingOptions=function(){var a={};if(null!==b.searchText&&(a.query=b.searchText),0!==b.selectedCategories.length&&(a.reports_categories_ids=b.selectedCategories.join()),0!==b.selectedShapefiles.length&&(a.reports_perimeters_ids=b.selectedShapefiles.join()),0!==b.selectedStatuses.length&&(a.statuses_ids=b.selectedStatuses.join()),0!==b.selectedGroups.length&&(a.groups_ids=b.selectedGroups.join()),0!==b.selectedUsers.length&&(a.users_ids=b.selectedUsers.join()),0!==b.selectedReporters.length&&(a.reporters_ids=b.selectedReporters.join()),null!==b.beginDate&&(a.begin_date=b.beginDate),null!==b.endDate&&(a.end_date=b.endDate),0===b.selectedAreas.length&&null!==b.position)a["position[latitude]"]=b.position.latitude,a["position[longitude]"]=b.position.longitude,a["position[distance]"]=b.position.distance;else if(0!==b.selectedAreas.length)for(var c=b.selectedAreas.length-1;c>=0;c--){var d="position["+c+"][latitude]",e="position["+c+"][longitude]",f="position["+c+"][distance]";a[d]=b.selectedAreas[c].latitude,a[e]=b.selectedAreas[c].longitude,a[f]=b.selectedAreas[c].distance}return null!==b.overdueOnly&&(a.overdue=b.overdueOnly),null!==b.assignedToMyGroup&&(a.assigned_to_my_group=b.assignedToMyGroup),null!==b.assignedToMe&&(a.assigned_to_me=b.assignedToMe),null!==b.minimumNotificationNumber&&(a.minimum_notification_number=b.minimumNotificationNumber),null!==b.daysSinceLastNotification&&(a["days_since_last_notification[begin]"]=b.daysSinceLastNotification.begin,a["days_since_last_notification[end]"]=b.daysSinceLastNotification.end),null!==b.daysForLastNotificationDeadline&&(a["days_for_last_notification_deadline[begin]"]=b.daysForLastNotificationDeadline.begin,a["days_for_last_notification_deadline[end]"]=b.daysForLastNotificationDeadline.end),null!==b.daysForOverdueNotification&&(a["days_for_overdue_notification[begin]"]=b.daysForOverdueNotification.begin,a["days_for_overdue_notification[end]"]=b.daysForOverdueNotification.end),a};var p=b.reload=function(a){b.$broadcast("loadFilters",a)};b.removeFilter=function(a){b.activeAdvancedFilters.splice(b.activeAdvancedFilters.indexOf(a),1)},b.resetFilters=function(){b.activeAdvancedFilters=[],b.$broadcast("resetFilters")},b.loadFilter=function(a){"query"===a&&f.query(b.activeAdvancedFilters),"category"===a&&f.category(b.activeAdvancedFilters,"reports"),"shapefile"===a&&f.shapefile(b.activeAdvancedFilters),"status"===a&&f.status(b.activeAdvancedFilters,"reports"),"group"===a&&f.group(b.activeAdvancedFilters,"reports"),"author"===a&&f.author(b.activeAdvancedFilters),"reporter"===a&&f.reporter(b.activeAdvancedFilters),"date"===a&&f.period(b.activeAdvancedFilters),"area"===a&&f.area(b.activeAdvancedFilters),"overdueOnly"===a&&m("REPORTS_FILTERS_ADVANCED_FILTERS_ONLY_DELAYED_REPORTS").then(function(a){b.activeAdvancedFilters.push({title:"Atraso",type:"overdueOnly",desc:a})}),"assignedToMyGroup"===a&&m("REPORTS_FILTERS_REPORTS_ASSOCIATED").then(function(a){b.activeAdvancedFilters.push({title:a,type:"assignedToMyGroup",desc:"Ao meu grupo"})}),"assignedToMe"===a&&m("REPORTS_FILTERS_REPORTS_ASSOCIATED").then(function(a){b.activeAdvancedFilters.push({title:a,type:"assignedToMe",desc:"À mim"})}),"minimumNotificationNumber"===a&&f.notificationMinimumNumber(b.activeAdvancedFilters),"daysSinceLastNotification"===a&&f.notificationSinceLast(b.activeAdvancedFilters),"daysForLastNotificationDeadline"===a&&f.notificationDeadline(b.activeAdvancedFilters),"daysForOverdueNotification"===a&&f.notificationOverdue(b.activeAdvancedFilters)},b.openReport=function(b,c){a.loading||"a"==c.target.parentNode.tagName.toLowerCase()||"a"==c.target.tagName.toLowerCase()||k.go("reports.show",{id:b})},b.search=function(a){b.searchText=a,p()},b.share=function(){f.share()};b.$on("$destroy",function(){l.debug("ReportsIndexController destroyed.")})}]),angular.module("ReportsIndexListModule",["ReportsIndexListControllerModule"]).config(["$stateProvider",function(a){a.state("reports.index.list",{url:"",views:{"":{templateUrl:"routes/reports/index/list/reports-index-list.template.html",controller:"ReportsIndexListController",controllerAs:"ctrlReportsList"}}})}]),angular.module("ReportsIndexListControllerModule",["ReportsDestroyModalControllerModule","OnFocusComponentModule","OnBlurComponentModule","ReportsItemsServiceModule","angular-toArrayFilter","ConfigServiceModule"]).controller("ReportsIndexListController",["$rootScope","$scope","Restangular","$modal","$q","$location","$window","$cookies","ReportsItemsService","$state","$log","ConfigService",function(a,b,c,d,e,f,g,h,i,j,k,l){k.debug("ReportsIndexListController created.");var m=1,n=15;b.loadingPagination=!1,b.$parent.total=0,b.reports=[],b.sort={column:"created_at",descending:!0},b.sortableColumns={user_name:!0,reporter:!0,created_at:!0,priority:!0},b.changeSorting=function(a){var c=b.sort;c.column===a?c.descending=!c.descending:(c.column=a,c.descending=!1),i.resetCache(),b.reload()},b.getColumnClasses=function(a){var c="column-"+a.type;return b.sortableColumns[a.type]&&(c+=" sort-table "+b.selectedCls(a.type)),c},b.selectedCls=function(a){return a===b.sort.column&&"sort-"+b.sort.descending},b.deleteReport=function(a){d.open({templateUrl:"modals/reports/destroy/reports-destroy.template.html",windowClass:"removeModal",resolve:{removeReportFromList:function(){return function(a){b.$parent.total--,b.reports.splice(b.reports.indexOf(a),1)}},report:function(){return a}},controller:"ReportsDestroyModalController"})};var o=function(a){var b=["id","status_id","category_id","overdue"],c=function(a){return"custom_field"==a.type};return _.any(_.select(a,c))&&b.push("custom_fields"),a=_.reject(a,function(a){return"custom_field"==a.type}),a=_.map(a,function(a){switch(a.type){case"category":return"category.title";case"reporter":return["reporter.id","reporter.name"].join();case"user":return["user.id","user.name"].join();case"assignment":return["assigned_group.name","assigned_group.title","assigned_user.name","assigned_user.id"].join();case"priority":return"category.priority_pretty";default:return a.type}}),_.union(b,a).join()},p=b.getData=function(){var a=e.defer();if(b.$parent.loadingPagination===!1){b.$parent.loadingPagination=!0;var c=b.generateReportsFetchingOptions();return""!==b.sort.column&&(c.sort=b.sort.column,c.order=b.sort.descending?"desc":"asc"),c.page=+m||1,c.per_page=+n||15,l.getReportsColumns().then(function(d){b.activeColumns=_.filter(d,function(a){return a.active}),c.return_fields=o(b.activeColumns);var e=i.fetchAll(c);e.then(function(c){m++,b.reports=c;var d=Math.ceil(b.total/n);m===d+1?b.$parent.loadingPagination=null:b.$parent.loadingPagination=!1,b.$parent.loading=!1,a.resolve(b.reports)})}),a.promise}};b.$on("reportsItemsFetched",function(){b.$parent.total=i.total,b.$parent.loading=!1}),b.$on("loadFilters",function(a,c){i.resetCache(),m=1,b.$parent.loadingPagination=!1,c&&(b.$parent.reloading=!0),b.$parent.loadingContent=!0,p().then(function(a){b.$parent.loadingContent=!1,b.reports=a,c&&(b.$parent.reloading=!1)})}),b.$on("$destroy",function(){k.debug("ReportsIndexListController destroyed.")})}]),angular.module("ReportsIndexMapModule",["ReportsIndexMapControllerModule","StyleMapComponentModule","MapComponentModule"]).config(["$stateProvider",function(a){a.state("reports.index.map",{url:"/map",views:{"":{templateUrl:"routes/reports/index/map/reports-index-map.template.html",controller:"ReportsIndexMapController",controllerAs:"ctrlReportsMap"}}})}]),angular.module("ReportsIndexMapControllerModule",["ReportsDestroyModalControllerModule","OnFocusComponentModule","OnBlurComponentModule","ReportsItemsServiceModule"]).controller("ReportsIndexMapController",["$rootScope","$scope","Restangular","$modal","$q","$location","$window","$cookies","ReportsItemsService","$state","$log",function(a,b,c,d,e,f,g,h,i,j,k){k.debug("ReportsIndexMapController created.");b.reports=[],b.zoom=null,b.clusterize=null,a.pageHasMap=!0,b.generateReportsFetchingMapOptions=function(){var a=b.generateReportsFetchingOptions();return null!==b.zoom&&(a.zoom=b.zoom),null!==b.clusterize&&(a.clusterize=!0),a},b.$on("reportsItemsFetching",function(){b.$parent.loading=!0}),b.$on("reportsItemsFetched",function(){b.$parent.total=i.total,b.$parent.loading=!1}),b.$on("loadFilters",function(a,c){b.$broadcast("mapRefreshRequested",!0)}),b.$on("resetFilters",function(a,c){b.$broadcast("mapRefreshRequested",!0)}),b.$on("$destroy",function(){a.pageHasMap=!1,k.debug("ReportsIndexMapController destroyed.")})}]),angular.module("ReportsIndexNotificationsModule",["ReportsIndexNotificationsControllerModule"]).config(["$stateProvider",function(a){a.state("reports.index.notifications",{url:"/notifications",views:{"":{templateUrl:"routes/reports/index/notifications/reports-index-notifications.template.html",controller:"ReportsIndexNotificationsController",controllerAs:"ctrlReportsNotifications"}}})}]),angular.module("ReportsIndexNotificationsControllerModule",["ReportsDestroyModalControllerModule","OnFocusComponentModule","OnBlurComponentModule","ReportsCategoriesNotificationsServiceModule","angular-toArrayFilter"]).controller("ReportsIndexNotificationsController",["$rootScope","$scope","Restangular","$modal","$q","$location","$window","$cookies","ReportsCategoriesNotificationsService","$state","$log",function(a,b,c,d,e,f,g,h,i,j,k){k.debug("ReportsIndexNotificationsController created.");var l=1,m=15;b.loadingPagination=!1,b.$parent.total=0,b.notifications=[];var n=b.getData=function(){if(b.$parent.loadingPagination===!1){b.$parent.loadingPagination=!0;var a=b.generateReportsFetchingOptions();a.page=+l||1,a.per_page=+m||15;var c=i.searchNotifications(a);return c.then(function(a){l++,b.notifications=a;var c=Math.ceil(b.$parent.total/m);l===c+1?b.$parent.loadingPagination=null:b.$parent.loadingPagination=!1,b.$parent.loading=!1}),c}};b.$on("notificationsFetched",function(){b.$parent.total=i.total,b.$parent.loading=!1}),b.$on("loadFilters",function(a,c){i.cleanCache(),l=1,b.$parent.loadingPagination=!1,c===!0&&(b.$parent.reloading=!0),b.$parent.loadingContent=!0,n().then(function(a){b.$parent.loadingContent=!1,b.notifications=a,c===!0&&(b.$parent.reloading=!1)})}),b.getDaysTxt=function(a){var b=_.isNull(a)||_.isUndefined(a)?0:a;return b<0?Math.abs(b)+" dia"+(b===-1?"":"s")+" atrás":b+" dia"+(1===b?"":"s")},b.$on("$destroy",function(){k.debug("ReportsIndexNotificationsController destroyed.")})}]),angular.module("ReportsShowModule",["ReportsShowControllerModule","ReportsShowPrintModule"]).config(["$stateProvider",function(a){a.state("reports.show",{url:"/{id:[0-9]{1,9}}",resolve:{reportResponse:["Restangular","$stateParams","ReturnFieldsService",function(a,b,c){var d=["id","protocol","address","number","district","country","postal_code","state","city","created_at","description","comment_required_when_updating_status","feedback","images","inventory_item","inventory_item_category_id","overdue","position","reference","status","custom_fields","perimeter","offensive_flags",{notifications:["created_at","days_to_deadline","content","active",{notification_type:["title","default_deadline_in_days"]}],category:["custom_fields","id","marker","notifications","icon","priority_pretty","comment_required_when_updating_status","comment_required_when_forwarding","solver_groups_ids","statuses","title",{solver_groups:["id","name"],default_solver_group:["name","id"]}],user:["name","email","id","phone"],assigned_user:["id","name"],assigned_group:["id","name"],related_entities:[{inventory_items:["id","title","sequence","created_at","updated_at",{category:["title"],status:["title"]}],cases:["id","created_at","updated_at","status",{initial_flow:["title"]}]}]}];return a.one("reports").one("items",b.id).get({return_fields:c.convertToString(d)})}]},views:{"":{templateUrl:"routes/reports/show/reports-show.template.html",controller:"ReportsShowController",controllerAs:"ctrl"}}})}]),angular.module("ReportsShowControllerModule",["MapShowReportComponentModule","ReportsEditStatusModalControllerModule","ReportsEditDescriptionModalControllerModule","ReportsEditCustomFieldModalControllerModule","ReportsEditCategoryModalControllerModule","ReportsSelectAddressModalControllerModule","ReportsForwardModalControllerModule","ReportsSelectUserModalControllerModule","ReportsEditReferenceModalControllerModule","ReportsPrintModalControllerModule","ReportSearchMapComponentModule","MapNewReportComponentModule","NextFieldOnEnterComponentModule","duScroll","ReportsSendNotificationsModalControllerModule","ReportsCategoriesNotificationsServiceModule","ReportsCategoriesServiceModule","ReportsFeatureFlagsServiceModule","ckeditor","angularLoad","CasesServiceModule"]).value("duScrollOffset",200).controller("ReportsShowController",["$scope","Restangular","$q","$modal","$window","reportResponse","$state","$rootScope","$log","CasesService","ReportsCategoriesNotificationsService","ReportsCategoriesService","ReportsFeatureFlagsService","angularLoad","ENV",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){function p(a){var b=Math.abs(a);return b+(1===b?" dia":" dias")}i.info("ReportsShowController created."),a.$on("$destroy",function(){i.info("ReportsShowController destroyed.")}),a.report=f.data,a.report.related_entities.cases&&(a.report.related_entities.cases=_.map(a.report.related_entities.cases,function(a){return j.denormalizeCase(a)})),a.report.status&&(a.report.status_id=a.report.status.id),a.categoryData=a.report.category,a.report.custom_fields=_.map(a.report.category.custom_fields,function(b){return a.report.custom_fields[b.id]&&(b.value=a.report.custom_fields[b.id]),b}),a.images=[],a.report.position?(a.lat=a.report.position.latitude,a.lng=a.report.position.longitude):(a.lat=null,a.lng=null),b.one("reports",a.report.id).all("comments").getList({return_fields:"id,created_at,message,visibility,author.id,author.name"}).then(function(b){a.comments=b.data}),b.one("reports",a.report.id).one("feedback").get({return_fields:"id,kind,content,images"}).then(function(b){a.feedback=b.data}),m.getFeatureFlags().then(function(b){m.convertFeaturesFlagsFrom(b.data).and().addInto(a)});for(var q=a.report.images.length-1;q>=0;q--)a.images.push({versions:a.report.images[q]});a.newUserResponse={message:null,privateComment:!0,typing:!1},a.newSystemComment={message:null,typing:!1},a.filterByUserMessages=function(a){return 0===a.visibility||1===a.visibility};var r=function(c,d){return b.one("reports",a.report.id).customPOST({message:c,visibility:d,return_fields:"id,created_at,message,visibility,author.id,author.name"},"comments")};a.submitUserResponse=function(){a.processingComment=!0;var b=0;a.newUserResponse.privateComment&&(b=1);var c=r(a.newUserResponse.message,b);c.then(function(b){a.newUserResponse.message=null,a.processingComment=!1,a.comments.push(b.data),a.refreshHistory()})},a.submitSystemComment=function(){a.processingSystemComment=!0;var b=r(a.newSystemComment.message,2);b.then(function(b){a.processingSystemComment=!1,a.newSystemComment.message=null,a.comments.push(b.data),a.refreshHistory()})},a.editCategory=function(){h.resolvingRequest=!0,d.open({templateUrl:"modals/reports/edit-category/reports-edit-category.template.html",windowClass:"report-edit-category-modal",resolve:{report:function(){return a.report},category:function(){return a.report.category},categories:function(){return b.all("reports").all("categories").getList({display_type:"full",return_fields:"id,title,subcategories.id,subcategories.title"})}},controller:"ReportsEditCategoryModalController"})},a.editReportStatus=function(c,e){h.resolvingRequest=!0,d.open({templateUrl:"modals/reports/edit-status/reports-edit-status.template.html",windowClass:"editStatusModal",resolve:{report:function(){return c},category:function(){return e},statusesResponse:function(){return b.one("reports").one("categories",a.report.category.id).all("statuses").getList()}},controller:"ReportsEditStatusModalController"})};var s=["address","number","city","postal_code","reference","state","country","district"],t=a.lat,u=a.lng;a.editAddress=function(){a.editingAddress=!0,t=a.lat,u=a.lng,a.address={},_.each(s,function(b){a.address[b]=a.report[b]}),a.address.number=parseInt(a.address.number,10)},a.cancelAddressEdit=function(){a.editingAddress=!1,a.lat=t,a.lng=u},a.saveAddress=function(c){if(c.$submitted=!0,c.$valid){a.savingAddress=!0;var d={latitude:a.lat,longitude:a.lng,return_fields:"position.latitude,position.longitude,address,number,reference,district,postal_code,state,city,assigned_group.id,assigned_group.name,perimeter"};_.each(s,function(a){d[a]=c[a].$viewValue});var e=b.one("reports",a.report.category.id).one("items",a.report.id).customPUT(d);e.then(function(b){var c=b.data;a.showMessage("ok","O endereço do relato foi alterado com sucesso.","success",!0),a.loading=a.savingAddress=a.editingAddress=!1,a.report.position=c.position,a.lat=a.report.position.latitude,a.lng=a.report.position.longitude,_.each(s,function(b){a.report[b]=c[b]}),a.report.assigned_group=c.assigned_group,a.report.perimeter=c.perimeter,a.refreshHistory()})}},a.editDescription=function(){d.open({templateUrl:"modals/reports/edit-description/reports-edit-description.template.html",windowClass:"editReportModal",resolve:{report:function(){return a.report},refreshHistory:function(){return a.refreshHistory}},controller:"ReportsEditDescriptionModalController"})},a.editCustomField=function(b){d.open({templateUrl:"modals/reports/edit-custom-field/reports-edit-custom-field.template.html",windowClass:"editReportModal",resolve:{field:function(){return b},report:function(){return a.report}},controller:"ReportsEditCustomFieldModalController"})},a.editReference=function(){d.open({templateUrl:"modals/reports/edit-reference/reports-edit-reference.template.html",windowClass:"editReportModal",resolve:{report:function(){return a.report},parentScope:function(){return a}},controller:"ReportsEditReferenceModalController"})},a.forwardReport=function(){h.resolvingRequest=!0,d.open({templateUrl:"modals/reports/forward/reports-forward.template.html",windowClass:"reports-forward-modal",resolve:{report:function(){return a.report},category:function(){return a.report.category},groupsResponse:function(){return b.all("groups").getList({return_fields:"id,name"})}},controller:"ReportsForwardModalController"})},a.assignReport=function(){d.open({templateUrl:"modals/reports/select-user/reports-select-user.template.html",windowClass:"modal-reports-select-user",resolve:{setUser:["Restangular","$state","$rootScope",function(b,c,d){return function(e){d.resolvingRequest=!0;var f=b.one("reports",a.report.category.id).one("items",a.report.id).one("assign").customPUT({user_id:e.id,return_fields:""});f.then(function(){d.resolvingRequest=!1,a.showMessage("ok","O usuário responsável foi alterado com sucesso.","success",!0),c.go(c.current,{},{reload:!0})})}}],filterByGroup:function(){return a.report.assigned_group.id}},controller:"ReportsSelectUserModalController"})},a.print=function(){d.open({templateUrl:"modals/reports/print/reports-print.template.html",windowClass:"filterCategoriesModal",resolve:{openModal:function(){return function(b){e.open("#/reports/"+a.report.id+"/print?sections="+b.join(),"ZUP Imprimir relato","height=800,width=850")}}},controller:"ReportsPrintModalController"})},a.refreshHistory=function(){var c={return_fields:"changes,created_at,kind,user.id,user.name,action" -},d=a.selectedFilters();0!==d.length&&(c.kind=d.join()),a.historyFilterBeginDate&&(c["created_at[begin]"]=a.historyFilterBeginDate),a.historyFilterEndDate&&(c["created_at[end]"]=a.historyFilterEndDate),a.loadingHistoryLogs=!0;var e=b.one("reports").one("items",a.report.id).one("history").getList(null,c);e.then(function(b){a.historyLogs=b.data;for(var c=!1,d=0,e=a.historyLogs.length;d=0;c--)if(b.inventoryCategories[c].id===a)return b.inventoryCategories[c];return null};var o=function(a){return b.has_custom_fields=a.custom_fields&&a.custom_fields.length>0,b.has_custom_fields&&(b.custom_fields={}),b.categoryData=a};b.$watch("selectedCategory",function(a,c){if(a!==c)for(var d=b.categories.length-1;d>=0;d--){if(b.categories[d].id===parseInt(b.selectedCategory))return o(b.categories[d]);if(0!==b.categories[d].subcategories.length)for(var e=b.categories[d].subcategories.length-1;e>=0;e--)if(b.categories[d].subcategories[e].id===parseInt(b.selectedCategory))return o(b.categories[d].subcategories[e])}}),b.selectUser=function(){f.open({templateUrl:"modals/reports/select-user/reports-select-user.template.html",windowClass:"modal-reports-select-user",resolve:{setUser:function(){return function(a){b.user=a}},filterByGroup:function(){return null}},controller:"ReportsSelectUserModalController"})},b.registerUser=function(){f.open({templateUrl:"modals/reports/create-user/reports-create-user.template.html",windowClass:"modal-reports-create-user",resolve:{setUser:function(){return function(a){b.user=a}}},controller:"ReportsCreateUserModalController"})};var p=function(a){var b=e.defer(),c=new FileReader;return c.addEventListener("load",function(c){var d=c.target,e={};e.content=d.result.replace(/^data:image\/[^;]+;base64,/,""),e.title=a.file.title,e.file_name=a.file.name,b.resolve(e)}),c.readAsDataURL(a._file),b.promise};b.$on("reportMap:position_changed",function(a,c){b.lat=c.lat(),b.lng=c.lng()});var q=b.address.address,r=b.address.number,s=!1;b.fieldOnEnter=function(a,c){return"address"==a.name||""==b.address.address||""==b.address.number?void(s=!1):void(b.address.address==q&&b.address.number==parseInt(r,10)||(s=!0,q=b.address.address,r=b.address.number,b.$broadcast("addressChanged")))},b.addressChanged=function(){b.$broadcast("addressChanged")},b.$on("reports:position-updated",function(a,c){b.lat=c.lat(),b.lng=c.lng(),s||b.$broadcast("addressChanged",!0)}),b.send=function(){c.resolvingRequest=!0;for(var a=[],f=b.uploader.queue.length-1;f>=0;f--)a.push(p(b.uploader.queue[f]));e.all(a).then(function(a){var e={latitude:b.lat,longitude:b.lng,inventory_item_id:b.itemId,description:b.description,reference:b.address.reference,address:b.address.address,number:b.address.number,district:b.address.district,city:b.address.city,state:b.address.state,country:b.address.country,postal_code:b.address.postal_code,images:a,custom_fields:b.custom_fields,return_fields:"id"};b.user&&(e.user_id=b.user.id);var f=d.one("reports",b.selectedCategory).customPOST(e,"items");f.then(function(a){b.showMessage("ok","O relato foi criado com sucesso.","success",!0),b.createAnother?(b.lat=null,b.lng=null,b.itemId=null,b.description=null,b.formattedAddress=null,b.reference=null,b.user=null,b.address={},b.uploader.clearQueue(),c.resolvingRequest=!1):g.go("reports.show",{id:a.data.id})})})}}]),angular.module("ReportsCategoriesIndexModule",["ReportsCategoriesIndexControllerModule","ReportsCategoriesServiceModule"]).config(["$stateProvider",function(a){a.state("reports.categories",{url:"/categories",cache:!1,views:{"":{templateUrl:"routes/reports/categories/index/reports-categories-index.template.html",controller:"ReportsCategoriesIndexController",controllerAs:"ctrl"}}})}]),angular.module("ReportsCategoriesIndexControllerModule",["ReportsCategoriesDestroyModalControllerModule","ReportsCategoriesServiceModule"]).controller("ReportsCategoriesIndexController",["$scope","ReportsCategoriesService","$modal",function(a,b,c){a.loading=!0;var d=function(b){b=angular.copy(b),_.each(b,function(c){if(null!==c.parent_id){var d=b.indexOf(_.findWhere(b,{id:c.parent_id}));if(d===-1)return!1;var e=b.indexOf(c);_.isUndefined(b[d].subcategories)?b[d].subcategories=[c]:b[d].subcategories.push(c),b[e]=void 0}b=_.without(b,void 0),a.categories=b}),a.loading=!1};b.fetchAllBasicInfo().then(function(a){d(a.data.categories)}),a.iconSeed=Math.random().toString(36).substring(7),a.deleteCategory=function(b){c.open({templateUrl:"modals/reports/categories/destroy/reports-categories-destroy.template.html",windowClass:"removeModal",resolve:{destroyCategory:function(){return function(b){if(_.isNull(b.parent_id))a.categories.splice(a.categories.indexOf(b),1);else{var c=_.findWhere(a.categories,{id:b.parent_id}).subcategories;c.splice(c.indexOf(b),1)}}},category:function(){return b}},controller:"ReportsCategoriesDestroyModalController"})}}]),angular.module("ReportsCategoriesEditModule",["ReportsCategoriesEditControllerModule"]).config(["$stateProvider",function(a){a.state("reports.categories.edit",{url:"/{id:[0-9]{1,4}}/edit",views:{"@reports":{templateUrl:"routes/reports/categories/edit/reports-categories-edit.template.html",controller:"ReportsCategoriesEditController",controllerAs:"ctrl",resolve:{reportCategoriesResponse:["Restangular",function(a){return a.all("reports").all("categories").getList({display_type:"full",return_fields:"id,title"})}],groupsResponse:["Restangular",function(a){return a.all("groups").getList({return_fields:"id,name"})}],notificationsTypesResponse:["Restangular","$stateParams",function(a,b){return a.one("reports").one("categories",b.id).all("notification_types").getList({return_fields:"id,category.id,status.id,order,title,default_deadline_in_days,layout,active,created_at,updated_at"})}]}}}}).state("reports.categories.add",{url:"/add",views:{"@reports":{templateUrl:"routes/reports/categories/edit/reports-categories-edit.template.html",controller:"ReportsCategoriesEditController",controllerAs:"ctrl",resolve:{reportCategoriesResponse:["Restangular",function(a){return a.all("reports").all("categories").getList({return_fields:"id,title"})}],groupsResponse:["Restangular",function(a){return a.all("groups").getList({return_fields:"id,name"})}],notificationsTypesResponse:[function(){return{}}]}}}})}]),angular.module("ReportsCategoriesEditControllerModule",["FormatErrorsHelperModule","NgThumbComponentModule","SelectListComponentModule","MultipleSelectListComponentModule","ReportsCategoriesManageStatusesModalControllerModule","ReportsCategoriesServiceModule","ReportsCategoriesNotificationsLayoutControllerModule","DisplayNotificationDirectiveModule","ReportsPerimetersServiceModule","CustomFieldsEditorDirectiveModule"]).factory("NotificationTypesService",["Restangular","$q",function(a,b){function c(){var c=this;c.notificationTypesMap={},c.cleanCache=function(){c.notificationTypesMap={}},c.updateCache=function(a,b){c.notificationTypesMap[a]=b},c.getNotificationTypesArrayForCategory=function(d){var e=b.defer();return c.notificationTypesMap[d]?e.resolve(c.notificationTypesMap[d]):a.one("reports").one("categories",d).all("notification_types").getList({return_fields:"id,category.id,status.id,order,title,default_deadline_in_days,layout,active,created_at,updated_at"}).then(function(a){c.updateCache(d,a.data),e.resolve(a.data)},function(a){e.reject(a)}),e.promise},c.saveNotificationType=function(b,c){return a.one("reports").one("categories",b).withHttpConfig({treatingErrors:!0}).post("notification_types",c)},c.updateNotificationType=function(b,c){return a.one("reports").one("categories",b).one("notification_types",c.id).withHttpConfig({treatingErrors:!0}).customPUT(c)},c.deleteNotificationType=function(b,c){return a.one("reports").one("categories",b).one("notification_types",c.id).remove()}}return new c}]).controller("ReportsCategoriesEditController",["$scope","$rootScope","$stateParams","NotificationTypesService","Restangular","FileUploader","$q","$http","$location","$anchorScroll","$modal","$document","reportCategoriesResponse","groupsResponse","notificationsTypesResponse","Error","ReportsCategoriesService","$log","$state","ReportsPerimetersService","$timeout",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){var v=a.updating=!1,w=a.categoryId=c.id;r.debug("ReportsCategoriesEditController created."),a.$on("$destroy",function(){r.debug("ReportsCategoriesEditController destroyed.")}),"undefined"!=typeof w&&(v=!0,a.updating=!0),a.mainColors=["#59B1DF","#7DDCE2","#64D2AF","#5CB466","#99C450","#EACD31","#F3AC2E","#F18058","#EF4D3E","#E984FC","#A37FE1","#7A7AF2"],a.alternativeColors=["#4383A6","#5CAFB5","#4D9F88","#3E7148","#73943D","#AC9827","#B78226","#C45C35","#A23463","#A938BE","#7340C1","#5051BB","#28344E","#465366","#677B86","#8195A0","#A0B2BC","#B9CDD8"],a.loading=!0,a.defaultResolutionTimeSelection=60,a.defaultUserResponseTimeSelection=60;var x=86400,y=3600,z=60,A=function(a){return a%x==0?x:a%y==0?y:z};a.perimeters=[],a.perimetersGroupsToRemove=[];var B=a.loadPerimeters=function(){a.loading=!0,t.fetchAll().then(function(b){_.forEach(b,function(b){_.isEqual(b.status,"imported")&&a.perimeters.push(b)}),a.loading=!1})};B(),a.showPerimeters=!1,a.perimetersLimit=5;var C=function(a,b,c,d){var e=_.find(a,function(a){return _.isEqual(a[b],d)});return e?e[c]:"Não disponível"};a.getPerimeterTitle=function(b){return C(a.perimeters,"id","title",b)},a.getGroupTitle=function(b){return C(a.groups,"id","name",b)},a.addNewPerimeterGroup=function(){var b={};b.category_id=w,b.editing=!0,a.perimetersGroups.push(b)},a.changePerimetersDelay=function(){u(function(){a.showPerimeters=a.category.perimeters},1e3)},a.updatePerimetersLimit=function(){a.perimetersLimitb.order})},E=function(){d.cleanCache(),d.getNotificationTypesArrayForCategory(w).then(function(b){a.notificationTypesArray=b,D()})};a.prepareToDeleteNotificationType=function(b){a.notificationTypeToDelete=b},a.prepareToDisplayNotification=function(b){a.notificationContentToDisplay=b.layout},a.deleteNotificationType=function(b){a.deleteNotificationTypePromise=d.deleteNotificationType(w,b).then(function(){a.showMessage("ok","O tipo de notificacao foi removido com sucesso","success",!0),a.notificationTypesArray.splice(a.notificationTypesArray.indexOf(b),1)})},a.notificationsSortableOptions={handle:".move",stop:function(b,c){a.notificationOrderArray=[];for(var d=0;d=0;c--)I.inventory_categories.push(b[1].data.inventory_categories[c].id);a.icon=b[1].data.original_icon,a.loading=!1})}else J.then(function(b){a.categories=b.data,a.loading=!1}),a.perimetersGroups=[],a.enabledUserResponseTime=!1,I=a.category={marker:"R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",inventory_categories:[],allows_arbitrary_position:!0,color:"#2AB4DC",solver_groups_ids:[],default_solver_group_id:null,statuses:[{title:"Em andamento",color:"#f8b01d",initial:!1,"final":!1,active:!0,created_at:"2014-03-05T01: 12: 34.181-03: 00",updated_at:"2014-03-05T01: 12: 34.181-03: 00","private":!1},{title:"Resolvidas",color:"#78c953",initial:!1,"final":!0,active:!0,created_at:"2014-03-05T01: 12: 34.195-03: 00",updated_at:"2014-03-05T01: 12: 34.195-03: 00","private":!1},{title:"Não resolvidas",color:"#999999",initial:!1,"final":!0,active:!0,created_at:"2014-03-05T01: 12: 34.200-03: 00",updated_at:"2014-03-05T01: 12: 34.200-03: 00","private":!1},{title:"Em aberto",color:"#ff0000",initial:!0,"final":!1,active:!0,created_at:"2014-03-17T22: 52: 50.365-03: 00",updated_at:"2014-03-17T22: 52: 50.365-03: 00","private":!1}],notifications:!1};var M=a.uploader=new f;M.filters.push({name:"onlyImages",fn:function(a,b){var c=M.isHTML5?a.type:"/"+a.value.slice(a.value.lastIndexOf(".")+1);return c="|"+c.toLowerCase().slice(c.lastIndexOf("/")+1)+"|","|jpg|png|jpeg|bmp|gif|".indexOf(c)!==-1}}),a.pickColor=function(b){a.category.color=b},a.pickIcon=function(b){a.selectedIcon=b,M.queue=[]},a.filterByIds=function(a){return!(_.isUndefined(I.solver_groups_ids)||!~I.solver_groups_ids.indexOf(a.id))},a.categoriesAutocomplete={options:{source:function(a,b){var c=e.one("search").one("inventory").all("categories").getList({title:a.term,return_fields:"id,title"});c.then(function(a){b($.map(a.data,function(a){return{label:a.title,value:a.title,id:a.id}}))})},select:function(b,c){a.addCategory(c.item.id)},messages:{noResults:"",results:function(){}}}},a.addCategory=function(a){~I.inventory_categories.indexOf(a)||I.inventory_categories.push(a)},a.removeCategory=function(a){I.inventory_categories.splice(I.inventory_categories.indexOf(a),1)};var N=function(a,b){return _.filter(a,function(a){return _.contains(b,a.id)})};a.$watchCollection("category.solver_groups_ids",function(b,c){_.isEqual(b,c)||(a.category.solver_groups=N(a.groups,b),_.isEmpty(b)&&(a.category.default_solver_group_id=null))}),a.manageStatuses=function(){k.open({templateUrl:"modals/reports/categories/manage-statuses/reports-categories-manage-statuses.template.html",windowClass:"manageStatuses",resolve:{category:function(){return a.category},updating:function(){return v},categoryId:function(){return w}},controller:"ReportsCategoriesManageStatusesModalController"})},a.$watch("preferedResolutionTime",function(){I.resolution_time=a.preferedResolutionTime*a.defaultResolutionTimeSelection}),a.changeDefaultResolutionTimeSelection=function(b){a.preferedResolutionTime=Math.round(I.resolution_time/b),a.defaultResolutionTimeSelection=b},a.$watch("preferedUserResponseTime",function(){I.user_response_time=a.preferedUserResponseTime*a.defaultUserResponseTimeSelection}),a.changeDefaultUserResponseTimeSelection=function(b){a.preferedUserResponseTime=Math.round(I.user_response_time/b),a.defaultUserResponseTimeSelection=b},a.shouldShowGlobalOption=function(){return a.hasPermission("manage_namespaces")&&!v&&1!==b.namespace.id},a.send=function(){function c(a){var b=g.defer(),c=new FileReader;return c.addEventListener("load",function(a){var c=a.target,d=c.result.replace(/^data:image\/[^;]+;base64,/,"");b.resolve(d)}),c.readAsDataURL(a),b.promise}a.inputErrors=null,b.resolvingRequest=!0;var d=[];if(0==M.queue.length&&a.selectedIcon){var f=function(){var b=g.defer(),c=l[0].createElement("CANVAS"),d=c.getContext("2d"),e=new Image;return e.crossOrigin="Anonymous",e.onload=function(){c.height=e.height,c.width=e.width,d.drawImage(e,0,0);var a=c.toDataURL("image/png");b.resolve(a.replace(/^data:image\/[^;]+;base64,/,"")),c=null},e.src="assets/images/icons/"+a.selectedIcon+".png",b.promise}();d.push(f)}else for(var h=M.queue.length-1;h>=0;h--)d.push(c(M.queue[h]._file));g.all(d).then(function(c){var f=c[0],h=angular.copy(I),j=h.statuses;h.statuses={};for(var k=j.length-1;k>=0;k--)j[k].initial=j[k].initial.toString(),j[k]["final"]=j[k]["final"].toString(),j[k].active=j[k].active.toString(),j[k]["private"]=j[k]["private"].toString(),h.statuses[k]=j[k];if(h.resolution_time=h.resolution_time,"undefined"!=typeof h.user_response_time&&"null"!==h.user_response_time&&1==a.enabledUserResponseTime?h.user_response_time=h.user_response_time:h.user_response_time=null,v){f&&(h.icon=f);var l=e.one("reports").one("categories",w).withHttpConfig({treatingErrors:!0}).customPUT(h);d=[],d.push(l);for(var k=a.perimetersGroups.length-1;k>=0;k--){var m=a.perimetersGroups[k];m.__isDirty&&m.__isDirty()&&d.push(t.savePerimeterGroup(m))}for(var k=a.perimetersGroupsToRemove.length-1;k>=0;k--)d.push(t.deletePerimeterGroup(a.perimetersGroupsToRemove[k]));g.all(d).then(function(c){q.purgeCache(),a.showMessage("ok","A categoria de relato foi atualizada com sucesso","success",!0),b.resolvingRequest=!1;for(var d=a.perimetersGroups.length-1;d>=0;d--)a.perimetersGroups[d].__resetDirty&&a.perimetersGroups[d].__resetDirty();a.perimetersGroupsToRemove=[],_.each(c,function(b){if(_.isEqual("POST",b.config.method)&&_.isEqual("perimeters",b.data.route)){var c=_.find(a.perimetersGroups,function(a){return _.isNull(a.id)||_.isUndefined(a.id)});c.id=b.data.id}})},function(c){a.showMessage("exclamation-sign","A categoria de relato não pode ser salva","error",!0),"object"!=typeof c.data.error?p.show(c):a.inputErrors=c.data.error,b.resolvingRequest=!1})}else{h.icon=f,h.marker=f;var n=e.one("reports").withHttpConfig({treatingErrors:!0}).post("categories",h);n.then(function(){q.purgeCache(),a.showMessage("ok","A categoria de relato foi criada com sucesso","success",!0),i.path("/reports/categories"),b.resolvingRequest=!1},function(c){a.showMessage("exclamation-sign","A categoria de relato não pode ser salva","error",!0),"object"!=typeof c.data.error?p.show(c):a.inputErrors=c.data.error,b.resolvingRequest=!1})}})}}]),angular.module("ReportsPerimetersIndexControllerModule",["angularInlineEdit","ReportsPerimetersServiceModule","ReportsPerimetersModalControllerModule","angular-toArrayFilter"]).controller("ReportsPerimetersIndexController",["$scope","$rootScope","$log","ReportsPerimetersService","$modal",function(a,b,c,d,e){c.debug("ReportsPerimetersIndexController created."),a.$on("$destroy",function(){c.debug("ReportsPerimetersIndexController destroyed.")});var f=d;a.loading=!1,a.loadingPerimeter={},a.statusDecorator={pendent:["time","perimeter-status-process","EM PROCESSAMENTO"],imported:["ok","perimeter-status-ok","CADASTRADO COM SUCESSO"],invalid_file:["warning-sign","perimeter-status-error","ERRO: ARQUIVO INVÁLIDO"],out_of_bounds:["warning-sign","perimeter-status-error","ERRO: FORA DO PERÍMETRO DA CIDADE"],invalid_quantity:["warning-sign","perimeter-status-error","ERRO: QUANTIDADE INVÁLIDA"],invalid_geometry:["warning-sign","perimeter-status-error","ERRO: FORMA GEOMÉTRICA INVÁLIDA"]},a.perimeters=[];var g=a.cleanCache=function(){h=1,i=15,f.cleanCache()};a.sort={column:"created_at",descending:!0};var h=1,i=15;a.changeTitleTerm=function(){g(),j()};var j=a.getData=function(){if(a.loading===!1){a.loading=!0;var c={};""!==a.sort.column&&(c.sort=a.sort.column,c.order=a.sort.descending?"desc":"asc"),c.paginate=!0,c.page=+h||1,c.per_page=+i||15,c.title=_.isEmpty(a.titleTerm)?null:a.titleTerm;var d=f.fetchAll(c);return d.then(function(b){h++,a.perimeters=b;var c=Math.ceil(a.total/i);h===c+1?a.loading=null:a.loading=!1,a.loading=!1},function(){a.loading=!1,b.showMessage("exclamation-sign","Não foi possível atualizar a listagem.","error",!1)}),d}};a.$on("perimetersFetched",function(){a.total=f.total,a.loading=!1}),j(),a.updatePerimeter=function(d,e){d.title=e,a.loadingPerimeter[d.id]=!0,f.updatePerimeter(d).then(function(){a.loadingPerimeter[d.id]=!1,b.showMessage("ok","Nome do perímetro atualizado com sucesso.","success",!0),c.debug("Updated title")})},a.addPerimeter=function(){e.open({templateUrl:"modals/reports/perimeters/reports-perimeters-modal.template.html",backdrop:!1,resolve:{parentScope:function(){return a}},controller:"ReportsPerimetersModalController"})},a.deletePerimeter=function(c){a.deletePromise=f.deletePerimeter(c).then(function(){delete a.perimeters[c.id],b.showMessage("ok","Perímetro removido com sucesso.","success",!0),a.deletePromise=null},function(){b.showMessage("exclamation-sign","Não foi possível remover o perímetro.","error",!0),a.deletePromise=null})}}]),angular.module("ReportsPerimetersIndexModule",["ReportsPerimetersIndexControllerModule"]).config(["$stateProvider",function(a){a.state("reports.perimeters",{url:"/perimeters",cache:!1,views:{"":{templateUrl:"routes/reports/perimeters/index/reports-perimeters-index.template.html",controller:"ReportsPerimetersIndexController",controllerAs:"ctrl"}}})}]),angular.module("ItemsModule",["ItemsIndexModule","ItemsShowModule","ItemsEditModule","ItemsSelectCategoryModule","ItemsCategoriesIndexModule","ItemsCategoriesEditModule"]).config(["$stateProvider",function(a){a.state("items",{"abstract":!0,url:"/items",templateUrl:"routes/items/items.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("ItemsIndexModule",["ItemsIndexControllerModule","ItemsIndexMapModule","StyleResultsTableComponentModule"]).config(["$stateProvider",function(a){a.state("items.list",{url:"",views:{"":{templateUrl:"routes/items/index/items-index.template.html",controller:"ItemsIndexController",controllerAs:"ctrl",resolve:{isMap:function(){return!1}}}}})}]),angular.module("ItemsIndexControllerModule",["AdvancedFiltersServiceModule","InventoriesItemsServiceModule","ItemsDestroyModalControllerModule","angular-toArrayFilter"]).controller("ItemsIndexController",["$state","$scope","$rootScope","$modal","$q","isMap","AdvancedFilters","$location","$window","$cookies","InventoriesItemsService","$log",function(a,b,c,d,e,f,g,h,i,j,k,l){ +},d=a.selectedFilters();0!==d.length&&(c.kind=d.join()),a.historyFilterBeginDate&&(c["created_at[begin]"]=a.historyFilterBeginDate),a.historyFilterEndDate&&(c["created_at[end]"]=a.historyFilterEndDate),a.loadingHistoryLogs=!0;var e=b.one("reports").one("items",a.report.id).one("history").getList(null,c);e.then(function(b){a.historyLogs=b.data;for(var c=!1,d=0,e=a.historyLogs.length;d=0;c--)if(b.inventoryCategories[c].id===a)return b.inventoryCategories[c];return null};var o=function(a){return b.has_custom_fields=a.custom_fields&&a.custom_fields.length>0,b.has_custom_fields&&(b.custom_fields={}),b.categoryData=a};b.$watch("selectedCategory",function(a,c){if(a!==c)for(var d=b.categories.length-1;d>=0;d--){if(b.categories[d].id===parseInt(b.selectedCategory))return o(b.categories[d]);if(0!==b.categories[d].subcategories.length)for(var e=b.categories[d].subcategories.length-1;e>=0;e--)if(b.categories[d].subcategories[e].id===parseInt(b.selectedCategory))return o(b.categories[d].subcategories[e])}}),b.selectUser=function(){f.open({templateUrl:"modals/reports/select-user/reports-select-user.template.html",windowClass:"modal-reports-select-user",resolve:{setUser:function(){return function(a){b.user=a}},filterByGroup:function(){return null}},controller:"ReportsSelectUserModalController"})},b.registerUser=function(){f.open({templateUrl:"modals/reports/create-user/reports-create-user.template.html",windowClass:"modal-reports-create-user",resolve:{setUser:function(){return function(a){b.user=a}}},controller:"ReportsCreateUserModalController"})};var p=function(a){var b=e.defer(),c=new FileReader;return c.addEventListener("load",function(c){var d=c.target,e={};e.content=d.result.replace(/^data:image\/[^;]+;base64,/,""),e.title=a.file.title,e.file_name=a.file.name,b.resolve(e)}),c.readAsDataURL(a._file),b.promise};b.$on("reportMap:position_changed",function(a,c){b.lat=c.lat(),b.lng=c.lng()});var q=b.address.address,r=b.address.number,s=!1;b.fieldOnEnter=function(a,c){return"address"==a.name||""==b.address.address||""==b.address.number?void(s=!1):void(b.address.address==q&&b.address.number==parseInt(r,10)||(s=!0,q=b.address.address,r=b.address.number,b.$broadcast("addressChanged")))},b.addressChanged=function(){b.$broadcast("addressChanged")},b.$on("reports:position-updated",function(a,c){b.lat=c.lat(),b.lng=c.lng(),s||b.$broadcast("addressChanged",!0)}),b.send=function(){c.resolvingRequest=!0;for(var a=[],f=b.uploader.queue.length-1;f>=0;f--)a.push(p(b.uploader.queue[f]));e.all(a).then(function(a){var e={latitude:b.lat,longitude:b.lng,inventory_item_id:b.itemId,description:b.description,reference:b.address.reference,address:b.address.address,number:b.address.number,district:b.address.district,city:b.address.city,state:b.address.state,country:b.address.country,postal_code:b.address.postal_code,images:a,custom_fields:b.custom_fields,return_fields:"id"};b.user&&(e.user_id=b.user.id);var f=d.one("reports",b.selectedCategory).customPOST(e,"items");f.then(function(a){b.showMessage("ok","O relato foi criado com sucesso.","success",!0),b.createAnother?(b.lat=null,b.lng=null,b.itemId=null,b.description=null,b.formattedAddress=null,b.reference=null,b.user=null,b.address={},b.uploader.clearQueue(),c.resolvingRequest=!1):g.go("reports.show",{id:a.data.id})})})}}]),angular.module("ReportsCategoriesIndexModule",["ReportsCategoriesIndexControllerModule","ReportsCategoriesServiceModule"]).config(["$stateProvider",function(a){a.state("reports.categories",{url:"/categories",cache:!1,views:{"":{templateUrl:"routes/reports/categories/index/reports-categories-index.template.html",controller:"ReportsCategoriesIndexController",controllerAs:"ctrl"}}})}]),angular.module("ReportsCategoriesIndexControllerModule",["ReportsCategoriesDestroyModalControllerModule","ReportsCategoriesServiceModule"]).controller("ReportsCategoriesIndexController",["$scope","ReportsCategoriesService","$modal",function(a,b,c){a.loading=!0;var d=function(b){b=angular.copy(b),_.each(b,function(c){if(null!==c.parent_id){var d=b.indexOf(_.findWhere(b,{id:c.parent_id}));if(d===-1)return!1;var e=b.indexOf(c);_.isUndefined(b[d].subcategories)?b[d].subcategories=[c]:b[d].subcategories.push(c),b[e]=void 0}b=_.without(b,void 0),a.categories=b}),a.loading=!1};b.fetchAllBasicInfo().then(function(a){d(a.data.categories)}),a.iconSeed=Math.random().toString(36).substring(7),a.deleteCategory=function(b){c.open({templateUrl:"modals/reports/categories/destroy/reports-categories-destroy.template.html",windowClass:"removeModal",resolve:{destroyCategory:function(){return function(b){if(_.isNull(b.parent_id))a.categories.splice(a.categories.indexOf(b),1);else{var c=_.findWhere(a.categories,{id:b.parent_id}).subcategories;c.splice(c.indexOf(b),1)}}},category:function(){return b}},controller:"ReportsCategoriesDestroyModalController"})}}]),angular.module("ReportsCategoriesEditModule",["ReportsCategoriesEditControllerModule"]).config(["$stateProvider",function(a){a.state("reports.categories.edit",{url:"/{id:[0-9]{1,4}}/edit",views:{"@reports":{templateUrl:"routes/reports/categories/edit/reports-categories-edit.template.html",controller:"ReportsCategoriesEditController",controllerAs:"ctrl",resolve:{reportCategoriesResponse:["Restangular",function(a){return a.all("reports").all("categories").getList({display_type:"full",return_fields:"id,title"})}],groupsResponse:["Restangular",function(a){return a.all("groups").getList({return_fields:"id,name"})}],notificationsTypesResponse:["Restangular","$stateParams",function(a,b){return a.one("reports").one("categories",b.id).all("notification_types").getList({return_fields:"id,category.id,status.id,order,title,default_deadline_in_days,layout,active,created_at,updated_at"})}]}}}}).state("reports.categories.add",{url:"/add",views:{"@reports":{templateUrl:"routes/reports/categories/edit/reports-categories-edit.template.html",controller:"ReportsCategoriesEditController",controllerAs:"ctrl",resolve:{reportCategoriesResponse:["Restangular",function(a){return a.all("reports").all("categories").getList({return_fields:"id,title"})}],groupsResponse:["Restangular",function(a){return a.all("groups").getList({return_fields:"id,name"})}],notificationsTypesResponse:[function(){return{}}]}}}})}]),angular.module("ReportsCategoriesEditControllerModule",["FormatErrorsHelperModule","NgThumbComponentModule","SelectListComponentModule","MultipleSelectListComponentModule","ReportsCategoriesManageStatusesModalControllerModule","ReportsCategoriesServiceModule","ReportsCategoriesNotificationsLayoutControllerModule","DisplayNotificationDirectiveModule","ReportsPerimetersServiceModule","CustomFieldsEditorDirectiveModule"]).factory("NotificationTypesService",["Restangular","$q",function(a,b){function c(){var c=this;c.notificationTypesMap={},c.cleanCache=function(){c.notificationTypesMap={}},c.updateCache=function(a,b){c.notificationTypesMap[a]=b},c.getNotificationTypesArrayForCategory=function(d){var e=b.defer();return c.notificationTypesMap[d]?e.resolve(c.notificationTypesMap[d]):a.one("reports").one("categories",d).all("notification_types").getList({return_fields:"id,category.id,status.id,order,title,default_deadline_in_days,layout,active,created_at,updated_at"}).then(function(a){c.updateCache(d,a.data),e.resolve(a.data)},function(a){e.reject(a)}),e.promise},c.saveNotificationType=function(b,c){return a.one("reports").one("categories",b).withHttpConfig({treatingErrors:!0}).post("notification_types",c)},c.updateNotificationType=function(b,c){return a.one("reports").one("categories",b).one("notification_types",c.id).withHttpConfig({treatingErrors:!0}).customPUT(c)},c.deleteNotificationType=function(b,c){return a.one("reports").one("categories",b).one("notification_types",c.id).remove()}}return new c}]).controller("ReportsCategoriesEditController",["$scope","$rootScope","$stateParams","NotificationTypesService","Restangular","FileUploader","$q","$http","$location","$anchorScroll","$modal","$document","reportCategoriesResponse","groupsResponse","notificationsTypesResponse","Error","ReportsCategoriesService","$log","$state","ReportsPerimetersService","$timeout",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){var v=a.updating=!1,w=a.categoryId=c.id;r.debug("ReportsCategoriesEditController created."),a.$on("$destroy",function(){r.debug("ReportsCategoriesEditController destroyed.")}),"undefined"!=typeof w&&(v=!0,a.updating=!0),a.mainColors=["#59B1DF","#7DDCE2","#64D2AF","#5CB466","#99C450","#EACD31","#F3AC2E","#F18058","#EF4D3E","#E984FC","#A37FE1","#7A7AF2"],a.alternativeColors=["#4383A6","#5CAFB5","#4D9F88","#3E7148","#73943D","#AC9827","#B78226","#C45C35","#A23463","#A938BE","#7340C1","#5051BB","#28344E","#465366","#677B86","#8195A0","#A0B2BC","#B9CDD8"],a.loading=!0,a.defaultResolutionTimeSelection=60,a.defaultUserResponseTimeSelection=60;var x=86400,y=3600,z=60,A=function(a){return a%x==0?x:a%y==0?y:z};a.perimeters=[],a.perimetersGroupsToRemove=[];var B=a.loadPerimeters=function(){a.loading=!0,t.fetchAll().then(function(b){_.forEach(b,function(b){_.isEqual(b.status,"imported")&&a.perimeters.push(b)}),a.loading=!1})};B(),a.showPerimeters=!1,a.perimetersLimit=5;var C=function(a,b,c,d){var e=_.find(a,function(a){return _.isEqual(a[b],d)});return e?e[c]:"Não disponível"};a.getPerimeterTitle=function(b){return C(a.perimeters,"id","title",b)},a.getGroupTitle=function(b){return C(a.groups,"id","name",b)},a.addNewPerimeterGroup=function(){var b={};b.category_id=w,b.editing=!0,a.perimetersGroups.push(b)},a.changePerimetersDelay=function(){u(function(){a.showPerimeters=a.category.perimeters},1e3)},a.updatePerimetersLimit=function(){a.perimetersLimitb.order})},E=function(){d.cleanCache(),d.getNotificationTypesArrayForCategory(w).then(function(b){a.notificationTypesArray=b,D()})};a.prepareToDeleteNotificationType=function(b){a.notificationTypeToDelete=b},a.prepareToDisplayNotification=function(b){a.notificationContentToDisplay=b.layout},a.deleteNotificationType=function(b){a.deleteNotificationTypePromise=d.deleteNotificationType(w,b).then(function(){a.showMessage("ok","O tipo de notificacao foi removido com sucesso","success",!0),a.notificationTypesArray.splice(a.notificationTypesArray.indexOf(b),1)})},a.notificationsSortableOptions={handle:".move",stop:function(b,c){a.notificationOrderArray=[];for(var d=0;d=0;c--)I.inventory_categories.push(b[1].data.inventory_categories[c].id);a.icon=b[1].data.original_icon,a.loading=!1})}else J.then(function(b){a.categories=b.data,a.loading=!1}),a.perimetersGroups=[],a.enabledUserResponseTime=!1,I=a.category={marker:"R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",inventory_categories:[],allows_arbitrary_position:!0,color:"#2AB4DC",solver_groups_ids:[],default_solver_group_id:null,statuses:[{title:"Em andamento",color:"#f8b01d",initial:!1,"final":!1,active:!0,created_at:"2014-03-05T01: 12: 34.181-03: 00",updated_at:"2014-03-05T01: 12: 34.181-03: 00","private":!1},{title:"Resolvidas",color:"#78c953",initial:!1,"final":!0,active:!0,created_at:"2014-03-05T01: 12: 34.195-03: 00",updated_at:"2014-03-05T01: 12: 34.195-03: 00","private":!1},{title:"Não resolvidas",color:"#999999",initial:!1,"final":!0,active:!0,created_at:"2014-03-05T01: 12: 34.200-03: 00",updated_at:"2014-03-05T01: 12: 34.200-03: 00","private":!1},{title:"Em aberto",color:"#ff0000",initial:!0,"final":!1,active:!0,created_at:"2014-03-17T22: 52: 50.365-03: 00",updated_at:"2014-03-17T22: 52: 50.365-03: 00","private":!1}],notifications:!1};var M=a.uploader=new f;M.filters.push({name:"onlyImages",fn:function(a,b){var c=M.isHTML5?a.type:"/"+a.value.slice(a.value.lastIndexOf(".")+1);return c="|"+c.toLowerCase().slice(c.lastIndexOf("/")+1)+"|","|jpg|png|jpeg|bmp|gif|".indexOf(c)!==-1}}),a.pickColor=function(b){a.category.color=b},a.pickIcon=function(b){a.selectedIcon=b,M.queue=[]},a.filterByIds=function(a){return!(_.isUndefined(I.solver_groups_ids)||!~I.solver_groups_ids.indexOf(a.id))},a.categoriesAutocomplete={options:{source:function(a,b){var c=e.one("search").one("inventory").all("categories").getList({title:a.term,return_fields:"id,title"});c.then(function(a){b($.map(a.data,function(a){return{label:a.title,value:a.title,id:a.id}}))})},select:function(b,c){a.addCategory(c.item.id)},messages:{noResults:"",results:function(){}}}},a.addCategory=function(a){~I.inventory_categories.indexOf(a)||I.inventory_categories.push(a)},a.removeCategory=function(a){I.inventory_categories.splice(I.inventory_categories.indexOf(a),1)};var N=function(a,b){return _.filter(a,function(a){return _.contains(b,a.id)})};a.$watchCollection("category.solver_groups_ids",function(b,c){_.isEqual(b,c)||(a.category.solver_groups=N(a.groups,b),_.isEmpty(b)&&(a.category.default_solver_group_id=null,a.category.default_solver_group=null))}),a.manageStatuses=function(){k.open({templateUrl:"modals/reports/categories/manage-statuses/reports-categories-manage-statuses.template.html",windowClass:"manageStatuses",resolve:{category:function(){return a.category},updating:function(){return v},categoryId:function(){return w}},controller:"ReportsCategoriesManageStatusesModalController"})},a.$watch("preferedResolutionTime",function(){I.resolution_time=a.preferedResolutionTime*a.defaultResolutionTimeSelection}),a.changeDefaultResolutionTimeSelection=function(b){a.preferedResolutionTime=Math.round(I.resolution_time/b),a.defaultResolutionTimeSelection=b},a.$watch("preferedUserResponseTime",function(){I.user_response_time=a.preferedUserResponseTime*a.defaultUserResponseTimeSelection}),a.changeDefaultUserResponseTimeSelection=function(b){a.preferedUserResponseTime=Math.round(I.user_response_time/b),a.defaultUserResponseTimeSelection=b},a.shouldShowGlobalOption=function(){return a.hasPermission("manage_namespaces")&&!v&&1!==b.namespace.id},a.send=function(){function c(a){var b=g.defer(),c=new FileReader;return c.addEventListener("load",function(a){var c=a.target,d=c.result.replace(/^data:image\/[^;]+;base64,/,"");b.resolve(d)}),c.readAsDataURL(a),b.promise}a.inputErrors=null,b.resolvingRequest=!0;var d=[];if(0==M.queue.length&&a.selectedIcon){var f=function(){var b=g.defer(),c=l[0].createElement("CANVAS"),d=c.getContext("2d"),e=new Image;return e.crossOrigin="Anonymous",e.onload=function(){c.height=e.height,c.width=e.width,d.drawImage(e,0,0);var a=c.toDataURL("image/png");b.resolve(a.replace(/^data:image\/[^;]+;base64,/,"")),c=null},e.src="assets/images/icons/"+a.selectedIcon+".png",b.promise}();d.push(f)}else for(var h=M.queue.length-1;h>=0;h--)d.push(c(M.queue[h]._file));g.all(d).then(function(c){var f=c[0],h=angular.copy(I),j=h.statuses;h.statuses={};for(var k=j.length-1;k>=0;k--)j[k].initial=j[k].initial.toString(),j[k]["final"]=j[k]["final"].toString(),j[k].active=j[k].active.toString(),j[k]["private"]=j[k]["private"].toString(),h.statuses[k]=j[k];if(h.resolution_time=h.resolution_time,"undefined"!=typeof h.user_response_time&&"null"!==h.user_response_time&&1==a.enabledUserResponseTime?h.user_response_time=h.user_response_time:h.user_response_time=null,v){f&&(h.icon=f);var l=e.one("reports").one("categories",w).withHttpConfig({treatingErrors:!0}).customPUT(h);d=[],d.push(l);for(var k=a.perimetersGroups.length-1;k>=0;k--){var m=a.perimetersGroups[k];m.__isDirty&&m.__isDirty()&&d.push(t.savePerimeterGroup(m))}for(var k=a.perimetersGroupsToRemove.length-1;k>=0;k--)d.push(t.deletePerimeterGroup(a.perimetersGroupsToRemove[k]));g.all(d).then(function(c){q.purgeCache(),a.showMessage("ok","A categoria de relato foi atualizada com sucesso","success",!0),b.resolvingRequest=!1;for(var d=a.perimetersGroups.length-1;d>=0;d--)a.perimetersGroups[d].__resetDirty&&a.perimetersGroups[d].__resetDirty();a.perimetersGroupsToRemove=[],_.each(c,function(b){if(_.isEqual("POST",b.config.method)&&_.isEqual("perimeters",b.data.route)){var c=_.find(a.perimetersGroups,function(a){return _.isNull(a.id)||_.isUndefined(a.id)});c.id=b.data.id}})},function(c){a.showMessage("exclamation-sign","A categoria de relato não pode ser salva","error",!0),"object"!=typeof c.data.error?p.show(c):a.inputErrors=c.data.error,b.resolvingRequest=!1})}else{h.icon=f,h.marker=f;var n=e.one("reports").withHttpConfig({treatingErrors:!0}).post("categories",h);n.then(function(){q.purgeCache(),a.showMessage("ok","A categoria de relato foi criada com sucesso","success",!0),i.path("/reports/categories"),b.resolvingRequest=!1},function(c){a.showMessage("exclamation-sign","A categoria de relato não pode ser salva","error",!0),"object"!=typeof c.data.error?p.show(c):a.inputErrors=c.data.error,b.resolvingRequest=!1})}})}}]),angular.module("ReportsPerimetersIndexControllerModule",["angularInlineEdit","ReportsPerimetersServiceModule","ReportsPerimetersModalControllerModule","angular-toArrayFilter"]).controller("ReportsPerimetersIndexController",["$scope","$rootScope","$log","ReportsPerimetersService","$modal",function(a,b,c,d,e){c.debug("ReportsPerimetersIndexController created."),a.$on("$destroy",function(){c.debug("ReportsPerimetersIndexController destroyed.")});var f=d;a.loading=!1,a.loadingPerimeter={},a.statusDecorator={pendent:["time","perimeter-status-process","EM PROCESSAMENTO"],imported:["ok","perimeter-status-ok","CADASTRADO COM SUCESSO"],invalid_file:["warning-sign","perimeter-status-error","ERRO: ARQUIVO INVÁLIDO"],out_of_bounds:["warning-sign","perimeter-status-error","ERRO: FORA DO PERÍMETRO DA CIDADE"],invalid_quantity:["warning-sign","perimeter-status-error","ERRO: QUANTIDADE INVÁLIDA"],invalid_geometry:["warning-sign","perimeter-status-error","ERRO: FORMA GEOMÉTRICA INVÁLIDA"]},a.perimeters=[];var g=a.cleanCache=function(){h=1,i=15,f.cleanCache()};a.sort={column:"created_at",descending:!0};var h=1,i=15;a.changeTitleTerm=function(){g(),j()};var j=a.getData=function(){if(a.loading===!1){a.loading=!0;var c={};""!==a.sort.column&&(c.sort=a.sort.column,c.order=a.sort.descending?"desc":"asc"),c.paginate=!0,c.page=+h||1,c.per_page=+i||15,c.title=_.isEmpty(a.titleTerm)?null:a.titleTerm;var d=f.fetchAll(c);return d.then(function(b){h++,a.perimeters=b;var c=Math.ceil(a.total/i);h===c+1?a.loading=null:a.loading=!1,a.loading=!1},function(){a.loading=!1,b.showMessage("exclamation-sign","Não foi possível atualizar a listagem.","error",!1)}),d}};a.$on("perimetersFetched",function(){a.total=f.total,a.loading=!1}),j(),a.updatePerimeter=function(d,e){d.title=e,a.loadingPerimeter[d.id]=!0,f.updatePerimeter(d).then(function(){a.loadingPerimeter[d.id]=!1,b.showMessage("ok","Nome do perímetro atualizado com sucesso.","success",!0),c.debug("Updated title")})},a.addPerimeter=function(){e.open({templateUrl:"modals/reports/perimeters/reports-perimeters-modal.template.html",backdrop:!1,resolve:{parentScope:function(){return a}},controller:"ReportsPerimetersModalController"})},a.deletePerimeter=function(c){a.deletePromise=f.deletePerimeter(c).then(function(){delete a.perimeters[c.id],b.showMessage("ok","Perímetro removido com sucesso.","success",!0),a.deletePromise=null},function(){b.showMessage("exclamation-sign","Não foi possível remover o perímetro.","error",!0),a.deletePromise=null})}}]),angular.module("ReportsPerimetersIndexModule",["ReportsPerimetersIndexControllerModule"]).config(["$stateProvider",function(a){a.state("reports.perimeters",{url:"/perimeters",cache:!1,views:{"":{templateUrl:"routes/reports/perimeters/index/reports-perimeters-index.template.html",controller:"ReportsPerimetersIndexController",controllerAs:"ctrl"}}})}]),angular.module("ItemsModule",["ItemsIndexModule","ItemsShowModule","ItemsEditModule","ItemsSelectCategoryModule","ItemsCategoriesIndexModule","ItemsCategoriesEditModule"]).config(["$stateProvider",function(a){a.state("items",{"abstract":!0,url:"/items",templateUrl:"routes/items/items.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("ItemsIndexModule",["ItemsIndexControllerModule","ItemsIndexMapModule","StyleResultsTableComponentModule"]).config(["$stateProvider",function(a){a.state("items.list",{url:"",views:{"":{templateUrl:"routes/items/index/items-index.template.html",controller:"ItemsIndexController",controllerAs:"ctrl",resolve:{isMap:function(){return!1}}}}})}]),angular.module("ItemsIndexControllerModule",["AdvancedFiltersServiceModule","InventoriesItemsServiceModule","ItemsDestroyModalControllerModule","angular-toArrayFilter"]).controller("ItemsIndexController",["$state","$scope","$rootScope","$modal","$q","isMap","AdvancedFilters","$location","$window","$cookies","InventoriesItemsService","$log",function(a,b,c,d,e,f,g,h,i,j,k,l){ l.info("ItemsIndexController created."),b.loading=!0,c.uiHasScroll=!0;var m=1,n=15;b.loadingPagination=!1,b.filtersHash=null,b.categories={},b.categoriesStatuses={},b.total=0;var o=function(){b.selectedCategories=[],b.selectedStatuses=[],b.selectedUsers=[],b.beginDate=null,b.endDate=null,b.searchText=null,b.fields=[],b.position=null,b.selectedAreas=[],b.zoom=null,b.clusterize=null};o(),b.sort={column:"created_at",descending:!0},b.changeSorting=function(a){var c=b.sort;c.column===a?c.descending=!c.descending:(c.column=a,c.descending=!1),k.resetCache(),b.reload()},b.selectedCls=function(a){return a===b.sort.column&&"sort-"+b.sort.descending},b.availableFilters=[{name:"Protocolo ou endereço contém...",action:"query"},{name:"Com as categorias...",action:"category"},{name:"Com os estados...",action:"status"},{name:"Por criador do item...",action:"author"},{name:"Por período...",action:"date"},{name:"Por perímetro...",action:"area"},{name:"Por campos...",action:"fields"}],b.activeAdvancedFilters=[],"undefined"!=typeof j.inventoryFiltersHash&&(b.activeAdvancedFilters=JSON.parse(i.atob(j.inventoryFiltersHash))),"undefined"!=typeof h.search().filters&&(b.filtersHash=h.search().filters,b.activeAdvancedFilters=JSON.parse(i.atob(b.filtersHash))),b.$watch("activeAdvancedFilters",function(){o(),0!==b.activeAdvancedFilters.length?(b.filtersHash=i.btoa(JSON.stringify(b.activeAdvancedFilters)),h.search("filters",b.filtersHash),j.inventoryFiltersHash=b.filtersHash):(b.filtersHash=null,h.search("filters",null),delete j.inventoryFiltersHash);for(var a=b.activeAdvancedFilters.length-1;a>=0;a--){var c=b.activeAdvancedFilters[a];"query"===c.type&&(b.searchText=c.value),"categories"===c.type&&b.selectedCategories.push(c.value),"statuses"===c.type&&b.selectedStatuses.push(c.value),"authors"===c.type&&b.selectedUsers.push(c.value),"fields"===c.type&&b.fields.push(c.value),"beginDate"===c.type&&(b.beginDate=c.value),"endDate"===c.type&&(b.endDate=c.value),"area"===c.type&&b.selectedAreas.push(c.value)}q()},!0),b.generateItemsFetchingOptions=function(){var a={appendItems:!0};if(b.position||(a.page=m,a.per_page=n),null!==b.searchText&&(a.query=b.searchText),0!==b.selectedCategories.length&&(a.inventory_categories_ids=b.selectedCategories.join()),0!==b.selectedStatuses.length&&(a.inventory_statuses_ids=b.selectedStatuses.join()),0!==b.selectedUsers.length&&(a.users_ids=b.selectedUsers.join()),null!==b.beginDate&&(a["created_at[begin]"]=b.beginDate),null!==b.endDate&&(a["created_at[end]"]=b.endDate),""!==b.sort.column&&(a.sort=b.sort.column,a.order=b.sort.descending?"desc":"asc"),0!==b.fields.length){console.log(b.fields);for(var c=b.fields.length-1;c>=0;c--){var d="fields["+b.fields[c].id+"]["+b.fields[c].condition+"]";if(_.isArray(b.fields[c].value))for(var e=b.fields[c].value.length-1;e>=0;e--){var f=d+"["+e+"]";a[f]=b.fields[c].value[e]}else a[d]=b.fields[c].value}}if(0===b.selectedAreas.length&&null!==b.position)a["position[latitude]"]=b.position.latitude,a["position[longitude]"]=b.position.longitude,a["position[distance]"]=b.position.distance;else if(0!==b.selectedAreas.length)for(var g=b.selectedAreas.length-1;g>=0;g--){var h="position["+g+"][latitude]",i="position["+g+"][longitude]",j="position["+g+"][distance]";a[h]=b.selectedAreas[g].latitude,a[i]=b.selectedAreas[g].longitude,a[j]=b.selectedAreas[g].distance}return null!==b.zoom&&(a.zoom=b.zoom),null!==b.clusterize&&(a.clusterize=!0),a};var p=b.getData=function(a,c){if(b.loadingPagination===!1){b.loadingPagination=!0,"undefined"!=typeof c&&(b.position=c.position,b.zoom=c.zoom,b.clusterize=c.clusterize);var d=k.fetchAll(b.generateItemsFetchingOptions());return d.then(function(a){m++,b.items=a,b.total=k.total;var c=Math.ceil(b.total/n);m===c+1?b.loadingPagination=null:b.loadingPagination=!1,b.loading=!1}),d}};b.$on("inventoriesItemsFetching",function(){f&&(b.loading=!0)}),b.$on("inventoriesItemsFetched",function(){b.total=k.total,b.loading=!1});var q=b.reload=function(a){f?b.$broadcast("mapRefreshRequested",!0):(k.resetCache(),m=1,b.loadingPagination=!1,a===!0&&(b.reloading=!0),b.loadingContent=!0,b.items=[],p().then(function(c){b.loadingContent=!1,b.items=c,a===!0&&(b.reloading=!1)}))};b.reloadMap=function(){c.$emit("mapRefreshRequested")},b.removeFilter=function(a){b.activeAdvancedFilters.splice(b.activeAdvancedFilters.indexOf(a),1)},b.resetFilters=function(){b.activeAdvancedFilters=[],f&&b.$broadcast("updateMap",!0)},b.loadFilter=function(a){"query"===a&&g.query(b.activeAdvancedFilters),"category"===a&&g.category(b.activeAdvancedFilters,"items"),"status"===a&&g.status(b.activeAdvancedFilters,"items"),"author"===a&&g.author(b.activeAdvancedFilters),"fields"===a&&g.fields(b.activeAdvancedFilters,"items"),"date"===a&&g.period(b.activeAdvancedFilters),"area"===a&&g.area(b.activeAdvancedFilters)},b.search=function(a){b.searchText=a,q()},b.share=function(){g.share()},b.changeToMap=function(){null!==b.filtersHash?h.url("/inventories/map?filters="+b.filtersHash):h.url("/inventories/map")},b.changeToList=function(){null!==b.filtersHash?h.url("/inventories?filters="+b.filtersHash):h.url("/inventories")},b.deleteItem=function(a,b){d.open({templateUrl:"modals/items/destroy/items-destroy.template.html",windowClass:"removeModal",resolve:{item:function(){return a},category:function(){return b}},controller:"ItemsDestroyModalController"})},b["export"]=function(){d.open({templateUrl:"views/inventories/export.html",windowClass:"filterCategoriesModal",resolve:{categories:function(){return b.categories}},controller:["$scope","$modalInstance","categories",function(a,b,c){a.categories=c,a.updateCategory=function(b){var c=a.categories.indexOf(b);a.categories[c].selected===!0?a.categories[c].selected=!1:a.categories[c].selected=!0},a.close=function(){b.close()}}]})},b.openItem=function(b,d){c.loading||"a"==d.target.parentNode.tagName.toLowerCase()||"a"==d.target.tagName.toLowerCase()||a.go("items.show",{id:b.id})},c.pageHasMap=f,b.$on("$destroy",function(){c.pageHasMap=!1,l.info("ItemsIndexController destroyed.")}),b.canUserEditItems=b.hasPermission("inventories_full_access")||b.hasPermission("inventories_categories_edit")||b.hasPermission("inventories_items_edit")||b.hasPermission("inventories_items_delete")}]),angular.module("ItemsIndexMapModule",["StyleMapComponentModule","MapComponentModule"]).config(["$stateProvider",function(a){a.state("items.list.map",{url:"/map",views:{"@items":{templateUrl:"routes/items/index/map/items-index-map.template.html",controller:"ItemsIndexController",controllerAs:"ctrl",resolve:{isMap:function(){return!0}}}}})}]),angular.module("ItemsShowModule",["ItemsShowControllerModule"]).config(["$stateProvider",function(a){a.state("items.show",{url:"/{id:[0-9]{1,9}}",views:{"":{templateUrl:"routes/items/show/items-show.template.html",controller:"ItemsShowController",controllerAs:"ctrl",resolve:{itemResponse:["$q","Restangular","$stateParams","ReturnFieldsService",function(a,b,c,d){var e=a.defer(),f=["id","address","inventory_category_id","inventory_category_id","inventory_status_id","position","title",{data:["id","content","selected_options",{field:["id"]}],related_entities:[{report_items:["id","created_at","updated_at",{category:["title"],status:["title"]}],cases:["id","created_at","updated_at","status",{initial_flow:["title"]}]}]}],g=["id","title","marker","pin","statuses","plot_format","sections.id","sections.title","sections.disabled","sections.position","sections.fields.title","sections.fields.label","sections.fields.kind","sections.fields.id","sections.fields.position","sections.fields.disabled"],h=b.one("inventory").one("items",c.id).get({return_fields:d.convertToString(f),display_type:"full"});return h.then(function(a){var c=angular.copy(a.data),d=b.one("inventory").one("categories",c.inventory_category_id).get({return_fields:g.join(),display_type:"full"});d.then(function(a){c.category=angular.copy(a.data),e.resolve(c)})}),e.promise}]}}}})}]),angular.module("ItemsShowControllerModule",["MapShowItemComponentModule","MapViewStreetviewComponentModule","FieldHistoryModalControllerModule","GalleryComponentModule"]).controller("ItemsShowController",["$rootScope","$scope","Restangular","$q","$state","$modal","itemResponse","$log","CasesService","ReturnFieldsService",function(a,b,c,d,e,f,g,h,i,j){function k(a){return _.flatten(_.map(a.sections,function(a){return _.pluck(a.fields,"id")}))}h.info("ItemsShowController created."),b.$on("$destroy",function(){h.info("ItemsShowController destroyed.")}),b.item=g,b.category=b.item.category,b.show_status_bar=b.category.statuses&&b.category.statuses.length>0,b.item_status=null,b.item.related_entities.cases&&(b.item.related_entities.cases=_.map(b.item.related_entities.cases,function(a){return i.denormalizeCase(a)})),b.openRelatedCase=function(a){e.go("cases.edit",{id:a.id})},b.openRelatedReport=function(a){e.go("reports.show",{id:a.id})},b.updateItemStatus=function(){if(null!=b.item.inventory_status_id){for(var a=b.category.statuses,c=0;c=0;c--)if("undefined"!=typeof b.item.data[c].field&&null!==b.item.data[c].field&&b.item.data[c].field.id===parseInt(a))return b.item.data[c].content;return null},b.getSelectedOptionsByFieldId=function(a){for(var c=b.item.data.length-1;c>=0;c--)if("undefined"!=typeof b.item.data[c].field&&null!==b.item.data[c].field&&b.item.data[c].field.id===parseInt(a))return b.item.data[c].selected_options;return null},b.editItemStatus=function(a,d){f.open({templateUrl:"modals/items/edit-status/items-edit-status.template.html",windowClass:"editStatusModal",resolve:{item:function(){return a},category:function(){return d},refreshItemHistory:function(){return b.refreshHistory},updateItemStatus:function(){return b.updateItemStatus}},controller:["$scope","$modalInstance","category","item","refreshItemHistory","updateItemStatus",function(a,b,d,e,f,g){a.category=d,a.item=angular.copy(e),a.changeStatus=function(b){a.item.inventory_status_id=b},a.save=function(){var d=["id","address","inventory_category_id","inventory_category_id","inventory_status_id","position","title",{data:["id","content","selected_options",{field:["id"]}],related_entities:[{report_items:["id","created_at","updated_at",{category:["title"],status:["title"]}],cases:["id","created_at","updated_at","status",{initial_flow:["title"]}]}]}],h=c.all("inventory").one("categories",a.category.id).one("items",a.item.id).customPUT({inventory_status_id:a.item.inventory_status_id,return_fields:j.convertToString(d)});h.then(function(){e.inventory_status_id=a.item.inventory_status_id,f(),g(),b.close()})},a.close=function(){b.close()}}]})},b.deleteItem=function(a,b){f.open({templateUrl:"modals/items/destroy/items-destroy.template.html",windowClass:"removeModal",resolve:{removeItemFromList:function(){return!1},item:function(){return a},category:function(){return b}},controller:"ItemsDestroyModalController"})},b.showFieldHistory=function(c){a.resolvingRequest=!0,f.open({templateUrl:"modals/items/field-history/items-field-history.template.html",windowClass:"field-history-modal",resolve:{field:function(){return c},itemId:function(){return b.item.id},itemHistoryResponse:["Restangular","$stateParams",function(a,d){return a.one("inventory").one("items",b.item.id).one("history").getList(null,{object_id:c.id})}]},controller:"FieldHistoryModalController"})},b.refreshHistory=function(){var a={return_fields:"id,action,created_at,kind,objects.id,objects.label,objects.title,objects.name,user.name,user.id"},d=b.selectedFilters();0!==d.length&&(a.kind=d.join()),b.historyFilterBeginDate&&(a["created_at[begin]"]=b.historyFilterBeginDate),b.historyFilterEndDate&&(a["created_at[end]"]=b.historyFilterEndDate),b.loadingHistoryLogs=!0;var e=c.one("inventory").one("items",b.item.id).one("history").getList(null,a);e.then(function(a){b.historyLogs=a.data,b.loadingHistoryLogs=!1})},b.historyOptions={type:void 0},b.availableHistoryFilters=[{type:"report",name:"Relatos",selected:!1},{type:"fields",name:"Campos",selected:!1},{type:"images",name:"Imagens",selected:!1},{type:"flow",name:"Fluxo",selected:!1},{type:"formula",name:"Fórmulas",selected:!1},{type:"status",name:"Estados",selected:!1}],b.availableHistoryDateFilters=[{name:"Hoje",beginDate:moment().startOf("day").format(),endDate:moment().endOf("day").format(),selected:!1},{name:"Ontem",beginDate:moment().subtract(1,"days").startOf("day").format(),endDate:moment().subtract(1,"days").endOf("day").format(),selected:!1},{name:"Este mês",beginDate:moment().startOf("month").format(),endDate:moment().subtract(1,"days").endOf("day").format(),selected:!1},{name:"Mês passado",beginDate:moment().subtract(1,"months").startOf("month").format(),endDate:moment().subtract(1,"months").subtract(1,"days").endOf("day").format(),selected:!1},{name:"Todos",beginDate:null,endDate:null,selected:!0}],b.selectedFilters=function(){var a=[];return _.each(b.availableHistoryFilters,function(b){b.selected&&a.push(b.type)}),a},b.toggleOption=function(a){a.selected=!a.selected,b.refreshHistory()},b.resetHistoryFilters=function(){_.each(b.availableHistoryFilters,function(a){a.selected=!0}),b.refreshHistory()},b.showCustomDateFields=function(){_.each(b.availableHistoryDateFilters,function(a){a.selected=!1}),b.showCustomDateHelper=!0},b.selectDateFilter=function(a){_.each(b.availableHistoryDateFilters,function(a){a.selected=!1}),a.selected=!a.selected,b.historyFilterBeginDate=a.beginDate,b.historyFilterEndDate=a.endDate,b.showCustomDateHelper=!1,b.refreshHistory()},b.historyLogs=[],b.refreshHistory(),b.userCanEditItem=b.hasPermission("inventories_full_access")||b.hasPermission("inventories_categories_edit",b.item.category.id)||b.hasPermission("inventories_items_edit",b.item.category.id)||b.hasPermission("inventory_fields_can_edit",k(b.item.category))}]),angular.module("ItemsEditModule",["ItemsEditControllerModule"]).config(["$stateProvider",function(a){a.state("items.show.edit",{url:"/category/{categoryId:[0-9]{1,9}}/edit",views:{"@":{templateUrl:"routes/items/edit/items-edit.template.html",controller:"ItemsEditController",controllerAs:"ctrl",resolve:{categoryResponse:["Restangular","$stateParams","ReturnFieldsService",function(a,b,c){var d=["id","marker","pin","plot_format","require_item_status","statuses","title","updated_at",{sections:["id","title","disabled","required","location","position",{fields:["id","disabled","title","kind","label","available_values","field_options","position","maximum","minimum","required"]}]}];return a.one("inventory").one("categories",b.categoryId).get({display_type:"full",return_fields:c.convertToString(d)})}],itemResponse:["Restangular","$stateParams","ReturnFieldsService",function(a,b,c){var d=["id","title","address","inventory_status_id","status","locked","locker_id","locked_at","position","inventory_category_id","data","created_at","updated_at"];return a.one("inventory").one("items",b.id).get({display_type:"full",return_fields:c.convertToString(d)})}]}}}}).state("items.add",{url:"/category/{categoryId:[0-9]{1,9}}/add",views:{"@":{templateUrl:"routes/items/edit/items-edit.template.html",controller:"ItemsEditController",controllerAs:"ctrl",resolve:{categoryResponse:["Restangular","$stateParams","ReturnFieldsService",function(a,b,c){var d=["id","marker","pin","plot_format","require_item_status","statuses","title",{sections:["id","title","disabled","required","location","position",{fields:["id","disabled","title","kind","label","available_values","field_options","position","maximum","minimum","required"]}]}];return a.one("inventory").one("categories",b.categoryId).get({display_type:"full",return_fields:c.convertToString(d)})}],itemResponse:function(){return!1}}}}})}]),angular.module("ItemsEditControllerModule",["ItemsRestoreModalControllerModule","ItemsSelectAddressModalControllerModule","InventoriesItemsServiceModule","NgThumbComponentModule","TranslateErrorsHelperModule","OnEnterComponentModule"]).controller("ItemsEditController",["$scope","Restangular","$q","$state","$modal","$rootScope","FileUploader","onlyImagesUploaderFilter","$localStorage","itemResponse","categoryResponse","$timeout","User","InventoriesItemsService","ReturnFieldsService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p,q=a.updating=!1,r=k.data.id,s=r.toString()+k.data.updated_at,t=a.itemData={},u=!1;if(a.uploaders={},a.isObject=_.isObject,j){var v=j.data.id;q=!0,a.updating=!0}a.storage=i,a.back=function(){j?d.transitionTo("items.show",{id:v},{reload:!0}):d.transitionTo("items.list",null,{reload:!0})},a.isUnselected=function(a){return _.chain(a).values().find(function(a){return a}).isUndefined().value()},q?("undefined"==typeof a.storage.updating?(a.storage.updating={},a.storage.updating[s]={},a.storage.updating[s][v]=null):"undefined"==typeof a.storage.updating[s]?(a.storage.updating[s]={},a.storage.updating[s][v]=null):"undefined"==typeof a.storage.updating[s][v]&&(a.storage.updating[s][v]=null),null!==a.storage.updating[s][v]&&(p=angular.copy(a.storage.updating[s][v]),u=!0)):("undefined"==typeof a.storage.creating?(a.storage.creating={},a.storage.creating[s]=null):"undefined"==typeof a.storage.creating[s]&&(a.storage.creating[s]=null),null!==a.storage.creating[s]&&(p=angular.copy(a.storage.creating[s]),u=!0)),u&&e.open({templateUrl:"modals/items/restore/items-restore.template.html",windowClass:"removeModal",resolve:{setItemData:function(){return function(){t=a.itemData=angular.copy(p)}},clearData:function(){return function(){q?a.storage.updating[s][v]=null:a.storage.creating[s]=null}}},controller:"ItemsRestoreModalController"}),a.hiddenFields=[];var w=a.locationFieldsIds=[];a.locationFields=[],a.item={inventory_status_id:null},a.category=k.data,a.item.category=a.category;for(var x=a.category.sections.length-1;x>=0;x--)for(var y=a.category.sections[x].fields.length-1;y>=0;y--){var z=a.category.sections[x];if("undefined"!=typeof z&&(!z.disabled||q)){if(t[z.fields[y].id]=null,"checkbox"===z.fields[y].kind){var A={};if(null!==z.fields[y].field_options)for(var B=z.fields[y].field_options.length-1;B>=0;B--)A[z.fields[y].field_options[B].id]=!1;$.isEmptyObject(A)?t[z.fields[y].id]=null:t[z.fields[y].id]=A}if(z.location===!0&&z.fields[y].disabled===!1&&("latitude"===z.fields[y].title&&(a.locationFieldsIds[0]=z.fields[y].id,a.locationFields[0]=z.fields[y],a.hiddenFields.push(z.fields[y].id)),"longitude"===z.fields[y].title&&(a.locationFieldsIds[1]=z.fields[y].id,a.hiddenFields.push(z.fields[y].id)),"address"===z.fields[y].title&&(a.locationFieldsIds[2]=z.fields[y].id),"postal_code"===z.fields[y].title&&(a.locationFieldsIds[3]=z.fields[y].id),"district"===z.fields[y].title&&(a.locationFieldsIds[4]=z.fields[y].id),"city"===z.fields[y].title&&(a.locationFieldsIds[5]=z.fields[y].id),"state"===z.fields[y].title&&(a.locationFieldsIds[6]=z.fields[y].id)),"images"===z.fields[y].kind){var C=new g;C.filters.push(h(C.isHTML5)),a.uploaders[z.fields[y].id]=C,t[z.fields[y].id]={areImages:!0}}}}if(q||a.$watch("itemData",function(b,c){angular.equals(b,c)||(a.storage.creating[s]=angular.copy(b))},!0),q){a.item=j.data,a.item.locked===!0&&a.item.locker_id!==m.id&&(a.locked=!0);var D=function(b){for(var c=a.item.data.length-1;c>=0;c--)if("undefined"!=typeof a.item.data[c].field&&null!==a.item.data[c].field&&a.item.data[c].field.id==b)return a.item.data[c]};for(var E in t){var F=D(E);if("undefined"!=typeof F)if("checkbox"===F.field.kind&&null!==F.content)for(var x=F.content.length-1;x>=0;x--)t[E][F.content[x]]=!0;else"images"===F.field.kind&&null!==F.content?t[E].existingImages=F.content:t[E]=F.content}a.$watch("itemData",function(b,c){angular.equals(b,c)||(a.storage.updating[s][v]=angular.copy(b))},!0);var G=!0,H=function(){b.all("inventory").one("categories",r).one("items",v).all("update_access").patch();l(function(){G&&H()},45e3)};(!a.item.locked||a.item.locked===!0&&a.item.locker_id==m.id)&&H(),a.$on("$destroy",function(){G=!1})}a.userCanEditAllFields=a.hasPermission("inventories_full_access")||a.hasPermission("inventories_categories_edit",a.category.id)||a.hasPermission("inventories_items_edit",a.category.id),a.openMapModal=function(){var b=e.open({templateUrl:"modals/items/select-address/items-select-address.template.html",windowClass:"mapModal",resolve:{category:function(){return a.category},updating:function(){return q},itemData:function(){return t},locationFieldsIds:function(){return w}},controller:"ItemsSelectAddressModalController"});b.opened.then(function(){setTimeout(function(){f.selectLatLngMap.start()},80)})},a.send=function(){function b(a){var b=c.defer(),d=new FileReader;return d.addEventListener("load",function(a){var c=a.target;b.resolve(c.result.replace(/^data:image\/[^;]+;base64,/,""))}),d.readAsDataURL(a),b.promise}if(a.form.$invalid)return a.showValidationError=!0,!1;a.processingForm=!0;var e=[],f={inventory_status_id:a.item.inventory_status_id,data:{}},g=function(a,d){for(var e=c.defer(),g=[],h=a.queue.length-1;h>=0;h--)g.push(b(a.queue[h]._file));return c.all(g).then(function(a){for(var b=[],c=a.length-1;c>=0;c--)b.push({content:a[c]});if(0!==b.length)if("undefined"==typeof f.data[d])f.data[d]=b;else for(var c=b.length-1;c>=0;c--)f.data[d].push(b[c]);e.resolve()}),e.promise};for(var h in t)if(!isNaN(parseInt(h,10))&&null!==t[h])if("object"==typeof t[h])if(t[h].areImages===!0){if(e.push(g(a.uploaders[h],h)),"undefined"!=typeof t[h].existingImages)for(var i=t[h].existingImages.length-1;i>=0;i--)t[h].existingImages[i].destroy===!0&&("undefined"==typeof f.data[h]?f.data[h]=[{id:t[h].existingImages[i].id,destroy:!0}]:f.data[h].push({id:t[h].existingImages[i].id,destroy:!0}))}else{var j=[];for(var k in t[h])t[h][k]===!0&&j.push(parseInt(k));0!==j.length&&(f.data[h]=j)}else f.data[h]=t[h];c.all(e).then(function(){q?n.update(v,r,f).then(function(b){a.storage.updating[s][v]=null,a.showMessage("ok","O item foi atualizado com sucesso!","success",!0),a.processingForm=!1,d.go("items.show",{id:v},{reload:!0})})["catch"](function(b){a.inputErrors=b,a.processingForm=!1}):n.create(r,f).then(function(b){a.storage.creating[s]=null,a.showMessage("ok","O item foi criado com sucesso","success",!0),d.go("items.show",{id:b.id})})["catch"](function(b){a.inputErrors=b,a.processingForm=!1})})}}]),angular.module("ItemsSelectCategoryControllerModule",[]).controller("ItemsSelectCategoryController",["$scope","categoriesResponse",function(a,b){a.categories=b}]),angular.module("ItemsSelectCategoryModule",["ItemsSelectCategoryControllerModule"]).config(["$stateProvider",function(a){a.state("items.select-category",{url:"/select-category",views:{"@":{templateUrl:"routes/items/select-category/items-select-category.template.html",controller:"ItemsSelectCategoryController",controllerAs:"ctrl",resolve:{categoriesResponse:["InventoriesCategoriesService","$q",function(a,b){var c=function(){var c=b.defer();return a.fetchAllBasicInfo().then(function(a){c.resolve(a.data.categories)}),c.promise};return a.loadedBasicInfo?_.values(a.categories):c()}]}}}})}]),angular.module("ItemsCategoriesIndexModule",["ItemsCategoriesIndexControllerModule","InventoriesCategoriesServiceModule"]).config(["$stateProvider",function(a){a.state("items.categories",{url:"/categories",views:{"":{templateUrl:"routes/items/categories/index/items-categories-index.template.html",controller:"ItemsCategoriesIndexController",controllerAs:"ctrl",resolve:{categoriesResponse:["InventoriesCategoriesService","$q",function(a,b){var c=function(){var c=b.defer();return a.fetchAllBasicInfo().then(function(a){c.resolve(a.data.categories)}),c.promise};return a.loadedBasicInfo?_.values(a.categories):c()}]}}}})}]),angular.module("ItemsCategoriesIndexControllerModule",["ItemsCategoriesDestroyModalControllerModule"]).controller("ItemsCategoriesIndexController",["$scope","categoriesResponse","$modal",function(a,b,c){a.categories=b,a.deleteCategory=function(b){c.open({templateUrl:"modals/items/categories/destroy/items-categories-destroy.template.html",windowClass:"removeModal",backdrop:"static",resolve:{inventoriesCategoriesList:function(){return a.categories},category:function(){return b}},controller:"ItemsCategoriesDestroyModalController"})}}]),angular.module("ItemsCategoriesEditModule",["ItemsCategoriesEditControllerModule"]).config(["$stateProvider",function(a){a.state("items.categories.edit",{url:"/{id:[0-9]{1,4}}/edit",views:{"@":{templateUrl:"routes/items/categories/edit/items-categories-edit.template.html",controller:"ItemsCategoriesEditController",controllerAs:"ctrl",resolve:{categoryResponse:["Restangular","$stateParams",function(a,b){return a.one("inventory").one("categories",b.id).get({display_type:"full"})}],analyzesResponse:["Restangular","$stateParams",function(a,b){return a.one("inventory").one("categories",b.id).all("analyzes").getList()}],formulasResponse:["FullResponseRestangular","$stateParams","$q","$log","$rootScope",function(a,b,c,d,e){var f=c.defer();if(e.hasPermission("inventories_formulas_full_access")){var g=a.one("inventory").one("categories",b.id).all("formulas").customGET();g.then(function(a){f.resolve(a)},function(){f.resolve(!1)})}else d.info("Sem permissão de edição de fórmulas."),f.resolve(!0);return f.promise}],groupsResponse:["Restangular",function(a){return a.all("groups").getList({ignore_namespaces:!0,return_fields:"id,name,namespace"})}]}}}}).state("items.categories.add",{url:"/add",views:{"@":{templateUrl:"routes/items/categories/edit/items-categories-edit.template.html",controller:"ItemsCategoriesEditController",controllerAs:"ctrl",resolve:{categoryResponse:function(){return!1},formulasResponse:function(){return!1},analyzesResponse:function(){return!1},groupsResponse:["Restangular",function(a){return a.all("groups").getList()}]}}}})}]),function(a,b){"use strict";function c(a,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){function t(){s.on("click",function(c){var d=b(c.target);d[0].hasAttribute("has-popover")||d[0].hasAttribute("uis-transclude-append")||d.closest(".popover").length>0||d.closest(".ui-select-choices-row-inner").length>0||d.closest(".ui-select-match-item").length>0||d.hasClass("ui-select-choices-row-inner")||d.hasClass("ui-select-choices-row")||a.$emit("hidePopovers",!0)})}var u=a.updating=!1;if(a.groups=f.data,e){u=!0,a.updating=!0,a.category=e.data;var v=a.category.id}a.analyzes=p.data,a.unsavedCategory=!1,a.showDisabledFields=h,a.currentTab="fields",a.enableEditing=function(){a.editingCategoryTitle=!0,k(function(){b("#edit-title-input").focus()},100)};var w=["integer","decimal","meters","centimeters","kilometers","years","months","days","hours","seconds","angle","date","time"];a.getLabelForMinField=function(a){return w.indexOf(a)===-1?"Min. de caracteres":"Valor mínimo"},a.getLabelForMaxField=function(a){return w.indexOf(a)===-1?"Máx. de caracteres":"Valor máximo"},a.availableInputs=[{kind:"text",name:"Campo de texto",multipleOptions:!1},{kind:"textarea",name:"Campo de parágrafo",multipleOptions:!1},{kind:"integer",name:"Campo numérico",multipleOptions:!1},{kind:"decimal",name:"Campo decimal",multipleOptions:!1},{kind:"checkbox",name:"Campo de múltipla escolha",multipleOptions:!0},{kind:"radio",name:"Campo de escolha única",multipleOptions:!0},{kind:"select",name:"Campo de lista",multipleOptions:!0},{kind:"meters",name:"Campo em metros",multipleOptions:!1},{kind:"centimeters",name:"Campo em centímetros",multipleOptions:!1},{kind:"kilometers",name:"Campo em quilômetros",multipleOptions:!1},{kind:"years",name:"Campo em anos",multipleOptions:!1},{kind:"months",name:"Campo em meses",multipleOptions:!1},{kind:"days",name:"Campo em dias",multipleOptions:!1},{kind:"hours",name:"Campo em horas",multipleOptions:!1},{kind:"seconds",name:"Campo em segundos",multipleOptions:!1},{kind:"angle",name:"Campo de ângulo",multipleOptions:!1},{kind:"date",name:"Campo de data",multipleOptions:!1},{kind:"time",name:"Campo de tempo",multipleOptions:!1},{kind:"cpf",name:"Campo de CPF",multipleOptions:!1},{kind:"cnpj",name:"Campo de CNPJ",multipleOptions:!1},{kind:"url",name:"Campo de URL",multipleOptions:!1},{kind:"email",name:"Campo de e-mail",multipleOptions:!1},{kind:"images",name:"Campo de imagens",multipleOptions:!1}],a.kindHasMultipleOptions=function(b){for(var c=a.availableInputs.length-1;c>=0;c--)if(a.availableInputs[c].kind===b)return a.availableInputs[c].multipleOptions===!0;return!1},a.onChangeFieldRequire=function(a,b){console.log("onChangeFieldRequire:",a,b),a.required||(b.required=!1)},a.onChangeSectionRequire=function(a){console.log("onChangeSectionRequire:",a),a.required&&a.fields.forEach(function(a){a.required=!0})};var x=function(b){return _.findWhere(a.groups,{id:b})};if(u){a.category.plot_format="pin"!==a.category.plot_format;for(var y=a.category.permissions.groups_can_edit.length-1;y>=0;y--)a.category.permissions.groups_can_edit[y]=x(a.category.permissions.groups_can_edit[y]);for(var y=a.category.permissions.groups_can_view.length-1;y>=0;y--)a.category.permissions.groups_can_view[y]=x(a.category.permissions.groups_can_view[y])}else{a.category={},a.category.title="Nova categoria sem título",a.category.color="#2AB4DC",a.category.icon="R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",a.category.marker="R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",a.category.pin="R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",a.category.plot_format=!1,a.category.global=!1,a.category.statuses=[],a.category.permissions={groups_can_edit:[],groups_can_view:[]};for(var y=a.me.groups.length-1;y>=0;y--)a.category.permissions.groups_can_edit.push(a.me.groups[y]);a.category.sections=[{title:"Localização",required:!0,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]},fields:[{title:"longitude",kind:"text",size:null,inventory_section_id:14,available_values:null,position:1,label:"Longitude",maximum:null,minimum:null,required:!0,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"postal_code",kind:"text",size:null,inventory_section_id:14,available_values:null,position:3,label:"CEP",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"road_classification",kind:"text",size:null,inventory_section_id:14,available_values:null,position:8,label:"Classificação Viária",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"city",kind:"text",size:null,inventory_section_id:14,available_values:null,position:5,label:"Cidade",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"latitude",kind:"text",size:null,inventory_section_id:14,available_values:null,position:0,label:"Latitude",maximum:null,minimum:null,required:!0,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"address",kind:"text",size:null,inventory_section_id:14,available_values:null,position:2,label:"Endereço",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"district",kind:"text",size:null,inventory_section_id:14,available_values:null,position:4,label:"Bairro",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"state",kind:"text",size:null,inventory_section_id:14,available_values:null,position:6,label:"Estado",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}},{title:"codlog",kind:"text",size:null,inventory_section_id:14,available_values:null,position:7,label:"Codlog",maximum:null,minimum:null,required:!1,location:!0,permissions:{groups_can_view:[],groups_can_edit:[]}}]}]}a.$watch("category",function(b,c){b!==c&&(a.unsavedCategory=!0)},!0),a.groupsCanEditAutocomplete={options:{onlySelect:!0,source:function(a,c){var d=g.all("groups").getList({name:a.term});d.then(function(a){c(b.map(a.data,function(a){return{label:a.name,value:a.name,group:{id:a.id,name:a.name, namespace:{name:a.namespace.name}}}}))})},messages:{noResults:"",results:function(){}}}},a.groupsCanViewAutocomplete={options:{onlySelect:!0,source:function(a,c){var d=g.all("groups").getList({name:a.term});d.then(function(a){c(b.map(a.data,function(a){return{label:a.name,value:a.name,group:{id:a.id,name:a.name,namespace:{name:a.namespace.name}}}}))})},messages:{noResults:"",results:function(){}}}},a.groupsCanEditAutocomplete.events={select:function(b,c){for(var d=!1,e=a.category.permissions.groups_can_edit.length-1;e>=0;e--)a.category.permissions.groups_can_edit[e].id===c.item.group.id&&(d=!0);d||a.category.permissions.groups_can_edit.push(c.item.group)},change:function(){a.groupCanEdit=""}},a.groupsCanViewAutocomplete.events={select:function(b,c){for(var d=!1,e=a.category.permissions.groups_can_view.length-1;e>=0;e--)a.category.permissions.groups_can_view[e].id===c.item.group.id&&(d=!0);d||a.category.permissions.groups_can_view.push(c.item.group)},change:function(){a.groupCanView=""}},a.removeGroupCanView=function(b){a.category.permissions.groups_can_view.splice(a.category.permissions.groups_can_view.indexOf(b),1)},a.removeGroupCanEdit=function(b){a.category.permissions.groups_can_edit.splice(a.category.permissions.groups_can_edit.indexOf(b),1)},a.editFieldOptions=function(a){j.open({templateUrl:"modals/items/categories/edit-field-values/items-categories-edit-field-values.template.html",windowClass:"editFieldOptions",controller:"ItemsCategoriesEditFieldValuesModalController",resolve:{field:function(){return a},setFieldOptions:function(){return function(b){a.field_options=b}}}})},a.$on("$locationChangeStart",function(b){a.unsavedCategory===!0&&(a.unsavedCategory=!1,a.loading=!0)}),a.goBack=function(){a.unsavedCategory===!0?(a.unsavedCategory=!1,a.loading=!0,m.go("items.categories",{},{reload:!0})):(a.loading=!0,m.go("items.categories",{},{reload:!0}))},a.newSection=function(){a.$broadcast("hidePopovers");var c={title:"Nova seção sem título",required:!1,location:!1,fields:[]};a.category.sections.push(c),b("html, body").animate({scrollTop:b(document).height()},"slow")},a.newStatus=function(){j.open({templateUrl:"modals/items/categories/new-status/items-categories-new-status.template.html",windowClass:"editInventoryStatusesModal",resolve:{statuses:function(){return a.category.statuses},updating:function(){return u},categoryId:function(){return v}},controller:"ItemsCategoriesNewStatusModalController"})},a.editStatus=function(a){j.open({templateUrl:"modals/items/categories/edit-status/items-categories-edit-status.template.html",windowClass:"editInventoryStatusesModal",resolve:{status:function(){return a},updating:function(){return u},categoryId:function(){return v}},controller:"ItemsCategoriesEditStatusModalController"})},a.removeStatus=function(b){if("undefined"!=typeof b.id){var c=g.one("inventory").one("categories",v).one("statuses",b.id).remove();c.then(function(){a.category.statuses.splice(a.category.statuses.indexOf(b),1)})}else a.category.statuses.splice(a.category.statuses.indexOf(b),1)},a.$on("hidePopovers",function(b,c){a.$broadcast("hideOpenPopovers",c)}),a.uploaderQueue={items:[]},a.editCategoryOptions=function(){r.open(a.category,a.uploaderQueue,a.send)},a.save_use_field_as_title=function(b){if(b.use_as_title){var c=_.map(a.category.sections,function(a){return a.fields});c=_.flatten(c),_.each(_.reject(c,b),function(a){a.use_as_title=!1})}},a.send=function(){function b(a){var b=i.defer(),c=new FileReader;return c.addEventListener("load",function(a){var c=a.target;d=c.result.replace(/^data:image\/[^;]+;base64,/,""),b.resolve()}),c.readAsDataURL(a),b.promise}a.processingForm=!0;for(var d,e=[],f=a.uploaderQueue.items.length-1;f>=0;f--)e.push(b(a.uploaderQueue.items[f]._file));return i.all(e).then(function(){for(var b={groups_can_edit:[],groups_can_view:[]},e=a.category.permissions.groups_can_edit.length-1;e>=0;e--)b.groups_can_edit.push(a.category.permissions.groups_can_edit[e].id);for(var e=a.category.permissions.groups_can_view.length-1;e>=0;e--)b.groups_can_view.push(a.category.permissions.groups_can_view[e].id);var f={title:a.category.title,require_item_status:a.category.require_item_status,statuses:a.category.statuses,color:a.category.color,plot_format:a.category.plot_format,permissions:b},g={sections:a.category.sections};if(1===c.namespace.id&&(a.category.global=!0),a.category.global===!0&&(f.global=a.category.global),_.each(g.sections,function(a){_.each(a.fields,function(b,c){if(_.isObject(b)&&(_.isUndefined(b.id)&&b.hasOwnProperty("toRemove")&&(b.toRemove?a.fields.splice(c,1):delete b.toRemove),_.isUndefined(b.id)&&_.isArray(b.field_options)&&!_.isEmpty(b.field_options))){var d=[];_.each(b.field_options,function(a){d.push(a.value)}),b.field_options=d}})}),a.category.plot_format===!1?f.plot_format="pin":f.plot_format="marker",u){delete f.statuses,d&&(f.icon=d);var h=q.update(v,f).then(function(b){a.category.original_icon=b.original_icon}),j=q.updateForm(v,g).then(function(b){a.category.sections=b.sections});return i.all([h,j]).then(function(){a.showMessage("ok","A categoria de inventário foi atualizada com sucesso!","success",!0),a.unsavedCategory=!1,a.processingForm=!1,q.purgeCache()})["catch"](function(b){var c=b[0]||b[1],d=_.first(_.keys(c)),e=_.first(_.values(c)[0]),f=d.charAt(0).toUpperCase()+d.slice(1)+" "+e;a.showMessage("exclamation-sign",f,"error",!0),a.processingForm=!1})}d?f.icon=d:f.icon=a.category.icon,q.create(f).then(function(b){var c,d={};a.category.original_icon=b.original_icon;for(var e=b.sections.length-1;e>=0;e--)if(b.sections[e].location===!0){c=b.sections[e].id;for(var f=b.sections[e].fields.length-1;f>=0;f--)d[b.sections[e].fields[f].title]=b.sections[e].fields[f].id}for(var h=a.category.sections.length-1;h>=0;h--){var i=a.category.sections[h];if(i.location===!0){i.id=c;for(var j=i.fields.length-1;j>=0;j--)i.fields[j].id=d[i.fields[j].title]}}return q.updateForm(b.id,g).then(function(){a.showMessage("ok","A categoria de inventário foi criada com sucesso","success",!0),q.purgeCache(),m.go("items.categories.edit",{id:b.id})})})["catch"](function(b){var c=_.first(_.keys(b)),d=_.first(_.values(b)[0]),e=c.charAt(0).toUpperCase()+c.slice(1)+" "+d;a.showMessage("exclamation-sign",e,"error",!0),a.processingForm=!1})})},o?a.triggers=o.data:a.triggers=[],a.onlyActiveTriggers=function(a){return!(!_.isUndefined(a._destroy)&&1==a._destroy)},a.newTrigger=function(){var b={conditions:[{inventory_field_id:null,operator:"equal_to",content:null}],inventory_status_id:null,isNew:!0};a.triggers.push(b)},a.shouldShowGlobalOption=function(){return c.hasPermission("manage_namespaces")&&!u&&1!==c.namespace.id},a.resetSearchInput=function(a){a.search=""},t()}a.module("ItemsCategoriesEditControllerModule",["ItemsCategoriesEditOptionsModalControllerModule","ItemsCategoriesEditFieldValuesModalControllerModule","ItemsCategoriesNewStatusModalControllerModule","ItemsCategoriesEditStatusModalControllerModule","InventorySortableSectionsComponentModule","InventoryPopoverComponentModule","InventoryPopoverLinkComponentModule","InventoryDroppableInputsAreaComponentModule","InventoryEditLabelComponentModule","InputsSidebarComponentModule","InventoryDraggableInputComponentModule","InventoryEditSectionComponentModule","InventoryTriggerComponentModule","InventoryTriggerConditionComponentModule","InventoriesCategoriesServiceModule"]).controller("ItemsCategoriesEditController",c),c.$inject=["$scope","$rootScope","$stateParams","categoryResponse","groupsResponse","Restangular","$localStorage","$q","$modal","$timeout","$window","$state","FileUploader","formulasResponse","analyzesResponse","InventoriesCategoriesService","ItemsCategoriesEditOptionsModalService","$document"]}(angular,$),angular.module("UsersModule",["UsersIndexModule","UsersShowModule","UsersEditModule"]).config(["$stateProvider",function(a){a.state("users",{"abstract":!0,url:"/users",templateUrl:"routes/users/users.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("UsersIndexModule",["UsersIndexControllerModule"]).config(["$stateProvider",function(a){a.state("users.list",{url:"",resolve:{Authorize:["Authorization","User",function(a){return a.authorize(["users_full_access","users_edit"],null,!0)}],groupsResponse:["Restangular",function(a){return a.all("groups").getList({return_fields:"id,name"})}]},views:{"":{templateUrl:"routes/users/index/users-index.template.html",controller:"UsersIndexController",controllerAs:"ctrl"}}})}]),angular.module("UsersIndexControllerModule",["KeyboardPosterComponentModule","GenericInputComponentModule","UsersDisableModalControllerModule","GroupSelectorModule"]).controller("UsersIndexController",["$scope","$q","$stateParams","$modal","Restangular","GroupSelectorService",function(a,b,c,d,e,f){a.loading=!0,a.loadingPagination=!1;var g,h=1,i=30,j="";a.sort={column:"name",descending:!1},a.changeSorting=function(b){var c=a.sort;c.column===b?c.descending=!c.descending:(c.column=b,c.descending=!1)},a.selectedCls=function(b){return b===a.sort.column&&"sort-"+a.sort.descending};var k=function(){var b={page:h,per_page:i,disabled:!0,return_fields:"id,name,disabled,email,phone,groups.id,groups.name",sort:a.sort};return 0!==a.selectedGroups.length&&(b.groups=_.map(a.selectedGroups,function(a){return a.id}).join()),0!==j.length&&(b.query=j),e.one("search").all("users").getList(b)};a.selectedGroups=[],a.getGroupsExcerpt=function(){switch(a.selectedGroups.length){case 1:return"Grupo: "+a.selectedGroups[0].name;case 0:return"Filtrar por grupo";default:return"Grupo: "+a.selectedGroups.length+" grupos selecionados"}},a.filterUsersByGroup=function(){f.open(a.selectedGroups,!0).then(function(b){a.selectedGroups=b,m()})};var l=a.getData=function(b){if(a.loadingPagination===!1){a.loadingPagination=!0;var c=k();return c.then(function(c){if(b!==!0)a.users=c.data;else{"undefined"==typeof a.users&&(a.users=[]);for(var d=0;d=0;m--)"Público"===l[m].name&&a.user.groups.push(l[m])}a.send=function(){a.inputErrors=null,a.processingForm=!0,b.resolvingRequest=!0;var c=angular.copy(a.user);c.birthdate&&(c.birthdate=i(c.birthdate,"DD/MM/YYYY").toJSON());var e={};if(a.should_generate_password&&(delete c.password,delete c.password_confirmation,e.generate_password=!0),c.groups_ids=_.pluck(c.groups,"id"),delete c.groups,j){var g=d.update(c,e);g.then(function(){a.showMessage("ok","O usuário foi atualizado com sucesso","success",!0),a.processingForm=!1,b.resolvingRequest=!1},function(c){a.showMessage("exclamation-sign","O usuário não pode ser salvo","error",!0),a.inputErrors=c,a.processingForm=!1,b.resolvingRequest=!1})}else{e.return_fields="id";var h=d.create(c,e);h.then(function(){a.showMessage("ok","O usuário foi criado com sucesso","success",!0),f.path("/users"),a.processingForm=!1,b.resolvingRequest=!1},function(c){a.showMessage("exclamation-sign","O usuário não pode ser criado","error",!0),a.inputErrors=c,a.processingForm=!1,b.resolvingRequest=!1})}}}]),angular.module("GroupsModule",["GroupsIndexModule","GroupsShowModule","GroupsEditModule"]).config(["$stateProvider",function(a){a.state("groups",{"abstract":!0,url:"/groups",templateUrl:"routes/groups/groups.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("GroupsIndexModule",["GroupsIndexControllerModule"]).config(["$stateProvider",function(a){a.state("groups.list",{url:"",views:{"":{templateUrl:"routes/groups/index/groups-index.template.html",controller:"GroupsIndexController",controllerAs:"ctrl",resolve:{Authorize:["$rootScope","$state",function(a,b){a.hasAnyPermission(["groups_full_access","group_edit","group_read_only"])||(a.showMessage("exclamation-sign","Você não possui permissão para visualizar essa página.","error"),b.go("items.list"))}]}}}})}]),angular.module("GroupsIndexControllerModule",["GroupsEditModalControllerModule","NamespacesModalModule"]).controller("GroupsIndexController",["$scope","$modal","Restangular","NamespacesModalService",function(a,b,c,d){a.loading=!0;var e=c.all("groups").getList({return_fields:"id,name"});e.then(function(b){a.groups=b.data,a.loading=!1}),a.addGroup=function(){b.open({templateUrl:"modals/groups/edit/groups-edit.template.html",windowClass:"editStatusModal",resolve:{group:function(){return null}},controller:"GroupsEditModalController"})},a.deleteGroup=function(d){b.open({templateUrl:"modals/groups/destroy/groups-destroy.template.html",windowClass:"removeModal",resolve:{groupsList:function(){return a.groups}},controller:["$scope","$modalInstance","groupsList",function(a,b,e){a.group=d,a.confirm=function(){var d=c.one("groups",a.group.id).remove();d.then(function(){b.close(),e.splice(e.indexOf(a.group),1)})},a.close=function(){b.close()}}]})},a.manageNamespaces=function(){d.open()}}]),angular.module("NamespacesModalModule",["NamespacesServiceModule"]).controller("NamespacesModalModuleController",["$scope","$modalInstance","NamespacesService","$timeout",function(a,b,c,d){function e(a){f("Um erro ocorreu durante a realização da ação solicitada. Por favor, tente novamente ou entre em contato com o suporte."),console.error("Namespace modal request error: ",a)}function f(b){a.namespaceError=b,d(function(){delete a.namespaceError},1e4)}a.dataLoaded=!1,a.namespace={name:""};var g=function(){c.fetchAll().then(function(b){a.namespaces=b,a.dataLoaded=!0})};g(),a.submitNamespace=function(){a.isSaveRequestPending=!0,a.saveNamespacePromise=c.save(a.namespace).then(function(){a.isSaveRequestPending=!1,a.namespace={name:""},g()},e)},a.remove=function(b){a.removeNamespacePromise=c.remove(b.id).then(function(){var c=a.namespaces.indexOf(b);a.namespaces.splice(c,1)},e)},a.saveNamespace=function(b){b.isRequestPending=!0,a.saveNamespacePromise=c.save(b).then(function(){b.isRequestPending=!1,g()},e)},a.close=function(){b.dismiss()}}]).factory("NamespacesModalService",["$modal",function(a){return{open:function(){return a.open({templateUrl:"routes/groups/index/components/namespaces.template.html",windowClass:"namespacesModal",controller:"NamespacesModalModuleController"})}}}]),angular.module("GroupsShowModule",["GroupsShowControllerModule"]).config(["$stateProvider",function(a){a.state("groups.show",{url:"/{id:[0-9]*}",resolve:{Authorize:["Authorization","$stateParams","User",function(a,b){return a.authorize(["groups_full_access","group_edit","group_read_only"],b.id,!0)}],Resource:["Restangular","$stateParams",function(a,b){return a.one("groups",b.id).withHttpConfig({treatingErrors:!0}).get().then(function(a){return a.data})}]},views:{"":{templateUrl:"routes/groups/show/groups-show.template.html",controller:"GroupsShowController",controllerAs:"ctrl"}}})}]),angular.module("GroupsShowControllerModule",["GroupsEditModalControllerModule","GroupsAddUsersModalControllerModule","GroupsRemoveUserModalControllerModule"]).controller("GroupsShowController",["$scope","Restangular","$stateParams","$q","$modal","Resource",function(a,b,c,d,e,f){a.isService="services"===f.route;var g=c.id,h=1,i=15;a.loading=!1,a.loadingPagination=!1,a.total=0,a.resource=f,a.sort={column:"",descending:!1},a.changeSorting=function(b){var c=a.sort;c.column===b?c.descending=!c.descending:(c.column=b,c.descending=!1)},a.selectedCls=function(b){return b===a.sort.column&&"sort-"+a.sort.descending},a.removeUserFromGroup=function(b){e.open({templateUrl:"modals/groups/remove-user/groups-remove-user.template.html",windowClass:"removeModal",resolve:{group:function(){return a.resource},user:function(){return b},removeUserFromList:function(){return function(b){a.users.splice(a.users.indexOf(b),1)}}},controller:"GroupsRemoveUserModalController"})};var j=a.getData=function(c){if(a.loadingPagination===!1){a.loadingPagination=!0;var d=b.all("search").one("groups",g).one("users").getList(null,{page:h,per_page:i,name:a.searchText,global_namespaces:!0});return d.then(function(b){if(c!==!0)a.users=b.data;else{"undefined"==typeof a.users&&(a.users=[]);for(var d=0;d=0;c--)if(a.availablePermissionTypes[c].type===b)return a.availablePermissionTypes[c]; return null};a.getTypeName=function(a){if(a)return a&&_.isArray(a.permission_names)&&"users_edit"==a.permission_names[0]?"Usuários":n(a.permission_type)?n(a.permission_type).name:a.permission_type},a.getTypePermissions=function(a){return n(a)?n(a).permissionsNames:null};var o=function(a,b){if(a=n(a),!a)return null;for(var c=a.permissionsNames.length-1;c>=0;c--)if(a.permissionsNames[c].slug===b)return a.permissionsNames[c];return null};a.getPermissionsExcerpt=function(){switch(a.newPermission.slugs.length){case 0:return"Selecione a permissão";case 1:return a.getPermissionName(a.newPermission.type,a.newPermission.slugs[0]);default:return a.newPermission.slugs.length+" permissões selecionadas"}},a.isPermissionSelected=function(b){var c=a.newPermission.slugs.indexOf(b);return c!==-1};var p=[];a.togglePermission=function(b){var c=a.newPermission.slugs.indexOf(b.slug);c===-1?(a.newPermission.slugs.push(b.slug),b.type&&(a.newPermission.actual_type=b.type),_.isUndefined(b.needsPermission)||a.newPermission.slugs.indexOf(b.needsPermission)!==-1||a.togglePermission(o(a.newPermission.type,b.needsPermission)),_.isUndefined(b.disableFields)||p.push(b)):(a.newPermission.slugs.splice(c,1),_.isUndefined(b.disableFields)||p.splice(p.indexOf(b),1))},a.getObjectsExcerpt=function(){switch(a.newPermission.objects.length){case 0:return"Selecione um item";case 1:return a.newPermission.objects[0].name||a.newPermission.objects[0].title;default:return a.newPermission.objects.length+" categorias selecionadas"}},a.isObjectSelected=function(b){for(var c=a.newPermission.objects.length-1;c>=0;c--)if(a.newPermission.objects[c].id===b)return!0;return!1},a.toggleChildObject=function(b,c){var d=q(a.newPermission.objects,function(a){return a.id===b.id});d!==-1?a.newPermission.objects.splice(d,1):(_.isUndefined(c)||a.isObjectSelected(c.id)||a.newPermission.objects.push(c),a.newPermission.objects.push(b))},a.toggleObject=function(b,c){var d=q(a.newPermission.objects,function(a){return a.id===b.id});d!==-1?(_.each(c,function(b){var c=q(a.newPermission.objects,function(a){return a.id===b.id});c!==-1&&a.newPermission.objects.splice(c,1)}),a.newPermission.objects.splice(d,1)):a.newPermission.objects.push(b)},a.selectAllObjects=function(b){for(var c=b.length-1;c>=0;c--){for(var d=!1,e=0;e=0;b--)if(o(a.newPermission.type,a.newPermission.slugs[b]).needsObject)return!0;return!1},a.isPermissionDisabled=function(b){for(var c=a.newPermission.slugs.length-1;c>=0;c--)if(o(a.newPermission.type,a.newPermission.slugs[c]).needsPermission===b)return!0;for(var c=p.length-1;c>=0;c--)if(p[c].disableFields.indexOf(b)!==-1)return!0;return!1},a.getPermissionName=function(a,b){return!(!a||!b)&&("users_edit"==b?"Gerenciar usuários de um grupo específico":o(a,b)?o(a,b).name:b)},a.setNewPermissionType=function(b){f(function(){a.newPermission.objects=[],a.newPermission.slugs=[],p=[],a.showPermissionsMenu=!1,a.showObjectsMenu=!1,a.newPermission.type=b?b.type:null})},a.createPermission=function(){a.creatingPermission=!0;var b=a.newPermission.actual_type||a.newPermission.type,d=a.newPermission.slugs;if(0!==a.newPermission.objects.length)for(var e=[],f=a.newPermission.objects.length-1;f>=0;f--)e.push(a.newPermission.objects[f].id);var g=c.one("permissions").one(l?"services":"groups",a.resource.id).one(b),h=g.customPOST({permissions:d,objects_ids:e});h.then(function(c){if(a.creatingPermission=!1,0===a.newPermission.objects.length)a.permissions.push({permission_type:b,permission_names:d,object:null});else for(var e=a.newPermission.objects.length-1;e>=0;e--){for(var f=!1,g=a.permissions.length-1;g>=0;g--)_.isUndefined(a.permissions[g].object)||a.permissions[g].permission_type!=b||a.permissions[g].object.id!=a.newPermission.objects[e].id||(f=!0,a.permissions[g].permission_names=_.union(a.permissions[g].permission_names,angular.copy(d)));f||a.permissions.push({permission_type:b,permission_names:angular.copy(d),object:a.newPermission.objects[e]})}a.setNewPermissionType(null)})},a.removePermission=function(b,d){b.removingPermission=!0;var e=b.object?b.object.id:void 0,f=c.one("permissions").one(l?"services":"groups",a.resource.id).one(b.permission_type).customDELETE(null,{permission:d,object_id:e});f.then(function(){"string"==typeof b.permission_names||"object"==typeof b.permission_names&&1===b.permission_names.length?a.permissions.splice(a.permissions.indexOf(b),1):b.permission_names.splice(b.permission_names.indexOf(d),1),b.removingPermission=!1})};var q=function(a,b){var c=-1;return _.each(a,function(a,d){if(b(a))return void(c=d)}),c}}]),angular.module("ConfigModule",["ConfigControllerModule"]).config(["$stateProvider",function(a){a.state("config",{url:"/config",templateUrl:"routes/config/config.template.html",controller:"ConfigController",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}],flagsResponse:["Restangular",function(a){return a.all("feature_flags").getList()}]}})}]),angular.module("ConfigControllerModule",["FeatureFlagComponentModule","ConfigServiceModule"]).controller("ConfigController",["$scope","flagsResponse","ConfigService",function(a,b,c){for(var d={explore:{name:"Explorar o mapa",desc:"Permite visualizar os relatos publicados por outros usuário em um mapa. As informações pessoais destes usuários não são exibidas nos relatos.",mobileConfig:!0},create_report_clients:{name:"Criar relatos",desc:"Permite que cidadãos possam criar os relatos.",mobileConfig:!0},create_report_panel:{name:"Criar relato pelo painel administrativo",desc:"Permite que usuários do painel administrativo possam criar relatos dos usuários. Ideal para atendimento ao solicitante (156) e prestadora de serviços.",mobileConfig:!1},stats:{name:"Estatísticas",desc:"Permite que os usuários visualizem estatísticas globais dos status dos relatos. As informações detalhadas não é exibida nesta interface, apenas a somatória de todos os relatos dentro daquele status específicos.",mobileConfig:!0},social_networks_facebook:{name:"Compartilhamento do relato no Facebook",desc:"Permite que o usuário, ao publicar um novo relato, compartilhe no Facebook. Se desativado o usuário não pode conectar sua conta do Facebook no aplicativo e também não é exibido o botão de compartilhamento.",mobileConfig:!0},social_networks_twitter:{name:"Compartilhamento do relato no Twitter",desc:"Permite que o usuário, ao publicar um novo relato, compartilhe no Twitter. Se desativado o usuário não pode conectar sua conta do Twitter no aplicativo e também não é exibido o botão de compartilhamento.",mobileConfig:!0},social_networks_gplus:{name:"Compartilhamento do relato no Google Plus",desc:"Permite que o usuário, ao publicar um novo relato, compartilhe no Google Plus. Se desativado o usuário não pode conectar sua conta do Google Plus no aplicativo e também não é exibido o botão de compartilhamento.",mobileConfig:!0},allow_photo_album_access:{name:"Permitir acesso ao album de fotos",desc:"Permite que o usuário, ao publicar um novo relato, selecione uma foto do próprio album para inserir no relato. Se desativado o usuário só poderá fazer uma fotografia ou continuar sem enviar nenhuma foto.",mobileConfig:!0},cases:{name:"Casos",desc:"Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam.",mobileConfig:!1},inventory:{name:"Inventário",desc:"O sistema ZUP permite que instituições e empresas criem qualquer tipo de inventário georeferenciado. O usuário com permissão de acesso às categorias de inventário tem a liberdade de criar campos diretamente pelo painel, para que outros usuários possam criar os itens de inventário relacionado a categoria e fazer a gestão deste itens de inventário utilizando diversas ferramentas disponíveis.",mobileConfig:!1},reports:{name:"Relatos",desc:"A categoria de relato permite que empresas e instituições criem um canal de comunicação com os seus clientes e usuários, permitindo que os usuários relatem problemas. É possível criar ilimitadas categorias de relatos, é permitido que estas categorias possam ser disponibilizadas aos usuários nos aplicativos ou privado, isto é, só será permitido que usuários com acesso ao Painel ZUP possa criar os relatos.",mobileConfig:!1},show_resolution_time_to_clients:{name:"Exibir o tempo de resolução do relato para os usuários",desc:"Quando o usuário cria um relato, é exibido uma mensagem de agradecimento e o tempo de resolução do relato. Se desativado, esta mensagem do tempo é ocultada.",mobileConfig:!0},show_answer_to_requester:{name:"Responder ao solicitante",desc:"Exibe o campo que permite responder ao solicitante na tela de visualização do relato, no modal de alteração de status, no relato no aplicativo técnico e no modal de alteração de status no aplicativo técnico",mobileConfig:!0}},e=angular.copy(b.data),f=e.length-1;f>=0;f--){var g=e[f].name;"undefined"!=typeof d[g]&&(e[f].name=d[g].name,e[f].desc=d[g].desc,e[f].mobileConfig=d[g].mobileConfig,e[f].enabled="disabled"!==e[f].status)}a.flags=e,c.getReportsColumns().then(function(b){a.reportsColumns=b}),a.$watch("reportsColumns",function(a,b){a&&b&&c.updateReportsColumns(a)},!0),a.reportColumnsSortableOptions={handle:".handle",stop:function(a,b){},start:function(a,b){b.placeholder.height(b.item.height())},tolerance:"pointer",items:"li",revert:!0,placeholder:"sortable-placeholder"}}]),angular.module("HelpModule",["HelpControllerModule"]).config(["$stateProvider",function(a){a.state("help",{url:"/help",templateUrl:"routes/help/help.template.html",controller:"HelpController",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("HelpControllerModule",["yaru22.md"]).controller("HelpController",["$scope",function(a){}]),angular.module("FlowsModule",["FlowsIndexModule","FlowsShowModule","FlowsShowStepsEditModule"]).config(["$stateProvider",function(a){a.state("flows",{"abstract":!0,url:"/flows",templateUrl:"routes/flows/flows.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("FlowsIndexModule",["FlowsIndexControllerModule"]).config(["$stateProvider",function(a){a.state("flows.list",{url:"",views:{"":{templateUrl:"routes/flows/index/flows-index.template.html",controller:"FlowsIndexController",controllerAs:"ctrl"}}})}]),angular.module("FlowsIndexControllerModule",["FlowsAddModalControllerModule","FlowsEditModalControllerModule","FlowsDestroyModalControllerModule","FlowsServiceModule"]).controller("FlowsIndexController",["$scope","$modal","$timeout","FlowsService",function(a,b,c,d){var e=1,f=30;a.flows=[],a.searchQuery="",a.sortTable={column:"created_at",descending:!0};var g,h=function(){var b={page:e,per_page:f,initial:!0};""!==a.searchQuery&&(b.query=a.searchQuery),a.sortTable&&(b.sort=a.sortTable.column,b.order=a.sortTable.descending?"desc":"asc");var c=d.fetchAll(b);return c.then(function(b){b.length>0&&(a.flows=a.flows.concat(b),e++)})};a.$watch("searchQuery",function(b,d){g&&c.cancel(g),g=c(function(){angular.equals(d,b)===!1&&a.reload()},1e3)}),a.changeSorting=function(b){var c=a.sortTable;c.column===b?c.descending=!c.descending:(c.column=b,c.descending=!1),a.reload()},a.selectedCls=function(b){var c=a.sortTable;return b===c.column&&"sort-"+c.descending},a.loadFlows=function(){a.loadingPagination=!0,h().then(function(){a.loadingPagination=!1})},a.reload=function(){a.flows=[],e=1,a.loadFlows()},a.addFlow=function(){b.open({templateUrl:"modals/flows/add/flows-add.template.html",windowClass:"addFlowModal",resolve:{flows:function(){return a.flows}},controller:"FlowsAddModalController"})},a.editFlow=function(c){b.open({templateUrl:"modals/flows/edit/flows-edit.template.html",windowClass:"addFlowModal",resolve:{flows:function(){return a.flows},flow:function(){return c}},controller:"FlowsEditModalController"})},a.removeFlow=function(c){b.open({templateUrl:"modals/flows/destroy/flows-destroy.template.html",windowClass:"removeModal",resolve:{flows:function(){return a.flows},flow:function(){return c}},controller:"FlowsDestroyModalController"})}}]),angular.module("FlowsShowModule",["FlowsShowControllerModule"]).config(["$stateProvider",function(a){a.state("flows.show",{url:"/{id:[0-9]{1,4}}",views:{"":{templateUrl:"routes/flows/show/flows-show.template.html",controller:"FlowsShowController",controllerAs:"ctrl"}}})}]),angular.module("FlowsShowControllerModule",["FlowsStepsAddModalControllerModule","FlowsStepsDestroyModalControllerModule","FlowsStepsOrderComponentModule","FlowsServiceModule"]).controller("FlowsShowController",["$rootScope","$scope","$stateParams","$modal","FlowsService",function(a,b,c,d,e){var f=c.id;b.flow=null,b.loading=!0,b.sortableOptions={containment:"window",axis:"y",placeholder:"ui-state-highlight",stop:function(a,c){var d=e.reorder(b.flow.id,b.flow.my_steps);b.loading=!0,d.then(function(a){b.showMessage("ok","O fluxo foi ordenado com sucesso.","success",!0),b.selectVersion(null)})["catch"](function(a){b.showMessage("exclamation-sign","O fluxo não pode ser ordenado.","error",!0)})["finally"](function(){b.loading=!1})}},b.tableSort={column:"version_id",descending:!0};var g=function(a){angular.forEach(a.list_versions,function(b,c){b.friendly_id=c+1,a.version_id===b.version_id&&(a.friendly_version_id=b.friendly_id)})};b.changeSorting=function(a){var c=b.tableSort;c.column===a?c.descending=!c.descending:(c.column=a,c.descending=!1)},b.selectedCls=function(a){return a===b.tableSort.column&&"sort-"+b.tableSort.descending},b.selectVersion=function(a){var c=e.fetch(f,a,{draft:!0});b.loading=!0,c.then(function(a){b.loading=!1,b.flow=a,g(b.flow)})},b.addStep=function(){d.open({templateUrl:"modals/flows/steps/add/flows-steps-add.template.html",windowClass:"editStepModal",resolve:{flow:function(){return b.flow}},controller:"FlowsStepsAddModalController"})},b.editStep=function(a){d.open({templateUrl:"modals/flows/steps/edit/flows-steps-edit.template.html",windowClass:"editStepModal",resolve:{flow:function(){return b.flow},step:function(){return a}},controller:"FlowsStepsEditModalController"})},b.removeStep=function(a){d.open({templateUrl:"modals/flows/steps/destroy/flows-steps-destroy.template.html",windowClass:"removeModal",resolve:{flow:function(){return b.flow},step:function(){return a}},controller:"FlowsStepsDestroyModalController"})},b.editFlow=function(){d.open({templateUrl:"modals/flows/edit/flows-edit.template.html",windowClass:"addFlowModal",resolve:{flows:function(){return null},flow:function(){return b.flow}},controller:"FlowsEditModalController"}).result.then(function(a){b.flow=a})},b.publishFlow=function(){var a=e.publish(b.flow.id);b.loading=!0,a.then(function(a){b.showMessage("ok","O fluxo foi publicado com sucesso","success",!0),b.selectVersion()})["catch"](function(a){b.showMessage("exclamation-sign","O fluxo não pode ser publicado","error",!0),b.loading=!1})},b.setVersion=function(a){var c=e.setVersion(a.id,a.version_id);b.loading=!0,c.then(function(){b.showMessage("ok","A versão corrente foi atualizada","success",!0),b.selectVersion(a.version_id)})["catch"](function(a){b.showMessage("exclamation-sign","A versão não pode ser utilizada","error",!0),b.loading=!1})},b.selectVersion()}]),angular.module("FlowsShowStepsEditModule",["FlowsShowStepsEditControllerModule"]).config(["$stateProvider",function(a){a.state("flows.show.steps-edit",{url:"/version/{versionId:[0-9]{1,4}|draft}/steps/{stepId:[0-9]{1,4}}/edit",views:{"@":{templateUrl:"routes/flows/show/steps-edit/flows-show-steps-edit.template.html",controller:"FlowsShowStepsEditController",controllerAs:"ctrl"}}})}]),angular.module("FlowsShowStepsEditControllerModule",["FlowsStepsEditModalControllerModule","FlowsCreateValueComponentModule","FlowsDroppableInputsAreaComponentModule","FlowsSingleValueComponentModule","FlowsStepFieldComponentModule","FlowsTriggerComponentModule","InventoryPopoverComponentModule","InventoryPopoverLinkComponentModule","InputsSidebarComponentModule","FlowsDraggableInputComponentModule","FlowsServiceModule","StepsServiceModule","TwoStepSelectorModule","ReportsCategoriesServiceModule","InventoriesCategoriesServiceModule","ItemSelectorDirectiveModule"]).controller("FlowsShowStepsEditController",["$scope","Restangular","$modal","$stateParams","$q","StepsService","FlowsService","InventoriesCategoriesService","ReportsCategoriesService",function(a,b,c,d,e,f,g,h,i){var j=d.id,k=d.stepId,l="draft"==d.versionId?null:d.versionId;a.loading=!0,a.currentTab="form";var m=g.fetch(j,l,{return_fields:["id","title","draft","initial","status","steps","resolution_states","steps_order"].join()}),n=g.fetchAll({return_fields:["id","title"].join()}),o=f.fetch(j,k,l),p=f.fetchTriggers(j,k,l);a.flow={},a.flows=[],a.step={},a.fields={},a.triggers=[],e.all([m,n,o,p]).then(function(b){a.loading=!1,a.flow=b[0],a.flows=b[1],a.step=b[2],a.fields=_.map(a.step.fields_id,function(b){return _.findWhere(a.step.fields,{id:parseInt(b,10)})}),a.triggers=b[3]}),a.availableInputs=f.getAvailableFields(),a.sortableOptions={containment:".flows-triggers",axis:"y",placeholder:"ui-state-highlight",stop:function(c,d){var e={ids:_.map(a.triggers,function(a){return a.id})},f=b.one("flows",a.flow.id).one("steps",a.step.id).withHttpConfig({treatingErrors:!0}).customPUT(e,"triggers");a.loading=!0,f.then(function(b){a.showMessage("ok","O gatilho foi ordenado com sucesso.","success",!0)})["catch"](function(b){a.showMessage("exclamation-sign","O fluxo não pode ser ordenado.","error",!0)})["finally"](function(){a.loading=!1})}},a.kindHasMultipleOptions=function(b){for(var c=a.availableInputs.normal.length-1;c>=0;c--)if(a.availableInputs.normal[c].kind===b)return a.availableInputs.normal[c].multipleOptions===!0;return!1},a.action_types=[{action:"enable_steps",name:"Ativar etapa(s)"},{action:"disable_steps",name:"Desativar etapa(s)"},{action:"finish_flow",name:"Finalizar fluxo(s)"},{action:"transfer_flow",name:"Transferir fluxo(s)"}],a.newTrigger=function(){var b={title:"",trigger_conditions:[],action_type:"disable_steps",action_values:[],description:"",isNew:!0};a.triggers.push(b)},a.removeTrigger=function(c){if(a.processingForm=!0,c.isNew){var d=e.defer();a.removerTriggerPromise=d.promise,a.removerTriggerPromise.then(function(){a.triggers.splice(a.triggers.indexOf(c),1),a.processingForm=!1}),d.resolve(!0)}else a.removerTriggerPromise=b.one("flows",a.flow.id).one("steps",a.step.id).one("triggers",c.id).remove(),a.removerTriggerPromise.then(function(){a.triggers.splice(a.triggers.indexOf(c),1),a.processingForm=!1})};var q;a.updatePermissions=function(b){if(b){if(!q)return void(q=angular.copy(b));var c,d;angular.equals(q.can_execute_step,b.can_execute_step)||(c="can_execute_step",d=b.can_execute_step),angular.equals(q.can_view_step,b.can_view_step)||(c="can_view_step",d=b.can_view_step),f.updatePermission(j,k,c,d).then(function(){q=angular.copy(b),a.showMessage(null,null,"updated-successfuly",!1)},function(){a.permissions=angular.copy(q)})}},a.toggleConductionMode=function(){a.step.conduction_mode_open=!a.step.conduction_mode_open,f.update(j,k,{conduction_mode_open:a.step.conduction_mode_open}).then(function(){a.showMessage(null,null,"updated-successfuly",!1)},function(){a.step.conduction_mode_open=!a.step.conduction_mode_open})},a.$watch("step.permissions",a.updatePermissions,!0),a.$on("hidePopovers",function(b,c){a.$broadcast("hideOpenPopovers",c)}),a.editStep=function(){c.open({templateUrl:"modals/flows/steps/edit/flows-steps-edit.template.html",windowClass:"editStepModal",resolve:{flow:function(){return a.flow},step:function(){return a.step}},controller:"FlowsStepsEditModalController"})},a.getCategories=function(a){return"report_item"==a?i.fetchTitlesAndIds:"inventory_item"==a?h.fetchTitlesAndIds:void 0}}]),angular.module("CasesModule",["CasesIndexModule","CasesEditModule"]).config(["$stateProvider",function(a){a.state("cases",{"abstract":!0,url:"/cases",templateUrl:"routes/cases/cases.template.html",resolve:{User:["User",function(a){return a({permissions:["isLogged"]})}]}})}]),angular.module("CasesIndexModule",["CasesIndexControllerModule"]).config(["$stateProvider",function(a){a.state("cases.list",{url:"",views:{"":{templateUrl:"routes/cases/index/cases-index.template.html",controller:"CasesIndexController",controllerAs:"ctrl"}}})}]),angular.module("CasesIndexControllerModule",["CasesServiceModule","FlowsServiceModule","CasesInactiveModalModule"]).controller("CasesIndexController",["$scope","CasesService","FlowsService","CasesInactiveModalService","$q","$location","$timeout",function(a,b,c,d,e,f,g){function h(){a.loading=!0,a.loadingPagination=!1,o().then(function(){a.loading=!1})}a.currentTab="my-cases";var i,j,k=1,l=30;a.cases=[],a.flows=[],a.resolution_states=[],a.sortTables={progress:{column:"updated_at",descending:!0},"my-cases":{column:"updated_at",descending:!0},finished:{column:"updated_at",descending:!0}},a.filters={flows:[],steps:[],resolution_states:[]},a.querySearch={finished:"",progress:""};var m=function(){var c={page:k,per_page:l,completed:!1};0!==a.filters.flows.length&&(c.initial_flow_id=a.filters.flows.join()),0!==a.filters.steps.length&&(c.step_id=a.filters.steps.join()),0!==a.filters.resolution_states.length&&(c.resolution_state_id=a.filters.resolution_states.join()),"finished"===a.currentTab&&(c.completed=!0),"my-cases"===a.currentTab&&(c.mine=!0,c.completed=!1);var d=a.querySearch[a.currentTab]||"";d.length>0&&(c.query=d);var e=a.sortTables[a.currentTab];return e&&(c.sort=e.column,c.order=e.descending?"desc":"asc"),b.fetchAll(c)},n=function(){var a={initial:"true",return_fields:["id","title","steps.id","steps.title","resolution_states.id","resolution_states.title"].join()};return c.fetchAll(a)},o=function(){var b=n(),c=m(),d=e.all([c,b]);return d.then(function(b){a.flows=b[1],a.cases=b[0].cases,i=parseInt(b[0].headers().total),j=Math.ceil(i/l),a.steps=[],a.resolution_states=[],angular.forEach(a.flows,function(b){a.steps=a.steps.concat(b.steps),a.resolution_states=a.resolution_states.concat(b.resolution_states)}),angular.forEach(a.cases,function(a){a.steps_complete=a.total_steps-a.steps_not_fulfilled.length,angular.forEach(a.steps,function(b,c){if(b.step.id==a.next_step_id)return void(a.next_step=c+1)})})}),d};a.$watchCollection("[currentTab, filters.flows, filters.steps, filters.resolution_states]",function(b,c){angular.equals(b,c)===!1&&a.reload()});var p;a.$watchCollection("[querySearch.progress, querySearch.finished]",function(b,c){p&&g.cancel(p),p=g(function(){angular.equals(b,c)===!1&&a.reload()},1e3)}),a.paginate=function(){var b=e.defer();if(k<=j&&a.loadingPagination===!1){a.loadingPagination=!0;var c=m();c.then(function(c){angular.forEach(c.cases,function(b){b.steps_complete=b.total_steps-b.steps_not_fulfilled.length,a.cases.push(b),angular.forEach(b.steps,function(a,c){if(a.step.id==b.next_step_id)return void(b.next_step=c+1)})}),k++,a.loadingPagination=!1,b.resolve()},function(){b.resolve()})}else a.loadingPagination=null,b.resolve();return b.promise},a.reload=function(){a.cases=[],a.loadingPagination=!1,a.loadingContent=!0,k=1,o().then(function(){a.loadingContent=!1})},a.changeSorting=function(b){var c=a.sortTables[a.currentTab];c.column===b?c.descending=!c.descending:(c.column=b,c.descending=!1),a.reload()},a.selectedCls=function(b){if(a.sortTables[b]){var c=a.sortTables[a.currentTab];return b===c.column&&"sort-"+c.descending}},a.createCase=function(a){return b.create({initial_flow_id:a.id,step_id:a.steps[0].id}).then(function(a){f.path("/cases/"+a["case"].id)})},a.inactiveCase=function(b){d.open(b).then(function(){a.cases.splice(a.cases.indexOf(b),1)})},a.restoreCase=function(c){var d=b.restore(c);c.loading=!0,d.then(function(){c.status="active",c.loading=!1,a.cases.splice(a.cases.indexOf(c),1),a.showMessage("ok","O caso foi restaurado com sucesso.","success",!1)})},h()}]),angular.module("CasesEditModule",["CasesEditControllerModule"]).config(["$stateProvider",function(a){a.state("cases.edit",{url:"/{id:[0-9]{1,4}}",views:{"@":{templateUrl:"routes/cases/edit/cases-edit.template.html",controller:"CasesEditController",controllerAs:"ctrl"}}})}]),angular.module("CasesEditControllerModule",["CaseDirectiveModule"]).controller("CasesEditController",["$scope","Restangular","$modal","$stateParams",function(a,b,c,d){a.id=d.id,a.loading=!0,a.currentTab="steps",a.stepId=null,a.selectConductor=function(){c.open({templateUrl:"views/cases/selectConductor.html",windowClass:"modalConductor"})},a.changeConductor=function(){c.open({templateUrl:"views/cases/changeConductor.html",windowClass:"modalConductor"})}}]),angular.module("CaseDirectiveModule",["CasesServiceModule","CaseStepsDirectiveModule","CaseStepDirectiveModule","CasesSelectConductorModalModule","CasesInactiveModalModule","CasesFinishModalModule","CaseHistoryDirectiveModule"]).directive("case",["CasesService","CasesSelectConductorModalService","CasesInactiveModalService","CasesFinishModalService",function(a,b,c,d){return{restrict:"E",scope:{id:"=",stepId:"="},templateUrl:"routes/cases/edit/components/case/case.template.html",controller:["$scope","$rootScope","$state",function(e,f,g){e.currentTab="steps",e.stepId=e.stepId||null,e.loading=!0,e.user=f.me,e.canExecute=function(a){return!!f.hasPermission("manage_cases")||(a.responsible_group?f.hasPermission("can_execute_step",a.step_id):a.conductor&&e.user.id===a.conductor.id)},e.canManageCase=function(){return f.hasPermission("manage_cases")};var h=function(a){e.loading=!1,e.saveInProgress=!1,e.kase=a,e.stepId?e.step=_.findWhere(a.steps,{id:e.stepId}):e.step=a.current_step,e.canExecute(e.step)?e.step.editable=a.current_step.id==e.step.id&&!e.step.executed:e.step.editable=!1},i=function(){f.showMessage("exclamation-sign","Caso não encontrado","error",!0),g.go("cases.list")};a.fetch(e.id).then(h)["catch"](i),e.selectStep=function(a){a.id?e.step=a:e.step=_.filter(e.kase.next_steps,function(b){return b.flow_step.id==a.flow_step.id})[0]},e.saveStep=function(b){e.saveInProgress=!0;var c={step_id:e.step.step_id,fields:b};a.saveStep(e.kase.id,c).then(function(a){e.saveInProgress=!1,h(a),a.next_steps_ids.length>0?e.changeConductor({nextStep:!0}):e.finishCase(e.kase)})},e.changeConductor=function(a){var c;c=a&&a.nextStep===!0?e.kase.next_steps[0].flow_step:e.step.flow_step,b.open(e.kase,c).then(h)},e.inactiveCase=function(a){c.open(a).then(function(){g.go("cases.list")})},e.finishCase=function(a){d.open(a).then(function(){a.status="Finalizado"})};var j=140;$(".chat-window").height($(document).innerHeight()-j)}]}}]),angular.module("CaseHistoryDirectiveModule",["CasesServiceModule"]).directive("caseHistory",["CasesService",function(a){return{restrict:"E",scope:{id:"="},templateUrl:"routes/cases/edit/components/history/history.template.html",controller:["$scope",function(b){a.fetchHistory(b.id).then(function(a){b.log={},_.each(a.data.cases_log_entries,function(a){var c=moment(a.created_at),d=c.format("DD")+" de "+c.format("MMMM")+" de "+c.format("YYYY");a.hour=c.format("HH")+"h "+c.format("mm")+"min",b.log[d]?b.log[d].push(a):b.log[d]=[a]})})}]}}]),angular.module("CaseStepDirectiveModule",["CaseStepFieldDirectiveModule","InventoriesItemsServiceModule","CasesServiceModule"]).directive("caseStep",function(){return{restrict:"E",scope:{step:"=",editable:"=",saveInProgress:"=",onStepSave:"&",onChangeConductor:"&"},templateUrl:"routes/cases/edit/components/step/step.template.html",controller:["$scope","$rootScope","InventoriesItemsService","CasesService",function(a,b,c,d){a.user=b.me,a.canExecute=function(b){return b.responsible_group?a.canExecuteStepByPermission(b):b.conductor&&a.user.id===b.conductor.id},a.canExecuteStepByPermission=function(a){return b.hasPermission("can_execute_step",a.flow_step.flow_id)||b.hasPermission("flow_can_execute_all_steps",a.flow_step.flow_id)},a.toggleEditable=function(){a.editable=!a.editable},a.$watch("step",function(b){b&&(a.futureStep=!b.id,a.stepFilled=!!b.updated_by)});var e=function(a){return _.map(a,function(a){switch(a.type){case"inventory_item":var b=_.pluck(a.value,"id");return{id:a.id,value:b};case"select":var b=a.value?a.value.value:null;return{id:a.id,value:b};case"checkbox":var c=[];return a.value&&_.each(a.values,function(b,d){a.value[d]&&c.push(b.value)}),{id:a.id,value:c};case"image":case"attachment":if(!a.value)return;return a.value=_.reject(a.value,function(a){return!a.destroy&&!a.content}),_.each(a.value,function(a){a.content&&delete a.url}),{id:a.id,value:a.value};default:return{id:a.id,value:a.value}}})};a.isFormValid=function(){return a.stepForm.$valid&&!_.any(a.step.flow_step.fields,function(a){return a.has_errors})},a.saveStep=function(){a.formSubmitted=!0,a.displayErrors=!0,a.isFormValid()&&(a.displayErrors=!1,a.onStepSave({fields:e(a.step.flow_step.fields)}))},a.changeConductor=function(){a.onChangeConductor()};var f=function(b){return _.select(a.step.flow_step.fields,function(a){return a.inventory_field&&a.field_id==b.id})};a.$on("cases:inventory_items_selected",function(a,b){var e=f(b);if(_.any(e)){var g=b.value[0].id;c.fetchOne(g).then(function(a){var b=a.data.item;_.each(e,function(a){_.each(b.data,function(b){b.field.id==a.origin_field_id&&(a.value=d.denormalizeInventoryFieldValue(a,b.content))})})})}}),a.$on("cases:inventory_items_removed",function(a,b){var c=f(b);_.any(c)&&_.each(c,function(a){delete a.value})})}]}}),angular.module("StepFieldValidatorDirectiveModule",[]).directive("stepFieldValidator",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){a.field.errors={};var e=function(b,c){a.field.errors[b]=c,a.field.has_errors=_.any(_.filter(a.field.errors,function(a){return a}))},f=function(){if(a.field.requirements&&a.field.requirements.presence){var b=_.filter(a.field.value,function(a){return!a.destroy});!a.field.value||b.length<1?e("required",!0):e("required",!1)}},g=function(){a.field.requirements.presence&&!_.any(_.values(a.field.value))?e("required",!0):e("required",!1)},h=function(a){a&&!CPF.isValid(a.replace(/[^\d]/g,""))?e("cpf",!0):e("cpf",!1)},i=function(a){a&&!CNPJ.isValid(a.replace(/[^\d]/g,""))?e("cnpj",!0):e("cnpj",!1)},j=function(a){var b=/(^$)|(^(http|https|ftp|udp):\/\/[a-z0-9]+([\-\.][a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?([\/].*)?$)/i;a&&a.match(b)?e("url",!1):e("url",!0)},k=function(a){var b=/^([^\s]+)((?:[-a-z0-9]\.)[a-z]{2,})$/;a&&a.match(b)?e("email",!1):e("email",!0)},l=function(a){if(!a)return e("date",!1),!0;try{$.datepicker.parseDate("dd/mm/yy",a),e("date",!1)}catch(b){e("date",!0)}},m=function(b){b&&b.length>parseInt(a.field.requirements.maximum,10)?e("maxLength",!0):e("maxLength",!1)},n=function(b){b&&b.length \ No newline at end of file + } \ No newline at end of file