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