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(`${cached_data['DOMAIN.IDENTIFICATION_STATUS'][k]} `);
}
}
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(`${cached_data['DOMAIN.ABUNDANCE'][k]} `);
}
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ón Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break;
case "mushroom_zone":
new Template().render({tpl: '#table-TPL', data: {columns:'Nombre Abundancia Especie Fecha Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break;
case "identification_request":
new Template().render({tpl: '#table-TPL', data: {columns:'Usuario Fecha Abundancia Especie Estado Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break
case "track":
new Template().render({tpl: '#table-TPL', data: {columns:'Nombre Usuario Fecha Con recolección Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break
case "inventory":
new Template().render({tpl: '#table-TPL', data: {columns:'Usuario Parcela Fecha Con recolección Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break
case "warning":
new Template().render({tpl: '#table-TPL', data: {columns:'Motivo Fecha Usuario Notas Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break
case "specie":
new Template().render({tpl: '#table-TPL', data: {columns:'Nombre científico Nombre común Comestible Puntuación Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break
case "user":
new Template().render({tpl: '#table-TPL', data: {columns:'Email Alias Nombre Apellidos Rol Acciones ', entity:args.entity}, selector: `.table-data[entity="${args.entity}"]`});
break
case "experiment":
new Template().render({tpl: '#table-TPL', data: {columns:'Nombre Superficie Fecha inicio Fecha fin Acciones ', 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
Cerrar
`;
$('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);
}
});
}
}