MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/imenso.co/dev/impactify-it/js/gantt.js
$(document).ready(function() {

 setTimeout(function(){ gantimg(); },1000);
 function gantimg()
 {
    html2canvas(document.getElementById('gantt-table')).then(function(canvas) {
    var imgdata = canvas.toDataURL('image/png');
    $.ajax({
        url: url+"/user/project/ganttCanvasUpload",
        data: {
           _token:csrf_token,
            imgdata:imgdata,
            filed:'gantt_image',
            project_id:project_id
        },
        type: 'post',
        success: function (response) 
        {  
          console.log(response);
        }
      });
    });
  }

     gant_load();
     $(document).on('click','.add_workstream',function(){
     	id=0;
     		 //$('.loading').show();
     	$.ajax({
		  type: "post",
		  url: url+"/user/task/add",
		  data: {_token:csrf_token,week_width_in_per:week_width_in_per,id:id,project_id:project_id,start:calender.date[1]},
		  success: function(responce){
		  	$('#gantt_left').append(responce.left_gantt);
			$('#gantt_right').append(responce.right_gantt);
			 //$('.loading').hide();
        calender_column_css();
		  	gant_load();
		  },
		  dataType: 'json'
		});
      
     });

      $(document).on('click','.gantt-add',function(){
       	 //$('.loading').show();
     	id=$(this).closest('tr').attr('data-id');
     	tr_id=$(this).closest('tr').attr('id');
     	$.ajax({
		  type: "post",
		  url: url+"/user/task/add",
		  data: {_token:csrf_token,week_width_in_per:week_width_in_per,id:id,project_id:project_id,start:calender.date[1]},
		  success: function(responce){

        var totalrow=$('.gantt-heading').find('.row_'+tr_id).length;
        totalrow-=1;
        if(totalrow<0)
        {
              $('.gantt-heading').find('#'+tr_id).after(responce.left_gantt);
              $('.gantt-detail').find('#'+tr_id).after(responce.right_gantt);
  
        }
        else
        {
		  	$('.gantt-heading').find('.row_'+tr_id).eq(totalrow).after(responce.left_gantt);
		  	$('.gantt-detail').find('.row_'+tr_id).eq(totalrow).after(responce.right_gantt);
		    }
      	parent_move(responce);
        calender_column_css();
		  	gant_load();
		  },
		  dataType: 'json'
		});
      
     });

      $(document).on('click','.gantt-activity-delete',function(){
         //$('.loading').show();
          tr_id=$(this).closest('tr').attr('id');
          $('#delete_task_modal').modal('show');
         $('.delete_taskUpdate').attr('data-id',tr_id);

        });
   $(document).on('click','.delete_taskUpdate',function(){
        tr_id=$(this).attr('data-id');
        id=$('.gantt-detail').find('#'+tr_id).attr('data-id');
        $.ajax({
          type: "post",
          url: url+"/user/task/delete",
          data: {_token:csrf_token,id:id,project_id:project_id,start:calender.date[1]},
          success: function(responce){
            if(responce.parent_id>0)
            {
             $('.gantt-heading').find('#'+tr_id).remove();
             $('.gantt-detail').find('#'+tr_id).remove();
             $('.gantt-heading').find('#'+responce.parent_id).find("#budget").html(responce.budget);
             $('.gantt-heading').find('#'+responce.parent_id).find("#utilized").html(responce.utilized);
    
              parent_move(responce);
            }
            else
            {
                $('.gantt-heading').find('#'+tr_id).remove();
                $('.gantt-detail').find('#'+tr_id).remove();
                $('.gantt-heading').find('.row_'+tr_id).remove();
                $('.gantt-detail').find('.row_'+tr_id).remove();
                //$('.loading').hide();
            }

               $('#delete_task_modal').modal('hide');

            calender_column_css();

          
          },
          dataType: 'json'
        });
      
     });

$(document).on('change','.sub_task_form',function(){
        //$('.loading').show();
        self=$(this);
        id=self.closest('tr').attr('data-id');
        tr_id=self.closest('tr').attr('id');
          var name = self.closest('tr').find("#name").val();
          var budget = self.closest('tr').find("#budget").val();
          var utilized = self.closest('tr').find("#utilized").val();
        $.ajax({
          type: "post",
          url: url+"/user/task/update",
          data: {_token:csrf_token,name:name,budget:budget,utilized:utilized,id:id,project_id:project_id},
          success: function(responce){
            //$('.loading').hide();
            $('.gantt-heading').find('#'+responce.parent_id).find("#budget").html(responce.budget);
           $('.gantt-heading').find('#'+responce.parent_id).find("#utilized").html(responce.utilized);
          },
          dataType: 'json'
        });
     });

$(document).on('click','.task_status',function(){
        //$('.loading').show();
        self=$(this);
        id=self.closest('tr').attr('data-id');
        tr_id=self.closest('tr').attr('id');

        var status = self.attr("data-value");
        if(status=="Complete")
        {
          $('.complete_taskUpdate').attr('data-id',tr_id);
          $('#complete_task_modal').modal('show');
          return false;
        }
        $.ajax({
          type: "post",
          url: url+"/user/task/updateStatus",
          data: {_token:csrf_token,status:status,id:id,project_id:project_id},
          success: function(responce){
            //$('.loading').hide();
            self.closest('tr').find('.task_status').removeClass('active');
            self.addClass('active');
            $('.gantt-detail').find('#'+responce.parent_id).find(".data_strech_parent").removeClass('Not_start').removeClass('On-track').removeClass('Delayed').removeClass('No-progress').removeClass('Complete');
            $('.gantt-detail').find('#'+responce.parent_id).find(".data_strech_parent").addClass(responce.parent_status);  
            $('.gantt-detail').find('#'+responce.id).find(".data_strech").removeClass('Not_start').removeClass('On-track').removeClass('Delayed').removeClass('No-progress').removeClass('Complete');
            $('.gantt-detail').find('#'+responce.id).find(".data_strech").addClass(responce.status);  

        },
          dataType: 'json'
        });
     });

$(document).on('click','.complete_taskUpdate',function(){
  status="Complete";

  tr_id=$(this).attr('data-id');

  $('#gantt_left').find('#'+tr_id).find('.gantt-action').find('#comment_modal').trigger('click');

    id=$('#gantt_left').find('#'+tr_id).attr('data-id');

 $.ajax({
          type: "post",
          url: url+"/user/task/updateStatus",
          data: {_token:csrf_token,status:status,id:id,project_id:project_id},
          success: function(responce){
            $('#complete_task_modal').modal('hide');

            $('.gantt-heading').find('#'+responce.id).find('.dropdown-menu,.status_action').remove();
            $('.gantt-detail').find('#'+responce.parent_id).find(".data_strech_parent").removeClass('Not_start').removeClass('On-track').removeClass('Delayed').removeClass('No-progress').removeClass('Complete');
            $('.gantt-detail').find('#'+responce.parent_id).find(".data_strech_parent").addClass(responce.parent_status);  
            $('.gantt-detail').find('#'+responce.id).find(".data_strech").removeClass('Not_start').removeClass('On-track').removeClass('Delayed').removeClass('No-progress').removeClass('Complete');
            $('.gantt-detail').find('#'+responce.id).find(".data_strech").addClass(responce.status);  

        },
          dataType: 'json'
        });

})


$(document).on('change','.task_form',function(){
        //$('.loading').show();
        self=$(this);
        id=self.closest('tr').attr('data-id');
        tr_id=self.closest('tr').attr('id');
          var name = self.closest('tr').find("#name").val();
        $.ajax({
          type: "post",
          url: url+"/user/task/updateTask",
          data: {_token:csrf_token,name:name,id:id,project_id:project_id},
          success: function(responce){
            //$('.loading').hide();
           },
          dataType: 'json'
        });
     });
      
     	function gant_load(){
        if(calender_view==false && user_task_gantt=="")
        {
            return false;
        }

      $(".data_strech"+user_task_gantt).draggable(
          {
            axis: 'x',
            stop: function(event, ui) {

            	//$('.loading').show();
            	 var w=$(this).width();
                 w=Math.round(w/week_width);
               var l=$(this).css("left").replace(/[^-\d\.]/g, '');

            l=Math.round(l/week_width);
            if(l<0)
            {
               l=0;
            }
            if(l<1)
            {
            	left=0;
            }
            else
            {
            	left=l*week_width_in_per;
            }

            if(w<1)
            {
            	width=week_width_in_per;
            }
            else
            {
                width=w*week_width_in_per;
            }
           
            updateCalendar($(this),left,width,l,w);

            
            }
          }
          ).resizable({
          handles: 'e, w',
          stop: function(e, ui) {
          	 //$('.loading').show();
        var w=$(this).width();
           
            w=Math.round(w/week_width);
            
            if(w<1)
            {
            	width=week_width_in_per;
            }
            else
            {
                width=w*week_width_in_per;
            }

            var l=$(this).css("left").replace(/[^-\d\.]/g, '');
              
            l=Math.round(l/week_width);
           if(l<0)
            {
               l=0;
            }
            if(l<1)
            {
            	left=0;
            }
            else
            {
            	left=l*week_width_in_per;
            }
            updateCalendar($(this),left,width,l,w);
           
    }

}); 
      }


     function updateCalendar(self,left,width,l,w)
     {
   
     	start=l;
     	end=l+w-1;
		start=calender.date[start];
		end=calender.date[end];
//alert(l+" "+w);
		if(start==undefined || end==undefined)
		{
          location.reload(); 
          return false;
		}
     	id=self.closest('tr').attr('data-id');
     	tr_id=self.closest('tr').attr('id');
     	$.ajax({
		  type: "post",
		  url: url+"/user/task/calendarUpdate",
		  data: {_token:csrf_token,l:l,w:w,id:id,project_id:project_id,start:start,end:end},
		  success: function(responce){
		  
             if(l==0)
             {
                 ganttIncreaseDuration(calender.date[0],'left');
             }
             else if(l+w==week_total)
             {
             	ganttIncreaseDuration(calender.date[week_total-1],'right');
             }
             else
             {
			     parent_move(responce);
	             move(self,left,width);
	         }
		  },
		  dataType: 'json'
		});

      
     	
     }

     function move(self,left,width)
     {
       self.css("left",left+"%");
       self.css("width",width+"%");
     }

     function parent_move(responce)
     {
        if(responce.star=="")
        {
          var start_date=1;
          var end_date=1;
        }
        else
        {
             var start_date=calender.week_no[responce.start];
             var  end_date=calender.week_no[responce.end];  
        }
     		

             var total_week=end_date-(start_date-1);
              total_week*= week_width_in_per ;
             left=(start_date* week_width_in_per)-week_width_in_per;


            $('.gantt-detail').find('#'+responce.parent_id).find('.data_strech_parent').css("left",left+"%");
           $('.gantt-detail').find('#'+responce.parent_id).find('.data_strech_parent').css("width",total_week+"%");
         //$('.loading').hide();
     }

     

     function ganttIncreaseDuration(date,increaseduration)
     {

     	$.ajax({
		  type: "post",
		  url: url+"/user/project/ganttIncreaseDuration",
		  data: {_token:csrf_token,filter_status:filter_status,filter_team:filter_team,week_width:week_width,project_id:project_id,date:date,increaseduration:increaseduration},
		  success: function(responce){
            //$('.loading').hide();
            $('.gentt_section').html(responce);
            gant_load();
             $('.dropdown-toggle').dropdown();
	     },
		  dataType: 'html'
		});
     }
    $(document).on('click','.gantt-folder',function(){
        tr_id=$(this).closest('tr').attr('id');
         if($(this).attr('data-status')=="open")
         {
           $(this).attr('data-status','close');
            $('.row_'+tr_id).hide();
            $(this).html('<i class="fa fa-folder"></i>');
         }
         else
         {
            $(this).attr('data-status','open');
            $('.row_'+tr_id).show();
            $(this).html('<i class="fa fa-folder-open"></i>');
         }
        
    });

// scroll start
    $('.data').attr("data-scrolling", "false");

    $('.data').scroll(function(){

      if($("#data_right").scrollLeft()==0)
      {
          $(".topscroll").css('left',-1);  

      }
      else
      {
        $(".topscroll").css('left',-$("#data_right").scrollLeft());
      }
       if($("#data_left").scrollLeft()==0)
      {
          $(".gh-left-fixed").css('left',-1);  

      }
      else
      {
        $(".gh-left-fixed").css('left',-$("#data_left").scrollLeft());
      }
       // console.log(11);

      
        if($(this).attr("data-scrolling") == "false"){
            $('.data').not(this).attr("data-scrolling", "true");
            $('.data').not(this).scrollTop($(this).scrollTop());
        }
        $(this).attr("data-scrolling", "false");
    });
// scroll end

  function calender_column_css()
  {

     var calender_column=$('#gantt_left').find('tr').length;

     var data_right=$('#data_right').height()-20;
     var collum_height=23*calender_column;
     if(data_right<collum_height)
     {
      $('.calender_column').css('height',collum_height);
     }
     else
     {
       $('.calender_column').css('height',data_right);
     }
    
     gcounting();
  }
  calender_column_css();

    function gcounting()
  {
    var gname="A";
    $('.task_parent').each(function(e){
        sub_root=1;

       $(this).find('#alpha').html(gname);
     var tr_id= $(this).attr('id');
      var sub=$('.gantt-heading').find('.row_'+tr_id).length;
    
      for(i=0;i<sub;i++)
      {
          $('.gantt-heading').find('.row_'+tr_id).eq(i).find('#alpha').html(gname+""+sub_root);
          sub_root++;
      }
      gname=String.fromCharCode(gname.charCodeAt() + 1);
    });
  }

  $(document).on('click','.project_approve',function(){
     //$('.loading').show();
     var self=$(this);
    $.ajax({
      type: "post",
      url: url+"/user/project/userAction",
      data: {_token:csrf_token,project_id:project_id},
      success: function(responce){
        //$('.loading').hide();
        self.html('Waiting For Approval');
        self.removeClass('project_approve');
       },
      dataType: 'json'
      }); 
  });

$(document).on('click','.filter',function(){
   //$('.loading').show();
   if($(this).closest('.dropdown-menu').hasClass('zoom-dropdown'))
   {
      week_width=$(this).attr('data-id');
   }
    if($(this).closest('.dropdown-menu').hasClass('status-dropdown'))
   {
      filter_status=$(this).attr('data-id');

   }
   else if($(this).closest('.dropdown-menu').hasClass('team-dropdown'))
   {
     filter_team=$(this).attr('data-id');
   }
   filter();

  });
function filter()
{
    $.ajax({
      type: "post",
      url: url+"/user/project/ganttIncreaseDuration",
      data: {_token:csrf_token,filter_status:filter_status,filter_team:filter_team,week_width:week_width,project_id:project_id,increaseduration:'zoom'},
      success: function(responce){
        //$('.loading').hide();
        $('.gentt_section').html(responce);
        gant_load();
        $('.dropdown-toggle').dropdown();
        calender_column_css();

       },
      dataType: 'html'

 }); 
}

$(document).on('click','.left_toggel',function(){
  left_toggel=$(this).attr('data-status');
  if(left_toggel=="show")
  {
      $('.gantt-heading').css('width','0');
      $('.gantt-detail').css('width','100%');
      $(this).attr('data-status','hide');
      $(this).html('left show');
  }
  else
  {
    $('.gantt-heading').css('width','37%');
     $('.gantt-detail').css('width','63%');
        $(this).attr('data-status','show');
        $(this).html('left hide');
  }
});

$(document).on('click','#team_edit',function(){
  //$('.loading').show();
     self=$(this);
    id=self.closest('tr').attr('data-id');

    tr_id=self.closest('tr').attr('id');
     $('#updateTeam').attr('data-id',tr_id);
     $('#updateTeam').attr('data-eid',id);
    $.ajax({
    type: "post",
    url: url+"/user/task/getTeam",
    data: {_token:csrf_token,id:id,project_id:project_id},

    success: function(responce){
      //$('.loading').hide();
      $('.modal-body').html(responce);
      $('#updateTeam').modal('show');
     },
    dataType: 'html'
 }); 
});


$(document).on('click','.teamUpdate',function(){
  //$('.loading').show();
     self=$(this);
   var id=$('#updateTeam').attr('data-eid');
   var tr_id=$('#updateTeam').attr('data-id');


    var form = $('#team-form');
    form = form.serializeArray();
    form = form.concat([
        {name: "id", value: id},
        {name: "project_id", value: project_id}
    ]);
    $.ajax({
    type: "post",
    url: url+"/user/task/teamUpdate",
    data: form,

    success: function(responce){
      //$('.loading').hide();
   
      $('#updateTeam').modal('hide');
      $('.gantt-heading').find('#'+tr_id).find('#team_sub_task').html(responce.name);
     },
    dataType: 'json'

 }); 
});

$(document).on('mouseover','#gantt_right tr,#gantt_left tr',function(){
  var trid=$(this).attr('id');
  $('#gantt_right').find('#'+trid).addClass('lg-bg');
  $('#gantt_left').find('#'+trid).addClass('lg-bg');
});
$(document).on('mouseout','#gantt_right tr,#gantt_left tr',function(){
 $('tr').removeClass('lg-bg');
});

$(document).on('click','.project_start',function(){

$.ajax({
    type: "post",
    url: url+"/user/project/AllBudget",
    data: {_token:csrf_token,project_id:project_id},
    success: function(responce){
       var TotalPlannedBudget=responce.TotalPlannedBudget;
       var TotalActivityBudget=parseFloat(responce.TotalActivityBudget).toFixed(2);
       var TotalCategorywiseallocation=responce.TotalCategorywiseallocation;
       var TotalPaymentSchedule=responce.TotalPaymentSchedule;
       console.log(TotalPlannedBudget);
       console.log(TotalActivityBudget);
       console.log(TotalCategorywiseallocation);
       console.log(TotalPaymentSchedule);

       if(TotalActivityBudget>0 && TotalActivityBudget==TotalCategorywiseallocation && TotalActivityBudget==TotalPaymentSchedule)
       {


        projectStart();

       }
       else
       {
         $('#TotalPlannedBudget').html(TotalPlannedBudget);
         $('#TotalActivityBudget').html(TotalActivityBudget);
         $('#TotalCategorywiseallocation').html(TotalCategorywiseallocation);
         $('#TotalPaymentSchedule').html(TotalPaymentSchedule);
         $('#startErrorPopup').modal("show");
         
       }
    },
    dataType: 'json'

 }); 
//$('#startErrorPopup').modal();

});


  $(document).on('click','#comment_modal',function(){
    // $('#comment_modal_box').modal('show');
    var task_id =  $(this).attr('data-task_id');
    var project_id = $(this).attr('data-project_id');
    
    $.ajax({
        type:'post',
        data:{_token:csrf_token,task_id:task_id,project_id:project_id},
        url: url+"/user/project/task/comment",
        dataType:"html",
        success:function(data)
        {
            $('#comment_modal_box').find('.modal-body').html(data);
            $('#comment_modal_box').modal('show');
        }
    });
    
  });

  $(document).on('submit','#comment_form',function(e){
  
    e.preventDefault();
    var myFormData = new FormData();
    task_id=$(this).attr('task_id');
    
    myFormData.append('task_id',task_id);
    myFormData.append('_token',csrf_token);
    myFormData.append('project_id',project_id);
    myFormData.append('comment_file', $(this).find('input[type=file]')[0].files[0]); 
    myFormData.append('message', $(this).find('#message').val()); 
    
      $.ajax({
          data:myFormData ,
          type: "POST",
          async: false,
          cache: false,
          contentType: false,
          processData: false,
          url : url + "/user/project/task/comment/add",

          success: function(result){
            $('#comment_form').trigger("reset");
            htm="<tr><td>"+result.message+"</td>";
            htm+="<td><a target='_blank' href='"+result.destinationPath+"' >"+result.filepath+"</a></td>";
            htm+="<td class='text-center width_70'>";

            htm+="<a href='javascript:;' class='comment_delete' data-id="+result.id+">";
            htm+="<i class='fa fa-trash-o' aria-hidden='true'></i>";
            htm+="</a></td></tr>";
            $('#comment_tbody').prepend(htm);  
        },
        error:function(response){
            var errorString="";
            var response = $.parseJSON(response.responseText);
            $.each(response.errors, function (key, val) {
               errorString += '\n' + val;
            });
            arrayOfData={"message":errorString};
            ajax_message(arrayOfData,'danger');
          },
      
         dataType:"json",
       });      
  });


  $(document).on('click','.comment_delete',function(){
   if(!confirm("Are you sure!"))
          {
            return fasle;
          }
    var id= $(this).attr('data-id');
    var self=$(this);
      $.ajax({
        url: url+"/user/project/task/comment/delete",
        type:"post",
        data:{_token:csrf_token,id:id},
        success: function(data){
            self.closest('tr').remove();
        },
        dataType: 'json',
      });


});

  /*$(document).on('click','.comment_delete',function(){
    var id= $(this).attr('data-id');
    var self=$(this);
      $.ajax({
        url: url+"/user/project/task/comment/delete",
        type:"post",
        data:{_token:csrf_token,id:id},
        success: function(data){
            self.closest('tr').remove();
        },
        dataType: 'json',
      });
  });*/


  /*$(document).on('click','.comment_delete',function(){
      var id = $(this).attr('data-id');
      // alert(id);
      $('#delete_comment_modal').modal('show');
      $('.delete_comment').attr('data-id',id);
  });
  $(document).on('click','.delete_comment',function(){
      $('#delete_comment_modal').modal('hide');
      var id = $(this).attr('data-id');
      // var self = $(this);

      $.ajax({
        type:"post",
        url: url+"/user/project/task/comment/delete",
        data:{_token:csrf_token,id:id},
        success:function(data){
            $('#comment_tbody').closest('tr').find('data-id',id).remove();
        },
        dataType:'json',
      });
  });*/
   



});

;