aboutsummaryrefslogtreecommitdiff
path: root/app/views/admin/mailqueue
diff options
context:
space:
mode:
authorMichaela Brückner <brueckner@data-quest.de>2025-01-20 15:09:23 +0100
committerMichaela Brückner <brueckner@data-quest.de>2025-01-20 15:09:23 +0100
commit83817638210b9cdb200dda87feabafea51339cb3 (patch)
tree708cb4d583def303a44d63f00b27a3d4727de6cd /app/views/admin/mailqueue
parent8760271247efabba2f785d060c4ca77624115a8c (diff)
initial commit, re #5157
Diffstat (limited to 'app/views/admin/mailqueue')
-rw-r--r--app/views/admin/mailqueue/delete_entry.php12
-rw-r--r--app/views/admin/mailqueue/delete_old.php12
-rw-r--r--app/views/admin/mailqueue/index.php42
-rw-r--r--app/views/admin/mailqueue/showoldqueue.php65
4 files changed, 131 insertions, 0 deletions
diff --git a/app/views/admin/mailqueue/delete_entry.php b/app/views/admin/mailqueue/delete_entry.php
new file mode 100644
index 0000000..0e7122a
--- /dev/null
+++ b/app/views/admin/mailqueue/delete_entry.php
@@ -0,0 +1,12 @@
+<form action="<?= $controller->link_for("admin/mailqueue/delete_entry/" . $queue_id . "/" . $oldornew) ?>"
+ class="default" method="post">
+ <?= CSRFProtection::tokenTag() ?>
+ <label>
+ <span><?= _('Möchten Sie den Eintrag aus der Mailqueue löschen?') ?>
+ </span>
+ </label>
+ <div data-dialog-button>
+ <?= Studip\Button::create(_('Eintrag löschen')) ?>
+ </div>
+</form>
+
diff --git a/app/views/admin/mailqueue/delete_old.php b/app/views/admin/mailqueue/delete_old.php
new file mode 100644
index 0000000..9783335
--- /dev/null
+++ b/app/views/admin/mailqueue/delete_old.php
@@ -0,0 +1,12 @@
+<form action="<?= $controller->link_for("admin/mailqueue/delete_old/") ?>"
+ class="default" method="post">
+ <?= CSRFProtection::tokenTag() ?>
+ <label>
+ <span><?= _('Möchten Sie alle Einträge aus der Mailqueue löschen, die mindestens ein Jahr alt sind?') ?>
+ </span>
+ </label>
+ <div data-dialog-button>
+ <?= Studip\Button::create(_('Einträge löschen')) ?>
+ </div>
+</form>
+
diff --git a/app/views/admin/mailqueue/index.php b/app/views/admin/mailqueue/index.php
new file mode 100644
index 0000000..52652c0
--- /dev/null
+++ b/app/views/admin/mailqueue/index.php
@@ -0,0 +1,42 @@
+<article class="studip">
+ <table class="default sortable-table" data-sortlist="[[0, 1]]">
+ <caption><?= _('Aktuelle Mailqueue-Einträge') ?></caption>
+
+ <thead>
+ <tr class="sortable">
+ <th data-sort="htmldata"><?= _('Letzte Änderung') ?></th>
+ <th data-empty="zero" data-sort="text"><?= _('Betreff') ?></th>
+ <th data-sort="htmldata"><?= _('Message ID') ?></th>
+ <th data-empty="zero" data-sort="text"><?= _('Empfänger') ?></th>
+ <th data-sort="htmldata"><?= _('Versuche') ?></th>
+ <th data-sort="htmldata"><?= _('Letzter Sendeversuch') ?></th>
+ <th><?= _('Eintrag löschen') ?></th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <? foreach ($this->mailqueues as $queue_entry) : ?>
+ <? $mail_content = json_decode($queue_entry->mail) ?>
+ <tr>
+ <td data-sort-value="<?= $queue_entry->chdate ?>"><?= htmlReady( date('d.m.Y H:i', $queue_entry->chdate)) ?></td>
+ <td><?= htmlReady($mail_content->subject) ?></td>
+ <td data-sort-value="<?= $queue_entry->message_id ?>"><?= htmlReady($queue_entry->message_id) ?></td>
+ <td><? $user = User::find($queue_entry->user_id) ?><?= htmlReady($user->vorname . ' ' . $user->nachname)?></td>
+ <td data-sort-value="<?= $queue_entry->tries ?>"><?= htmlReady($queue_entry->tries) ?></td>
+ <td data-sort-value="<?= $queue_entry->last_try ?>"><? if ($queue_entry->last_try != 0) echo htmlReady(date('d.m.Y H:i', $queue_entry->last_try)) ?></td>
+ <td>
+ <? $actionmenu = ActionMenu::get(); ?>
+ <? $actionmenu->addLink(PluginEngine::getURL('mailqueuevisualisation', array(), "mailqueue/delete_entry/" . $queue_entry->mail_queue_id . "/new"),
+ _('Eintrag löschen'),
+ Icon::create('trash'),
+ ['data-dialog' => 'size=auto']); ?>
+ <?= $actionmenu->render(); ?>
+ </td>
+ </tr>
+ <? endforeach ?>
+
+ </tbody>
+ </table>
+</article>
+
+
diff --git a/app/views/admin/mailqueue/showoldqueue.php b/app/views/admin/mailqueue/showoldqueue.php
new file mode 100644
index 0000000..f11d923
--- /dev/null
+++ b/app/views/admin/mailqueue/showoldqueue.php
@@ -0,0 +1,65 @@
+<article class="studip">
+ <table id="oldqueue" class="default" >
+ <caption><?= _('Mailqueue-Einträge, die mindestens ein halbes Jahr alt sind') ?></caption>
+
+ <thead>
+ <tr class="sortable">
+ <th data-sort="htmldata"><?= _('Letzte Änderung') ?></th>
+ <th data-empty="zero" data-sort="text"><?= _('Betreff') ?></th>
+ <th data-sort="htmldata"><?= _('Message ID') ?></th>
+ <th data-empty="zero" data-sort="text"><?= _('Empfänger') ?></th>
+ <th data-sort="htmldata"><?= _('Versuche') ?></th>
+ <th data-sort="htmldata"><?= _('Letzter Sendeversuch') ?></th>
+ <th><?= _('Eintrag löschen') ?></th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <? foreach ($this->old_mailqueues as $queue_entry) : ?>
+ <tr>
+ <td data-sort-value="<?= $queue_entry->chdate ?>"><?= htmlReady( date('d.m.Y H:i', $queue_entry->chdate)) ?></td>
+ <td><? $message = Message::find($queue_entry->message_id) ?>
+ <?= htmlReady($message->subject) ?>
+ </td>
+ <td data-sort-value="<?= $queue_entry->message_id ?>"><?= htmlReady($queue_entry->message_id) ?></td>
+ <td><? $user = User::find($queue_entry->user_id) ?>
+ <?= htmlReady($user->vorname . ' ' . $user->nachname)?>
+ </td>
+ <td data-sort-value="<?= $queue_entry->tries ?>"><?= htmlReady($queue_entry->tries) ?></td>
+ <td data-sort-value="<?= $queue_entry->last_try ?>"><? if ($queue_entry->last_try != 0) echo htmlReady(date('d.m.Y H:i', $queue_entry->last_try)) ?></td>
+ <td>
+ <? $actionmenu = ActionMenu::get(); ?>
+ <? $actionmenu->addLink(PluginEngine::getURL('mailqueuevisualisation', array(), "mailqueue/delete_entry/" . $queue_entry->mail_queue_id . "/old"),
+ _('Eintrag löschen'),
+ Icon::create('trash'),
+ ['data-dialog' => 'size=auto']); ?>
+ <?= $actionmenu->render(); ?>
+ </td>
+ </tr>
+
+ <? endforeach ?>
+
+ </tbody>
+ </table>
+</article>
+
+<script>
+ $(function() {
+ STUDIP.loadChunk('tablesorter').then(function (){
+ // call the tablesorter plugin
+ $("table#oldqueue").tablesorter({
+
+ // use save sort widget
+ widgets: ["saveSort"],
+ widgetOptions: {
+ // enable/disable saveSort dynamically
+ saveSort: true
+ }
+
+ });
+ });
+
+
+
+ });
+</script>