File: /home/imensosw/www/imenso.co/dev/impactify/js/gent.js
function check_complet(e)
{
if(completed!="0000-00-00")
{
e.preventDefault();
}
}
if(demo==1)
{
// gantimg();
}
// next prev zoom
$(document).on('click','.next,.prev,.zoom_event1',function(){
$(".loading-container").show();
zmval=$('#myRange').val();
if(zmval==1){zmval=128;}else if(zmval==2){zmval=64;} else if (zmval==3){zmval=32;} else if(zmval==4){zmval=16;}
var gturl="?zoom="+zmval;
var action="prev";
if($(this).hasClass('next'))
{
var action="next";
}
if($(this).hasClass('slider'))
{
zoom= $(this).attr('data-val');
if(zoom==1){zoom=128;}else if(zoom==2){zoom=64;} else if (zoom==3){zoom=32;} else if(zoom==4){zoom=16;}
var gturl="?zoom="+zoom;
var action="zoom";
year=$('.prev').attr('year');
week=$('.prev').attr('week');
}
else
{
year=$(this).attr('year');
week=$(this).attr('week');
}
var url=url_path+"ganttchart/ajaxview/"+project_id+gturl;
//alert(url);
$.ajax({
type:'post',
data:'cle_year='+year+"&cle_week="+week+"&action="+action,
url : url,
success: function(data)
{
var rs=$(data).find('.clender_gant').html();
$('.clender_gant').html(rs);
$('.chosen-select').chosen();
$(".loading-container").hide();
},
dataType:'html'
});
});
if(demo){
$(document).ready(function(){
var dt = {
numberOfMonths: 2
};
setInterval(function(){ savegent() }, 20000);
$("#start_date").datetimepicker({format :'DD/MM/YYYY'});
$("#lstart_date").datetimepicker({format :'DD/MM/YYYY'});
$("#start_date").datetimepicker(dt);
$("#lstart_date").datetimepicker(dt);
$("#after_start_date").datetimepicker({format :'DD/MM/YYYY'});
$(".date_allocation").datetimepicker({format :'DD/MM/YYYY'});
$(document).on('click','.delete_task',function(){
$(".loading-container").show();
task_id = $(this).attr('task-id');
var subclass= $(this).closest('tr').attr('data-id');
var maintr=$(this).closest('tr');
//check = confirm('Are you sure you want to delete this notes?');
url=url_path+"ganttchart/taskdelete/"+task_id;
$.ajax({
type:'post',
data:'task_id='+task_id,
url : url,
success: function(data)
{
if(data.status=='error')
{
alert('access denied');
$(".loading-container").hide();
return false;
}
$(".loading-container").hide();
if($('.'+subclass).length)
{
$('.'+subclass).remove();
}
maintr.remove();
gcounting();
sum=gentBudget();
$('.allocated_show').html(sum);
category_status_amount();
paysed_status_amount();
if($('.group_name').length<1)
{
location.reload();
}
},
dataType:"json",
});
//alert(task_id);
});
//delete sub task
$(document).on('click','.delete_subtask',function(){
check_complet();
$(".loading-container").show();
task_id = $(this).attr('task-id');
var maintr=$(this).closest('tr');
var week=$('#d'+task_id).val();
var thisa=$(this);
var task_cls=$(this).closest('tr').attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
//$(this).closest('tr').find('.gant_amount').val(0).trigger('change');
//check = confirm('Are you sure you want to delete this notes?');
url=url_path+"ganttchart/taskdelete/"+task_id;
$.ajax({
type:'post',
data:'task_id='+task_id,
url : url,
success: function(data)
{
if(data.status=='error')
{
alert('access denied');
$(".loading-container").hide();
return false;
}
delete_subcalculation(thisa.closest('tr').find('.gant_amount'));
if(week!="" && week>0)
{
mw=Number(task_cls.find('.duration_week').children('input').val())-Number(week);
task_cls.find('.duration_week').children('input').val(mw);
}
maintr.remove();
gcounting();
if(data.start!=0)
{
task_cls1=task_cls.find('.stars td');
$(task_cls1).each(function( index ){
var date_span=new Date($(this).find('span').attr('id'));
start=new Date(data.start);
end=new Date(data.end);
newclor="";
if(task_cls_wmain.find('.No-progress').length)
{
newclor="No-progress";
}
else if(task_cls_wmain.find('.Delayed').length)
{
newclor="Delayed";
}
else if(task_cls_wmain.find('.On-track').length)
{
newclor="On-track";
}
else if(task_cls_wmain.find('.Complete').length)
{
newclor="Complete";
}
$(this).find('span').removeClass('No-progress On-track Delayed Complete');
if((date_span >= start) && (date_span <= end))
{
if(!$(this).find('span').hasClass('g-week-filled'))
{
$(this).find('span').addClass('g-week-filled');
}
if(newclor!="")
{ if($(this).find('span').hasClass('yes'))
{
$(this).find('span').addClass(newclor);
}
}
}
else
{
$(this).find('span').removeClass('g-week-filled');
}
});
if(data.start==null || data.end==null)
{
tw=0;
}
else
{
tw= Math.floor((end - start) / (1000 * 60 * 60 * 24) / 7);
tw=tw+1;
}
task_cls.find('.duration_week').children('input').val(tw);
}
category_status_amount();
paysed_status_amount();
$(".loading-container").hide();
},
dataType:"json",
});
//alert(task_id);
});
$(document).on('click','.stars1',function(){
//alert();
check_complet();
//gantimg();
var task_id=$(this).parent('tbody').parent('table').parent('td').parent('tr').attr('task-id');
var week_value=$(this).children().attr("week_value");
url=url_path+"ganttchart/taskweekadd/"+task_id;
$.ajax({
type:'post',
data:'week_value='+week_value,
url : url,
success: function(data)
{
},
dataType:"json",
});
});
$(document).on('click','.g-week',function(e){
check_complet(e); var group_par=$(this);
var thisa=$(this);
if(!$(this).hasClass('grouped'))
{
var task_id=group_par.closest('tr').parent().closest('tr').attr('task-id');
var week_value=group_par.attr("week_value");
var week_year=group_par.attr("week-year");
if($(this).hasClass('g-week-filled'))
{
if($(this).parent('td').next('td').children('span').hasClass('g-week-filled') && !$(this).parent('td').prev('td').children('span').hasClass('g-week-filled'))
{
}
else if(!$(this).parent('td').next('td').children('span').hasClass('g-week-filled') && $(this).parent('td').prev('td').children('span').hasClass('g-week-filled'))
{
}
else if($(this).parent('td').next('td').children('span').hasClass('g-week-filled') || $(this).parent('td').prev('td').children('span').hasClass('g-week-filled'))
{
return false;
}
}
else
{
if($('#d'+task_id).val()>0)
{
if($(this).parent('td').next('td').children('span').hasClass('g-week-filled') || $(this).parent('td').prev('td').children('span').hasClass('g-week-filled'))
{
}
else
{
return false;
}
}
// mw=Number(task_cls.find('.duration_week').children('input').val())+1;
// task_cls.find('.duration_week').children('input').val(mw);
}
url=url_path+"ganttchart/taskweekadd/"+task_id;
$.ajax({
type:'post',
data:'week_value='+week_value+"&week_year="+week_year,
url : url,
success: function(data)
{
if(data.status=='error')
{
alert('access denied');
$(".loading-container").hide();
return false;
}
// gantimg();
var task_cls=group_par.closest('tr').parent().closest('tr').attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
activestatus="";
if($('.tasks_'+task_id+'.active').length)
{
activestatus=$('.tasks_'+task_id+'.active').attr('value');
}
if(group_par.hasClass('g-week-filled'))
{
thisa.removeClass('g-week-filled');
thisa.removeClass(activestatus);
dw=Number($('#d'+task_id).val())-1;
$('#d'+task_id).val(dw);
}
else
{
group_par.addClass('g-week-filled');
if(group_par.attr('avilablity')=="yes")
{
group_par.addClass(activestatus);
}
if($('#d'+task_id).length)
{
dw=Number($('#d'+task_id).val())+1;
$('#d'+task_id).val(dw);
}
}
if(data.start!=0)
{
task_cls1=task_cls.find('.stars td');
$(task_cls1).each(function( index ){
var date_span=new Date($(this).find('span').attr('id'));
start=new Date(data.start);
end=new Date(data.end);
newclor="";
if(task_cls_wmain.find('.No-progress').length)
{
newclor="No-progress";
}
else if(task_cls_wmain.find('.Delayed').length)
{
newclor="Delayed";
}
else if(task_cls_wmain.find('.Extended').length)
{
newclor="On-track";
}
else if(task_cls_wmain.find('.Complete').length)
{
newclor="Complete";
}
$(this).find('span').removeClass('No-progress On-track Delayed Complete');
if((date_span >= start) && (date_span <= end))
{
if(!$(this).find('span').hasClass('g-week-filled'))
{
$(this).find('span').addClass('g-week-filled');
}
if(newclor!="")
{ if($(this).find('span').hasClass('yes'))
{
$(this).find('span').addClass(newclor);
}
}
}
else
{
$(this).find('span').removeClass('g-week-filled');
}
});
if(data.start==null || data.end==null)
{
tw=0;
}
else
{
tw= Math.floor((end - start) / (1000 * 60 * 60 * 24) / 7);
tw=tw+1;
}
task_cls.find('.duration_week').children('input').val(tw);
}
},
dataType:"json",
});
}
});
$(document).on('change','.owner',function(){
// check_complet();
var task_id=$(this).closest('tr').attr('task-id');
var filed_val=$(this).val();
var field_name=$(this).attr('field-name');
//alert(field_name);
url=url_path+"ganttchart/taskupdate/"+task_id;
$.ajax({
type:'post',
data:'filed_val='+filed_val+"&field_name="+field_name,
url : url,
success: function(data)
{
if(data.status=='error')
{
alert('access denied');
$(".loading-container").hide();
return false;
}
// gantimg();
},
dataType:"json",
});
});
$(document).on('click change','.field_gant',function(e)
{
//gantimg();
if(($(this).hasClass('gant_amount') || $(this).hasClass('gant_received') ) && e.type === "click")
{
return false;
}
if($(this).hasClass('task_status') && e.type === "click" && !$(this).hasClass('active'))
{
if($(this).attr('value')=="Complete")
{
/* if(!confirm("Are you sure!"))
{
return fasle;
}
else
{
$(this).closest('.dropdown').find('#comment_modal').trigger('click');
}*/
$(this).closest('.dropdown').find('#comment_modal').trigger('click');
$(this).closest('.dropdown').find('.img-menu-item').hide();
}
}
else if(demo==0)
{
return false;
}
else if($(this).attr('field-name')=="received")
{
checkReceived($(this));
}
else
{
check_complet();
}
if($(this).attr('field-name')=="budget")
{
checkBudget($(this));
}
flag=0;
var task_id=$(this).closest('tr').attr('task-id');
if($(this).hasClass('task_status') && e.type === "click")
{
var filed_val=$(this).attr('value');
if($('.tasks_'+task_id).length)
{
oldactive=$('.tasks_'+task_id+'.active').attr('value');
$('.tasks_'+task_id).removeClass('active');
$(this).addClass('active');
$(this).closest('tr').find('.g-week-filled.yes').addClass(filed_val);
$(this).closest('tr').find('.'+oldactive).removeClass(oldactive);
$(this).closest('tr').find('.extended').addClass(filed_val+"_blank");
$(this).closest('tr').find('.extended').removeClass(oldactive+'_blank');
$(this).closest('tr').find('.extended').removeClass('_blank');
}
flg=0;
var week=$('#d'+task_id).val();
var task_cls=$(this).closest('tr').attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
task_cls1=task_cls.find('.stars td');
$(task_cls1).each(function( index ){
newclor="";
if(task_cls_wmain.find('.No-progress').length)
{
newclor="No-progress";
}
else if(task_cls_wmain.find('.Delayed').length)
{
newclor="Delayed";
}
else if(task_cls_wmain.find('.On-track').length)
{
newclor="On-track";
}
else if(task_cls_wmain.find('.Complete').length)
{
newclor="Complete";
}
$(this).find('span').removeClass('No-progress On-track Delayed Extended Complete No-progress_blank On-track_blank Delayed_blank Extended_blank Complete_blank _blank');
if(newclor!="" && $(this).find('span').hasClass('g-week-filled') && $(this).find('span').hasClass('yes'))
{
$(this).find('span').addClass(newclor);
}
else if(newclor!="" && $(this).find('span').hasClass('extended'))
{
$(this).find('span').addClass(newclor+"_blank");
// $(this).find('span').addClass(newclor+"_blank");
}
});
flag=1;
}
else if(e.type === "change")
{
var filed_val=$(this).val();
flag=1;
}
if(flag==0)
{
return false;
}
if($(this).attr('value')=="Complete")
{
$(this).closest('.dropdown-menu').remove();
}
var field_name=$(this).attr('field-name');
url=url_path+"ganttchart/taskupdate/"+task_id;
$.ajax({
type:'post',
data:'filed_val='+filed_val+"&field_name="+field_name,
url : url,
success: function(data)
{
if(data=='error')
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
if(data.project_status!="")
{
$('.prstatusbar').html(data.project_status);
$('.prstatusbar').attr('class','ac-circle prstatusbar '+data.status_class);
}
},
dataType:"json",
});
});
var i=1;
$("#delete_row").click(function(){
if(i>1){
$("#addr"+(i-1)).html('');
i--;
}
});
function gcounting()
{
gname="A";
$('.grouped').each(function(index){
if(index!=0)
{
gname=String.fromCharCode(gname.charCodeAt() + 1);
}
$(this).find('td').eq(0).html(gname);
subcls=$(this).attr('data-id');
sbln=$('.'+subcls).length;
for(i=0;i<sbln;i++)
{
j=i+1;
$('.'+subcls).eq(i).find('td').eq(0).html(gname+j);
}
});
if($('#tab_logic').find('tr').length==3)
{
//location.reload();
}
}
});
$("#upbuj").validate();
var rowCount = 1;
function addMoreRows(frm) {
check_complet();
rowCount ++;
var recRow = '<tr id="rowCount'+rowCount+'"><td> <input type="hidden" value="'+rowCount+'" name="cund[]"><input id="date'+rowCount+'" name="date['+rowCount+']" class="form-control date_allocation pull-left text-left" value="'+current_dates+'" placeholder="Date" type="text"/></td><td class="text-center"><input name="amount['+rowCount+']" class="form-control amount" placeholder="Amount" id="amount'+rowCount+'" type="text" onkeypress="javascript:return isNumber(event)"/></td><td class="text-center" ><a href="javascript:void(0);" onclick="removeRow('+rowCount+');"><i class="fa fa-trash"></i></a></td></tr>';
jQuery('#addedRows').append(recRow);
$('.chosen-select').chosen();
$('.date_allocation').datetimepicker({
format: 'DD/MM/YYYY'
});
$('.no-record').hide();
$('.payment_table_totalbox').removeClass('hidden');
}
function addMoreLocation(frm) {
check_complet();
var url=url_path+"ganttchart/getLocation";
$.ajax({
type:'post',
data:{},
url : url,
success: function(data)
{
$('.box_third').append(data);
$('.chosen-select').chosen();
},
dataType:'HTML'
});
}
$(document).on('change','.state_district1',function(){
var id=$(this).val();
if(id=="")
{
id=0;
}
var url=url_path+"ganttchart/getCityBYdistrict";
var a=$(this);
$.ajax({
type:'post',
data:{id:id},
url : url,
success: function(data)
{
a.closest('.addmorebox').find('.form-group').eq(1).html(data);
$('.chosen-select').chosen();
},
dataType:'HTML'
});
});
function addMoreRowskpi(frm) {
check_complet();
$(".loading-container").show();
var url=url_path+"ganttchart/update/"+project_id;
$.ajax({
type:'post',
data:"kpiadd=yes",
url : url,
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
else
{
$(".loading-container").hide();
rowCount ++;
var recRow = '<div class="clearfix"></div><div class="row" style="position:relative">';
recRow+='<div class="detail_trash" data-id="'+data.id+'"><a href="javascript:;"><i class="fa fa-trash"></i></a></div>';
recRow += '<div class="col-sm-6">';
recRow += '<div class="form-group"> <label>KPI</label><textarea autocorrect="off" name="kpi[]" class="form-control normal-text height_130" placeholder="KPI"></textarea></div>';
recRow+='<input type="hidden" name="kpi_id[]" value="'+data.id+'">';
recRow += '</div>';
recRow += '<div class="col-sm-6">';
recRow += '<div class="form-group"><label>Baseline</label><input class="form-control normal-text" onkeypress="javascript:return isNumber(event)" name="baseline[]" placeholder="Baseline" type="text"></div>';
recRow += '<div class="form-group"><label>Target</label><input class="form-control normal-text" onkeypress="javascript:return isNumber(event)" name="target[]" placeholder="Target" type="text"></div>';
recRow += '<div class="form-group"><label>Description</label><textarea class="form-control normal-text" name="info[]" placeholder="Description" ></textarea></div>';
recRow += '</div>';
recRow += '</div>';
if($('#addedRowskpi').find('.padded-row').length<3)
{
$('#addedRowskpi').append(recRow);
if($('#addedRowskpi').find('.padded-row').length==3)
{
$('.addmorekpi').hide();
}
}
else
{
$('.addmorekpi').hide();
}
}
},
dataType:'json'
});
}
function removeRow(removeNum) {
check_complet();
jQuery('#rowCount'+removeNum).remove();
amount=Number(paymentSchedule());
gent_Budget=Number(gentBudget());
/* if(amount>$('#project_budget').val())
{
$(this).val($(this).attr('oldvalue'));
alert_msg("Category budget can't grater then to project budget");
return false;
}*/
$(this).closest('#upbuj').attr('auto','on');
paysed_status_amount();
if($('.date_allocation').length<1)
{
$('.payment_table_totalbox').addClass('hidden');
}
}
$(document).on('click','.savef',function()
{
//alert(1);
$(".loading-container").show();
data=$('#upproject').serialize();
var url=url_path+"ganttchart/update/"+project_id;
//alert(url);
var recived_payment=$('#recived_payment').val();
var utilized=$('#utilized').val();
$.ajax({
type:'post',
data:data+"&utilized="+utilized+"&recived_payment="+recived_payment,
url : url,
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
gantimg();
if(data.reload=="yes")
{
location.reload();
}
else
{
$(".loading-container").hide();
}
},
dataType:'json'
});
if($('.category').length)
{
$( "#upbuj_category" ).submit();
}
if($('.date_allocation').length)
{
$( "#upbuj" ).submit();
}
});
$(document).on('click','.saveb',function(){
check_complet();
$( "#upbuj_category" ).submit();
$( "#upbuj" ).submit();
});
$(document).on('change','.amount_category',function(){
check_complet();
amount=Number(categoryBudget());
gent_Budget=Number(gentBudget());
/* if(amount>$('#project_budget').val())
{
$(this).val($(this).attr('oldvalue'));
alert_msg("Budget cant be greater then total planned budget");
return false;
}
*/
$(this).closest('#upbuj_category').attr('auto','on');
$('#total_category_am').html(number_formates(amount));
category_status_amount();
// $( "#upbuj_category" ).submit();
});
$(document).on('change','.amount',function(){
check_complet();
amount=Number(paymentSchedule());
gent_Budget=Number(gentBudget());
/* if(amount>$('#project_budget').val())
{
$(this).val($(this).attr('oldvalue'));
alert_msg("Category budget can't grater then to project budget");
return false;
}*/
$(this).closest('#upbuj').attr('auto','on');
paysed_status_amount();
// $( "#upbuj" ).submit();
});
$(document).on('submit','#upbuj',function(){
var flag=1;
if($(this).attr('auto')!="on")
{
return false;
}
//alert(2);
$(this).attr('auto','off');
// $(".loading-container").show();
data=$('#upbuj').serialize();
var url=url_path+"ganttchart/update/"+project_id;
//alert(url);
$.ajax({
type:'post',
data:data,
url : url,
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
// $(".loading-container").hide();
if(data.status=="errorb")
{
alert("please Check allocated budget");
}
},
dataType:'json'
});
return false;
});
$(document).on('submit','#upbuj_category',function()
{
//gantimg();//use by r
check_complet();
if($(this).attr('auto')!="on")
{
return false;
}
$(this).attr('auto','off');
var flag=1;
var amount=0;
for(var i=0;i<$('.category').length;i++)
{
amount=Number(amount)+Number($('.amount_category').eq(i).val());
if($('.category').eq(i).val()=="")
{
var flag=0;
$('.category').eq(i).next('.chosen-container').css('border', '1px solid red');
}
else
{
$('.category').eq(i).next('.chosen-container').css('border', '');
}
}
if(flag==0)
{
return false;
}
$('#allocated_budget').val(amount);
$(".loading-container").show();
data=$('#upbuj_category').serialize();
var url=url_path+"ganttchart/update/"+project_id;
$.ajax({
type:'post',
data:data,
url : url,
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
$(".loading-container").hide();
if(data.status=="errorb")
{
alert_msg("please Check allocated budget");
}
},
dataType:'json'
});
return false;
});
$(document).on('change','#allocated_budget',function(){
check_complet();
allocated_budget=$(this).val();
var url=url_path+"ganttchart/update/"+project_id;
//alert(url);
$.ajax({
type:'post',
data:"allocated_budget="+allocated_budget,
url : url,
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
$(".loading-container").hide();
if(data.status=="budgetb")
{
alert_msg("please enter allocated budget less or equal to "+data.amt);
$('#allocated_budget').val(data.old);
}
},
dataType:'json'
});
});
$(document).on('change','.start_date',function(){
check_complet();
$(".loading-container").show();
data=$('#upproject').serialize();
var url=url_path+"ganttchart/update/"+project_id;
//alert(url);
$.ajax({
type:'post',
data:data,
url : url,
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
$(".loading-container").hide();
location.reload();
},
dataType:'json'
});
});
$(document).on('click','.grouped_down_up',function(){
dataid=$(this).closest('tr').attr('data-id');
if($(this).hasClass('fa-angle-down'))
{
$('.'+dataid).hide();
$(this).addClass('fa-angle-up');
$(this).removeClass('fa-angle-down');
}
else
{
$('.'+dataid).show();
$(this).addClass('fa-angle-down');
$(this).removeClass('fa-angle-up');
}
});
$(document).on('click','.calendar_start',function(){
check_complet();
gent_Budget=Number(gentBudget());
categoryb=Number(categoryBudget());
payments=Number(paymentSchedule());
if(gent_Budget!=categoryb || payments!=categoryb || $('#project_budget').val()!=payments || $('#project_budget').val()<1)
{
$('#Planned_BudgetonPopup').html($('#project_budget').val());$('#Activity_BudgetonPopup').html(gent_Budget);
$('#Category_wiseonPopup').html(categoryb);$('#Payment_SchedulePopup').html(payments);
$('#startErrorPopup').modal('show');
// alert_msg('Total Planned budget, Category Budget, Milestone Budget and activity budget should be same');
return false;
}
$('#startProject').modal('show');
savegent();
// $('#after_start_date').trigger('click');
});
$(document).on('change keyup','#project_name',function(){
check_complet();
project_name=$(this).val();
$('#head_project_name').html(project_name);
});
}
function isNumber(evt)
{
var iKeyCode = (evt.which) ? evt.which : evt.keyCode
if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57))
return false;
return true;
}
$(document).ready(function () {
$('tr.grouped').each(function(){
task_cls=$(this).attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
task_cls1=task_cls.find('.stars td');
$(task_cls1).each(function(){
newclor="";
if(task_cls_wmain.find('.No-progress').length)
{
newclor="No-progress";
}
else if(task_cls_wmain.find('.Delayed').length)
{
newclor="Delayed";
}
else if(task_cls_wmain.find('.On-track').length)
{
newclor="On-track";
}
else if(task_cls_wmain.find('.Complete').length)
{
newclor="Complete";
}
$(this).find('span').removeClass('No-progress On-track Delayed Complete');
if(newclor!="" && $(this).find('span').hasClass('g-week-filled') && $(this).find('span').hasClass('yes'))
{
$(this).find('span').addClass(newclor);
}
});
});
//Added, set initial value.
$("#amount").val(0);
$("#amount-label").text(0);
// update();
});
setTimeout(function(){ gantimg(); },1000);
function gantimg()
{
// alert();
// $(".loading-container").show();
$('.owner_th').hide(); $('.owner').closest('td').hide();
setTimeout(function(){ $('.owner_th').show(); $('.owner').closest('td').show(); },50);
html2canvas(document.getElementById('tab_logic')).then(function(canvas) {
//document.body.appendChild(canvas);
// $(".loading-container").hide();
var imgdata = canvas.toDataURL('image/png');
$.ajax({
url: url_path+'ganttchart/update/'+project_id,
data: {
imgdata:imgdata
},
type: 'post',
success: function (response)
{
if(response.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
console.log(response);
}
});
});
}
$(document).on('keyup change','#utilized,#recived_payment',function(){
var thval=Number($(this).val());
var id=$(this).attr('id');
var allocated_show=Number($('.allocated_show').html());
pers=100*thval/allocated_show;
if(allocated_show<thval)
{
oldvalue=$(this).attr('oldvalue');
$(this).val(oldvalue);
alert_msg("please Enter less or equal to Total Budget");
}
else if($(this).attr('id')=="utilized" && thval>$('#recived_payment').val())
{
oldvalue=$(this).attr('oldvalue');
$(this).val(oldvalue);
alert_msg("please Enter less or equal to Total Recived");
}
else
{
oldvalue=$(this).attr('oldvalue',thval);
$('.'+id+"_progress").css('width',pers+"%");
}
});
$(document).on('click','.more-less',function(){
dataid=$(this).closest('.slide-down').attr('data-id');
if($(this).hasClass('fa-chevron-down'))
{
$('.'+dataid).hide();
$(this).addClass('fa-chevron-up');
$(this).removeClass('fa-chevron-down');
}
else
{
$('.'+dataid).show();
$(this).addClass('fa-chevron-down');
$(this).removeClass('fa-chevron-up');
}
});
$(window).scroll(function () {
if( $(window).scrollTop() > $('#groups').offset().top && !($('#groups').hasClass('posi'))){
$('#groups').addClass('posi');
} else if ($(window).scrollTop() == 0){
$('#groups').removeClass('posi');
}
});
$('#utilized').trigger('change');
$('#recived_payment').trigger('change');
function checkBudget(a){
if(!Number(a.val()))
{
if(a.val()=='0')
{
a.val(0);
}
else
{
a.val('');
}
}
if(a.closest('tr.grouped').length==0){
var project_budget=$('#project_budget').val();
sum=Number(a.val())-Number(a.attr('oldvalue'));
sum+=Number(gentBudget());
/* if(sum>project_budget || !Number(project_budget))
{
a.val(a.attr('oldvalue'));
alert_msg("Budget cant be greater then total planned budget");
return false;
}*/
$('#allocated_budget').val(sum);
$('.allocated_show').html(number_formates(sum));
}
check_complet();
var task_cls=a.closest('tr').attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
total=0;
for(i=0;i<task_cls_wmain.length;i++)
{
if(Number(task_cls_wmain.eq(i).find('.gant_amount').val()))
{
total+=Number(task_cls_wmain.eq(i).find('.gant_amount').val());
}
}
task_cls.find('.gant_amount').val(total);
//parent triger
// task_cls.find('.gant_amount').trigger('change');
category_status_amount();
paysed_status_amount();
}
function delete_subcalculation(a)
{
if(!Number(a.val()))
{
a.val(0);
}
sum=Number(gentBudget())-Number(a.val());
/* if(sum>project_budget || !Number(project_budget))
{
a.val(a.attr('oldvalue'));
alert_msg("Budget cant be greater then total planned budget");
return false;
}*/
$('#allocated_budget').val(sum);
$('.allocated_show').html(number_formates(sum));
check_complet();
var task_cls=a.closest('tr').attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
total=0;
for(i=0;i<task_cls_wmain.length;i++)
{
if(Number(task_cls_wmain.eq(i).find('.gant_amount').val()))
{
total+=Number(task_cls_wmain.eq(i).find('.gant_amount').val());
}
}
total=total-Number(a.val());
task_cls.find('.gant_amount').val(total);
task_cls.find('.gant_amount').trigger('change');
// $('#allocated_budget').trigger('change');
category_status_amount();
paysed_status_amount();
}
function number_formates(number, decimals, dec_point, thousands_point) {
if (number == null || !isFinite(number)) {
throw new TypeError("number is not valid");
}
x=number.toString();
var lastThree = x.substring(x.length-3);
var otherNumbers = x.substring(0,x.length-3);
if(otherNumbers != '')
lastThree = ',' + lastThree;
var res = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
return res;
/*
if (!decimals) {
var len = number.toString().split('.').length;
decimals = len > 1 ? len : 0;
}
if (!dec_point) {
dec_point = '.';
}
if (!thousands_point) {
thousands_point = ',';
}
number = parseFloat(number).toFixed(decimals);
number = number.replace(".", dec_point);
var splitNum = number.split(dec_point);
splitNum[0] = splitNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousands_point);
return number = splitNum.join(dec_point);*/
}
function checkReceived(a){
if(!Number(a.val()))
{
if(a.val()=='0')
{
a.val(0);
}
else
{
a.val('');
}
}
/*
if(!Number(a.val()))
{
if(!Number(a.attr('oldvalue')))
{
a.val(0);
}
else
{
a.val(a.attr('oldvalue'));
}
}*/
if(a.closest('tr.grouped').length==0){
var project_budget=$('#project_budget').val();
sum=Number(a.val())-Number(a.attr('oldvalue'));
sum+=Number(gentReceived());
if(sum>project_budget || !Number(project_budget))
{
a.val(a.attr('oldvalue'));
alert_msg("Total Utilized Budget can't be greater than Total Planned Budget");
return false;
}
}
var task_cls=a.closest('tr').attr('class');
task_cls = task_cls.replace('row_tr', '');
task_cls = task_cls.replace(/\s/g, '');
task_cls_wmain = $('.'+task_cls);
task_cls=$('.main_'+task_cls);
total=0;
for(i=0;i<task_cls_wmain.length;i++)
{
if(Number(task_cls_wmain.eq(i).find('.gant_received').val()))
{
total+=Number(task_cls_wmain.eq(i).find('.gant_received').val());
}
}
task_cls.find('.gant_received').val(total);
task_cls.find('.gant_received').trigger('change');
pers=100*sum/project_budget;
$('.utilized_progress').css('width',pers+"%");
$('.utilized').html(number_formates(sum));
//alert($(this).parentsUntil("tr").attr('1032213000').length);
}
$(document).on('focus','input',function(){
$(this).attr('oldvalue',$(this).val());
});
/*$(document).on('keyup','#project_budget',function(){
project_bu=$(this).val();
if(!Number(project_bu))
{
$(this).val($(this).attr('oldvalue'));
}
sum=0;
gent_Budget=Number(gentBudget());
categoryb=Number(categoryBudget());
payments=Number(paymentSchedule());
if(gent_Budget>project_bu || categoryb>project_bu || payments>project_bu)
{
$(this).val($(this).attr('oldvalue'));
alert_msg("Budget cant be greater then total planned budget");
}
else
{
savegent();
}
});
*/
function gentBudget()
{
sum=0;
$('tr.grouped').each(function(){
sum += Number($(this).find('.gant_amount').val()); // Or this.innerHTML, this.innerText
});
return sum;
}
function gentReceived()
{
sum=0;
$('tr.grouped').each(function(){
sum += Number($(this).find('.gant_received').val()); // Or this.innerHTML, this.innerText
});
return sum;
}
function categoryBudget()
{
amount=0;
for(var i=0;i<$('.amount_category').length;i++)
{
amount=Number(amount)+Number($('.amount_category').eq(i).val());
}
return amount;
}
function paymentSchedule()
{
amount=0;
for(var i=0;i<$('.amount').length;i++)
{
amount=Number(amount)+Number($('.amount').eq(i).val());
}
return amount;
}
function paymentScheduleResived()
{
amount=0;
for(var i=0;i<$('.payment_received').length;i++)
{
amount=Number(amount)+Number($('.payment_received').eq(i).val());
}
return amount;
}
function savegent()
{
if($('#upproject').attr('auto')=="on")
{
$('#upproject').attr('auto','off');
data=$('#upproject').serialize();
var url=url_path+"ganttchart/update/"+project_id;
//alert(url);
// var recived_payment=$('#recived_payment').val();
// var utilized=$('#utilized').val();
//data:data+"&utilized="+utilized+"&recived_payment="+recived_payment,
$.ajax({
type:'post',
data:data,
url : url,
success: function(data)
{
// gantimg();
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
if(data.msg=="reload")
{
location.reload();
}
if(data.msg=="project_budget")
{
$('#project_budget').val($(this).attr('oldvalue'));
}
},
dataType:'json'
});
}
if($('.category').length)
{
$( "#upbuj_category" ).submit();
}
if($('.date_allocation').length)
{
$( "#upbuj" ).submit();
}
}
function category_status_amount()
{
hd=amt=cls_cat="";
gt=gentBudget();amt=0;
cat=categoryBudget();
if(gt>cat)
{
hd="Budget Left";
amt=gt-cat;
amt=amt;
cls_cat="excess_budget";
}
else if(gt<cat)
{
hd="Budget Exceeded";
amt=cat-gt;
amt=amt;
cls_cat="lack_budget";
}
if(amt<1)
{
amt="";
}
else
{
amt=number_formates(amt);
}
$('#category_status_heading').html(hd);
htm="<strong class='big-text "+cls_cat+"'>"+amt+"</strong>";
$('#category_status_amount').html(htm);
}
function paysed_status_amount()
{
hd=amt=cls_paysed="";amt=0;
gt=gentBudget();
paysed=paymentSchedule();
if(gt>paysed)
{
hd="Budget Left";
amt=gt-paysed;
amt=amt;
cls_paysed="excess_budget";
}
else if(gt<paysed)
{
hd="Budget Exceeded";
amt=paysed-gt;
amt=amt;
cls_paysed="lack_budget";
}
$('#total_paysed_am').html(number_formates(paysed));
$('#paysed_status_heading').html(hd);
// $('#paysed_status_amount').html(amt);
if(amt<1)
{
amt="";
}
else
{
amt=number_formates(amt);
}
htm="<strong class='big-text "+cls_paysed+"'>"+amt+"</strong>";
$('#paysed_status_amount').html(htm);
}
$(document).on('change','#upproject input,#upproject select,#upproject textarea',function(){
$('#upproject').attr('auto','on');
savegent();
});
$(document).on('blur','#start_date',function(){
$('#upproject').attr('auto','on');
savegent();
});
$(document).on('click','.date_allocation',function(){
$(this).closest('#upbuj').attr('auto','on');
});
$(document).on('keyup','.payment_received',function(){
if(demo==0)
{
return false;
}
amount=Number(paymentScheduleResived());
gent_Budget=Number(gentBudget());
if(amount>gent_Budget)
{
$(this).val($(this).attr('oldvalue'));
alert_msg("Total Received Budget can't be greater than Total Planned Budget");
return false;
}
vals=$(this).val();
pers=100*amount/gent_Budget;
$('.recived_payment_progress').css('width',pers+"%");
$('.recived_payment').html(number_formates(amount));
var url=url_path+"ganttchart/paymentResive/"+project_id;
id=$(this).attr('data-id');
$.ajax({
type:'post',
data:{id:id,vals:vals},
url : url,
success: function(data)
{
},
dataType:'json'
});
});
function alert_msg(msg)
{
htm='<div class="error alert">'+msg;
htm+='<a href="" class="close" data-dismiss="alert">×</a></div>';
$('#app').append(htm);
setTimeout(function() { $('.close').trigger('click');}, 3000);
}
$(document).on('click','.publish',function()
{
gent_Budget=Number(gentBudget());
categoryb=Number(categoryBudget());
payments=Number(paymentSchedule());
if(gent_Budget!=categoryb || payments!=categoryb || $('#project_budget').val()!=payments || $('#project_budget').val()<1)
{
$('#Planned_BudgetonPopup').html($('#project_budget').val());$('#Activity_BudgetonPopup').html(gent_Budget);
$('#Category_wiseonPopup').html(categoryb);$('#Payment_SchedulePopup').html(payments);
$('#startErrorPopup').modal('show');
$('#publish_submit_button').html('');
//alert_msg('Total Planned budget, Category Budget, Milestone Budget and activity budget should be same');
return false;
}
else
{
$('#Planned_BudgetonPopup').html($('#project_budget').val());$('#Activity_BudgetonPopup').html(gent_Budget);
$('#Category_wiseonPopup').html(categoryb);$('#Payment_SchedulePopup').html(payments);
$('#publish_submit_button').html('');
$('#publish_submit_button').html('<button type="submit" class="btn-alpha">Submit</button>');
$('#startErrorPopup').modal('show');
//location.href=url_path+"ganttchart/publish/"+project_id;
}
});
$(document).on('click','#comment_modal',function(){
$(".loading-container").show();
task_id=$(this).closest('tr').attr('task-id');
$.ajax({
type:'post',
data:{
task_id:task_id,
project_id:project_id
},
url : url_path+"ganttchart/comment",
success: function(data)
{
if(data=='error')
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
$(".loading-container").hide();
$('#comment_modal_box').find('.modal-body').html(data);
$('#comment_modal_box').modal('show');
},
dataType:"html",
});
});
$(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('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_path+"ganttchart/commentAdd",
success: function(data)
{
$('#comment_form').trigger("reset");
if(data.status=="success")
{
htm="<tr><td>"+data.result.message+"</td><td><a target='_blank' href='"+url_main+"resources/assets/comment/"+data.result.filepath+"' >"+data.result.filepath+"</a></td><td class='text-center width_70'><a href='javascript:;' data-id='"+data.result.id+"' class='comment_delete'><i class='fa fa-trash-o' aria-hidden='true'></i></a></td></tr>";
$('#comment_tbody').prepend(htm);
}
else
{
alert('error');
}
},
dataType:"json",
});
});
$(document).on('click','.comment_delete',function(){
if(!confirm("Are you sure!"))
{
return fasle;
}
$(".loading-container").show();
task_id=$('#comment_form').attr('task_id');
id=$(this).attr('data-id');
a=$(this);
$.ajax({
type:'post',
data:{
task_id:task_id,
project_id:project_id,
id:id
},
url : url_path+"ganttchart/commentDelete",
success: function(data)
{
a.closest('tr').remove();
$(".loading-container").hide();
},
dataType:"html",
});
});
window.onbeforeunload = function() {
if($('#upproject').attr('auto')=="on" || $('#upbuj_category').attr('auto')=="on" || $('#upbuj').attr('auto')=="on")
{
var message = 'Do you want to leave this page?';
return message;
}
}
$("#form_start").validate();
$(document).on('submit','#form_start',function(e){
if($('#sponsr_organization').val()=="")
{
$("#sponsr_organization_error").html("This field is required.");
return false;
}
});
$(document).on('click','.slider-minus',function(){
var myrange=Number($('#myRange').val())-1;
if(myrange>0)
{
$('#myRange').val(myrange);
$('.zoom_event1').attr('data-val',myrange);
$('.zoom_event1').trigger('click');
}
});
$(document).on('click','.slider-plus',function(){
var myrange=Number($('#myRange').val())+1;
if(myrange<5)
{
$('#myRange').val(myrange);
$('.zoom_event1').attr('data-val',myrange);
$('.zoom_event1').trigger('click');
}
});
$(document).on('click','.detail_trash_location a',function(){
thobj=$(this);
id=thobj.closest('.detail_trash').attr('data-id');
if(!confirm("Are you sure!"))
{
return fasle;
}
thobj.parent('.detail_trash_location').parent('div').remove();
$('#project_name').trigger('change');
$(".loading-container").hide();
});
$(document).on('click','.detail_trash a',function(){
thobj=$(this);
id=thobj.closest('.detail_trash').attr('data-id');
if(!confirm("Are you sure!"))
{
return fasle;
}
$(".loading-container").show();
$.ajax({
type:'post',
data:{
project_id:project_id,
id:id
},
url : url_path+"ganttchart/kpiDelete",
success: function(data)
{
if(data.status=="warrning")
{
dengerErorr(data.msg);
}
else if(data.status=="error")
{
alert('access denied');
$(".loading-container").hide();
location.reload();
return false;
}
else
{
thobj.parent('.detail_trash').parent('div').remove();
$('#project_name').trigger('change');
$(".loading-container").hide();
}
},
dataType:"json",
});
});
function kpiStatusCheck(a){
var thval=Number($('#kpi_status'+a).val());
var target=Number($('#target'+a).val());
var baseline=Number($('#baseline'+a).val());
//alert(thval+" "+target+" "+baseline);
if(baseline<=target)
{
if(thval<baseline )
{
oldvalue=$('#kpi_status'+a).attr('oldvalue');
$('#kpi_status'+a).val(oldvalue);
alert_msg("Please enter a value between baseline and target");
return false;
}
else if(thval>target)
{
oldvalue=$('#kpi_status'+a).attr('oldvalue');
$('#kpi_status'+a).val(oldvalue);
alert_msg("Please enter a value between baseline and target");
return false;
}
}
else if(baseline>=target)
{
if(thval<target)
{
oldvalue=$('#kpi_status'+a).attr('oldvalue');
$('#kpi_status'+a).val(oldvalue);
alert_msg("Please enter a value between target and baseline");
return false;
}
else if(thval>baseline)
{
oldvalue=$('#kpi_status'+a).attr('oldvalue');
$('#kpi_status'+a).val(oldvalue);
alert_msg("Please enter a value between target and baseline");
return false;
}
}
}
function dengerErorr(data)
{
$('.alert-danger').show();
$.each( data, function( key, value ) {
$('.alert-danger').append('<p>'+value+'</p>');
});
setTimeout(function(){$('.alert-danger').html(''); $('.alert-danger').hide();},5000)
};