class Main{ //items_per_page=3; update_catalog(callback){ Request.run({method:'POST', url:servers['CATALOG']+"/?cmd=updateCatalog", success: function(xhr){ console.warn(xhr); }, error:function(xhr){ console.error(xhr.statusText); }}); } init(){ var context=this; context.showFullLoader(true); //context.items_per_page=3; var obj={ mushroom_zone_title: role !='admin' ? 'Setales': 'Setales', warning_title: role !='admin' ? 'Avisos': 'Avisos', identification_request_title: role !='admin' ? 'Identificaciones': 'Identificaciones', track_title: role !='admin' ? 'Itinerarios': 'Itinerarios', inventory_title: role !='admin' ? 'Inventarios': 'Inventarios' } new Template().render({tpl: '#main-TPL', data: obj, selector: ".app"}); $("body").attr("key", "" ); $(".sidebar-dropdown > a").click(function() { $(".sidebar-submenu").slideUp(200); if ( $(this) .parent() .hasClass("active") ) { $(".sidebar-dropdown").removeClass("active"); $(this) .parent() .removeClass("active"); } else { $(".sidebar-dropdown").removeClass("active"); $(this) .next(".sidebar-submenu") .slideDown(200); $(this) .parent() .addClass("active"); } }); //Open close sidebar $("#close-sidebar").click(function() { if( $("body").width()<768 ){ $(".page-wrapper").removeClass("toggled"); } }); $("#show-sidebar").click(function() { if( $("body").width()<768 ){ $(".page-wrapper").addClass("toggled"); } }); $(window).on('resize', function(){ if ($(this).width() >= 768) { $(".page-wrapper").addClass("toggled"); } if ($(this).width() >= 1199) { $(".chat-left-pane").removeClass("d-none"); } }); //add sections $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); $('.page-wrapper .sections').append(`
`); context.get_rank({ callback: function(){ context.load_domains({ callback:function(){ } }); } }); } showFullLoader(show){ if(show){ new Template().render({tpl: '#full-loader-TPL', data: {}, selector: 'body', append: true}); }else{ $('.full-loader-bg').remove(); } } get_rank(args){ var key=$('body').attr('key'); Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=Ranking', data:{action:'get_rank'} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } if(xhr.output){ if(xhr.output.error){ /*new Modal().show({ content: new Template().render({tpl: '#delete-error-TPL', data: {}}) });*/ }else { var data=xhr.output; console.warn(data); var position=1; for(var i=0; iAquí`; //} new Template().render({tpl: '#content-message-TPL', data: o, selector: `.page-content-wp[entity="${args.entity}"] .page-content .row.content`}); } change_section(args){ $('.page-content-wp').addClass('d-none'); $(`.page-content-wp[entity="${args.section}"]`).removeClass('d-none'); } load_mushroom_zones(args){ var context=this; //$(`.page-content-wp[entity="mushroom_zone"]`).removeAttr("entity_id").removeAttr("init").removeAttr("mode").html(''); this.list({ entity:'mushroom_zone', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'mushroom_zone'}); } } }); } load_clinics(args){ var context=this; $('body').attr('key','COMPANY.0000'); this.list({ entity:'crop', force: args && args.force, key: 'COMPANY.0000', query: (args && args.query) ? args.query : null, callback: res => { if(Object.keys(res.data).length==0){ context.no_data_content_message({entity:'crop'}); } } }) } load_users(args){ var context=this; if(args && args.key){ $('body').attr('key',args.key); } this.list({ entity:'user', force: args && args.force, key: (args && args.key) ? args.key : $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(Object.keys(res.data).length==0){ context.no_data_content_message({entity:'user'}); } } }) } load_species(args){ var context=this; this.list({ entity:'specie', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'specie'}); } } }); } load_plots(args){ var context=this; this.list({ entity:'plot', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'plot'}); } } }); } load_experiments(args){ var context=this; this.list({ entity:'experiment', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'experiment'}); } } }); } load_identification_requests(args){ var context=this; this.list({ entity:'identification_request', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'identification_request'}); } } }); } load_warnings(args){ var context=this; this.list({ entity:'warning', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'warning'}); } } }); } load_tracks(args){ var context=this; this.list({ entity:'track', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'track'}); } } }); } load_inventories(args){ var context=this; this.list({ entity:'inventory', force: args && args.force, key: $('body').attr('key'), query: (args && args.query) ? args.query : null, callback: res => { if(res.data.length==0){ context.no_data_content_message({entity:'inventory'}); } } }); } load_ranking(args){ var context=this; new Main().change_section({section:'ranking'}); //if( $(`.page-content-wp[entity="ranking]`).attr("init")=="true" && !args.force ){ // return; //} $(`.page-content-wp[entity="ranking"]`).attr("init","true"); $(`.page-content-wp[entity="ranking"]`).attr("entity", 'ranking'); $(`.page-content-wp[entity="ranking"]`).attr('mode','list'); var page_conf={ title:'Ranking', section:'list', entity:'ranking', has_pagination:false, has_header_controls:false, has_back_controls_inline: false, can_edit: false }; new Template().render({tpl: '#page-TPL', data: page_conf, selector: `.page-content-wp[entity="ranking"]`}); //$(`.page-content-wp[entity="ranking"] .page-content .row.content .pagination-page[page="${page}"]`).html(''); var page=1; context.create_pagination({entity:'ranking', items:11, page:1, init_pages:true, no_pages:true}); context.get_rank({ callback: function(data){ for(var i=0; i${cached_data['DOMAIN.WARNING_REASON'][k]}`); } } if(entity=='identification_request'){ for(var k in cached_data['DOMAIN.IDENTIFICATION_STATUS']){ $(`#identification_request-status-uid`).append(``); } } if(entity!='user' && entity!='crop'){ var user_data=cached_data['user'].map( (item)=>{ return { id:item.id, name:`${item.name} ${item.surname}`, role: item.role } } ); $(`[uid='${entity}-owner-uid']`).typeahead({ source:user_data, minLength: 0, items: 'all', afterSelect: function (data) { $(`[uid='${entity}-owner-uid']`).attr("internal-value",data.id); } }); var identifier_data=user_data.map(a => Object.assign({}, a)); identifier_data=identifier_data.filter(function(item){ return item.role=='identifier'; }); if(entity=='identification_request'){ $(`[uid='${entity}-identifier-uid']`).typeahead({ source:identifier_data, minLength: 0, items: 'all', afterSelect: function (data) { $(`[uid='${entity}-identifier-uid']`).attr("internal-value",data.id); } }); } } if(entity=='mushroom_zone' || entity=='identification_request'){ for(var k in cached_data['DOMAIN.ABUNDANCE']){ $(`#${entity}-abundance-uid`).append(``); } var specie_data=cached_data['specie'].map( (item)=>{ return { id:item.id, name:`${item.name} / ${item.common_name}` } } ); $(`[uid='${entity}-specie-uid']`).typeahead({ source:specie_data, minLength: 0, items: 'all', afterSelect: function (data) { console.log(data.id); //$("[uid='"+context.data.uid+"']").val('');//clean //new Template().render({tpl: '#field-user-selector-item-TPL', data: data, selector: "[uid='"+context.data.uid+"-content']"}); $(`[uid='${entity}-specie-uid']`).attr("internal-value",data.id); } }); } if(entity=='inventory' || entity=='experiment' ){ var plot_data=cached_data['plot'].map( (item)=>{ return { id:item.id, name:`${item.name}` } } ); $(`[uid='${entity}-plot-uid']`).typeahead({ source:plot_data, minLength: 0, items: 'all', afterSelect: function (data) { console.log(data.id); //$("[uid='"+context.data.uid+"']").val('');//clean //new Template().render({tpl: '#field-user-selector-item-TPL', data: data, selector: "[uid='"+context.data.uid+"-content']"}); $(`[uid='${entity}-plot-uid']`).attr("internal-value",data.id); } }); } } advanced_search(args){ var context=this; var entity=args.entity; var s=`.page-content-wp[entity="${entity}"] .list-item[entity="${entity}"]`;//selector //var filter=context.get_advanced_search_filter({entity:entity, s:s});; var f=[]; var filter=''; var ms='.modal .advanced-search-'+args.entity;//modal selector if(['crop','user'].indexOf(args.entity)!=-1){ switch (args.entity) { case "crop": break; case "user": if( $(`${ms} #user-name-uid`).val()!='' ){ //f.push(`${args.s}[name*="${$(`${ms} #user-name-uid`).val()}"]`) f.push(`[_name*="${$(`${ms} #user-name-uid`).val()}"]`) } if( $(`${ms} #user-surname-uid`).val()!='' ){ f.push(`[_surname*="${$(`${ms} #user-surname-uid`).val()}"]`) } if( $(`${ms} #user-email-uid`).val()!='' ){ f.push(`[_id*="${$(`${ms} #user-email-uid`).val()}"]`) } if( $(`${ms} #user-role-uid`).val()!='' ){ f.push(`[_irole*="${$(`${ms} #user-role-uid`).val()}"]`) } if( $(`${ms} #user-request_collaborator_role-uid`).val()!='' ){ f.push(`[_request_collaborator_role*="${$(`${ms} #user-request_collaborator_role-uid`).val()}"]`) } if( $(`${ms} #user-bloqued-uid`).val()!='' ){ f.push(`[_bloqued*="${$(`${ms} #user-bloqued-uid`).val()}"]`) } break; } if(f.lenght!=0){ filter=`${s}${f.join('')}` } if(filter==''){ $(s).removeClass('d-none'); return; } $(s).addClass('d-none'); $(filter).removeClass('d-none'); }else{ var sql=[]; switch (args.entity) { case "mushroom_zone": if( $(`${ms} #mushroom_zone-name-uid`).val()!='' ){ var value=$(`${ms} #mushroom_zone-name-uid`).val(); sql.push(`lower(COALESCE(_data->>'name','')) like lower('%${value}%')`); } if( $(`${ms} #mushroom_zone-start-date-uid`).val()!='' ){ var value=$(`${ms} #mushroom_zone-start-date-uid`).val(); sql.push(`_data->>'date' >= '${new Date(value).getTime()- 60 * 60 * 1 * 1000}'`); } if( $(`${ms} #mushroom_zone-end-date-uid`).val()!='' ){ var value=$(`${ms} #mushroom_zone-end-date-uid`).val(); sql.push(`_data->>'date' <= '${new Date(value).getTime()}'`); } if( $(`${ms} #mushroom_zone-specie-uid`).val()!='' ){ var value=$(`${ms} #mushroom_zone-specie-uid`).attr('internal-value'); sql.push(`_data->>'specie' = '${value}'`); } if( $(`${ms} #mushroom_zone-abundance-uid`).val()!='' ){ var value=$(`${ms} #mushroom_zone-abundance-uid`).val(); sql.push(`_data->>'abundance' = '${value}'`); } if( typeof $(`${ms} #mushroom_zone-owner-uid`).val() !== 'undefined' && $(`${ms} #mushroom_zone-owner-uid`).val()!='' ){ var value=$(`${ms} #mushroom_zone-owner-uid`).attr('internal-value'); sql.push(`_data->>'owner' = '${value}'`); } var query=sql.join(' AND '); this.load_mushroom_zones({query:query, force:true}); sessionStorage.setItem('mushroom_zone-last-query',query); break; case "identification_request": if( $(`${ms} #identification_request-start-date-uid`).val()!='' ){ var value=$(`${ms} #identification_request-start-date-uid`).val(); sql.push(`_data->>'date' >= '${new Date(value).getTime()- 60 * 60 * 1 * 1000}'`); } if( $(`${ms} #identification_request-end-date-uid`).val()!='' ){ var value=$(`${ms} #identification_request-end-date-uid`).val(); sql.push(`_data->>'date' <= '${new Date(value).getTime()}'`); } if( $(`${ms} #identification_request-abundance-uid`).val()!='' ){ var value=$(`${ms} #identification_request-abundance-uid`).val(); sql.push(`_data->>'abundance' = '${value}'`); } if( typeof $(`${ms} #identification_request-owner-uid`).val() !=='undefined' && $(`${ms} #identification_request-owner-uid`).val()!='' ){ var value=$(`${ms} #identification_request-owner-uid`).attr('internal-value'); sql.push(`_data->>'owner' = '${value}'`); } if( $(`${ms} #identification_request-status-uid`).val()!='' ){ var value=$(`${ms} #identification_request-status-uid`).val(); sql.push(`_data->>'status' = '${value}'`); } if( $(`${ms} #identification_request-specie-uid`).val()!='' ){ var value=$(`${ms} #identification_request-specie-uid`).attr('internal-value'); sql.push(`_data->>'specie' = '${value}'`); } if( typeof $(`${ms} #identification_request-identifier-uid`).val()!=='undefined' && $(`${ms} #identification_request-identifier-uid`).val()!='' ){ var value=$(`${ms} #identification_request-identifier-uid`).attr('internal-value'); sql.push(`_data->>'identifier' = '${value}'`); } var query=sql.join(' AND '); this.load_identification_requests({query:query, force:true}); sessionStorage.setItem('identification_request-last-query',query); break; case "warning": if( $(`${ms} #warning-start-date-uid`).val()!='' ){ var value=$(`${ms} #warning-start-date-uid`).val(); sql.push(`_data->>'date' >= '${new Date(value).getTime()- 60 * 60 * 1 * 1000}'`); } if( $(`${ms} #warning-end-date-uid`).val()!='' ){ var value=$(`${ms} #warning-end-date-uid`).val(); sql.push(`_data->>'date' <= '${new Date(value).getTime()}'`); } if( $(`${ms} #warning-reason-uid`).val()!='' ){ var value=$(`${ms} #warning-reason-uid`).val(); sql.push(`_data->>'reason' = '${value}'`); } if( $(`${ms} #warning-notes-uid`).val()!='' ){ var value=$(`${ms} #warning-notes-uid`).val(); sql.push(`lower(COALESCE(_data->>'notes','')) like lower('%${value}%')`); } if( typeof $(`${ms} #warning-owner-uid`).attr('internal-value')!=='undefined' ){ var value=$(`${ms} #warning-owner-uid`).attr('internal-value'); sql.push(`_data->>'owner' = '${value}'`); } var query=sql.join(' AND '); this.load_warnings({query:query, force:true}); sessionStorage.setItem('warning-last-query',query); break; case "specie": if( $(`${ms} #specie-name-uid`).val()!='' ){ var value=$(`${ms} #specie-name-uid`).val(); sql.push(`lower(COALESCE(_data->>'name','')) like lower('%${value}%')`); } if( $(`${ms} #specie-common_name-uid`).val()!='' ){ var value=$(`${ms} #specie-common_name-uid`).val(); sql.push(`lower(COALESCE(_data->>'common_name','')) like lower('%${value}%')`); } if( $(`${ms} #specie-eatable-uid`).val()!='' ){ var value=$(`${ms} #specie-eatable-uid`).val(); sql.push(`_data->>'eatable' = '${value}'`); } var query=sql.join(' AND '); this.load_species({query:query, force:true}); sessionStorage.setItem('specie-last-query',query); break; case "track": if( $(`${ms} #track-start-date-uid`).val()!='' ){ var value=$(`${ms} #track-start-date-uid`).val(); sql.push(`_data->>'date' >= '${new Date(value).getTime()- 60 * 60 * 1 * 1000}'`); } if( $(`${ms} #track-end-date-uid`).val()!='' ){ var value=$(`${ms} #track-end-date-uid`).val(); sql.push(`_data->>'date' <= '${new Date(value).getTime()}'`); } if( $(`${ms} #track-with_recolection-uid`).val()!='' ){ var value=$(`${ms} #track-with_recolection-uid`).val(); sql.push(`_data->>'with_recolection' = '${value}'`); } if( typeof $(`${ms} #track-owner-uid`).attr('internal-value')!=='undefined' ){ var value=$(`${ms} #track-owner-uid`).attr('internal-value'); sql.push(`_data->>'owner' = '${value}'`); } var query=sql.join(' AND '); this.load_tracks({query:query, force:true}); sessionStorage.setItem('track-last-query',query); break; case "inventory": if( $(`${ms} #inventory-start-date-uid`).val()!='' ){ var value=$(`${ms} #inventory-start-date-uid`).val(); sql.push(`_data->>'date' >= '${new Date(value).getTime()- 60 * 60 * 1 * 1000}'`); } if( $(`${ms} #inventory-end-date-uid`).val()!='' ){ var value=$(`${ms} #inventory-end-date-uid`).val(); sql.push(`_data->>'date' <= '${new Date(value).getTime()}'`); } if( $(`${ms} #inventory-with_recolection-uid`).val()!='' ){ var value=$(`${ms} #inventory-with_recolection-uid`).val(); sql.push(`_data->>'with_recolection' = '${value}'`); } if( typeof $(`${ms} #inventory-plot-uid`).attr('internal-value')!=='undefined' ){ var value=$(`${ms} #inventory-plot-uid`).attr('internal-value'); sql.push(`_data->>'plot' = '${value}'`); } if( typeof $(`${ms} #inventory-owner-uid`).attr('internal-value')!=='undefined' ){ var value=$(`${ms} #inventory-owner-uid`).attr('internal-value'); sql.push(`_data->>'owner' = '${value}'`); } var query=sql.join(' AND '); this.load_inventories({query:query, force:true}); sessionStorage.setItem('inventory-last-query',query); break; case "plot": if( $(`${ms} #plot-name-uid`).val()!='' ){ var value=$(`${ms} #plot-name-uid`).val(); sql.push(`lower(COALESCE(_data->>'name','')) like lower('%${value}%')`); } if( $(`${ms} #plot-with_recolection-uid`).val()!='' ){ var value=$(`${ms} #plot-with_recolection-uid`).val(); sql.push(`_data->>'with_recolection' = '${value}'`); } var query=sql.join(' AND '); this.load_plots({query:query, force:true}); sessionStorage.setItem('plot-last-query',query); break; case "experiment": if( $(`${ms} #experiment-start-date-uid`).val()!='' ){ var value=$(`${ms} #experiment-start-date-uid`).val(); sql.push(`_data->>'date' >= '${new Date(value).getTime()}'`); } if( $(`${ms} #experiment-end-date-uid`).val()!='' ){ var value=$(`${ms} #experiment-end-date-uid`).val(); sql.push(`_data->>'date' <= '${new Date(value).getTime()}'`); } if( typeof $(`${ms} #experiment-plot-uid`).attr('internal-value')!=='undefined' ){ var value=$(`${ms} #experiment-plot-uid`).attr('internal-value'); sql.push(`_data->>'plots' like '%${value}%'`); } var query=sql.join(' AND '); this.load_experiments({query:query, force:true}); sessionStorage.setItem('experiment-last-query',query); break; } } new Modal().hide({}); /*switch (args.entity) { case "crop": this.advanced_search_redis({entity:args.entity}); return; break; case "user": this.advanced_search_redis({entity:args.entity}); return; break; }*/ } /*advanced_search_ok(args){ switch (args.entity) { case "crop": this.advanced_search_redis({entity:args.entity}); return; break; case "user": this.advanced_search_redis({entity:args.entity}); return; break; } } advanced_search_redis_ok(args){ var context=this; var entity=args.entity; var s=`.page-content-wp[entity="${entity}"] .list-item[entity="${entity}"]`;//selector var filter=context.get_advanced_search_filter({entity:entity, s:s});; new Modal().hide({}); if(filter==''){ $(s).removeClass('d-none'); return; } $(s).addClass('d-none'); $(filter).removeClass('d-none'); return; var value='david';//$(`.page-content-wp[entity="${entity}"]`).find('.search-text').val().toLowerCase(); if(value==''){ $(s).removeClass('d-none'); return; } $(s).addClass('d-none'); $(`${s}[name*="${value}"]`).removeClass('d-none'); } get_advanced_search_filter_ok(args){ var context=this; var f=[]; var filter=''; var ms='.modal .advanced-search-'+args.entity;//modal selector switch (args.entity) { case "crop": break; case "user": if( $(`${ms} #user-name-uid`).val()!='' ){ //f.push(`${args.s}[name*="${$(`${ms} #user-name-uid`).val()}"]`) f.push(`[_name*="${$(`${ms} #user-name-uid`).val()}"]`) } if( $(`${ms} #user-surname-uid`).val()!='' ){ f.push(`[_surname*="${$(`${ms} #user-surname-uid`).val()}"]`) } if( $(`${ms} #user-email-uid`).val()!='' ){ f.push(`[_id*="${$(`${ms} #user-email-uid`).val()}"]`) } if( $(`${ms} #user-role-uid`).val()!='' ){ f.push(`[_irole*="${$(`${ms} #user-role-uid`).val()}"]`) } if( $(`${ms} #user-request_collaborator_role-uid`).val()!='' ){ f.push(`[_request_collaborator_role*="${$(`${ms} #user-request_collaborator_role-uid`).val()}"]`) } if( $(`${ms} #user-bloqued-uid`).val()!='' ){ f.push(`[_bloqued*="${$(`${ms} #user-bloqued-uid`).val()}"]`) } break; case "specie": if( $(`${ms} #specie-name-uid`).val()!='' ){ f.push(`[_name*="${$(`${ms} #specie-name-uid`).val()}"]`) } if( $(`${ms} #specie-scientific-name-uid`).val()!='' ){ f.push(`[_scientific_name*="${$(`${ms} #specie-scientific-name-uid`).val()}"]`) } break; } if(f.lenght!=0){ filter=`${args.s}${f.join('')}` } return filter; }*/ ____search(element){ var entity=$(element).closest('.page-content-wp').attr('entity');//$("body").attr("entity"); switch (entity) { case "crop": this.search_redis({entity:entity}); return; break; case "user": this.search_redis({entity:entity}); return; break; } var query=this.get_query({entity:entity}) switch (entity) { case "crop": this.load_clinics({query:query, force:true}); break; case "user": this.load_users({query:query, force:true}); break; case "client": this.load_clients({query:query, force:true}); break; case "blog": this.load_blog({query:query, force:true}); break; case "doctor": this.load_doctors({query:query, force:true}); break; case "topic": this.load_topics({query:query, force:true}); break; case "notification": this.load_notifications({query:query, force:true}); break; case "history": this.load_history({query:query, force:true}); break; default: } } ____get_query(args){ var value=$(`.page-content-wp[entity="${args.entity}"] .search-text`).val();//$('.search-text').val(); var entity=args.entity;//$("body").attr("entity"); if(value==""){ if(entity=="history"){ return "_data->>'client'='"+$(`.page-content-wp[entity="${entity}"]`).attr("entity_id")+"'"; } return null; } switch (entity) { case "client": return `lower(COALESCE(_data->>'name','') || ' ' || COALESCE(_data->>'surname','') || '|' || COALESCE(_data->>'email','') || '|' || COALESCE(_data->>'main_phone_number','') || '|' || COALESCE(_data->>'address','') || '|' || COALESCE(_data->>'postal_code','') || '|' || COALESCE(_data->>'town','') || '|' || COALESCE(_data->>'province','') || '|' || COALESCE(_data->>'country','')) LIKE '%${value}%'`; break; case "doctor": return `lower(COALESCE(_data->>'name','') || ' ' || COALESCE(_data->>'surname','') || '|' || COALESCE(_data->>'specialty','') || '|' || COALESCE(_data->>'email','') || '|' || COALESCE(_data->>'phone_number','') || '|' || COALESCE(_data->>'notes','')) LIKE '%${value}%'`; break; case "blog": return `lower(COALESCE(_data->>'title','') || '|' || COALESCE(_data->>'resume','') || '|' || COALESCE(_data->>'body','')) LIKE '%${value}%'`; break; case "topic": return `lower(COALESCE(_data->>'name','') || '|' || COALESCE(_data->>'description','')) LIKE '%${value}%'`; break; case "notification": return `lower(COALESCE(_data->>'title','') || '|' || COALESCE(_data->>'body','')) LIKE '%${value}%'`; break; case "history": var entity_id=$('body').attr('entity_id'); return `lower(COALESCE(_data->>'resume','') || '|' || COALESCE(_data->>'body','')) LIKE '%${value}%' AND _data->>'client'='${entity_id}'`; break; default: } return null; } search_redis(args){ var entity=args.entity;//$("body").attr("entity"); var value=$(`.page-content-wp[entity="${entity}"]`).find('.search-text').val().toLowerCase();//$('.search-text').val().toLowerCase(); if(value==''){ $(`.page-content-wp[entity="${entity}"] .list-item[entity="${entity}"]`).removeClass('d-none'); return; } $(`.page-content-wp[entity="${entity}"] .list-item[entity="${entity}"]`).addClass('d-none'); $(`.page-content-wp[entity="${entity}"] .list-item[entity="${entity}"][filter*="${value}"]`).removeClass('d-none'); } cache_entity(args){ console.warn('cache_entity'); console.warn(args); var context=this; var e=fields["FORM."+args.entity.toUpperCase()]; if(fields["FORM."+args.entity.toUpperCase()].store=='redis'){ var url=servers['CATALOG']+'/GET/'+args.entity.toUpperCase(); if(args.key){ url=servers['CATALOG']+'/GET/'+args.key+'/'+args.entity.toUpperCase() } Request.run({method:'POST', url:url, data:{}, success: function(xhr){ console.warn(xhr); var output=xhr.output; cached_data[args.entity]=[]; for(var key in output){ output[key].key=key; output[key].store='redis'; output[key].entity=args.entity; output[key].table=args.entity; var cached_obj={}; for(var k in output[key]){ cached_obj[k]=output[key][k]; } cached_data[args.entity].push(cached_obj); } if(args.callback){ args.callback({data:output, source:'redis'}); } }, error:function(xhr){ console.error(xhr.statusText); }}); }else{//postgres Request.run({method:'POST', url:servers['DATA']+'/GET/'+args.entity.toUpperCase()+'/'+args.key+'/ALL/', data:{}, success: function(xhr){ var data=xhr.output; data= data ? data : []; cached_data[args.entity]=[]; for(var i=0; iNombreRecolecciónAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break; case "mushroom_zone": new Template().render({tpl: '#table-TPL', data: {columns:'NombreAbundanciaEspecieFechaAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break; case "identification_request": new Template().render({tpl: '#table-TPL', data: {columns:'UsuarioFechaAbundanciaEspecieEstadoAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break case "track": new Template().render({tpl: '#table-TPL', data: {columns:'NombreUsuarioFechaCon recolecciónAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break case "inventory": new Template().render({tpl: '#table-TPL', data: {columns:'UsuarioParcelaFechaCon recolecciónAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break case "warning": new Template().render({tpl: '#table-TPL', data: {columns:'MotivoFechaUsuarioNotasAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break case "specie": new Template().render({tpl: '#table-TPL', data: {columns:'Nombre científicoNombre comúnComestiblePuntuaciónAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break case "user": new Template().render({tpl: '#table-TPL', data: {columns:'EmailAliasNombreApellidosRolAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break case "experiment": new Template().render({tpl: '#table-TPL', data: {columns:'NombreSuperficieFecha inicioFecha finAcciones', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`}); break default: } //new Template().render({tpl: '#table-TPL', data: {}, selector: `.table-data[entity="${args.entity}"]`}); new Template().render({tpl: '#loader-TPL', data: {}, selector: `.page-content-wp[entity="${args.entity}"] .row.content`}); //$(`.page-content-wp[entity="${args.entity}"] .search-text`).focus(); $(`.page-content-wp[entity="${args.entity}"] .search-text`).keypress(function(e) { if(e.which == 13) { $(`.page-content-wp[entity="${args.entity}"] .search-action`).click(); } }); var table_data = '' if(fields["FORM."+args.entity.toUpperCase()].store=='redis'){ var url=servers['CATALOG']+'/GET/'+args.entity.toUpperCase(); if(args.key){ //$('body').attr("key",args.key); url=servers['CATALOG']+'/GET/'+args.key+'/'+args.entity.toUpperCase() }else{ //$('body').attr("key",""); } Request.run({method:'POST', url:url, data:{}, success: function(xhr){ console.warn(xhr); var output=xhr.output; //cached_data[args.entity]=[]; context.create_pagination({entity:args.entity, items:Object.keys(output).length, page:1, init_pages:true, no_pages:true}); var i=0; for(var key in output){ /*if(output[key]['id']){ output[key]._id= output[key]['id']; }*/ output[key].key=key; output[key].store='redis'; output[key].entity=args.entity; output[key].table=args.entity; /*var cached_obj={}; for(var k in output[key]){ cached_obj[k]=output[key][k]; } cached_data[args.entity].push(cached_obj);*/ var filter=""; var attrs=""; if(output[key]['role']){ output[key].irole= output[key]['role']; output[key].hrole=cached_data['DOMAIN.ROLE'][output[key]['role']]; } for(var k in output[key]){ for(var i=0; i>'owner'='${new Login().getLogedUserId()}'`) : encodeURIComponent(` AND _data->>'owner'='${new Login().getLogedUserId()}'`); } var order_by="_data->>'"+e.order_by+"' desc"; Request.run({method:'POST', url:servers['DATA']+'/GET/'+args.entity.toUpperCase()+'/'+args.key+'/ALL/'+query, data:{order_by:order_by, limit:'20000'}, success: function(xhr){ var data=xhr.output; data= data ? data : []; //cached_data[args.entity]=[];//{}; var html=''; context.create_pagination({entity: args.entity, items:data.length, page:1, init_pages:true}); var page_data={}; var specie_obj={}; var plot_obj={}; if(args.entity=='mushroom_zone' || args.entity=='identification_request' ){ specie_obj=context.get_cached_data_object_formated('specie'); } if(args.entity=='inventory' ){ plot_obj=context.get_cached_data_object_formated('plot'); } for(var i=0; i b) ? 1 : 0)); }, "date-uk-desc": function ( a, b ) { return ((a < b) ? 1 : ((a > b) ? -1 : 0)); } } ); $('.fl-container-wp').remove(); if(args.callback){ args.callback({data:data, source:'postgres'}); } }, error:function(xhr){ //console.error(xhr.statusText); }}); } } toggle_table_cards(element){ var entity=$(element).closest('.page-content-wp').attr('entity'); console.warn(entity); $('.page-content[entity="'+entity+'"] .row ').toggleClass("d-none"); $('.page-content[entity="'+entity+'"] .table-data ').toggleClass("d-none"); $('.page-content[entity="'+entity+'"] .pagination-wp ').toggleClass("d-none"); } get_cached_data_object_formated(entity){ var obj={}; for(var i=0; i 1) { str += ``; } // Show all the pagination elements if there are less than 6 pages total if (pages < 6) { for (let p = 1; p <= pages; p++) { active = page == p ? "active" : "no"; str += `
  • ${p}
  • `; } } // Use "..." to collapse pages outside of a certain range else { // Show the very first page followed by a "..." at the beginning of the // pagination section (after the Previous button) if (page > 2) { str += `
  • 1
  • `; if (page > 3) { str += `
  • ...
  • `; } } // Determine how many pages to show after the current page index if (page === 1) { pageCutHigh += 2; } else if (page === 2) { pageCutHigh += 1; } // Determine how many pages to show before the current page index if (page === pages) { pageCutLow -= 2; } else if (page === pages-1) { pageCutLow -= 1; } // Output the indexes for pages that fall inside the range of pageCutLow // and pageCutHigh for (let p = pageCutLow; p <= pageCutHigh; p++) { if (p === 0) { p += 1; } if (p > pages) { continue } active = page == p ? "active" : "no"; str += `
  • ${p}
  • `; } // Show the very last page preceded by a "..." at the end of the pagination // section (before the Next button) if (page < pages-1) { if (page < pages-2) { str += `
  • ...
  • `; } str += `
  • ${pages}
  • `; } } // Show the Next button only if you are on a page other than the last if (page < pages) { str += ``; } str += ''; // Return the pagination string to be outputted in the pug templates if(pages>1){ new Template().render({tpl: '#pagination-TPL', data: {html:str}, selector: `.page-content-wp[entity="${args.entity}"] .pagination-wp`}); } } } page_click(element){ return; var index=$(element).attr('index'); $('.page-item').removeClass('active'); $(element).addClass('active'); } paint_list_element(data,selector, html, item_selector){ return; var inserted=false; var value= (data.internal_date) ? data.internal_date : data.name; //$(selector+" .list-item").each(function(){ $(selector+" "+item_selector).each(function(){ if( value < $(this).attr("order") && !inserted ){ $(this).before(html); inserted=true; } }) if(!inserted){ $(selector).append(html); } } get_human_value(e, i, value){ if(e.types[i]=='FieldRelationOne'){ return cached_data[e.relation[i]][value]; } /*if(e.types[i]=='FieldBoolean'){ return (value=="true")?'Si':'No'; }*/ return null; } get_title(args){ //var entity=$('body').attr("entity"); var mode=$(`.page-content-wp[entity="${args.entity}"]`).attr("mode"); var title= ""; switch (args.entity) { case "mushroom_zone": title= ((mode=="new") ? "Nuevo " : "Editando ") +" setal"; break; case "crop": title=((mode=="new") ? "Nuevo " : "Editando ") +" centro"; break; case "warning": title=((mode=="new") ? "Nuevo " : "Editando ") +" aviso"; break; case "identification_request": title=((mode=="new") ? "Nueva " : "Editando ") +" identificación"; break; case "track": title=((mode=="new") ? "Nuevo " : "Editando ") +" itinerario"; break; case "inventory": title=((mode=="new") ? "Nuevo " : "Editando ") +" inventario"; break; case "user": title=((mode=="new") ? "Nuevo " : "Editando ") +" usuario"; break; case "specie": title=((mode=="new") ? "Nueva " : "Editando ") +" especie"; break; case "plot": title=((mode=="new") ? "Nueva " : "Editando ") +" parcela"; break; case "experiment": title=((mode=="new") ? "Nueva " : "Editando ") +" experimento"; break; default: } var list_titles={ mushroom_zone: role !='admin' ? 'Setales': 'Setales', warning: role !='admin' ? 'Avisos': 'Avisos', identification_request: role !='admin' ? 'Identificaciones': 'Identificaciones', track: role !='admin' ? 'Itinerarios': 'Itinerarios', inventory: role !='admin' ? 'Inventarios': 'Inventarios', experiment: role !='admin' ? 'Experimentos': 'Experimentos' } var list_title= list_titles[args.entity.toLowerCase()] ? list_titles[args.entity.toLowerCase()] : fields["FORM."+args.entity.toUpperCase()].phname ; //title= (mode=="list") ? fields["FORM."+args.entity.toUpperCase()].phname : title; title= (mode=="list") ? list_title : title; return title; } add_new(element){ var context=this; //$('body').attr('mode','new'); var key=$('body').attr('key'); //var entity=$('.page-content').attr("entity"); var entity=$(element).closest('.page-content-wp').attr('entity'); context.refresh_credit_count(function(){ if( entity.toUpperCase()=='IDENTIFICATION_REQUEST' && parseInt($(`.user_credits`).text()) < 3 ){ new Modal().show({ content: new Template().render({tpl: `#no-credit-TPL`, data: {}}) }); return; } if(entity=='identification_request'){ //if(!localStorage.getItem('help-identifications-new')){ //localStorage.setItem('help-identifications-new','showed'); new Main().show_help({section:'identifications-new'}); //} } $(`.page-content-wp[entity="${entity}"]`).attr('mode','new'); $(`.page-content-wp[entity="${entity}"]`).attr('init','true'); new Main().change_section({section:entity}); var page_conf={ title:context.get_title({entity:entity}), section:'new', entity:entity, has_back_controls: true }; new Template().render({tpl: '#page-TPL', data: page_conf, selector: `.page-content-wp[entity="${entity}"]`}); var target=`.page-content-wp[entity="${entity}"] .row.content`; new FormBuilder().generateForm({entity:entity, key:key, is_new:true, schema: fields["FORM."+entity.toUpperCase()] ,target:target, mode:'edit', callback: function(res_args){ if(res_args.error){ alert(res_args.error); } if(entity=='user'){ //$('[fname="id"]').attr("disabled","disabled"); $(`.page-content-wp[entity="${entity}"] [fname="_crop"]`).val(key); } if(entity=='crop'){ $(`.page-content-wp[entity="${entity}"] [fname="token"]`).attr("disabled","disabled"); } if(entity=='warning'){ if( $(`.page-content[entity="warning"] [ftype="FieldRelationOne"][fname="reason"]`).val()=='wr1' || $(`.page-content[entity="warning"] [ftype="FieldRelationOne"][fname="reason"]`).val()=='wr2'){ $(`.page-content[entity="warning"] [fname="specie"]`).parent().removeClass('d-none'); $(`.page-content[entity="warning"] [fname="specie"]`).attr('fvalidate','true'); $(`.page-content[entity="warning"] [fname="price"]`).parent().removeClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).attr('fvalidate','true'); $(`.page-content[entity="warning"] [fname="quality"]`).parent().removeClass('d-none'); }else{ $(`.page-content[entity="warning"] [fname="specie"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="specie"]`).removeAttr('fvalidate'); $(`.page-content[entity="warning"] [fname="price"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).removeAttr('fvalidate'); $(`.page-content[entity="warning"] [fname="quality"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).val(''); $(`.page-content[entity="warning"] .specie-selector-content`).html(''); $(`.page-content[entity="warning"] [fname="quality"]`).val(''); } } if(entity=='identification_request'){//hide identification fields $(`.page-content[entity="identification_request"] [group="1"]`).addClass('d-none'); } if(entity=='inventory'){ //Asignación automatica de las horas var d = new Date(); var hour = d.getHours(), min = d.getMinutes(); hour = (hour < 10 ? "0" : "") + hour; min = (min < 10 ? "0" : "") + min; $('.page-content[entity="inventory"] [fname="start_hour"]').val(hour+":"+min) $('.page-content[entity="inventory"] [fname="end_hour"]').val(hour+":"+min) } context.add_form_events({ entity: entity, is_new: true }); } }); }); } edit(args){ var context=this; //$('body').attr('mode','edit'); $(`.page-content-wp[entity="${args.entity}"]`).attr('mode','edit'); $(`.page-content-wp[entity="${args.entity}"]`).attr('init','true'); if(args.entity=='crop'){ $('body').attr('key',args.key); } var entity=args.entity;//$('.page-content').attr("entity"); new Main().change_section({section:entity}); var page_conf={ title:this.get_title({entity:entity}), section:'edit', entity:entity, has_back_controls: true //can_edit: permission.indexOf(entity.toLowerCase()+'_w')!=-1 }; new Template().render({tpl: '#page-TPL', data: page_conf, selector: `.page-content-wp[entity="${args.entity}"]`}); var or_args=args; var target=`.page-content-wp[entity="${args.entity}"] .row.content`; new FormBuilder().generateForm({entity:args.entity, key:args.key, is_new:false, id:args.id, schema: fields["FORM."+args.entity.toUpperCase()], target:target, mode:'edit', callback: function(args){ if(args.error){ alert(args.error); } if(or_args.entity=='user'){ $(`.page-content-wp[entity="${entity}"] [fname="id"]`).attr("disabled","disabled"); } if(or_args.entity=='crop'){ $(`.page-content-wp[entity="${entity}"] [fname="token"]`).attr("disabled","disabled"); } if(entity=='warning'){ if( $(`.page-content[entity="warning"] [ftype="FieldRelationOne"][fname="reason"]`).val()=='wr1' || $(`.page-content[entity="warning"] [ftype="FieldRelationOne"][fname="reason"]`).val()=='wr2'){ $(`.page-content[entity="warning"] [fname="specie"]`).parent().removeClass('d-none'); $(`.page-content[entity="warning"] [fname="specie"]`).attr('fvalidate','true'); $(`.page-content[entity="warning"] [fname="price"]`).parent().removeClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).attr('fvalidate','true'); $(`.page-content[entity="warning"] [fname="quality"]`).parent().removeClass('d-none'); }else{ $(`.page-content[entity="warning"] [fname="specie"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="specie"]`).removeAttr('validate'); $(`.page-content[entity="warning"] [fname="price"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).removeAttr('validate'); $(`.page-content[entity="warning"] [fname="quality"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).val(''); $(`.page-content[entity="warning"] .specie-selector-content`).html(''); $(`.page-content[entity="warning"] [fname="quality"]`).val(''); } } if(entity=='identification_request' && role!='identifier'){ //if( $(`.page-content[entity="identification_request"] [fname="specie"]`).val()=='' ){ var status=$(`.page-content[entity="identification_request"] [fname="status"]`).val(); if( status=='is0'){ $(`.page-content[entity="identification_request"] [fname="specie"]`).parent().addClass('d-none'); $(`.page-content[entity="identification_request"] [fname="identifier"]`).parent().addClass('d-none'); $(`.page-content[entity="identification_request"] [fname="notes"]`).parent().addClass('d-none'); $(`.page-content[entity="identification_request"] [fname="status"]`).parent().addClass('d-none'); $(`.page-content[entity="identification_request"] [fname="attempts"]`).parent().addClass('d-none'); var html=`
    Identificación en curso
    En breve recibirá respuesta a su solicitud
    `; $(`.page-content[entity="identification_request"] .group[group="1"]`).append(html); }else{ $(`.page-content[entity="identification_request"] [fname="specie"]`).addClass('d-none'); $(`.page-content[entity="identification_request"] [fname="specie"]`).parent().find('.card-remove').remove(); $(`.page-content[entity="identification_request"] [fname="identifier"]`).parent().addClass('d-none'); $(`.page-content[entity="identification_request"] [fname="notes"]`).attr('disabled','disabled'); $(`.page-content[entity="identification_request"] [fname="status"]`).attr('disabled','disabled'); $(`.page-content[entity="identification_request"] [fname="attempts"]`).parent().addClass('d-none'); } } context.add_form_events({ entity: entity, is_new: false }); if(false && role!='root' && role!='admin'){ if( permission.indexOf(entity.toLowerCase()+'_w')==-1 ){ $(`.page-content[section="edit"][entity="${entity}"] input`).attr('disabled','disabled'); $(`.page-content[section="edit"][entity="${entity}"] textarea`).attr('disabled','disabled'); $(`.page-content[section="edit"][entity="${entity}"] select`).attr('disabled','disabled'); $(`.page-content[section="edit"][entity="${entity}"] .single-image-image-remove`).remove(); $(`.page-content[section="edit"][entity="${entity}"] .galery-image-wp.add-new`).removeAttr('onclick'); $(`.page-content[section="edit"][entity="${entity}"] .galery-image-wp.add-new.add-new i`).remove(); $(`.page-content[section="edit"][entity="${entity}"] .galery-image-wp.add-new.add-new .galery-image`).css('background-color','rgba(0,0,0,0.1)'); $(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldSchedule"] .fa-times`).remove(); $(`.page-content[section="edit"][entity="${entity}"] .files-file-wp.add-new`).removeAttr('onclick'); $(`.page-content[section="edit"][entity="${entity}"] .files-file-wp.add-new.add-new i`).remove(); $(`.page-content[section="edit"][entity="${entity}"] .files-file-wp.add-new.add-new .files-file`).css('background-color','rgba(0,0,0,0.1)'); $(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldFiles"] .fa-times`).remove(); $(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldImage"] .add-new`).removeAttr('onclick'); $(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldImage"] .single-image-image`).css('background-color','rgba(0,0,0,0.1)'); $(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldImage"] .fa-upload`).remove(); $(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldPermission"]`).removeClass('can-edit'); if(entity=='blog'){ window.setTimeout(function(){ var editor_uid=$(`.page-content[section="edit"][entity="${entity}"] [ftype="FieldTextAreaHtml"]`).attr('uid'); html_editors[editor_uid].isReadOnly=true; },1000); } } } } }); } add_form_events(args){ var context=this; if(args.entity.toLowerCase()=='warning'){ $(`.page-content[entity="warning"] [ftype="FieldRelationOne"][fname="reason"]`).change(function() { console.warn( $(this).val() ); if( $(this).val() =='wr1' || $(this).val() =='wr2' ){ $(`.page-content[entity="warning"] [fname="specie"]`).parent().removeClass('d-none'); $(`.page-content[entity="warning"] [fname="specie"]`).attr('fvalidate','true'); $(`.page-content[entity="warning"] [fname="price"]`).parent().removeClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).attr('fvalidate','true'); $(`.page-content[entity="warning"] [fname="quality"]`).parent().removeClass('d-none'); }else{ $(`.page-content[entity="warning"] [fname="specie"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="specie"]`).removeAttr('fvalidate'); $(`.page-content[entity="warning"] [fname="price"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).removeAttr('fvalidate'); $(`.page-content[entity="warning"] [fname="quality"]`).parent().addClass('d-none'); $(`.page-content[entity="warning"] [fname="price"]`).val(''); $(`.page-content[entity="warning"] .specie-selector-content`).html(''); $(`.page-content[entity="warning"] [fname="quality"]`).val(''); } }); } if(args.entity.toLowerCase()=='inventory'){ $(`.page-content[entity="inventory"] [ftype="FieldBoolean"][fname="with_recolection"]`).change(function() { console.warn( $(this).val() ); $(`.page-content[entity="inventory"] .plot-selector-content`).html(''); var with_recolection=$(this).val(); var plot_data=cached_data['plot'].map( (item)=>{ return { id:item.id, name:`${item.name}`, iname: item.name, fenced: item.fenced, wkt: item.wkt, with_recolection: item.with_recolection } } ); plot_data=plot_data.filter(function(item){ return item.with_recolection==with_recolection; }); $(`.page-content[entity="inventory"] [ftype="FieldPlotSelector"][fname="plot"]`).typeahead('destroy'); $(`.page-content[entity="inventory"] [ftype="FieldPlotSelector"][fname="plot"]`).typeahead({ source:plot_data, minLength: 0, items: 'all', afterSelect: function (data) { var item = jQuery.extend(true, {}, data); //if(context.data.value && context.data.value!=''){ map_controls[$('.page-content[entity="inventory"] .field-geometry-map').attr("id").replace('-map','')].drawnItems.clearLayers(); $('.page-content[entity="inventory"] [ftype="FieldGeometryMap"]').val(item.wkt); var lat=item.wkt.replace(`POINT(`,'').replace(`)`,'').split(' ')[0]; var lng=item.wkt.replace(`POINT(`,'').replace(`)`,'').split(' ')[1]; L.marker([lat, lng]).addTo(map_controls[$('.page-content[entity="inventory"] .field-geometry-map').attr("id").replace('-map','')].drawnItems); map_controls[$('.page-content[entity="inventory"] .field-geometry-map').attr("id").replace('-map','')].map.setView([ lat, lng], 13); //} $(`.page-content[entity="inventory"] [ftype="FieldPlotSelector"][fname="plot"]`).val('');//clean console.log(item.id); //if( $(`[uid='${context.data.uid}-content'] .list-item[bd_id="${item.id}"]`).length>0 ){ if( $(`.page-content[entity="inventory"] .plot-selector-content .list-item[bd_id="${item.id}"]`).length>0 ){ return; } item.crop=$('body').attr('key').split('.')[3]; item.name=item.iname; if(item['images'] && item['images']!=''){ item['main_image']= (item['images'].indexOf(';')!=-1) ? item['images'].split(';')[0] : item['images'] ; } new Template().render({tpl: '#field-plot-selector-item-TPL', data: item, selector: '.page-content[entity="inventory"] .plot-selector-content', append:false}); //$("[uid='"+context.data.uid+"']").attr("internal-value",data.id); } }); if(with_recolection=="true"){ $(`.page-content[entity="inventory"] .field-observation-sumatory-item [fname="weight"]`).parent().removeClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item[request_state="true"] [fname="mature_specimens"]`).parent().removeClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item[request_state="true"] [fname="young_specimens"]`).parent().removeClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item[request_state="true"] [fname="healthy_specimens"]`).parent().removeClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item[request_state="true"] [fname="sick_specimens"]`).parent().removeClass('d-none'); }else{ $(`.page-content[entity="inventory"] .field-observation-sumatory-item [fname="weight"]`).parent().addClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item [fname="mature_specimens"]`).parent().addClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item [fname="young_specimens"]`).parent().addClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item [fname="healthy_specimens"]`).parent().addClass('d-none'); $(`.page-content[entity="inventory"] .field-observation-sumatory-item [fname="sick_specimens"]`).parent().addClass('d-none'); } }); } if(args.entity.toLowerCase()=='track'){ $(`.page-content[entity="track"] [ftype="FieldBoolean"][fname="with_recolection"]`).change(function() { console.warn( $(this).val() ); var with_recolection=$(this).val(); if(with_recolection=="true"){ $(`.page-content[entity="track"] .field-observation-sumatory-item [fname="weight"]`).parent().removeClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item[request_state="true"] [fname="mature_specimens"]`).parent().removeClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item[request_state="true"] [fname="young_specimens"]`).parent().removeClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item[request_state="true"] [fname="healthy_specimens"]`).parent().removeClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item[request_state="true"] [fname="sick_specimens"]`).parent().removeClass('d-none'); }else{ $(`.page-content[entity="track"] .field-observation-sumatory-item [fname="weight"]`).parent().addClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item [fname="mature_specimens"]`).parent().addClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item [fname="young_specimens"]`).parent().addClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item [fname="healthy_specimens"]`).parent().addClass('d-none'); $(`.page-content[entity="track"] .field-observation-sumatory-item [fname="sick_specimens"]`).parent().addClass('d-none'); } }); } } store_element(element){ var context=this; var entity=$(element).attr("entity"); var key=$(element).attr("key"); var is_new=$(element).attr("is_new"); var store=$(element).attr("store"); var id=$(element).attr("id"); var field_from_uid=$(element).attr("field_from_uid"); var list_from_uid=$(element).attr("list_from_uid"); var target = $(element).attr("target"); if (entity == "observation"){ // Si viene de un itinerario no se guardan los cambios. /*if (!$(`.page-content-wp[entity="track"]`).hasClass("d-none")){ new Modal().hide(); return }*/ var hide_validation_modal = true; }else{ var hide_validation_modal = false; } //var storage=$('body').attr('storage'); new FormBuilder().storeForm({entity:entity, key:key, is_new:is_new, store:store, id:id, target: target , hide_validation_modal: hide_validation_modal , //storage:storage, callback: function(args){ if(args.error){ //alert(args.error); new Modal().show({ content: new Template().render({tpl: '#error-TPL', data: {message:args.message}}) }); return; } if( store=='postgres' ){ args.output[0].key=args.key; args.output[0].store='postgres'; args.output[0].entity=args.entity.toLowerCase(); args.output[0].table=args.entity.toLowerCase(); //if(entity!="settings" && entity!="history"){ if( cached_data[args.entity.toLowerCase()] ){ if(!is_new){ for(var i=0; i x.id === parseInt(data_obs.specie))] var target_observations = '.field-observation-items' new Template().render({tpl: '#field-observation-item-TPL', data: data_obs, selector: target_observations, append:true}); //$(`.page-content-wp[entity="inventory"] .input-group-append.save-action`).click() // Recargamos los campos de observaciones y resumen de Observaciones var url= servers['DATA']+'/GET/INVENTORY/'+args.key+'/'+args.data.entity_id+'/' Request.run({method:'POST', url:url, success: function(xhr){ //var data=JSON.parse(xhr.responseText).output; var data=xhr.output; $(`.field-observation-sumatory-items `).empty() var ff = new FieldObservationSumatory({entity:"inventory", uid:$(`.field-observation-sumatory-items `).attr("uid") , value:data[0].observation_resume}) ff.postDraw(); //context.paintForm(args, data); }, error:function(xhr){ //console.error(xhr.statusText); if(args.callback){args.callback({error: xhr.statusText})} }}); } new Modal().show({ content: new Template().render({tpl: '#saved-TPL', data: {}}) }); } }); } delete_check(args){ new Modal().show({ content: new Template().render({tpl: '#delete-check-TPL', data: args}) }); } delete(args){ var context=this; var key=$('body').attr('key'); new Modal().hide({ callback:function(){ if(args.store=='postgres'){ Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+args.key+'/ALL/?opp_name=SafeDelete', data:{entity:args.entity, key:args.key, id:args.id} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ if(args.entity.toUpperCase()=='IDENTIFICATION_REQUEST'){ new Modal().show({ content: new Template().render({tpl: '#delete-error-identification-request-TPL', data: {}}) }); return; } new Modal().show({ content: new Template().render({tpl: '#delete-error-TPL', data: {}}) }); }else { $(`.page-content-wp[entity="${args.entity}"] .list-item[entity="${args.entity}"][id="${args.id}"]`).remove(); new Modal().show({ content: new Template().render({tpl: '#deleted-TPL', data: {}}) }); context.get_rank({ callback: function(){ if(['MUSHROOM_ZONE','WARNING','TRACK','INVENTORY'].indexOf(args.entity.toUpperCase())!=-1){ context.restore_credit(); } } }); } } },error: function(xhr){ console.error(xhr); } }); }else{ if(args.entity.toLowerCase()=='crop'){ Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+args.key+'/ALL/?opp_name=DeleteCrop', data:{entity:args.entity, key:args.key} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#delete-error-TPL', data: {}}) }); }else { new Modal().show({ content: new Template().render({tpl: '#deleted-TPL', data: {}}) }); $(`.page-content-wp[entity="${args.entity}"] .list-item[entity="${args.entity}"][key="${args.key}"]`).remove(); } } },error: function(xhr){ console.error(xhr); } }); return; } if(args.entity.toLowerCase()=='user'){ Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/COMPANY.0000.CROP.JA0V/ALL/?opp_name=SafeDelete', data:{entity:args.entity, key:args.key, id:args.id} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#delete-error-TPL', data: {}}) }); }else { new FormBuilder().delete({entity:args.entity, key:args.key, callback: function(data){ if(data.error){ alert(data.error); return; } $(`.page-content-wp[entity="${args.entity}"] .list-item[entity="${args.entity}"][key="${args.key}"]`).remove(); var new_data={}; new_data[args.entity.toLowerCase()]=[]; for(var i=0; i'; var html=''; new Modal().show({ content: new Template().render({tpl: '#image-view-TPL', data: {content:html}}) }); } download_file(sUrl){//'./uploads/{{value}}' -> './files/{{storage}}/{{value}}' //sUrl='./uploads/'+sUrl; var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; var isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1; //iOS devices do not support downloading. We have to inform user about this. if (/(iP)/g.test(navigator.userAgent)) { //alert('Your device does not support files downloading. Please try again in desktop browser.'); window.open(sUrl, '_blank'); return false; } //If in Chrome or Safari - download via virtual link click if (isChrome || isSafari) { //Creating new link node. var link = document.createElement('a'); link.href = sUrl; link.setAttribute('target','_blank'); if (link.download !== undefined) { //Set HTML5 download attribute. This will prevent file from opening if supported. var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length); link.download = fileName; } //Dispatching click event. if (document.createEvent) { var e = document.createEvent('MouseEvents'); e.initEvent('click', true, true); link.dispatchEvent(e); return true; } } // Force file download (whether supported by server). if (sUrl.indexOf('?') === -1) { sUrl += '?download'; } window.open(sUrl, '_blank'); return true; } remove_file(element){ var file_name=$(element).parent().prevAll('.file-name').val(); $(element).parent().parent().prevAll('.custom-file').removeClass('d-none'); $(element).parent().parent().prevAll('.custom-file').find('input[type="file"]').attr('ftype','FieldFile'); $(element).parent().parent().parent().append(''); $(element).parent().parent().remove(); } back(element){ var entity=$(element).closest('.page-content-wp').attr('entity');//$('.page-content').attr("entity"); var mode=$(element).closest('.page-content-wp').attr('mode');//$('body').attr('mode'); switch (entity) { case "crop": this.load_clinics({force:true}); break; case "user": (mode=='list') ? this.load_clinics({force:true}) : this.load_users({force:true}); break; case "mushroom_zone": var last_query = sessionStorage.getItem('mushroom_zone-last-query'); if (last_query !=''){ this.load_mushroom_zones({query: last_query, force:true}); }else{ this.load_mushroom_zones({force:true}); } break; case "specie": var last_query = sessionStorage.getItem('specie-last-query'); if (last_query !=''){ this.load_species({query: last_query, force:true}); }else{ this.load_species({force:true}); } break; case "plot": var last_query = sessionStorage.getItem('plot-last-query'); if (last_query !=''){ this.load_plots({query: last_query, force:true}); }else{ this.load_plots({force:true}); } break; case "identification_request": var last_query = sessionStorage.getItem('identification_request-last-query'); if (last_query !=''){ this.load_identification_requests({query: last_query, force:true}); }else{ this.load_identification_requests({force:true}); } break; case "warning": var last_query = sessionStorage.getItem('warning-last-query'); if (last_query !=''){ this.load_warnings({query: last_query, force:true}); }else{ this.load_warnings({force:true}); } break; case "track": var last_query = sessionStorage.getItem('track-last-query'); if (last_query !=''){ this.load_tracks({query: last_query, force:true}); }else{ this.load_tracks({force:true}); } break; case "inventory": var last_query = sessionStorage.getItem('inventory-last-query'); if (last_query !=''){ this.load_inventories({query: last_query, force:true}); }else{ this.load_inventories({force:true}); } break; case "experiment": var last_query = sessionStorage.getItem('experiment-last-query'); if (last_query !=''){ this.load_experiments({query: last_query, force:true}); }else{ this.load_experiments({force:true}); } break; case "historyXXXX": //(mode=='list') ? this.load_clients({force:true}) : this.load_history({entity_id:$('body').attr('entity_id'), force:true}); if(mode=='list'){ this.load_clients(); }else{ this.load_history({entity_id:$(`.page-content-wp[entity="${entity}"]`).attr('entity_id'), force:true}); //this.load_history({}); } break; default: } } check_pending_identifications(){ var context=this; var key=$('body').attr('key'); var ids_already_taken=context.get_id_requests_in_local_storage(); Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=Identifications', data:{action: 'check_pending',ids_already_taken:ids_already_taken} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#error-TPL', data: xhr.output.error}) }); }else { var data=xhr.output; if(data.length==0){ new Modal().show({ content: new Template().render({tpl: '#no-pending-identifications-TPL', data: {}}) }); }else{ new Modal().show({ content: new Template().render({tpl: '#pending-identification-TPL', data: {}}) }); } } } },error: function(xhr){ console.error(xhr); } }); } take_identification_request(){ var context=this; new Modal().hide({ callback: function(){ var key=$('body').attr('key'); var ids_already_taken=context.get_id_requests_in_local_storage(); Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=Identifications', data:{action: 'take_request', ids_already_taken:ids_already_taken} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#error-TPL', data: xhr.output.error}) }); }else { var data=xhr.output; if(data.length==0){ new Modal().show({ content: new Template().render({tpl: '#no-pending-identifications-TPL', data: {}}) }); }else{ var key=$('body').attr('key'); context.add_id_request_to_local_storage(data[0]._id); new Modal().show({ content: new Template().render({tpl: '#requested-identification-TPL', data: {}}), callback: function(){ var target=`.modal .identification-request-to-resolve`; new FormBuilder().generateForm({entity:'identification_request', key:key, is_new:false, id:data[0]._id, schema: fields["FORM.IDENTIFICATION_REQUEST"], target:target, mode:'edit', callback: function(res_args){ if(res_args.error){ alert(res_args.error); } $('.modal').attr('entity_id',data[0]._id); $('.modal .form-group, .modal .form-control').removeClass('col-sm-6 col-md-6 col-lg-4 col-xl-3'); $('.modal .galery-image-wp').removeClass('col-sm-6 col-md-6 col-lg-4 col-xl-4 mb-2').addClass('col-12'); $('.modal .galery-image-wp galery-image').css('height','12rem'); $('.modal .galery-image-wp.add-new').remove(); $('.modal .galery-image-wp .galery-image-item-icons').remove(); $('.modal .field-geometry-map-controls').remove(); $('.modal [fname="attempts"]').parent().addClass('d-none'); $('.modal [fname="owner"]').parent().addClass('d-none'); $('.modal [fname="identifier"]').parent().addClass('d-none'); $('.modal [fname="abundance"]').attr('disabled','disabled'); $('.modal [fname="date"]').attr('disabled','disabled'); $(`.modal option[value="isN"]`).remove(); var item={}; for(var i=0; i `; $('body').append(html); $('.full-image-preview-wp').on('click',function(e){ e.preventDefault(); //code here return false; }); if(drift){ drift.disable(); } drift=new Drift(document.querySelector('.full-image-preview-wp-img'), { //paneContainer: document.querySelector('.detail'), inlinePane: true, inlineOffsetY: -85, containInline: true, hoverBoundingBox: true }); }); } }); } }); } } } },error: function(xhr){ console.error(xhr); } }); } }) } resolve_identification_request(){ console.warn('here'); var obj={ specie: $(`.modal .specie-selector-content .list-item`).attr('bd_id'), notes: $('.modal [fname="notes"]').val(), status: $('.modal [fname="status"]').val(), owner: $(`.modal [fname="owner"]`).parent().find(`.user-selector-content .list-item`).attr('bd_id'), identifier: $(`.modal [fname="identifier"]`).parent().find(`.user-selector-content .list-item`).attr('bd_id'), action: 'resolve', id: $('.modal').attr('entity_id') } $('.modal .is-invalid').removeClass('is-invalid'); if(obj.status=='is0'){//must select if resolve $('.modal [fname="status"]').addClass('is-invalid'); } if(obj.status=='is0' || obj.status=='is1' || obj.status=='is2'){ if( $(`.modal .specie-selector-content .list-item`).length==0){ $('.modal [fname="specie"]').addClass('is-invalid'); } }else{ if( $(`.modal .specie-selector-content .list-item`).length==0){ obj.specie=''; } } console.warn(obj); if( $('.modal .is-invalid').length!=0 ){ return; } new Modal().hide({ callback: function(){ var key=$('body').attr('key'); Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=Identifications', data:obj ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#error-TPL', data: xhr.output.error}) }); }else { var data=xhr.output; new Modal().show({ content: new Template().render({tpl: '#saved-TPL', data: {}}) }); } } },error: function(xhr){ console.error(xhr); } }); } }); } cant_resolve_identification_request(){ var obj={ action: 'cant_resolve', owner: $(`.modal [fname="owner"]`).parent().find(`.user-selector-content .list-item`).attr('bd_id'), id: $('.modal').attr('entity_id') } new Modal().hide({ callback: function(){ var key=$('body').attr('key'); Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=Identifications', data:obj ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } },error: function(xhr){ console.error(xhr); } }); } }); } add_id_request_to_local_storage(new_id){ if(!localStorage.getItem('identification_request_taken')){ localStorage.setItem('identification_request_taken',''); } var value=localStorage.getItem('identification_request_taken'); if(value==""){ localStorage.setItem('identification_request_taken', new_id); }else{ localStorage.setItem('identification_request_taken', value+','+new_id); } } get_id_requests_in_local_storage(new_id){ if(!localStorage.getItem('identification_request_taken')){ localStorage.setItem('identification_request_taken',''); } return localStorage.getItem('identification_request_taken'); } show_help(args){ new Modal().show({ content: new Template().render({tpl: `#help-${args.section}-TPL`, data: {}}) }); } update_web_token(token){ var key=$('body').attr("key"); var url= servers['NOTIFICATION']+"/POST/XXXX/"+key+"/?cmd=updateWebToken&token="+token+"&user="+new Login().getLogedUserId(); var context=this; Request.run({method:'POST', url:url, data: {}, isForm:true, success: function(xhr){ //var data=JSON.parse(xhr.responseText); var data=xhr; console.warn(xhr); }, error:function(xhr){ //console.error(xhr.statusText); }}); } recieve_notification(data){ console.warn('recieve_notification'); console.warn(data); new Toast().show({ title: data.title, body: data.body, time: new DateUtils().now({formatter: "dd/mm/yyyy h:m:s"}) }); if(data.source=='identification_not_resolved'){//update credit interface $(`.user_credits`).text( parseInt($(`.user_credits`).text())+3 ); } } show_specie_data_import(args){ var obj={ uid: new KeyGen().generateUUID(), hname:'Fichero de importación', name:'import-specie-file', validate:true, value:"", type: 'FieldFileImport', key: args.key } var file_html=new FieldFileImport(obj).draw({}); new Modal().show({ content: new Template().render({tpl: '#specie-data-import-TPL', data: {file_html:file_html, key:args.key, field_file_uid:obj.uid}}) }); $("[uid='"+obj.uid+"']").find('.files-file-wp.add-new').click(); } import_specie_data(args){ var obj={ uid: args.field_file_uid, name:'import-specie-file', key: args.key, extra: {valid_types: ['application/vnd.ms-excel','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']} } new FieldFileImport(obj).validate(); if( $('.is-invalid' ).length>0 ){ return; } var files=new FieldFileImport(obj).getValue(); console.warn(files); var formData = new FormData(); formData.append(obj.name+'[f_0]', files[0].file); formData.append(obj.name+'[n_0]', files[0].name); new Modal().hide({ callback:function(){ Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+args.key+'/ALL/?opp_name=ImportExcel', data:formData, isForm:true ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#import-error-TPL', data: xhr.output}) }); }else { new Modal().show({ content: new Template().render({tpl: '#import-ok-TPL', data: xhr.output}) }); } } },error: function(xhr){ console.error(xhr); } }); } }); } show_data_import(args){ var obj={ uid: new KeyGen().generateUUID(), hname:'Fichero de importación', name:'import-file', validate:true, value:"", type: 'FieldFileImport', key: args.key } var file_html=new FieldFileImport(obj).draw({}); new Modal().show({ content: new Template().render({tpl: '#data-import-TPL', data: {file_html:file_html, key:args.key, entity:args.entity, field_file_uid:obj.uid}}) }); $("[uid='"+obj.uid+"']").find('.files-file-wp.add-new').click(); } show_mushroom_zone_data_import(args){ var obj={ uid: new KeyGen().generateUUID(), hname:'Fichero de importación', name:'import-mushroom_zone-file', validate:true, value:"", type: 'FieldFileImport', key: args.key } var file_html=new FieldFileImport(obj).draw({}); new Modal().show({ content: new Template().render({tpl: '#data-import-TPL', data: {file_html:file_html, key:args.key, entity:'mushroom_zone', field_file_uid:obj.uid}}) }); $("[uid='"+obj.uid+"']").find('.files-file-wp.add-new').click(); } show_inventory_data_import(args){ var obj={ uid: new KeyGen().generateUUID(), hname:'Fichero de importación', name:'import-inventory-file', validate:true, value:"", type: 'FieldFileImport', key: args.key } var file_html=new FieldFileImport(obj).draw({}); new Modal().show({ content: new Template().render({tpl: '#data-import-TPL', data: {file_html:file_html, key:args.key, entity:'inventory', field_file_uid:obj.uid}}) }); $("[uid='"+obj.uid+"']").find('.files-file-wp.add-new').click(); } import_data(args){ var obj={ uid: args.field_file_uid, name:'import-specie-file', key: args.key, extra: {valid_types: ['application/vnd.ms-excel','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']} } new FieldFileImport(obj).validate(); if( $('.is-invalid' ).length>0 ){ return; } var files=new FieldFileImport(obj).getValue(); console.warn(files); var formData = new FormData(); formData.append(obj.name+'[f_0]', files[0].file); formData.append(obj.name+'[n_0]', files[0].name); formData.append('entity', args.entity); new Modal().hide({ callback:function(){ Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+args.key+'/ALL/?opp_name=ImportExcel', data:formData, isForm:true ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#import-error-TPL', data: {error:xhr.output.message}}) }); }else { new Modal().show({ content: new Template().render({tpl: '#import-ok-TPL', data: xhr.output}) }); } } },error: function(xhr){ console.error(xhr); } }); } }); } __show_access_card_options(args){ new Modal().show({ content: new Template().render({tpl: '#qr-mode-TPL', data: args}) }); } __send_access_card_email(args){ new Modal().hide({ callback:function(){ console.warn(args); Request.run({method:'POST', url:servers['SESSION']+'/send_access_card_email', data:args, success: function(data){ if(data.success){ new Modal().show({ content: new Template().render({tpl: '#qr-email-sent-TPL', data: {}}) }); }else{ new Modal().show({ content: new Template().render({tpl: '#qr-send-error-TPL', data: {errors:data.message}}) }); } }, error:function(xhr){ console.error(xhr.statusText); console.error("send access card email KO"); } }); } }); } __print_access_card(args){ new Modal().hide({ callback:function(){ //console.warn(args); var url=servers['DATA']+'/GET/OPERATION/'+args.key+'/ALL/?opp_name=PrintClientAccessCard&through_to_output=true'; var form=`
    `; $('.tmp_form').remove(); $('body').append(form); $('.tmp_form button').click(); } }); } __suscribe_clinic_to_topic(token){ var key=$('body').attr("key"); var url= servers['NOTIFICATION']+"/POST/XXXX/"+key+"/?cmd=suscribeClinicToTopic&token="+token; var context=this; //Request.run({method:'POST', url:url, data:data, success: function(xhr){ //var formData = new FormData(); //formData.append('token', token); Request.run({method:'POST', url:url, data: {}, isForm:true, success: function(xhr){ //var data=JSON.parse(xhr.responseText); var data=xhr; }, error:function(xhr){ //console.error(xhr.statusText); if(args.callback){args.callback({error: xhr.statusText})} }}); } __take_chat_control(){ new Modal().hide(); firebase_instance=new FireBase(); firebase_instance.init(); new Chat().init(); } send_ios_notification(callback){ Request.run({method:'POST', url:servers['NOTIFICATION']+"/?cmd=sendIosPush", success: function(xhr){ console.warn(xhr); }, error:function(xhr){ console.error(xhr.statusText); }}); } show_export_type(args){ if (args.entity == "user" || args.entity == "specie"){ }else{ args.hide_geojson = true; } new Modal().show({ content: new Template().render({tpl: `#show-export-TPL`, data: args}) }); } export_entity(args){ var export_type =$(`#export_type`).val(); new Modal().hide(); var human_entity_name = ""; switch (args.entity) { case 'mushroom_zone': human_entity_name = "Setales" break; case 'identification_request': human_entity_name = "Identificaciones" break; case 'track': human_entity_name = "Itinerarios" break; case 'inventory': human_entity_name = "Inventarios" break; case 'warning': human_entity_name = "Avisos" break; case 'user': human_entity_name = "Usuarios" break; case 'specie': human_entity_name = "Especies" break; case 'plot': human_entity_name = "Parcelas" break; case 'experiment': human_entity_name = "Experimentos" break; } if (export_type == 'geojson'){ var context=this; args = args || {}; var key=$('body').attr('key'); var elements=args.id ? args.id : 'ALL'; var filter = last_query[args.entity] if (filter == null){ filter = '1=1' } var url=servers['DATA']+'/GET/'+args.entity.toUpperCase()+'/'+key+'/'+elements+'/'+filter; // var url=servers['DATA']+'/GET/OBSERVATION/'+key+'/'+elements+'/'+filter; /* if (args.entity == 'user'){ var url=servers['CATALOG']+'/GET/'+key+'/USER' }*/ //MUSHROOM_ZONE /COMPANY.0000.CROP.JA0V/ALL/ var form=`
    `; $('.tmp_form').remove(); $('body').append(form); $('.tmp_form button').click(); $('.tmp_form').remove(); if ( ['track','inventory'].indexOf(args.entity)!=-1){ //Exportacion de observaciones setTimeout(function(){ var url=servers['DATA']+'/GET/OBSERVATION/'+key+'/'+elements+'/_data->>\'entity\' = \''+args.entity+'\' AND (_data->>\'entity_id\')::integer in (select _id from company_0000_crop_ja0v.'+args.entity+' where 1=1 AND '+filter+')'; var form=`
    `; $('.tmp_form2').remove(); $('body').append(form); $('.tmp_form2 button').click(); $('.tmp_form2').remove(); }, 1000); if ( ['track'].indexOf(args.entity)!=-1){ //Exportacion de observaciones setTimeout(function(){ var url=servers['DATA']+'/GET/TRACK_POINT/'+key+'/'+elements+'/_data->>\'entity\' = \'track_point\' AND (_data->>\'track_id\')::integer in (select _id from company_0000_crop_ja0v.'+args.entity+' where 1=1 AND '+filter+')'; var form=`
    `; $('.tmp_form2').remove(); $('body').append(form); $('.tmp_form2 button').click(); $('.tmp_form2').remove(); }, 1500); } } }else{ //excell var key=$('body').attr('key'); if (last_query[args.entity] == null){ args.last_query = '1=1' }else{ args.last_query = last_query[args.entity] } var url = servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=ExportExcel' var form=`
    `; $('.tmp_form2').remove(); $('body').append(form); $('.tmp_form2 button').click(); $('.tmp_form2').remove(); } } check_sync(){ var context=this; var key=$('body').attr('key'); var ids_already_taken=context.get_id_requests_in_local_storage(); Request.run({method:'POST', url:servers['DATA']+'/GET/OPERATION/'+key+'/ALL/?opp_name=SyncData', data:{action: 'need_to_sync',time:new Date().getTime()} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ /* if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#error-TPL', data: xhr.output.error}) }); }else { var data=xhr.output; if(data.length==0){ new Modal().show({ content: new Template().render({tpl: '#no-pending-identifications-TPL', data: {}}) }); }else{ new Modal().show({ content: new Template().render({tpl: '#pending-identification-TPL', data: {}}) }); } }*/ } },error: function(xhr){ console.error(xhr); } }); } check_cron(){ var context=this; var key=$('body').attr('key'); var ids_already_taken=context.get_id_requests_in_local_storage(); Request.run({method:'POST', url:servers['CRON']+'/'+key, data:{action: 'execute_cron_task',task:'TaskGenerateThumbnails'} ,success: function(xhr){ if(xhr.error){ alert(xhr.error); return; } console.warn(xhr); if(xhr.output){ /* if(xhr.output.error){ new Modal().show({ content: new Template().render({tpl: '#error-TPL', data: xhr.output.error}) }); }else { var data=xhr.output; if(data.length==0){ new Modal().show({ content: new Template().render({tpl: '#no-pending-identifications-TPL', data: {}}) }); }else{ new Modal().show({ content: new Template().render({tpl: '#pending-identification-TPL', data: {}}) }); } }*/ } },error: function(xhr){ console.error(xhr); } }); } }