| Current Path : /var/www/html/dyna-project/views/projects/ |
| Current File : /var/www/html/dyna-project/views/projects/create.php |
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use app\models\User;
use yii\helpers\ArrayHelper;
use app\models\Phase;
use app\models\Step;
use app\models\Adhoc;
use app\models\Templates;
use app\models\ParamList;
$ParamList = new ParamList();
?>
<div class="kt-subheader kt-grid__item" id="kt_subheader">
<div class="kt-container ">
<div class="kt-subheader__main">
<h3 class="kt-subheader__title">Manage Projects</h3>
<div class="kt-subheader__breadcrumbs">
<span class="kt-subheader__breadcrumbs-separator"></span>
<span class="kt-subheader__breadcrumbs-link"> Manage Projects</span>
<span class="kt-subheader__breadcrumbs-separator"></span>
<span class="kt-subheader__breadcrumbs-link"> Add Project</span>
</div>
</div>
</div>
</div>
<div class="projects-create">
<div class="projects-form">
<div class="kt-container kt-grid__item kt-grid__item--fluid">
<?php $form = ActiveForm::begin(); ?>
<div class="row">
<div class="col-sm-4">
<div class="kt-portlet kt-portlet--height-fluid">
<div class="kt-portlet__head">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">Project Details</h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<div class='form-group-custom'>
<?php
echo $form->field($model, 'template_id', ['template' => "{label}
{input}{error}"])
->dropDownList(ArrayHelper::map(Templates::find()->where(['status' => '1'])->orderBy(['name' => SORT_ASC])->all(), 'id', 'name'), ['prompt' => '-- Please choose --', 'class' => 'form-control kt-selectpicker', 'onchange' => 'generatetasklist(this.value)']);
?>
</div>
<div class='form-group-custom'>
<?=
$form->field($model, 'name', ['template' =>
"{label}<span class='required'>*</span>{input}
<span class='kt-font-danger font-weight-bold'>{error}</span>"])->textInput(['maxlength' => true]);
?>
</div>
<div class='form-group-custom'>
<?php
echo $form->field($model, 'cat', ['template' => "{label}
{input}{error}"])
->dropDownList($ParamList->getparamlist2(37), ['prompt' => '-- Please choose --', 'class' => 'form-control']);
?>
</div>
<div class='form-group-custom'>
<?=
$form->field($model, 'start_dt', [
'template' => "{label}<span class='required'>*</span>
<div class='input-group'>
{input}
<div class='input-group-append'><span class='input-group-text'><i class='la la-calendar-check-o'></i></span></div>
</div>
<span class='kt-font-danger font-weight-bold'>{error}</span>"
])->textInput(['readonly' => true, 'onchange' => 'calcprojectdue()']);
?>
</div>
<div class='form-group-custom'>
<?=
$form->field($model, 'end_dt', [
'template' => "{label}<span class='required'>*</span>
<div class='input-group'>
{input}
<div class='input-group-append'><span class='input-group-text'><i class='la la-calendar-check-o'></i></span></div>
</div>
<span class='kt-font-danger font-weight-bold'>{error}</span>"
])->textInput(['readonly' => true]);
?>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="kt-portlet kt-portlet--height-fluid">
<div class="kt-portlet__head">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">Assign To (Person In-Charge)</h3>
</div>
<div class="kt-portlet__head-toolbar">
<button type="button" onclick="addpic()" class="btn btn-sm btn-label-brand">Add User</button>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<div class="row">
<div class="col-5"><div class="form-group mb-0"><label class="control-label">Role</label></div></div>
<div class="col-7"><div class="form-group mb-0"><label class="control-label">User Name</label></div></div>
</div>
<div id="piclist"></div>
</div>
</div>
</div>
</div>
</div>
<div class="kt-portlet" data-ktportlet="true" id="tasklist-wrapper" style="display:none;">
<div class="kt-portlet__head">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">
Tasks Details
</h3>
</div>
<div class="kt-portlet__head-toolbar">
<div class="kt-portlet__head-group">
<a href="#" data-ktportlet-tool="toggle" class="btn btn-sm btn-icon btn-clean btn-icon-md" aria-describedby="tooltip_mtpb3la6ln"><i class="la la-angle-down"></i></a>
<div class="tooltip tooltip-portlet tooltip bs-tooltip-top" role="tooltip" id="tooltip_mtpb3la6ln" aria-hidden="true" x-placement="top" style="position: absolute; will-change: transform; visibility: hidden; top: 0px; left: 0px; transform: translate3d(440px, -39px, 0px);">
<div class="tooltip-arrow arrow" style="left: 34px;"></div>
<div class="tooltip-inner">Collapse</div>
</div>
</div>
</div>
</div>
<div class="kt-portlet__body">
<div id="tasklist-table"></div>
</div>
</div>
<div class="kt-form__actions">
<?= Html::a('<i class="fas fa-arrow-left"></i> Back', ['index'], ['class' => 'btn btn-outline-brand']) ?>
<?= Html::a('<i class="fas fa-sync"></i> Reset', [Yii::$app->controller->action->id], ['class' => 'btn btn-outline-success']); ?>
<?= Html::button('<i class="fas fa-plus"></i> Create Project', ['class' => 'btn btn-info', 'onclick' => 'checkformcreate()']); ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
<?php include 'footer.php'; ?>
<script>
function checkformcreate() {
var status = 1;
var msg = '';
if ($('#projects-template_id').val() === '') {
msg += 'Workflow Template cannot be blank<br/>';
status = 0;
}
if ($('#projects-name').val() === '') {
msg += 'Project Name cannot be blank<br/>';
status = 0;
}
if ($(".picno")[0]) {
var statuspic = 1;
$('#piclist select').each(function () {
if ($(this).val() === '') {
statuspic = 0;
}
});
if (statuspic === 0) {
msg += 'Please complete the Assign To (Person In-Charge) details<br/>';
status = 0;
}
} else {
msg += 'Assign To (Person In-Charge) cannot be blank<br/>';
status = 0;
}
if ($('#projects-template_id').val() === '1') {
//check task details
var statustask = 1;
$('input[name^="taskno"]').each(function () {
var taskno = $(this).val();
if ($('#task_checkbox_' + taskno).is(":checked")) {
if ($('input[name="task_sort_' + taskno + '"]').val() === '')
statustask = 0;
if ($('input[name="task_name_' + taskno + '"]').val() === '')
statustask = 0;
if ($('#task_assignto_' + taskno).val() === '')
statustask = 0;
if ($('input[name="task_duration_' + taskno + '"]').val() === '')
statustask = 0;
if ($('input[name="task_startdt_' + taskno + '"]').val() === '')
statustask = 0;
if ($('input[name="task_enddt_' + taskno + '"]').val() === '')
statustask = 0;
}
});
if (statustask === 0) {
msg += 'Please complete the Task details<br/>';
status = 0;
}
}
if (status === 0) {
Swal.fire({
title: 'Please complete the form',
html: msg,
type: 'warning'
});
}
if (status === 1)
$('#w0').submit();
}
function generatetasklist(template_id) {
if (template_id !== '') {
var start_dt = $('#projects-start_dt').val();
$.ajax({
url: "index.php?r=templates/generatetasklist",
method: "POST",
data: {"template_id": template_id, "start_dt": start_dt},
async: false,
success: function (response) {
$('#tasklist-table').html(response);
$('#tasklist-wrapper').show();
$('.datepicker').datepicker({
rtl: KTUtil.isRTL(),
todayHighlight: true,
orientation: 'bottom left',
format: 'yyyy-mm-dd',
clearBtn: false,
todayHighlight: true,
});
$('.picno').each(function () {
var no = $(this).val();
var role = $('#pic_role_' + no).val();
var user_id = $('#pic_user_' + no).val();
changeassignto(role, user_id);
});
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
});
var lasttaskdate = $('.taskenddt:last').val();
$('#projects-end_dt').datepicker("setDate", lasttaskdate);
$(".taskassignto").selectpicker('refresh');
},
});
}
}
function changeassignto(role, user_id) {
$('.assignto_' + role).val(user_id);
$('.assignto_' + role).selectpicker('refresh');
}
function copyprevdttask(copyfromID) {
var copydate = $('#task_startdt_' + copyfromID).val();
var copytoID = copyfromID + 1;
$('#task_startdt_' + copytoID).datepicker("setDate", copydate);
updatetaskenddate(copytoID);
}
function removetask(no) {
var checkbox_status = $('#task_checkbox_' + no).is(':checked');
if (checkbox_status === true) {
jQuery('#rowtask_' + no).css('opacity', '1');
} else {
jQuery('#rowtask_' + no).css('opacity', '0.3');
}
}
function removephase(no) {
var checkbox_status = $('#phase_checkbox_' + no).is(':checked');
if (checkbox_status === true) {
$('.rowphase_' + no + ' :checkbox').prop('checked', true);
jQuery('.rowphase_' + no).css('opacity', '1');
} else {
$('.rowphase_' + no + ' :checkbox').prop('checked', false);
jQuery('.rowphase_' + no).css('opacity', '0.3');
}
}
</script>