1<?php 2stylesheet_tag(theme_path('css/orangehrm.datepicker.css')); 3use_javascript('orangehrm.datepicker.js'); 4 5if($employeeReportsPermissions->canRead()){ 6?> 7<div class="box"> 8 <div class="head"><h1 id="reportToHeading"><?php echo __($reportName); ?></h1></div> 9 <div class="inner"> 10 <?php include_partial('global/flash_messages'); ?> 11 <form action="<?php echo url_for("time/displayEmployeeReportCriteria?reportId=2"); ?>" id="reportForm" method="post"> 12 <?php echo $form['_csrf_token']; ?> 13 <fieldset> 14 <ol> 15 <?php foreach ($sf_data->getRaw('runtimeFilterFieldWidgetNamesAndLabelsList') as $label): ?> 16 <?php echo $reportForm->renderHiddenFields(); ?> 17 <li> 18 <?php echo $reportForm[$label['labelName']]->renderLabel(); ?> 19 <?php echo $reportForm[$label['labelName']]->render(); ?><?php echo $reportForm[$label['labelName']]->renderError(); ?> 20 </li> 21 <?php endforeach; ?> 22 <li class="required"> 23 <em>*</em> <?php echo __(CommonMessages::REQUIRED_FIELD); ?> 24 </li> 25 26 </ol> 27 <p> 28 <input type="button" id="viewbutton" value="<?php echo __('View') ?>" /> 29 </p> 30 31 </fieldset> 32 </form> 33 </div> 34</div> 35<?php }?> 36 <script type="text/javascript"> 37 var datepickerDateFormat = '<?php echo get_datepicker_date_format($sf_user->getDateFormat()); ?>'; 38 var lang_dateError = '<?php echo __js("To date should be after from date") ?>'; 39 var lang_validDateMsg = '<?php echo __js(ValidationMessages::DATE_FORMAT_INVALID, array('%format%' => str_replace('yy', 'yyyy', get_datepicker_date_format($sf_user->getDateFormat())))) ?>'; 40 var lang_required = '<?php echo __js(ValidationMessages::REQUIRED); ?>'; 41 var lang_empNamerequired = '<?php echo __js(ValidationMessages::REQUIRED); ?>'; 42 var lang_activityRequired = '<?php echo __js(ValidationMessages::REQUIRED)?>'; 43 var lang_validEmployee = '<?php echo __js(ValidationMessages::INVALID); ?>'; 44 $(document).ready(function() { 45 46 47 $('#viewbutton').click(function() { 48 $('#reportForm').submit(); 49 }); 50 51 $('#employee_empName').result(function(event, item) { 52 $(this).valid(); 53 }); 54 55 $.validator.addMethod("validEmployee", function(value, element) { 56 var defaultValue = $('#employee_empName').data('typeHint'); 57 validEmployee = true; 58 59 if (value != '' && value != defaultValue) { 60 var matchFound = false; 61 var empId = $('#employee_empId').val(); 62 63 if (empId != '') { 64 var lowerCaseName = value.toLowerCase(); 65 66 for (i = 0; i < employeesArray.length; i++) { 67 if (empId == employeesArray[i].id) { 68 var arrayName = employeesArray[i].name.toLowerCase(); 69 70 if (lowerCaseName == arrayName) { 71 matchFound = true; 72 } 73 break; 74 } 75 } 76 } 77 if (!matchFound) { 78 validEmployee = false; 79 } 80 } 81 return validEmployee; 82 }); 83 84 85 var validator = $("#reportForm").validate({ 86 87 rules: { 88 'time[employee][empName]' : { 89 required: true, 90 no_default_value: function() { 91 return { 92 defaults: $('#employee_empName').data('typeHint') 93 } 94 }, 95 validEmployee:true, 96 onkeyup: false 97 }, 98 'time[activity_name]' : { 99 required:true 100 }, 101 'time[project_date_range][from]' : { 102 valid_date: function() { 103 return { 104 format:datepickerDateFormat, 105 required:false, 106 displayFormat:displayDateFormat 107 } 108 }}, 109 'time[project_date_range][to]' : { 110 valid_date: function() { 111 return { 112 format:datepickerDateFormat, 113 required:false, 114 displayFormat:displayDateFormat 115 } 116 }, 117 date_range: function() { 118 return { 119 format:datepickerDateFormat, 120 displayFormat:displayDateFormat, 121 fromDate:$('#project_date_range_from_date').val() 122 } 123 } 124 } 125 }, 126 messages: { 127 'time[employee][empName]' : { 128 required: lang_empNamerequired, 129 no_default_value: lang_empNamerequired, 130 validEmployee: lang_validEmployee 131 }, 132 'time[activity_name]' : { 133 required: lang_activityRequired 134 }, 135 'time[project_date_range][from]' : { 136 valid_date: lang_validDateMsg 137 }, 138 'time[project_date_range][to]' : { 139 valid_date: lang_validDateMsg, 140 date_range:lang_dateError 141 } 142 143 }, 144 errorPlacement: function(error, element) { 145 if (element.attr("name") == "time[project_date_range][to]") { 146 var toDatePos = $('#project_date_range_to_date').position(); 147 error.css('left', toDatePos.left); 148 } 149 error.insertAfter(element); 150 } 151 }); 152 }); 153 154 function Date_toYMD() { 155 var dt=new Date(); 156 var year, month, day; 157 year = String(dt.getFullYear()); 158 month = String(dt.getMonth() + 1); 159 if (month.length == 1) { 160 month = "0" + month; 161 } 162 day = String(dt.getDate()); 163 if (day.length == 1) { 164 day = "0" + day; 165 } 166 return year + "-" + month + "-" + day; 167} 168</script> 169