fix: [Tags] Correctly records `numerical_value` when enabling a taxonomy

for the first time
pull/5048/head
mokaddem 2019-08-23 11:30:27 +02:00
parent 7fad968f68
commit 4005a5feb6
No known key found for this signature in database
GPG Key ID: 164C473F627A06FA
2 changed files with 17 additions and 7 deletions

View File

@ -366,7 +366,7 @@ class Tag extends AppModel
return $colour;
}
public function quickAdd($name, $colour = false, $returnId = false)
public function quickAdd($name, $colour = false, $numerical_value = null)
{
$this->create();
if ($colour === false) {
@ -377,17 +377,23 @@ class Tag extends AppModel
'colour' => $colour,
'exportable' => 1
);
if (!is_null($numerical_value)) {
$data['numerical_value'] = $numerical_value;
}
return ($this->save($data));
}
public function quickEdit($tag, $name, $colour, $hide = false)
public function quickEdit($tag, $name, $colour, $hide = false, $numerical_value = null)
{
if ($tag['Tag']['colour'] !== $colour || $tag['Tag']['name'] !== $name || $hide !== false) {
if ($tag['Tag']['colour'] !== $colour || $tag['Tag']['name'] !== $name || $hide !== false || $tag['Tag']['numerical_value'] !== $numerical_value) {
$tag['Tag']['name'] = $name;
$tag['Tag']['colour'] = $colour;
if ($hide !== false) {
$tag['Tag']['hide_tag'] = $hide;
}
if (!is_null($numerical_value)) {
$tag['Tag']['numerical_value'] = $numerical_value;
}
return ($this->save($tag['Tag']));
}
return true;

View File

@ -342,21 +342,25 @@ class Taxonomy extends AppModel
if (isset($entry['colour']) && !empty($entry['colour'])) {
$colour = $entry['colour'];
}
$numerical_value = null;
if (isset($entry['numerical_value'])) {
$numerical_value = $entry['numerical_value'];
}
if ($tagList) {
foreach ($tagList as $tagName) {
if ($tagName === $entry['tag']) {
if (isset($tags[strtoupper($entry['tag'])])) {
$this->Tag->quickEdit($tags[strtoupper($entry['tag'])], $tagName, $colour, 0);
$this->Tag->quickEdit($tags[strtoupper($entry['tag'])], $tagName, $colour, 0, $numerical_value);
} else {
$this->Tag->quickAdd($tagName, $colour);
$this->Tag->quickAdd($tagName, $colour, $numerical_value);
}
}
}
} else {
if (isset($tags[strtoupper($entry['tag'])])) {
$this->Tag->quickEdit($tags[strtoupper($entry['tag'])], $entry['tag'], $colour, 0);
$this->Tag->quickEdit($tags[strtoupper($entry['tag'])], $entry['tag'], $colour, 0, $numerical_value);
} else {
$this->Tag->quickAdd($entry['tag'], $colour);
$this->Tag->quickAdd($entry['tag'], $colour, $numerical_value);
}
}
}