diff --git a/include/class.queue.php b/include/class.queue.php index 73089f78c3d126f9946995b570faf75c906e37ec..5b8b489e79147e3a6948665c90d2b17536f20c38 100644 --- a/include/class.queue.php +++ b/include/class.queue.php @@ -538,7 +538,8 @@ class CustomQueue extends VerySimpleModel { 'source' => __('Source'), 'status::getName' =>__('Current Status'), 'lastupdate' => __('Last Updated'), - 'est_duedate' => __('Due Date'), + 'est_duedate' => __('SLA Due Date'), + 'duedate' => __('Due Date'), 'isoverdue' => __('Overdue'), 'isanswered' => __('Answered'), 'staff::getName' => __('Agent Assigned'), @@ -547,30 +548,30 @@ class CustomQueue extends VerySimpleModel { 'attachment_count' => __('Attachment Count'), ) + $cdata; - return $fields; } - function getExportFields() { + function getExportFields($inherit=true) { $fields = array(); - if ($this->parent_id + if ($inherit + && $this->parent_id && $this->hasFlag(self::FLAG_INHERIT_EXPORT) && $this->parent ) { $fields = $this->parent->getExportFields(); } elseif (count($this->exports)) { - $fields = $this->exports; + foreach ($this->exports as $f) + $fields[$f->path] = $f->getHeading(); } elseif ($this->isAQueue()) - return $this->getExportableFields(); + $fields = $this->getExportableFields(); - $_fields = array(); - foreach ($fields as $f) - $_fields[$f->path] = $f->getHeading(); + if (!count($fields)) + $fields = $this->getExportableFields(); - return $_fields; + return $fields; } function getColumns($use_template=false) { @@ -713,7 +714,7 @@ class CustomQueue extends VerySimpleModel { if (!($query=$this->getBasicQuery())) return false; - if (!($fields=$this->getFields())) + if (!($fields=$this->getExportFields())) return false; return Export::saveTickets($query, $fields, $filename, $format); @@ -953,7 +954,7 @@ class CustomQueue extends VerySimpleModel { $this->setFlag(self::FLAG_INHERIT_COLUMNS, $this->parent_id > 0 && isset($vars['inherit-columns'])); $this->setFlag(self::FLAG_INHERIT_EXPORT, - $this->parent_id > 0 && isset($vars['inherit-fields'])); + $this->parent_id > 0 && isset($vars['inherit-exports'])); $this->setFlag(self::FLAG_INHERIT_SORTING, $this->parent_id > 0 && isset($vars['inherit-sorting'])); @@ -1023,6 +1024,9 @@ class CustomQueue extends VerySimpleModel { $this->exports->sort(function($f) { return $f->sort; }); } + if (!count($this->exports) && $this->parent) + $this->hasFlag(self::FLAG_INHERIT_EXPORT); + // Update advanced sorting options for the queue if (isset($vars['sorts']) && !$this->hasFlag(self::FLAG_INHERIT_SORTING)) { $new = $order = $vars['sorts']; diff --git a/include/staff/templates/queue-fields.tmpl.php b/include/staff/templates/queue-fields.tmpl.php index be207a07c7fe9dd5f54a0be06256c6779ed07b95..fffaa7a4e176bdb2805029902de418ef51f789d4 100644 --- a/include/staff/templates/queue-fields.tmpl.php +++ b/include/staff/templates/queue-fields.tmpl.php @@ -4,7 +4,7 @@ if ($queue->parent) { ?> <tbody> <tr> <td colspan="3"> - <input type="checkbox" name="inherit-fields" <?php + <input type="checkbox" name="inherit-exports" <?php if ($queue->inheritExport()) echo 'checked="checked"'; ?> onchange="javascript:$(this).closest('table').find('.if-not-inherited').toggle(!$(this).prop('checked'));" /> <?php echo __('Inherit export fields from the parent queue'); ?> @@ -19,7 +19,7 @@ if ($queue->parent) { ?> <tbody> <tr> <td colspan="3"> - <input type="checkbox" name="inherit-fields" <?php + <input type="checkbox" name="inherit-exports" <?php if (count($queue->exports) == 0) echo 'checked="checked"'; if ($queue instanceof SavedSearch) echo 'disabled="disabled"'; ?> onchange="javascript:$(this).closest('table').find('.if-not-inherited').toggle(!$(this).prop('checked'));" /> @@ -86,7 +86,6 @@ var Q = setInterval(function() { clearInterval(Q); var addField = function(field, info) { - console.log(field, info); if (!field) return; var i = $('#fields tr.field-entry').length; @@ -137,7 +136,7 @@ var Q = setInterval(function() { return false; }); <?php - foreach ($queue->getExportFields() as $k => $v) { + foreach ($queue->getExportFields(false) as $k => $v) { echo sprintf('addField(%s, {name: %s, heading: %s});', JsonDataEncoder::encode($k), JsonDataEncoder::encode($v),