More progress on service messages

master
Mike Koch 7 years ago
parent c00d5641e4
commit a8abfcd4a1
No known key found for this signature in database
GPG Key ID: 9BA5D7F8391455ED

@ -57,6 +57,12 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
</div> </div>
<div class="box-body"> <div class="box-body">
<div class="row"> <div class="row">
<div class="col-md-12 text-right">
<button id="create-button" class="btn btn-success">
<i class="fa fa-plus-circle"></i>&nbsp;
<?php echo $hesklang['create_new']; ?>
</button>
</div>
<div class="col-sm-12"> <div class="col-sm-12">
<?php <?php
@ -96,82 +102,79 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<tbody id="table-body"> <tbody id="table-body">
</tbody> </tbody>
</table> </table>
<div class="panel panel-default">
<div class="panel-heading">
<h4><a name="new_article"></a><?php echo hesk_SESSION('edit_sm') ? $hesklang['edit_sm'] : $hesklang['new_sm']; ?></h4>
</div> </div>
<div class="panel-body"> </div>
<form action="service_messages.php" method="post" name="form1" role="form" class="form-horizontal" data-toggle="validator"> </div>
<div class="overlay" id="overlay">
<i class="fa fa-spinner fa-spin"></i>
</div>
</div>
</section>
</div>
<div class="modal fade" id="service-message-modal" tabindex="-1" role="dialog" style="overflow: hidden">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close cancel-callback" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">
<span id="edit-label"><?php echo $hesklang['edit_sm']; ?></span>
<span id="create-label"><?php echo $hesklang['new_sm']; ?></span>
</h4>
</div>
<form id="manage-category" class="form-horizontal" data-toggle="validator" method="post">
<div class="modal-body">
<div class="form-group"> <div class="form-group">
<div class="row" style="padding-bottom: 10px;">
<label for="style" <label for="style"
class="col-md-2 control-label"><?php echo $hesklang['sm_style']; ?></label> class="col-md-2 control-label"><?php echo $hesklang['sm_style']; ?></label>
<div class="col-md-2"> <div class="col-md-3">
<div class="radio alert pad-5" style="box-shadow: none; border-radius: 4px;"> <div class="radio alert pad-5" style="box-shadow: none; border-radius: 4px;">
<label> <label>
<input type="radio" name="style" value="0" onclick="setIcon('')" <input type="radio" name="style" value="0" onclick="setIcon('')">
<?php if (!isset($_SESSION['new_sm']['style']) || (isset($_SESSION['new_sm']['style']) && $_SESSION['new_sm']['style'] == 0)) {
echo 'checked';
} ?>>
<?php echo $hesklang['sm_none']; ?> <?php echo $hesklang['sm_none']; ?>
</label> </label>
</div> </div>
</div> </div>
<div class="col-md-2"> <div class="col-md-3">
<div class="radio alert alert-success pad-5"> <div class="radio alert alert-success pad-5">
<label style="margin-top: -5px"> <label style="margin-top: -5px">
<input type="radio" name="style" value="1" <input type="radio" name="style" value="1" onclick="setIcon('fa fa-check-circle')">
onclick="setIcon('fa fa-check-circle')"
<?php if (isset($_SESSION['new_sm']['style']) && $_SESSION['new_sm']['style'] == 1) {
echo 'checked';
} ?>>
<?php echo $hesklang['sm_success']; ?> <?php echo $hesklang['sm_success']; ?>
</label> </label>
</div> </div>
</div> </div>
<div class="col-md-2"> <div class="col-md-3">
<div class="radio alert alert-info pad-5" onclick="setIcon('fa fa-comment')"> <div class="radio alert alert-info pad-5" onclick="setIcon('fa fa-comment')">
<label style="margin-top: -5px"> <label style="margin-top: -5px">
<input type="radio" name="style" value="2" <input type="radio" name="style" value="2">
<?php if (isset($_SESSION['new_sm']['style']) && $_SESSION['new_sm']['style'] == 2) {
echo 'checked';
} ?>>
<?php echo $hesklang['sm_info']; ?> <?php echo $hesklang['sm_info']; ?>
</label> </label>
</div> </div>
</div> </div>
<div class="col-md-2"> </div>
<div class="radio alert alert-warning pad-5" <div class="row">
onclick="setIcon('fa fa-exclamation-triangle')"> <div class="col-md-3 col-md-offset-2">
<div class="radio alert alert-warning pad-5">
<label style="margin-top: -5px"> <label style="margin-top: -5px">
<input type="radio" name="style" value="3" <input type="radio" name="style" value="3"
<?php if (isset($_SESSION['new_sm']['style']) && $_SESSION['new_sm']['style'] == 3) { onclick="setIcon('fa fa-exclamation-triangle')">
echo 'checked';
} ?>>
<?php echo $hesklang['sm_notice']; ?> <?php echo $hesklang['sm_notice']; ?>
</label> </label>
</div> </div>
</div> </div>
<div class="col-md-2"> <div class="col-md-3">
<div class="radio alert alert-danger pad-5" onclick="setIcon('fa fa-times-circle')"> <div class="radio alert alert-danger pad-5">
<label style="margin-top: -5px"> <label style="margin-top: -5px">
<input type="radio" name="style" value="4" <input type="radio" name="style" value="4" onclick="setIcon('fa fa-times-circle')">
<?php if (isset($_SESSION['new_sm']['style']) && $_SESSION['new_sm']['style'] == 4) {
echo 'checked';
} ?> >
<?php echo $hesklang['sm_error']; ?> <?php echo $hesklang['sm_error']; ?>
</label> </label>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="form-group"> <div class="form-group">
<label for="icon" class="col-md-2 control-label"><?php echo $hesklang['sm_icon']; ?></label> <label for="icon" class="col-md-2 control-label"><?php echo $hesklang['sm_icon']; ?></label>
<?php
$icon = '';
if (isset($_SESSION['new_sm']['icon'])) {
$icon = $_SESSION['new_sm']['icon'];
}
?>
<div class="col-md-10"> <div class="col-md-10">
<p style="display:none" id="no-icon"><?php echo $hesklang['sm_no_icon']; ?></p> <p style="display:none" id="no-icon"><?php echo $hesklang['sm_no_icon']; ?></p>
@ -181,7 +184,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
id="footer-icon"><?php echo $hesklang['sm_iconpicker_footer_label']; ?></p> id="footer-icon"><?php echo $hesklang['sm_iconpicker_footer_label']; ?></p>
<div name="icon" class="btn btn-default iconpicker-container" data-toggle="iconpicker" <div name="icon" class="btn btn-default iconpicker-container" data-toggle="iconpicker"
data-icon="<?php echo $icon; ?>"></div> data-search="false" data-icon=""></div>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -190,10 +193,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div class="col-md-2"> <div class="col-md-2">
<div class="radio pad-5"> <div class="radio pad-5">
<label> <label>
<input type="radio" name="type" value="0" <input type="radio" name="type" value="0">
<?php if (!isset($_SESSION['new_sm']['type']) || (isset($_SESSION['new_sm']['type']) && $_SESSION['new_sm']['type'] == 0)) {
echo 'checked';
} ?> >
<?php echo $hesklang['sm_published']; ?> <?php echo $hesklang['sm_published']; ?>
</label> </label>
</div> </div>
@ -201,10 +201,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div class="col-md-2"> <div class="col-md-2">
<div class="radio pad-5"> <div class="radio pad-5">
<label> <label>
<input type="radio" name="type" value="1" <input type="radio" name="type" value="1">
<?php if (isset($_SESSION['new_sm']['type']) && $_SESSION['new_sm']['type'] == 1) {
echo 'checked';
} ?> >
<?php echo $hesklang['sm_draft']; ?> <?php echo $hesklang['sm_draft']; ?>
</label> </label>
</div> </div>
@ -213,14 +210,11 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div class="form-group"> <div class="form-group">
<label for="title" <label for="title"
class="col-md-2 control-label"><?php echo $hesklang['sm_mtitle']; ?></label> class="col-md-2 control-label"><?php echo $hesklang['sm_mtitle']; ?></label>
<div class="col-md-10"> <div class="col-md-10">
<input class="form-control" <input class="form-control"
placeholder="<?php echo htmlspecialchars($hesklang['sm_mtitle']); ?>" placeholder="<?php echo htmlspecialchars($hesklang['sm_mtitle']); ?>"
type="text" name="title" size="70" maxlength="255" type="text" name="title" size="70" maxlength="255"
<?php if (isset($_SESSION['new_sm']['title'])) { data-error="<?php echo htmlspecialchars($hesklang['sm_e_title']); ?>" required>
echo 'value="' . $_SESSION['new_sm']['title'] . '"';
} ?> data-error="<?php echo htmlspecialchars($hesklang['sm_e_title']); ?>" required>
<div class="help-block with-errors"></div> <div class="help-block with-errors"></div>
</div> </div>
</div> </div>
@ -230,17 +224,10 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div class="col-md-10"> <div class="col-md-10">
<textarea placeholder="<?php echo htmlspecialchars($hesklang['sm_msg']); ?>" <textarea placeholder="<?php echo htmlspecialchars($hesklang['sm_msg']); ?>"
class="form-control" name="message" rows="25" cols="70" id="content"> class="form-control" name="message" rows="25" cols="70" id="content"></textarea>
<?php if (isset($_SESSION['new_sm']['message'])) {
echo $_SESSION['new_sm']['message'];
} ?>
</textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<?php echo isset($_SESSION['edit_sm']) ? '<input type="hidden" name="a" value="save_sm" /><input type="hidden" name="id" value="' . intval($_SESSION['new_sm']['id']) . '" />' : '<input type="hidden" name="a" value="new_sm" />'; ?>
<input type="hidden" name="token" value="<?php hesk_token_echo(); ?>"/>
<div class="col-md-10 col-md-offset-2"> <div class="col-md-10 col-md-offset-2">
<div class="btn-group" role="group"> <div class="btn-group" role="group">
<input type="submit" name="sm_save" value="<?php echo $hesklang['sm_save']; ?>" <input type="submit" name="sm_save" value="<?php echo $hesklang['sm_save']; ?>"
@ -250,22 +237,30 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
</div> </div>
</div> </div>
</div> </div>
</form>
</div>
</div>
</div> </div>
<div class="modal-footer">
<input type="hidden" name="id">
<input type="hidden" name="cat-order">
<div id="action-buttons" class="btn-group">
<button type="button" class="btn btn-default cancel-button cancel-callback" data-dismiss="modal">
<i class="fa fa-times-circle"></i>
<span><?php echo $hesklang['cancel']; ?></span>
</button>
<button type="submit" class="btn btn-success save-button">
<i class="fa fa-check-circle"></i>
<span><?php echo $hesklang['save']; ?></span>
</button>
</div> </div>
</div> </div>
<div class="overlay" id="overlay"> </form>
<i class="fa fa-spinner fa-spin"></i>
</div> </div>
</div> </div>
</section>
</div> </div>
<?php <?php
echo mfh_get_hidden_fields_for_language(array( echo mfh_get_hidden_fields_for_language(array(
'sm_published', 'sm_published',
'sm_draft', 'sm_draft',
'no_sm',
)); ));
echo '<script>var users = [];'; echo '<script>var users = [];';

@ -6,7 +6,6 @@ use BusinessLogic\Security\UserContext;
use BusinessLogic\ServiceMessages\ServiceMessage; use BusinessLogic\ServiceMessages\ServiceMessage;
use BusinessLogic\ServiceMessages\ServiceMessageHandler; use BusinessLogic\ServiceMessages\ServiceMessageHandler;
use Controllers\JsonRetriever; use Controllers\JsonRetriever;
use Symfony\Component\EventDispatcher\Tests\Service;
class ServiceMessagesController extends \BaseClass { class ServiceMessagesController extends \BaseClass {
function get() { function get() {

@ -3,7 +3,6 @@ var serviceMessages = [];
$(document).ready(function() { $(document).ready(function() {
loadTable(); loadTable();
bindEditModal(); bindEditModal();
bindModalCancelCallback();
bindFormSubmit(); bindFormSubmit();
bindDeleteButton(); bindDeleteButton();
bindCreateModal(); bindCreateModal();
@ -24,7 +23,7 @@ function loadTable() {
$tableBody.html(''); $tableBody.html('');
if (data.length === 0) { if (data.length === 0) {
// TODO "No Service Messages Found" $tableBody.append('<tr><td colspan="4">' + mfhLang.text('no_sm') + '</td></tr>');
$('#overlay').hide(); $('#overlay').hide();
return; return;
} }
@ -63,15 +62,10 @@ function loadTable() {
} }
}, },
error: function(data) { error: function(data) {
mfhAlert.errorWithLog(mfhLang.text('error_retrieving_categories'), data.responseJSON); mfhAlert.errorWithLog(mfhLang.text('error_retrieving_sm'), data.responseJSON);
console.error(data); console.error(data);
}, },
complete: function() { complete: function() {
refreshBackgroundVolatileItems();
$('[data-toggle="popover"]').popover({
trigger: 'hover',
container: 'body'
});
$('#overlay').hide(); $('#overlay').hide();
} }
}); });
@ -184,49 +178,19 @@ function bindEditModal() {
function bindCreateModal() { function bindCreateModal() {
$('#create-button').click(function() { $('#create-button').click(function() {
var $modal = $('#category-modal'); var $modal = $('#service-message-modal');
$modal.find('#edit-label').hide(); $modal.find('#edit-label').hide().end()
$modal.find('#create-label').show(); .find('#create-label').show().end()
.find('input[name="style"][value="0"]').prop('checked', 'checked').end() // "None" style
$modal.find('input[name="name"]').val(''); .find('input[name="type"][value="0"]').prop('checked', 'checked').end() // Published
$modal.find('select[name="priority"]').val(3); // Low priority .find('input[name="title"]').val('').end();
$modal.find('select[name="usage"]').val(0); // Tickets and events setIcon('');
$modal.find('input[name="id"]').val(-1); tinyMCE.get('content').setContent('');
$modal.find('textarea[name="description"]').val('');
$modal.find('input[name="cat-order"]').val('');
$modal.find('input[name="type"][value="0"]').prop('checked', 'checked');
$modal.find('input[name="autoassign"][value="0"]').prop('checked', 'checked');
$modal.find('input[name="display-border"][value="0"]')
.prop('checked', 'checked');
var colorpickerOptions = {
format: 'hex',
color: '#fff'
};
$modal.find('input[name="background-color"]')
.colorpicker(colorpickerOptions).end().modal('show');
$modal.find('input[name="background-color"]').val('');
$modal.find('input[name="foreground-color"]')
.colorpicker(colorpickerOptions).end().modal('show');
$modal.find('input[name="foreground-color"]').val('');
$modal.modal('show'); $modal.modal('show');
}); });
} }
function bindModalCancelCallback() {
$('.cancel-callback').click(function() {
var $editCategoryModal = $('#category-modal');
$editCategoryModal.find('input[name="background-color"]').val('').colorpicker('destroy').end();
$editCategoryModal.find('input[name="foreground-color"]').val('').colorpicker('destroy').end();
$editCategoryModal.find('input[name="display-border"][value="1"]').prop('checked');
$editCategoryModal.find('input[name="display-border"][value="0"]').prop('checked');
$editCategoryModal.find('input[name="autoassign"][value="1"]').prop('checked');
$editCategoryModal.find('input[name="autoassign"][value="0"]').prop('checked');
});
}
function bindFormSubmit() { function bindFormSubmit() {
$('form#manage-category').submit(function(e) { $('form#manage-category').submit(function(e) {
e.preventDefault(); e.preventDefault();

@ -2215,5 +2215,8 @@ $hesklang['audit_due_date_changed'] = '%s changed due date to %s';
$hesklang['audit_linked_ticket'] = '%s linked ticket %s to this ticket'; $hesklang['audit_linked_ticket'] = '%s linked ticket %s to this ticket';
$hesklang['audit_unlinked_ticket'] = '%s unlinked ticket %s'; $hesklang['audit_unlinked_ticket'] = '%s unlinked ticket %s';
// Added or modified in Mods for HESK 3.3.0
$hesklang['error_retrieving_sm'] = 'An error occurred retrieving service messages!';
// DO NOT CHANGE BELOW // DO NOT CHANGE BELOW
if (!defined('IN_SCRIPT')) die('PHP syntax OK!'); if (!defined('IN_SCRIPT')) die('PHP syntax OK!');

Loading…
Cancel
Save