Helpdesk da PluGzOne, baseado no osTicket
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

188 lines
6.1 KiB

<?php
// Tasks' mass actions based on logged in agent
$actions = array();
if ($agent->hasPerm(Task::PERM_CLOSE, false)) {
if (isset($options['status'])) {
$status = $options['status'];
if (strpos($status, 'closed') !== false) {
$actions += array(
'reopen' => array(
'icon' => 'icon-undo',
'action' => __('Reopen')
));
}
if (strpos($status, 'open') !== false) {
$actions += array(
'close' => array(
'icon' => 'icon-ok-circle',
'action' => __('Close')
));
}
}
}
if ($agent->hasPerm(Task::PERM_ASSIGN, false)) {
$actions += array(
'claim' => array(
'icon' => 'icon-user',
'action' => __('Claim')
));
$actions += array(
'assign/agents' => array(
'icon' => 'icon-user',
'action' => __('Assign to Agent')
));
$actions += array(
'assign/teams' => array(
'icon' => 'icon-group',
'action' => __('Assign to Team')
));
}
if ($agent->hasPerm(Task::PERM_TRANSFER, false)) {
$actions += array(
'transfer' => array(
'icon' => 'icon-share',
'action' => __('Transfer')
));
}
if ($agent->hasPerm(Task::PERM_DELETE, false)) {
$actions += array(
'delete' => array(
'class' => 'danger',
'icon' => 'icon-trash',
'action' => __('Delete')
));
}
if ($actions && isset($options['status'])) {
$more = $options['morelabel'] ?: __('More');
?>
<span
class="action-button"
data-dropdown="#action-dropdown-moreoptions">
<i class="icon-caret-down pull-right"></i>
<a class="tasks-action"
href="#moreoptions"><i
class="icon-reorder"></i> <?php
echo $more; ?></a>
</span>
<div id="action-dropdown-moreoptions"
class="action-dropdown anchor-right">
<ul>
<?php foreach ($actions as $a => $action) { ?>
<li <?php
if ($action['class'])
echo sprintf("class='%s'", $action['class']); ?> >
<a class="no-pjax tasks-action"
<?php
if ($action['dialog'])
echo sprintf("data-dialog-config='%s'", $action['dialog']);
if ($action['redirect'])
echo sprintf("data-redirect='%s'", $action['redirect']);
?>
href="<?php
echo sprintf('#tasks/mass/%s', $a); ?>"
><i class="icon-fixed-width <?php
echo $action['icon'] ?: 'icon-tag'; ?>"></i> <?php
echo $action['action']; ?></a>
</li>
<?php
} ?>
</ul>
</div>
<?php
} else {
// Mass Claim/Assignment
if ($agent->hasPerm(Task::PERM_ASSIGN, false)) {?>
<span
class="action-button" data-placement="bottom"
data-dropdown="#action-dropdown-assign" data-toggle="tooltip" title=" <?php
echo __('Assign'); ?>">
<i class="icon-caret-down pull-right"></i>
<a class="tasks-action" id="tasks-assign"
href="#tasks/mass/assign"><i class="icon-user"></i></a>
</span>
<div id="action-dropdown-assign" class="action-dropdown anchor-right">
<ul>
<li><a class="no-pjax tasks-action"
href="#tasks/mass/claim"><i
class="icon-chevron-sign-down"></i> <?php echo __('Claim'); ?></a>
<li><a class="no-pjax tasks-action"
href="#tasks/mass/assign/agents"><i
class="icon-user"></i> <?php echo __('Agent'); ?></a>
<li><a class="no-pjax tasks-action"
href="#tasks/mass/assign/teams"><i
class="icon-group"></i> <?php echo __('Team'); ?></a>
</ul>
</div>
<?php
}
// Mass Transfer
if ($agent->hasPerm(Task::PERM_TRANSFER, false)) {?>
<span class="action-button">
<a class="tasks-action" id="tasks-transfer" data-placement="bottom"
data-toggle="tooltip" title="<?php echo __('Transfer'); ?>"
href="#tasks/mass/transfer"><i class="icon-share"></i></a>
</span>
<?php
}
// Mass Delete
if ($agent->hasPerm(Task::PERM_DELETE, false)) {?>
<span class="red button action-button">
<a class="tasks-action" id="tasks-delete" data-placement="bottom"
data-toggle="tooltip" title="<?php echo __('Delete'); ?>"
href="#tasks/mass/delete"><i class="icon-trash"></i></a>
</span>
<?php
}
} ?>
<script type="text/javascript">
$(function() {
$(document).off('.tasks-actions');
$(document).on('click.tasks-actions', 'a.tasks-action', function(e) {
e.preventDefault();
var $form = $('form#tasks');
var count = checkbox_checker($form, 1);
if (count) {
var tids = $('.ckb:checked', $form).map(function() {
return this.value;
}).get();
var url = 'ajax.php/'
+$(this).attr('href').substr(1)
+'?count='+count
+'&tids='+tids.join(',')
+'&_uid='+new Date().getTime();
var $redirect = $(this).data('redirect');
$.dialog(url, [201], function (xhr) {
$.pjax.defaults.timeout = 30000;
if (!!$redirect)
$.pjax({url: $redirect, container:'#pjax-container'});
else
<?php
if (isset($options['callback_url']))
echo sprintf("$.pjax({url: '%s', container: '%s', push: false});",
$options['callback_url'],
@$options['container'] ?: '#pjax-container'
);
else
echo sprintf("$.pjax.reload('%s');",
@$options['container'] ?: '#pjax-container');
?>
});
}
return false;
});
});
</script>