Skip to content

Commit

Permalink
Changes #476
Browse files Browse the repository at this point in the history
  • Loading branch information
remdex committed Aug 11, 2014
1 parent 138afef commit 9765e6b
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 17 deletions.
16 changes: 11 additions & 5 deletions lhc_web/design/defaulttheme/tpl/lhdepartament/form.tpl.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,19 @@
<label><input type="checkbox" name="sud" value="1" <?php if ($departament->sud == 1) : ?>checked="checked"<?php endif;?> /> <?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Sunday');?></label>
</div>
</div>
<h4><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Work hours, 24 hours format, 1 - 24');?></h4>
<h4><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Work hours, 24 hours format, 1 - 24, minutes format 0 - 60');?></h4>
<div class="row">
<div class="columns large-6">
<input type="text" name="StartHour" title="<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','From, E.g. 8');?>" value="<?php echo htmlspecialchars($departament->start_hour);?>" />
<div class="columns large-4">
<input type="text" name="StartHour" title="<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Hours from, E.g. 8');?>" value="<?php echo htmlspecialchars($departament->start_hour_front);?>" />
</div>
<div class="columns large-6">
<input type="text" name="EndHour" title="<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','To, E.g. 17');?>" value="<?php echo htmlspecialchars($departament->end_hour);?>" />
<div class="columns large-2">
<input type="text" name="StartHourMinit" title="<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Minutes from, E.g. 30');?>" value="<?php echo htmlspecialchars($departament->start_minutes_front);?>" />
</div>
<div class="columns large-4">
<input type="text" name="EndHour" title="<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Hours to, E.g. 17');?>" value="<?php echo htmlspecialchars($departament->end_hour_front);?>" />
</div>
<div class="columns large-2">
<input type="text" name="EndHourMinit" title="<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit','Minutes to, E.g. 30');?>" value="<?php echo htmlspecialchars($departament->end_minutes_front);?>" />
</div>
</div>
</div>
Expand Down
3 changes: 2 additions & 1 deletion lhc_web/doc/update_db/update_89.sql
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
INSERT INTO `lh_chat_config` (`identifier`, `value`, `type`, `explain`, `hidden`) VALUES ('suggest_leave_msg','1',0,'Suggest user to leave a message then user chooses offline department',0);
INSERT INTO `lh_chat_config` (`identifier`, `value`, `type`, `explain`, `hidden`) VALUES ('suggest_leave_msg','1',0,'Suggest user to leave a message then user chooses offline department',0);
UPDATE lh_departament SET start_hour = start_hour * 100, end_hour = end_hour * 100;
10 changes: 5 additions & 5 deletions lhc_web/lib/core/lhchat/lhchat.php
Original file line number Diff line number Diff line change
Expand Up @@ -641,14 +641,14 @@ public static function isOnline($dep_id = false, $exclipic = false, $params = ar
$columns = date('N')-1;

if (is_numeric($dep_id)) {
$stmt = $db->prepare("SELECT COUNT(id) AS found FROM lh_departament WHERE online_hours_active = 1 AND start_hour <= :start_hour AND end_hour > :end_hour AND {$daysColumns[$columns]} = 1 AND id = :dep_id");
$stmt = $db->prepare("SELECT COUNT(id) AS found FROM lh_departament WHERE online_hours_active = 1 AND start_hour <= :start_hour AND end_hour >= :end_hour AND {$daysColumns[$columns]} = 1 AND id = :dep_id");
$stmt->bindValue(':dep_id',$dep_id);
} elseif (is_array($dep_id)) {
$stmt = $db->prepare("SELECT COUNT(id) AS found FROM lh_departament WHERE online_hours_active = 1 AND start_hour <= :start_hour AND end_hour > :end_hour AND {$daysColumns[$columns]} = 1 AND id IN (". implode(',', $dep_id) .")");
$stmt = $db->prepare("SELECT COUNT(id) AS found FROM lh_departament WHERE online_hours_active = 1 AND start_hour <= :start_hour AND end_hour >= :end_hour AND {$daysColumns[$columns]} = 1 AND id IN (". implode(',', $dep_id) .")");
}

$stmt->bindValue(':start_hour',date('G'),PDO::PARAM_INT);
$stmt->bindValue(':end_hour',date('G'),PDO::PARAM_INT);
$stmt->bindValue(':start_hour',date('G').date('i'),PDO::PARAM_INT);
$stmt->bindValue(':end_hour',date('G').date('i'),PDO::PARAM_INT);
$stmt->execute();
$rowsNumber = $stmt->fetchColumn();
}
Expand All @@ -665,7 +665,7 @@ public static function isOnline($dep_id = false, $exclipic = false, $params = ar
if ($rowsNumber == 0){ // Perhaps auto active is turned on for some of departments
$daysColumns = array('`mod`','`tud`','`wed`','`thd`','`frd`','`sad`','`sud`');
$columns = date('N')-1;
$stmt = $db->prepare("SELECT COUNT(id) AS found FROM lh_departament WHERE online_hours_active = 1 AND start_hour <= :start_hour AND end_hour > :end_hour AND {$daysColumns[$columns]} = 1");
$stmt = $db->prepare("SELECT COUNT(id) AS found FROM lh_departament WHERE online_hours_active = 1 AND start_hour <= :start_hour AND end_hour >= :end_hour AND {$daysColumns[$columns]} = 1");
$stmt->bindValue(':start_hour',date('G'),PDO::PARAM_INT);
$stmt->bindValue(':end_hour',date('G'),PDO::PARAM_INT);
$stmt->execute();
Expand Down
34 changes: 28 additions & 6 deletions lhc_web/lib/core/lhdepartament/lhdepartament.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,18 @@ public static function validateDepartment(erLhcoreClassModelDepartament & $depar
'StartHour' => new ezcInputFormDefinitionElement(
ezcInputFormDefinitionElement::OPTIONAL, 'int',array('min_range' => 0, 'mx_range' => 24)
),
'StartHourMinit' => new ezcInputFormDefinitionElement(
ezcInputFormDefinitionElement::OPTIONAL, 'int',array('min_range' => 0, 'mx_range' => 60)
),
'inform_unread_delay' => new ezcInputFormDefinitionElement(
ezcInputFormDefinitionElement::OPTIONAL, 'int',array('min_range' => 5)
),
'EndHour' => new ezcInputFormDefinitionElement(
ezcInputFormDefinitionElement::OPTIONAL, 'int',array('min_range' => 0, 'mx_range' => 24)
),
'EndHourMinit' => new ezcInputFormDefinitionElement(
ezcInputFormDefinitionElement::OPTIONAL, 'int',array('min_range' => 0, 'mx_range' => 60)
),
'inform_delay' => new ezcInputFormDefinitionElement(
ezcInputFormDefinitionElement::OPTIONAL, 'int',array('min_range' => 0)
),
Expand Down Expand Up @@ -325,19 +331,35 @@ public static function validateDepartment(erLhcoreClassModelDepartament & $depar
} else {
$department->inform_options = serialize(array());
}



if ( $form->hasValidData( 'StartHour' ) ) {
$department->start_hour = $form->StartHour;
$startHour = $form->StartHour;
} else {
$department->start_hour = 0;
$startHour = 0;
}

if ( $form->hasValidData( 'EndHour' ) ) {
$department->end_hour = $form->EndHour;
$endHour = $form->EndHour;
} else {
$department->end_hour = 0;
$endHour = 0;
}

if ( $form->hasValidData( 'StartHourMinit' ) ) {
$StartHourMinit = str_pad($form->StartHourMinit, 2, '0', STR_PAD_LEFT);
} else {
$StartHourMinit = '00';
}

if ( $form->hasValidData( 'EndHourMinit' ) ) {
$endHourMinit = str_pad($form->EndHourMinit, 2, '0', STR_PAD_LEFT);
} else {
$endHourMinit = '00';
}

$department->start_hour = $startHour.$StartHourMinit;
$department->end_hour = $endHour.$endHourMinit;

if ( $form->hasValidData( 'inform_delay' ) ) {
$department->inform_delay = $form->inform_delay;
} else {
Expand Down
16 changes: 16 additions & 0 deletions lhc_web/lib/models/lhdepartament/erlhcoreclassmodeldepartament.php
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,22 @@ public function __get($var) {
return $this->department_transfer;
break;

case 'start_hour_front':
return floor($this->start_hour/100);
break;

case 'start_minutes_front':
return $this->start_hour - ($this->start_hour_front * 100);
break;

case 'end_hour_front':
return floor($this->end_hour/100);
break;

case 'end_minutes_front':
return $this->end_hour - ($this->end_hour_front * 100);
break;

default:
;
break;
Expand Down

0 comments on commit 9765e6b

Please sign in to comment.