Skip to content

Commit

Permalink
Merge branch 'hotfix/1.4.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
abrain committed Dec 16, 2018
2 parents 1f71ccb + 120187d commit 3b4de2c
Show file tree
Hide file tree
Showing 10 changed files with 139 additions and 52 deletions.
12 changes: 8 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,17 @@ php:
- '7.2'

env:
- WP_VERSION=4.6.12 WP_MULTISITE=0
- WP_VERSION=4.7.11 WP_MULTISITE=0
- WP_VERSION=4.8.7 WP_MULTISITE=0
- WP_VERSION=4.9.8 WP_MULTISITE=0
- WP_VERSION=4.6.13 WP_MULTISITE=0
- WP_VERSION=4.7.12 WP_MULTISITE=0
- WP_VERSION=4.8.8 WP_MULTISITE=0
- WP_VERSION=4.9.9 WP_MULTISITE=0
- WP_VERSION=5.0.1 WP_MULTISITE=0
- WP_VERSION=nightly WP_MULTISITE=0

matrix:
include:
- php: '7.3'
env: WP_VERSION=5.0.1 WP_MULTISITE=0
allow_failures:
- env: WP_VERSION=nightly WP_MULTISITE=0
fast_finish: true
Expand Down
12 changes: 10 additions & 2 deletions src/Import/Helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,16 @@ public function prepareArgsForInsertPost(&$insertArgs, $dateTimeFormat, $postSta
));
}

$insertArgs['post_date'] = $alarmzeit->format('Y-m-d H:i');
$insertArgs['post_date_gmt'] = get_gmt_from_date($insertArgs['post_date']);
// Solange der Einsatzbericht ein Entwurf ist, soll kein Datum gesetzt werden (vgl. wp_update_post()).
if ($postStatus === 'draft') {
// Wird bis zur Veröffentlichung in Postmeta zwischengespeichert.
$insertArgs['meta_input']['_einsatz_timeofalerting'] = date_format($alarmzeit, 'Y-m-d H:i:s');
unset($insertArgs['post_date']);
unset($insertArgs['post_date_gmt']);
} else {
$insertArgs['post_date'] = $alarmzeit->format('Y-m-d H:i:s');
$insertArgs['post_date_gmt'] = get_gmt_from_date($insertArgs['post_date']);
}

// Einsatzende korrekt formatieren
if (array_key_exists('einsatz_einsatzende', $insertArgs['meta_input']) &&
Expand Down
14 changes: 7 additions & 7 deletions src/einsatzverwaltung-admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -159,21 +159,21 @@ public function displayMetaBoxAnnotations($post)

$this->echoInputCheckbox(
'Fehlalarm',
'meta_input[einsatz_fehlalarm]',
'einsatz_fehlalarm',
$report->isFalseAlarm()
);
echo '<br>';

$this->echoInputCheckbox(
'Besonderer Einsatz',
'meta_input[einsatz_special]',
'einsatz_special',
$report->isSpecial()
);
echo '<br>';

$this->echoInputCheckbox(
'Bilder im Bericht',
'meta_input[einsatz_hasimages]',
'einsatz_hasimages',
$report->hasImages()
);
}
Expand Down Expand Up @@ -222,7 +222,7 @@ public function displayMetaBoxEinsatzdetails($post)

$this->echoInputText(
'Einsatzende',
'meta_input[einsatz_einsatzende]',
'einsatz_einsatzende',
esc_attr($einsatzende),
'JJJJ-MM-TT hh:mm'
);
Expand All @@ -231,19 +231,19 @@ public function displayMetaBoxEinsatzdetails($post)

$this->echoInputText(
'Einsatzort',
'meta_input[einsatz_einsatzort]',
'einsatz_einsatzort',
esc_attr($einsatzort)
);

$this->echoInputText(
'Einsatzleiter',
'meta_input[einsatz_einsatzleiter]',
'einsatz_einsatzleiter',
esc_attr($einsatzleiter)
);

$this->echoInputText(
'Mannschaftsst&auml;rke',
'meta_input[einsatz_mannschaft]',
'einsatz_mannschaft',
esc_attr($mannschaftsstaerke)
);

Expand Down
8 changes: 6 additions & 2 deletions src/einsatzverwaltung-core.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
*/
class Core
{
const VERSION = '1.4.2';
const VERSION = '1.4.3';
const DB_VERSION = 30;

/**
Expand All @@ -59,7 +59,7 @@ class Core
'name' => 'Einsatzberichte',
'singular_name' => 'Einsatzbericht',
'menu_name' => 'Einsatzberichte',
'add_new' => 'Neu',
'add_new' => 'Erstellen',
'add_new_item' => 'Neuer Einsatzbericht',
'edit' => 'Bearbeiten',
'edit_item' => 'Einsatzbericht bearbeiten',
Expand Down Expand Up @@ -134,6 +134,7 @@ class Core
'no_terms' => 'Keine Einsatzarten',
'items_list_navigation' => 'Navigation der Liste der Einsatzarten',
'items_list' => 'Liste der Einsatzarten',
'back_to_items' => '&larr; Zur&uuml;ck zu den Einsatzarten',
),
'public' => true,
'show_in_nav_menus' => false,
Expand Down Expand Up @@ -167,6 +168,7 @@ class Core
'no_terms' => 'Keine Fahrzeuge',
'items_list_navigation' => 'Navigation der Fahrzeugliste',
'items_list' => 'Fahrzeugliste',
'back_to_items' => '&larr; Zur&uuml;ck zu den Fahrzeugen',
),
'public' => true,
'show_in_nav_menus' => false,
Expand Down Expand Up @@ -200,6 +202,7 @@ class Core
'no_terms' => 'Keine externen Einsatzmittel',
'items_list_navigation' => 'Navigation der Liste der externen Einsatzmittel',
'items_list' => 'Liste der externen Einsatzmittel',
'back_to_items' => '&larr; Zur&uuml;ck zu den externen Einsatzmitteln',
),
'public' => true,
'show_in_nav_menus' => false,
Expand Down Expand Up @@ -235,6 +238,7 @@ class Core
'no_terms' => 'Keine Alarmierungsarten',
'items_list_navigation' => 'Navigation der Liste der Alarmierungsarten',
'items_list' => 'Liste der Alarmierungsarten',
'back_to_items' => '&larr; Zur&uuml;ck zu den Alarmierungsarten',
),
'public' => true,
'show_in_nav_menus' => false,
Expand Down
32 changes: 21 additions & 11 deletions src/einsatzverwaltung-data.php
Original file line number Diff line number Diff line change
Expand Up @@ -204,19 +204,18 @@ public function savePostdata($postId, $post)
$alarmzeit = date_create($post->post_date);
}

$updateArgs = array(
'ID' => $postId,
'meta_input' => array()
);

// Solange der Einsatzbericht ein Entwurf ist, soll kein Datum gesetzt werden (vgl. wp_update_post()).
if (in_array($post->post_status, array('draft', 'pending', 'auto-draft'))) {
// Wird bis zur Veröffentlichung in Postmeta zwischengespeichert.
update_post_meta($postId, '_einsatz_timeofalerting', date_format($alarmzeit, 'Y-m-d H:i:s'));
$updateArgs['meta_input']['_einsatz_timeofalerting'] = date_format($alarmzeit, 'Y-m-d H:i:s');
} else {
$updateArgs = array('ID' => $postId);
$updateArgs['post_date'] = date_format($alarmzeit, 'Y-m-d H:i:s');
$updateArgs['post_date_gmt'] = get_gmt_from_date($updateArgs['post_date']);

// save_post Filter kurzzeitig deaktivieren, damit keine Dauerschleife entsteht
remove_action('save_post_einsatz', array($this, 'savePostdata'));
wp_update_post($updateArgs);
add_action('save_post_einsatz', array($this, 'savePostdata'), 10, 2);
}

// Einsatznummer setzen, sofern sie nicht automatisch verwaltet wird
Expand All @@ -227,13 +226,24 @@ public function savePostdata($postId, $post)
);
}

// Vermerke explizit deaktivieren, wenn sie nicht gesetzt wurden
// Einsatzdetails speichern
$metaFields = array('einsatz_einsatzende', 'einsatz_einsatzort', 'einsatz_einsatzleiter', 'einsatz_mannschaft');
foreach ($metaFields as $metaField) {
$value = filter_input(INPUT_POST, $metaField, FILTER_SANITIZE_STRING);
$updateArgs['meta_input'][$metaField] = empty($value) ? '' : $value;
}

// Vermerke speichern (werden explizit deaktiviert, wenn sie nicht gesetzt wurden)
$annotations = array('einsatz_fehlalarm', 'einsatz_hasimages', 'einsatz_special');
foreach ($annotations as $annotation) {
if (!array_key_exists($annotation, $_POST['meta_input'])) {
update_post_meta($postId, $annotation, '0');
}
$value = filter_input(INPUT_POST, $annotation, FILTER_SANITIZE_STRING);
$updateArgs['meta_input'][$annotation] = empty($value) ? '0' : $value;
}

// save_post Filter kurzzeitig deaktivieren, damit keine Dauerschleife entsteht
remove_action('save_post_einsatz', array($this, 'savePostdata'));
wp_update_post($updateArgs);
add_action('save_post_einsatz', array($this, 'savePostdata'), 10, 2);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/einsatzverwaltung.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Plugin Name: Einsatzverwaltung
Plugin URI: https://einsatzverwaltung.abrain.de
Description: Verwaltung und Darstellung von Einsatzberichten der Feuerwehr und anderer Hilfsorganisationen
Version: 1.4.2
Version: 1.4.3
Author: Andreas Brain
Author URI: https://www.abrain.de
License: GPLv2
Expand Down
6 changes: 3 additions & 3 deletions src/js/einsatzverwaltung-edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ jQuery(document).ready(function() {
var hinweistext = 'Bitte das folgende Format einhalten: JJJJ-MM-TT hh:mm, z.B. <strong>2014-01-31 13:37</strong>';

jQuery('#einsatzverwaltung_alarmzeit').after('&nbsp;<span class="einsatzverwaltung_hint" id="einsatzverwaltung_alarmzeit_hint"></span>');
jQuery('#meta_input\\[einsatz_einsatzende\\]').after('&nbsp;<span class="einsatzverwaltung_hint" id="meta_input[einsatz_einsatzende]_hint"></span>');
jQuery('#einsatz_einsatzende').after('&nbsp;<span class="einsatzverwaltung_hint" id="einsatz_einsatzende_hint"></span>');

einsatzverwaltung_register_and_execute('keyup', 'einsatzverwaltung_alarmzeit', datumsregex, hinweistext, false);
einsatzverwaltung_register_and_execute('keyup', 'meta_input\\[einsatz_einsatzende\\]', datumsregex, hinweistext, true);
einsatzverwaltung_register_and_execute('keyup', 'einsatz_einsatzende', datumsregex, hinweistext, true);

var used_values = jQuery("#einsatzleiter_used_values");
if (used_values.val() !== undefined) {
var einsatzleiter_namen = used_values.val().split(',');
jQuery("#meta_input\\[einsatz_einsatzleiter\\]").autocomplete({
jQuery("#einsatz_einsatzleiter").autocomplete({
source: einsatzleiter_namen
});
}
Expand Down
13 changes: 11 additions & 2 deletions src/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Contributors: abrain
Donate link: https://einsatzverwaltung.abrain.de/unterstuetzen/
Tags: Feuerwehr, Hilfsorganisation, Öffentlichkeitsarbeit
Requires at least: 4.6.0
Tested up to: 4.9
Tested up to: 5.0
Requires PHP: 5.3.0
Stable tag: 1.4.2
Stable tag: 1.4.3
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Expand Down Expand Up @@ -72,6 +72,12 @@ Nein, mehr gibt es [hier](https://einsatzverwaltung.abrain.de/faq/).

== Changelog ==

= 1.4.3 =
* Kompatibilit&auml;t mit WordPress 5.0.1, 4.9.9, 4.8.8, 4.7.12, 4.6.13 wiederhergestellt
* Import: Nicht kritischen Fehler mit dem Beitragsdatum beim Import als Entwurf behoben
* Beschriftungen korrigiert
* Getestet mit WordPress 5.0

= 1.4.2 =
* Templates: Behebt ein Problem, bei dem Shortcodes falsch geparst wurden
* Templates: Neuer Platzhalter f&uuml;r die Mannschaftsst&auml;rke
Expand Down Expand Up @@ -129,6 +135,9 @@ Nein, mehr gibt es [hier](https://einsatzverwaltung.abrain.de/faq/).

== Upgrade Notice ==

= 1.4.3 =
Stellt die Kompatibilit&auml;t mit WordPress 5.0.1, 4.9.9, 4.8.8, 4.7.12, 4.6.13 wieder her

= 1.4.0 =
Templates f&uuml;r Einsatzberichte und Ausz&uuml;ge, Export von Einsatzberichten, und mehr

Expand Down
30 changes: 12 additions & 18 deletions tests/Admin/ReportEditTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,10 @@ public function testTimeOfAlertingSurvivesDraftState()
'einsatzverwaltung_nonce' => wp_create_nonce('save_einsatz_details'),
'einsatzverwaltung_nummer' => '',
'einsatzverwaltung_alarmzeit' => $timeOfAlerting,
'meta_input' => array(
'einsatz_einsatzende' => '',
'einsatz_einsatzort' => '',
'einsatz_einsatzleiter' => '',
'einsatz_mannschaft' => ''
)
'einsatz_einsatzende' => '',
'einsatz_einsatzort' => '',
'einsatz_einsatzleiter' => '',
'einsatz_mannschaft' => ''
);
wp_update_post(array(
'ID' => $post->ID,
Expand Down Expand Up @@ -99,12 +97,10 @@ public function testTimeOfAlertingSurvivesReviewAndPublish()
'einsatzverwaltung_nonce' => wp_create_nonce('save_einsatz_details'),
'einsatzverwaltung_nummer' => '',
'einsatzverwaltung_alarmzeit' => $timeOfAlerting,
'meta_input' => array(
'einsatz_einsatzende' => '',
'einsatz_einsatzort' => '',
'einsatz_einsatzleiter' => '',
'einsatz_mannschaft' => ''
)
'einsatz_einsatzende' => '',
'einsatz_einsatzort' => '',
'einsatz_einsatzleiter' => '',
'einsatz_mannschaft' => ''
);
wp_update_post(array(
'ID' => $post->ID,
Expand All @@ -125,12 +121,10 @@ public function testTimeOfAlertingSurvivesReviewAndPublish()
'einsatzverwaltung_nonce' => wp_create_nonce('save_einsatz_details'),
'einsatzverwaltung_nummer' => '',
'einsatzverwaltung_alarmzeit' => $pendingReport->getTimeOfAlerting()->format('Y-m-d H:i:s'),
'meta_input' => array(
'einsatz_einsatzende' => '',
'einsatz_einsatzort' => '',
'einsatz_einsatzleiter' => '',
'einsatz_mannschaft' => ''
)
'einsatz_einsatzende' => '',
'einsatz_einsatzort' => '',
'einsatz_einsatzleiter' => '',
'einsatz_mannschaft' => ''
);
wp_update_post(array(
'ID' => $post->ID,
Expand Down
Loading

0 comments on commit 3b4de2c

Please sign in to comment.